Acronis UIKit
Components

CardWidgetCarousel

A horizontal scroll carousel for AI action-widget cards, with a floating "Next" button and a companion CardWidget for status-colored content and skeleton loading.

Usage

import {
  CardWidgetCarousel,
  CardWidget,
} from '@acronis-platform/ui-react';

<CardWidgetCarousel nextLabel="Next">
  <CardWidget
    header="Phishing attacks"
    status="danger"
    icon={<DiamondWarningRedIcon size={16} />}
    title="Phishing attack detected"
    description="3 senior users targeted by phishing"
    metric="$15K"
    caption="Projected new MRR"
    footer={<Button variant="ghost"><AiIcon size={16} />Review and take action</Button>}
  />
  {/* more cards… */}
</CardWidgetCarousel>

CardWidgetCarousel is the scroll container — it clips overflow and overlays a floating "Next" chevron button on the trailing edge. CardWidget is the companion card: it composes Card + CardHeader + CardContent + CardFooter, fixing its width at 288 px, and adds a status-colored icon box, optional skeleton loading state, and a flexible footer slot for action buttons.

The demo shows two rows: the top row displays cards with live data and a ghost CTA button; the bottom row shows the same cards in the empty/skeleton state — two cards with real content and placeholder footer buttons, and a third card in full skeleton mode.

Skeleton state

Pass skeleton on a CardWidget to show animated placeholder lines instead of the body content. The skeleton bars take the same background color as the icon box, so each status reads as a coherent unit while data loads.

<CardWidget
  header="Insights loading…"
  status="info"
  icon={<CircleClockBlueIcon size={16} />}
  skeleton
  footer={
    <>
      <Button variant="secondary">Primary</Button>
      <Button variant="ghost">Secondary</Button>
    </>
  }
/>

Status colors

The status prop drives both the icon-box background and the icon glyph color via semantic --ui-* tokens. Use a stroke-mono icon so the glyph color is inherited via CSS color; multicolor icons render their own palette regardless.

statusBackground tokenGlyph token
danger--ui-background-status-danger--ui-glyph-on-status-danger
warning--ui-background-status-warning--ui-glyph-on-status-warning
info--ui-background-status-info--ui-glyph-on-status-info

RTL

The carousel's chevron icon flips (rtl:rotate-180) and scrollBy direction reverses when an ancestor sets dir="rtl". CardWidget uses logical Tailwind utilities throughout.

API Reference

CardWidgetCarousel

Prop

Type

CardWidget

Prop

Type

Edit on GitHub

On this page