@dev-dga/react 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2,8 +2,8 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
3
  import { ReactNode } from 'react';
4
4
  import { VariantProps } from 'class-variance-authority';
5
- import { Checkbox as Checkbox$1, RadioGroup as RadioGroup$1, Switch as Switch$1, Select as Select$1, Avatar as Avatar$1, Tooltip as Tooltip$1, Dialog, Tabs as Tabs$1, Accordion as Accordion$1, Progress as Progress$1, DropdownMenu as DropdownMenu$1, Slider as Slider$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1 } from 'radix-ui';
6
- import { Command } from 'cmdk';
5
+ import { Checkbox as Checkbox$1, RadioGroup as RadioGroup$1, Switch as Switch$1, Select as Select$1, Avatar as Avatar$1, Tooltip as Tooltip$1, Dialog, Tabs as Tabs$1, Accordion as Accordion$1, Progress as Progress$1, DropdownMenu as DropdownMenu$1, Slider as Slider$1, Toggle as Toggle$1, ToggleGroup as ToggleGroup$1, Popover as Popover$1, ScrollArea as ScrollArea$1, Menubar as Menubar$1, Collapsible as Collapsible$1 } from 'radix-ui';
6
+ import { Command as Command$1 } from 'cmdk';
7
7
  import { DgaTheme } from '@dev-dga/tokens';
8
8
  export { DgaTheme, PaletteName, ThemeColor } from '@dev-dga/tokens';
9
9
  import { ClassValue } from 'clsx';
@@ -13,6 +13,7 @@ declare const buttonVariants: (props?: ({
13
13
  size?: "sm" | "md" | "lg" | "icon" | "icon-sm" | null | undefined;
14
14
  fullWidth?: boolean | null | undefined;
15
15
  inverted?: boolean | null | undefined;
16
+ fab?: boolean | null | undefined;
16
17
  } & class_variance_authority_types.ClassProp) | undefined) => string;
17
18
  interface ButtonProps extends React.ComponentProps<'button'>, VariantProps<typeof buttonVariants> {
18
19
  loading?: boolean;
@@ -37,7 +38,7 @@ interface ButtonProps extends React.ComponentProps<'button'>, VariantProps<typeo
37
38
  */
38
39
  asChild?: boolean;
39
40
  }
40
- declare function Button({ variant, size, fullWidth, inverted, loading, disabled, startIcon, endIcon, iconFlip, asChild, className, children, type, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
41
+ declare function Button({ variant, size, fullWidth, inverted, fab, loading, disabled, startIcon, endIcon, iconFlip, asChild, className, children, type, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
41
42
 
42
43
  declare const inputVariants: (props?: ({
43
44
  size?: "sm" | "md" | "lg" | null | undefined;
@@ -520,11 +521,20 @@ interface TabsProps extends React.ComponentProps<typeof Tabs$1.Root>, VariantPro
520
521
  }
521
522
  interface TabsListProps extends React.ComponentProps<typeof Tabs$1.List>, VariantProps<typeof tabsListVariants> {
522
523
  }
523
- type TabsTriggerProps = React.ComponentProps<typeof Tabs$1.Trigger>;
524
+ interface TabsTriggerProps extends React.ComponentProps<typeof Tabs$1.Trigger> {
525
+ /**
526
+ * Leading icon, rendered before the label in a decorative (`aria-hidden`)
527
+ * wrapper. Ignored when `asChild` is set — compose icons inside your own
528
+ * element in that mode.
529
+ */
530
+ startIcon?: ReactNode;
531
+ /** Trailing icon (e.g. a count/badge glyph). Same rules as `startIcon`. */
532
+ endIcon?: ReactNode;
533
+ }
524
534
  type TabsContentProps = React.ComponentProps<typeof Tabs$1.Content>;
525
535
  declare function Tabs({ variant, size, className, ...props }: TabsProps): react_jsx_runtime.JSX.Element;
526
536
  declare function TabsList({ fullWidth, className, ...props }: TabsListProps): react_jsx_runtime.JSX.Element;
527
- declare function TabsTrigger({ className, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
537
+ declare function TabsTrigger({ className, startIcon, endIcon, children, asChild, ...props }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
528
538
  declare function TabsContent({ className, ...props }: TabsContentProps): react_jsx_runtime.JSX.Element;
529
539
 
530
540
  declare const breadcrumbVariants: (props?: ({
@@ -704,13 +714,21 @@ type CircularProgressOwnProps = VariantProps<typeof circularProgressVariants> &
704
714
  max?: number;
705
715
  /** Stroke width in px. Defaults to 4 (sm) / 5 (md) / 6 (lg). */
706
716
  thickness?: number;
707
- /** Render the percentage label inside the ring. */
717
+ /**
718
+ * Render the ring as `segments` discrete arcs (a radial stepper) instead of a
719
+ * continuous arc. Pass an integer `>= 2`; values below that fall back to the
720
+ * continuous ring. The number of filled segments is `round(pct × segments)`,
721
+ * so `value={3} max={5} segments={5}` fills 3. Segmented mode is determinate —
722
+ * a `null` value renders 0 filled (no spinner).
723
+ */
724
+ segments?: number;
725
+ /** Render the label inside the ring (`%`, or `filled/segments` when segmented). */
708
726
  showLabel?: boolean;
709
727
  'aria-label'?: string;
710
728
  'aria-labelledby'?: string;
711
729
  };
712
730
  type CircularProgressProps = CircularProgressOwnProps & Omit<React.ComponentProps<'div'>, keyof CircularProgressOwnProps>;
713
- declare function CircularProgress({ value, max, size, color, thickness, showLabel, className, ...props }: CircularProgressProps): react_jsx_runtime.JSX.Element;
731
+ declare function CircularProgress({ value, max, size, color, thickness, segments, showLabel, className, ...props }: CircularProgressProps): react_jsx_runtime.JSX.Element;
714
732
 
715
733
  declare const dropdownMenuVariants: (props?: ({
716
734
  size?: "sm" | "md" | null | undefined;
@@ -836,7 +854,7 @@ interface ComboboxProps extends VariantProps<typeof comboboxTriggerVariants> {
836
854
  /** `<ComboboxItem>` (+ optional Group / Separator) children. */
837
855
  children: ReactNode;
838
856
  }
839
- interface ComboboxItemProps extends Omit<React.ComponentProps<typeof Command.Item>, 'value' | 'onSelect'> {
857
+ interface ComboboxItemProps extends Omit<React.ComponentProps<typeof Command$1.Item>, 'value' | 'onSelect'> {
840
858
  /** Stable value for filtering + selection. */
841
859
  value: string;
842
860
  /** Extra search terms cmdk should match against the input. */
@@ -846,11 +864,11 @@ interface ComboboxItemProps extends Omit<React.ComponentProps<typeof Command.Ite
846
864
  /** Optional select handler — fires alongside the root's `onValueChange`. */
847
865
  onSelect?: (value: string) => void;
848
866
  }
849
- interface ComboboxGroupProps extends React.ComponentProps<typeof Command.Group> {
867
+ interface ComboboxGroupProps extends React.ComponentProps<typeof Command$1.Group> {
850
868
  /** Group heading rendered above its items. */
851
869
  heading?: ReactNode;
852
870
  }
853
- type ComboboxSeparatorProps = React.ComponentProps<typeof Command.Separator>;
871
+ type ComboboxSeparatorProps = React.ComponentProps<typeof Command$1.Separator>;
854
872
  declare function Combobox({ value: controlledValue, defaultValue, onValueChange, open: controlledOpen, defaultOpen, onOpenChange, label, helperText, errorMessage, error, required, disabled, size, placeholder, searchPlaceholder, emptyMessage, getLabel, id: externalId, className, children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, }: ComboboxProps): react_jsx_runtime.JSX.Element;
855
873
  declare function ComboboxItem({ value, keywords, disabled, onSelect, className, children, ...props }: ComboboxItemProps): react_jsx_runtime.JSX.Element;
856
874
  declare function ComboboxGroup({ className, heading, ...props }: ComboboxGroupProps): react_jsx_runtime.JSX.Element;
@@ -1125,6 +1143,686 @@ declare function DescriptionItem({ className, ...props }: DescriptionItemProps):
1125
1143
  declare function DescriptionTerm({ className, ...props }: DescriptionTermProps): react_jsx_runtime.JSX.Element;
1126
1144
  declare function DescriptionDetails({ className, ...props }: DescriptionDetailsProps): react_jsx_runtime.JSX.Element;
1127
1145
 
1146
+ declare const emptyStateVariants: (props?: ({
1147
+ variant?: "search" | "error" | "default" | "success" | null | undefined;
1148
+ size?: "sm" | "md" | "lg" | null | undefined;
1149
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1150
+ interface EmptyStateProps extends Omit<React.ComponentProps<'div'>, 'title'>, VariantProps<typeof emptyStateVariants> {
1151
+ /**
1152
+ * Leading media (icon or illustration). Pass `false` to hide the media.
1153
+ * Defaults to a variant-appropriate icon. Ignored when `children` is set.
1154
+ */
1155
+ icon?: ReactNode | false;
1156
+ /** Title. Ignored when `children` is set. */
1157
+ title?: ReactNode;
1158
+ /** Supporting description below the title. Ignored when `children` is set. */
1159
+ description?: ReactNode;
1160
+ /** Primary action, e.g. a `<Button>`. Ignored when `children` is set. */
1161
+ action?: ReactNode;
1162
+ /** Secondary action beside the primary one. Ignored when `children` is set. */
1163
+ secondaryAction?: ReactNode;
1164
+ }
1165
+ type EmptyStateMediaProps = React.ComponentProps<'div'>;
1166
+ interface EmptyStateTitleProps extends React.ComponentProps<'h3'> {
1167
+ /** Override the heading element (e.g. render an `<h2>` on full-page states). */
1168
+ asChild?: boolean;
1169
+ }
1170
+ type EmptyStateDescriptionProps = React.ComponentProps<'p'> & {
1171
+ asChild?: boolean;
1172
+ };
1173
+ type EmptyStateActionsProps = React.ComponentProps<'div'> & {
1174
+ asChild?: boolean;
1175
+ };
1176
+ declare function EmptyState({ variant, size, icon, title, description, action, secondaryAction, className, children, ...props }: EmptyStateProps): react_jsx_runtime.JSX.Element;
1177
+ declare function EmptyStateMedia({ className, ...props }: EmptyStateMediaProps): react_jsx_runtime.JSX.Element;
1178
+ declare function EmptyStateTitle({ asChild, className, ...props }: EmptyStateTitleProps): react_jsx_runtime.JSX.Element;
1179
+ declare function EmptyStateDescription({ asChild, className, ...props }: EmptyStateDescriptionProps): react_jsx_runtime.JSX.Element;
1180
+ declare function EmptyStateActions({ asChild, className, ...props }: EmptyStateActionsProps): react_jsx_runtime.JSX.Element;
1181
+
1182
+ declare const statVariants: (props?: ({
1183
+ variant?: "flat" | "elevated" | "gradient" | "accent" | null | undefined;
1184
+ size?: "sm" | "md" | "lg" | "xl" | null | undefined;
1185
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1186
+ type ChangeVariant = 'text' | 'chip';
1187
+ type Trend = 'up' | 'down' | 'flat';
1188
+ type Sentiment = 'positive' | 'negative' | 'neutral';
1189
+ interface StatProps extends React.ComponentProps<'div'>, VariantProps<typeof statVariants> {
1190
+ /** Small, muted label above the value. */
1191
+ label?: ReactNode;
1192
+ /** The metric, pre-formatted by the consumer (e.g. "3,204", "SAR 1.2M"). */
1193
+ value?: ReactNode;
1194
+ /** Change text — include the sign (e.g. "+12.5%") so AT conveys direction. */
1195
+ change?: ReactNode;
1196
+ /** Muted context beside the change (e.g. "vs last month"). */
1197
+ changeLabel?: ReactNode;
1198
+ /** Arrow direction: up → CaretUp, down → CaretDown, flat → Minus. */
1199
+ trend?: Trend;
1200
+ /** Change color. Omitted → derived from `trend`. Explicit always wins. */
1201
+ sentiment?: Sentiment;
1202
+ /**
1203
+ * How the change renders: `'text'` (default — colored text + caret) or
1204
+ * `'chip'` (the same, wrapped in a sentiment-tinted pill). Threaded to the
1205
+ * inner `StatChange`.
1206
+ */
1207
+ changeVariant?: ChangeVariant;
1208
+ /** Optional icon at the inline-end of the label row (decorative). */
1209
+ icon?: ReactNode;
1210
+ }
1211
+ type StatLabelProps = React.ComponentProps<'div'>;
1212
+ type StatValueProps = React.ComponentProps<'div'>;
1213
+ type StatChartProps = React.ComponentProps<'div'>;
1214
+ interface StatChangeProps extends React.ComponentProps<'div'> {
1215
+ trend?: Trend;
1216
+ sentiment?: Sentiment;
1217
+ /** `'chip'` wraps the change in a sentiment-tinted pill. Defaults to `'text'`. */
1218
+ variant?: ChangeVariant;
1219
+ }
1220
+ declare function Stat({ variant, size, label, value, change, changeLabel, trend, sentiment, changeVariant, icon, className, children, ...props }: StatProps): react_jsx_runtime.JSX.Element;
1221
+ declare function StatLabel({ className, ...props }: StatLabelProps): react_jsx_runtime.JSX.Element;
1222
+ declare function StatValue({ className, ...props }: StatValueProps): react_jsx_runtime.JSX.Element;
1223
+ /**
1224
+ * Styled slot for a consumer-supplied sparkline / mini-chart. The library ships
1225
+ * no charting dependency — drop your own `<svg>`/chart in here and it gets a
1226
+ * consistent height + spacing, stretched to the tile width.
1227
+ */
1228
+ declare function StatChart({ className, ...props }: StatChartProps): react_jsx_runtime.JSX.Element;
1229
+ declare function StatChange({ trend, sentiment, variant, className, children, ...props }: StatChangeProps): react_jsx_runtime.JSX.Element;
1230
+
1231
+ declare const statGroupVariants: (props?: ({
1232
+ orientation?: "horizontal" | "vertical" | null | undefined;
1233
+ gap?: "sm" | "md" | "lg" | null | undefined;
1234
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1235
+ interface StatGroupProps extends React.ComponentProps<'div'>, VariantProps<typeof statGroupVariants> {
1236
+ /**
1237
+ * Fixed column count for the horizontal grid (collapses to one column on
1238
+ * narrow screens). Omit for an auto-fit responsive grid.
1239
+ */
1240
+ columns?: number;
1241
+ }
1242
+ declare function StatGroup({ orientation, gap, columns, className, style, ...props }: StatGroupProps): react_jsx_runtime.JSX.Element;
1243
+
1244
+ declare const popoverContentVariants: (props?: ({
1245
+ size?: "sm" | "md" | null | undefined;
1246
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1247
+ type PopoverProps = React.ComponentProps<typeof Popover$1.Root>;
1248
+ type PopoverTriggerProps = React.ComponentProps<typeof Popover$1.Trigger>;
1249
+ type PopoverAnchorProps = React.ComponentProps<typeof Popover$1.Anchor>;
1250
+ interface PopoverContentProps extends Omit<React.ComponentProps<typeof Popover$1.Content>, 'asChild'>, VariantProps<typeof popoverContentVariants> {
1251
+ /** Show a small arrow pointing at the trigger. Defaults to false. */
1252
+ arrow?: boolean;
1253
+ }
1254
+ interface PopoverCloseProps extends React.ComponentProps<typeof Popover$1.Close> {
1255
+ /**
1256
+ * Localized label for the default corner-X button. Only used when no
1257
+ * `children` (and no `asChild`) are provided. Defaults to `"Close"`.
1258
+ */
1259
+ closeLabel?: string;
1260
+ }
1261
+ declare function Popover(props: PopoverProps): react_jsx_runtime.JSX.Element;
1262
+ declare function PopoverTrigger({ className, ...props }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
1263
+ declare function PopoverAnchor(props: PopoverAnchorProps): react_jsx_runtime.JSX.Element;
1264
+ declare function PopoverContent({ size, arrow, sideOffset, className, children, ...props }: PopoverContentProps): react_jsx_runtime.JSX.Element;
1265
+ declare function PopoverClose({ className, children, closeLabel, asChild, ...props }: PopoverCloseProps): react_jsx_runtime.JSX.Element;
1266
+
1267
+ interface SidebarContextValue {
1268
+ /** Desktop collapse state, derived from `open`. */
1269
+ state: 'expanded' | 'collapsed';
1270
+ /** Desktop expanded (true) / collapsed-to-rail (false). */
1271
+ open: boolean;
1272
+ setOpen: (open: boolean) => void;
1273
+ /** Mobile off-canvas drawer open state. */
1274
+ openMobile: boolean;
1275
+ setOpenMobile: (open: boolean) => void;
1276
+ /** True below the provider's `mobileBreakpoint`. */
1277
+ isMobile: boolean;
1278
+ /** Toggles `openMobile` on mobile, else `open`. */
1279
+ toggleSidebar: () => void;
1280
+ }
1281
+ declare function useSidebar(): SidebarContextValue;
1282
+
1283
+ interface SidebarProviderProps extends React.ComponentProps<'div'> {
1284
+ /** Uncontrolled initial desktop state. Default true (expanded). */
1285
+ defaultOpen?: boolean;
1286
+ /** Controlled desktop open state. */
1287
+ open?: boolean;
1288
+ onOpenChange?: (open: boolean) => void;
1289
+ /** Viewport width (px) below which the mobile Drawer engages. Default 768. */
1290
+ mobileBreakpoint?: number;
1291
+ /** Register Cmd/Ctrl+B to toggle. Default true. */
1292
+ keyboardShortcut?: boolean;
1293
+ }
1294
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange, mobileBreakpoint, keyboardShortcut, className, style, children, ...props }: SidebarProviderProps): react_jsx_runtime.JSX.Element;
1295
+ interface SidebarProps extends React.ComponentProps<'div'> {
1296
+ variant?: 'sidebar' | 'floating' | 'inset';
1297
+ collapsible?: 'icon' | 'offcanvas' | 'none';
1298
+ /** Logical side; flips with dir. Default 'start'. */
1299
+ side?: 'start' | 'end';
1300
+ }
1301
+ declare function Sidebar({ variant, collapsible, side, className, children, 'aria-label': ariaLabel, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
1302
+ interface SidebarTriggerProps extends React.ComponentProps<'button'> {
1303
+ asChild?: boolean;
1304
+ }
1305
+ declare function SidebarTrigger({ asChild, className, onClick, children, 'aria-label': ariaLabel, ...props }: SidebarTriggerProps): react_jsx_runtime.JSX.Element;
1306
+ declare function SidebarRail({ className, 'aria-label': ariaLabel, ...props }: React.ComponentProps<'button'>): react_jsx_runtime.JSX.Element;
1307
+ interface SidebarInsetProps extends React.ComponentProps<'main'> {
1308
+ asChild?: boolean;
1309
+ }
1310
+ declare function SidebarInset({ asChild, className, ...props }: SidebarInsetProps): react_jsx_runtime.JSX.Element;
1311
+ type SidebarSectionProps = React.ComponentProps<'div'> & {
1312
+ asChild?: boolean;
1313
+ };
1314
+ declare function SidebarHeader({ asChild, className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
1315
+ declare function SidebarContent({ asChild, className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
1316
+ declare function SidebarFooter({ asChild, className, ...props }: SidebarSectionProps): react_jsx_runtime.JSX.Element;
1317
+ declare function SidebarSeparator({ className, ...props }: React.ComponentProps<'hr'>): react_jsx_runtime.JSX.Element;
1318
+
1319
+ /**
1320
+ * True when the viewport is narrower than `breakpoint`. SSR-safe: returns
1321
+ * `false` until the mount effect runs, so the desktop layout renders first
1322
+ * and the mobile Drawer (a client-only overlay) only engages after hydration.
1323
+ */
1324
+ declare function useIsMobile(breakpoint?: number): boolean;
1325
+
1326
+ type SidebarGroupDivProps = React.ComponentProps<'div'> & {
1327
+ asChild?: boolean;
1328
+ };
1329
+ declare function SidebarGroup({ asChild, className, ...props }: SidebarGroupDivProps): react_jsx_runtime.JSX.Element;
1330
+ declare function SidebarGroupLabel({ asChild, className, ...props }: SidebarGroupDivProps): react_jsx_runtime.JSX.Element;
1331
+ interface SidebarGroupActionProps extends React.ComponentProps<'button'> {
1332
+ asChild?: boolean;
1333
+ }
1334
+ declare function SidebarGroupAction({ asChild, className, ...props }: SidebarGroupActionProps): react_jsx_runtime.JSX.Element;
1335
+ declare function SidebarGroupContent({ asChild, className, ...props }: SidebarGroupDivProps): react_jsx_runtime.JSX.Element;
1336
+
1337
+ declare function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
1338
+ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
1339
+ declare const sidebarMenuButtonVariants: (props?: ({
1340
+ size?: "sm" | "md" | "lg" | null | undefined;
1341
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1342
+ interface SidebarMenuButtonProps extends React.ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {
1343
+ asChild?: boolean;
1344
+ isActive?: boolean;
1345
+ /** Tooltip content shown only when the rail is collapsed (desktop). */
1346
+ tooltip?: React.ReactNode;
1347
+ }
1348
+ declare function SidebarMenuButton({ asChild, isActive, size, tooltip, className, ...props }: SidebarMenuButtonProps): react_jsx_runtime.JSX.Element;
1349
+ interface SidebarMenuActionProps extends React.ComponentProps<'button'> {
1350
+ asChild?: boolean;
1351
+ /** Reveal the action only on row hover/focus (CSS-driven). */
1352
+ showOnHover?: boolean;
1353
+ }
1354
+ declare function SidebarMenuAction({ asChild, showOnHover, className, ...props }: SidebarMenuActionProps): react_jsx_runtime.JSX.Element;
1355
+ declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'span'>): react_jsx_runtime.JSX.Element;
1356
+ interface SidebarMenuSkeletonProps extends React.ComponentProps<'div'> {
1357
+ showIcon?: boolean;
1358
+ }
1359
+ declare function SidebarMenuSkeleton({ showIcon, className, ...props }: SidebarMenuSkeletonProps): react_jsx_runtime.JSX.Element;
1360
+ declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>): react_jsx_runtime.JSX.Element;
1361
+ declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>): react_jsx_runtime.JSX.Element;
1362
+ declare const sidebarMenuSubButtonVariants: (props?: ({
1363
+ size?: "sm" | "md" | null | undefined;
1364
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1365
+ interface SidebarMenuSubButtonProps extends React.ComponentProps<'a'>, VariantProps<typeof sidebarMenuSubButtonVariants> {
1366
+ asChild?: boolean;
1367
+ isActive?: boolean;
1368
+ }
1369
+ declare function SidebarMenuSubButton({ asChild, isActive, size, className, ...props }: SidebarMenuSubButtonProps): react_jsx_runtime.JSX.Element;
1370
+
1371
+ declare const scrollAreaVariants: (props?: ({
1372
+ orientation?: "both" | "horizontal" | "vertical" | null | undefined;
1373
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1374
+ type ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';
1375
+ interface ScrollAreaProps extends Omit<React.ComponentProps<typeof ScrollArea$1.Root>, 'asChild' | 'orientation'>, Omit<VariantProps<typeof scrollAreaVariants>, 'orientation'> {
1376
+ /** Which scrollbar(s) to render. Default `'vertical'`. */
1377
+ orientation?: ScrollAreaOrientation;
1378
+ /** Ref to the scrollable viewport — use for programmatic scrolling. */
1379
+ viewportRef?: React.Ref<HTMLDivElement>;
1380
+ /**
1381
+ * Extra props forwarded to the viewport element (use `viewportRef` for the ref).
1382
+ * To drop the extra tab stop when the scrolled content is itself fully focusable
1383
+ * (e.g. a list of links), pass `viewportProps={{ tabIndex: -1 }}`.
1384
+ */
1385
+ viewportProps?: Omit<React.ComponentProps<'div'>, 'ref'>;
1386
+ /** Names the scroll region. Warns (dev only) if neither this nor `aria-labelledby` is set. */
1387
+ 'aria-label'?: string;
1388
+ 'aria-labelledby'?: string;
1389
+ }
1390
+ /**
1391
+ * Cross-browser, design-system-styled scroll container (wraps Radix ScrollArea).
1392
+ *
1393
+ * Set the bounding size (height / max-height) on the element via `className` /
1394
+ * `style` — without a bounded size nothing scrolls, exactly like native overflow.
1395
+ * The viewport is keyboard-focusable (`tabIndex={0}`) so keyboard users can scroll
1396
+ * with the arrow / Page keys; pass `aria-label` to name the region.
1397
+ *
1398
+ * Does not support `asChild`: it is a structural wrapper composing several Radix
1399
+ * parts, and the meaningful node — the viewport — is exposed via `viewportRef`.
1400
+ */
1401
+ declare function ScrollArea({ className, orientation, type, scrollHideDelay, viewportRef, viewportProps, children, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
1402
+
1403
+ declare const menubarContentVariants: (props?: ({
1404
+ size?: "sm" | "md" | null | undefined;
1405
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1406
+ declare const menubarTriggerVariants: (props?: ({
1407
+ variant?: "outline" | "default" | null | undefined;
1408
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1409
+ type MenubarProps = React.ComponentProps<typeof Menubar$1.Root>;
1410
+ declare function Menubar({ className, ...props }: MenubarProps): react_jsx_runtime.JSX.Element;
1411
+ type MenubarMenuProps = React.ComponentProps<typeof Menubar$1.Menu>;
1412
+ declare function MenubarMenu(props: MenubarMenuProps): react_jsx_runtime.JSX.Element;
1413
+ type MenubarTriggerProps = React.ComponentProps<typeof Menubar$1.Trigger> & VariantProps<typeof menubarTriggerVariants>;
1414
+ declare function MenubarTrigger({ variant, className, ...props }: MenubarTriggerProps): react_jsx_runtime.JSX.Element;
1415
+ type MenubarContentProps = React.ComponentProps<typeof Menubar$1.Content> & VariantProps<typeof menubarContentVariants>;
1416
+ declare function MenubarContent({ size, className, sideOffset, ...props }: MenubarContentProps): react_jsx_runtime.JSX.Element;
1417
+ type MenubarItemProps = React.ComponentProps<typeof Menubar$1.Item> & {
1418
+ /** Style as a destructive action (red text, red hover). */
1419
+ destructive?: boolean;
1420
+ /** Icon rendered before the label. Sized to 1em. */
1421
+ startIcon?: ReactNode;
1422
+ /** Trailing text shown muted, e.g. a keyboard shortcut hint ("⌘K"). */
1423
+ shortcut?: ReactNode;
1424
+ };
1425
+ declare function MenubarItem({ className, destructive, startIcon, shortcut, children, ...props }: MenubarItemProps): react_jsx_runtime.JSX.Element;
1426
+ type MenubarCheckboxItemProps = React.ComponentProps<typeof Menubar$1.CheckboxItem>;
1427
+ declare function MenubarCheckboxItem({ className, children, onSelect, ...props }: MenubarCheckboxItemProps): react_jsx_runtime.JSX.Element;
1428
+ type MenubarRadioGroupProps = React.ComponentProps<typeof Menubar$1.RadioGroup>;
1429
+ declare function MenubarRadioGroup(props: MenubarRadioGroupProps): react_jsx_runtime.JSX.Element;
1430
+ type MenubarRadioItemProps = React.ComponentProps<typeof Menubar$1.RadioItem>;
1431
+ declare function MenubarRadioItem({ className, children, onSelect, ...props }: MenubarRadioItemProps): react_jsx_runtime.JSX.Element;
1432
+ type MenubarLabelProps = React.ComponentProps<typeof Menubar$1.Label>;
1433
+ declare function MenubarLabel({ className, ...props }: MenubarLabelProps): react_jsx_runtime.JSX.Element;
1434
+ type MenubarSeparatorProps = React.ComponentProps<typeof Menubar$1.Separator>;
1435
+ declare function MenubarSeparator({ className, ...props }: MenubarSeparatorProps): react_jsx_runtime.JSX.Element;
1436
+ type MenubarGroupProps = React.ComponentProps<typeof Menubar$1.Group>;
1437
+ declare function MenubarGroup(props: MenubarGroupProps): react_jsx_runtime.JSX.Element;
1438
+ type MenubarSubProps = React.ComponentProps<typeof Menubar$1.Sub>;
1439
+ declare function MenubarSub(props: MenubarSubProps): react_jsx_runtime.JSX.Element;
1440
+ type MenubarSubTriggerProps = React.ComponentProps<typeof Menubar$1.SubTrigger> & {
1441
+ startIcon?: ReactNode;
1442
+ };
1443
+ declare function MenubarSubTrigger({ className, startIcon, children, ...props }: MenubarSubTriggerProps): react_jsx_runtime.JSX.Element;
1444
+ type MenubarSubContentProps = React.ComponentProps<typeof Menubar$1.SubContent> & VariantProps<typeof menubarContentVariants>;
1445
+ declare function MenubarSubContent({ size, className, ...props }: MenubarSubContentProps): react_jsx_runtime.JSX.Element;
1446
+
1447
+ declare const timelineVariants: (props?: ({
1448
+ size?: "sm" | "md" | null | undefined;
1449
+ orientation?: "horizontal" | "vertical" | null | undefined;
1450
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1451
+ type TimelineStatus = 'default' | 'success' | 'error' | 'warning' | 'info';
1452
+ declare const timelineMarkerVariants: (props?: ({
1453
+ status?: "error" | "default" | "success" | "warning" | "info" | null | undefined;
1454
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1455
+ interface TimelineProps extends React.ComponentProps<'ol'>, VariantProps<typeof timelineVariants> {
1456
+ }
1457
+ type TimelineItemProps = React.ComponentProps<'li'>;
1458
+ interface TimelineMarkerProps extends React.ComponentProps<'span'>, VariantProps<typeof timelineMarkerVariants> {
1459
+ }
1460
+ type TimelineContentProps = React.ComponentProps<'div'>;
1461
+ type TimelineTitleProps = React.ComponentProps<'span'>;
1462
+ type TimelineDescriptionProps = React.ComponentProps<'span'>;
1463
+ type TimelineTimeProps = React.ComponentProps<'time'>;
1464
+ declare function Timeline({ size, orientation, className, ...props }: TimelineProps): react_jsx_runtime.JSX.Element;
1465
+ declare function TimelineItem({ className, ...props }: TimelineItemProps): react_jsx_runtime.JSX.Element;
1466
+ declare function TimelineMarker({ status, className, children, ...props }: TimelineMarkerProps): react_jsx_runtime.JSX.Element;
1467
+ declare function TimelineContent({ className, ...props }: TimelineContentProps): react_jsx_runtime.JSX.Element;
1468
+ declare function TimelineTitle({ className, ...props }: TimelineTitleProps): react_jsx_runtime.JSX.Element;
1469
+ declare function TimelineDescription({ className, ...props }: TimelineDescriptionProps): react_jsx_runtime.JSX.Element;
1470
+ declare function TimelineTime({ className, ...props }: TimelineTimeProps): react_jsx_runtime.JSX.Element;
1471
+
1472
+ declare const commandVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
1473
+ type CommandProps = React.ComponentProps<typeof Command$1> & VariantProps<typeof commandVariants>;
1474
+ type CommandInputProps = React.ComponentProps<typeof Command$1.Input>;
1475
+ type CommandListProps = React.ComponentProps<typeof Command$1.List>;
1476
+ type CommandEmptyProps = React.ComponentProps<typeof Command$1.Empty>;
1477
+ type CommandGroupProps = React.ComponentProps<typeof Command$1.Group>;
1478
+ type CommandSeparatorProps = React.ComponentProps<typeof Command$1.Separator>;
1479
+ interface CommandItemProps extends Omit<React.ComponentProps<typeof Command$1.Item>, 'onSelect' | 'value'> {
1480
+ /**
1481
+ * Stable value for filtering + the `onSelect` payload. Required: cmdk would
1482
+ * otherwise derive it from the rendered text, so a label / translation /
1483
+ * icon change would silently change what `onSelect` receives.
1484
+ */
1485
+ value: string;
1486
+ /** Leading icon — mirrors Menubar / DropdownMenu item icons. */
1487
+ startIcon?: React.ReactNode;
1488
+ /** Right-aligned keyboard hint, e.g. `"⌘P"` — mirrors Menubar / DropdownMenu. */
1489
+ shortcut?: React.ReactNode;
1490
+ /**
1491
+ * Fires when the item is chosen (click / Enter). Receives the item's
1492
+ * `value` (cmdk defaults it to the text content when `value` is omitted).
1493
+ *
1494
+ * Action-oriented: items run a command and don't track selection. Inside
1495
+ * `CommandDialog` the consumer closes the dialog here, e.g.
1496
+ * `onSelect={() => { setOpen(false); run(); }}`.
1497
+ */
1498
+ onSelect?: (value: string) => void;
1499
+ }
1500
+ interface CommandDialogProps extends Pick<React.ComponentProps<typeof Command$1>, 'filter' | 'shouldFilter' | 'loop'> {
1501
+ /** Controlled open state. */
1502
+ open?: boolean;
1503
+ /** Initial open state when uncontrolled. */
1504
+ defaultOpen?: boolean;
1505
+ onOpenChange?: (open: boolean) => void;
1506
+ /**
1507
+ * Key for the built-in document shortcut (with Cmd on macOS / Ctrl elsewhere).
1508
+ * Defaults to `'k'` (⌘K / Ctrl+K). Pass `false` to bind no listener and wire
1509
+ * your own. The modifier is fixed; only the key is configurable.
1510
+ */
1511
+ shortcut?: string | false;
1512
+ /** Accessible name → visually-hidden `DialogTitle`. Defaults to `"Command palette"`. */
1513
+ label?: React.ReactNode;
1514
+ /** Optional visually-hidden `DialogDescription`. */
1515
+ description?: React.ReactNode;
1516
+ className?: string;
1517
+ /** `CommandInput` + `CommandList` + groups / items. */
1518
+ children: React.ReactNode;
1519
+ }
1520
+ /**
1521
+ * Inline command palette (cmdk root). Pass cmdk's `label` to give the search
1522
+ * input + listbox their accessible name — cmdk wires it via `aria-labelledby`,
1523
+ * which wins over any `aria-label` on `CommandInput`. `CommandDialog` sets this
1524
+ * for you from its `label`.
1525
+ */
1526
+ declare function Command({ className, ...props }: CommandProps): react_jsx_runtime.JSX.Element;
1527
+ declare function CommandInput({ className, placeholder, 'aria-label': ariaLabel, ...props }: CommandInputProps): react_jsx_runtime.JSX.Element;
1528
+ declare function CommandList({ className, ...props }: CommandListProps): react_jsx_runtime.JSX.Element;
1529
+ declare function CommandEmpty({ className, ...props }: CommandEmptyProps): react_jsx_runtime.JSX.Element;
1530
+ declare function CommandGroup({ className, ...props }: CommandGroupProps): react_jsx_runtime.JSX.Element;
1531
+ declare function CommandSeparator({ className, 'aria-hidden': ariaHidden, ...props }: CommandSeparatorProps): react_jsx_runtime.JSX.Element;
1532
+ declare function CommandItem({ startIcon, shortcut, className, children, keywords, ...props }: CommandItemProps): react_jsx_runtime.JSX.Element;
1533
+ declare function CommandDialog({ open: controlledOpen, defaultOpen, onOpenChange, shortcut, label, description, className, filter, shouldFilter, loop, children, }: CommandDialogProps): react_jsx_runtime.JSX.Element;
1534
+
1535
+ declare const tableVariants: (props?: ({
1536
+ size?: "sm" | "md" | "lg" | null | undefined;
1537
+ striped?: boolean | null | undefined;
1538
+ divided?: boolean | null | undefined;
1539
+ bordered?: boolean | null | undefined;
1540
+ stickyHeader?: boolean | null | undefined;
1541
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1542
+ type Align = 'start' | 'center' | 'end';
1543
+ interface TableProps extends React.ComponentProps<'table'>, VariantProps<typeof tableVariants> {
1544
+ /**
1545
+ * Accessible name for the **scroll region** wrapping the table. Strongly
1546
+ * recommended: a wide table scrolls horizontally, and a named, focusable
1547
+ * region lets keyboard and screen-reader users find and scroll it. When
1548
+ * provided, the wrapper becomes `role="region"` `tabindex="0"`; when omitted,
1549
+ * it degrades to a plain scroll container and a dev warning fires.
1550
+ * Note: this names the region, not the `<table>` — use `<TableCaption>` for
1551
+ * the table's own name.
1552
+ */
1553
+ 'aria-label'?: string;
1554
+ /** Accessible name for the scroll region, by id reference. See `aria-label`. */
1555
+ 'aria-labelledby'?: string;
1556
+ /**
1557
+ * Caps the scroll region's block-size (number → px) so the body scrolls
1558
+ * vertically within it. **Required for `stickyHeader` to engage** — sticky
1559
+ * needs a height-constrained, scrollable ancestor; without it the region
1560
+ * grows to content height and the header has nothing to stick to.
1561
+ */
1562
+ maxHeight?: number | string;
1563
+ }
1564
+ interface TableRowProps extends React.ComponentProps<'tr'> {
1565
+ /** Visually highlights the row and sets `data-state="selected"`. Selection
1566
+ * semantics for assistive tech come from a checkbox in the cell (see the
1567
+ * DataTable recipe), not from the row. */
1568
+ selected?: boolean;
1569
+ }
1570
+ interface TableHeadProps extends Omit<React.ComponentProps<'th'>, 'align' | 'onClick'> {
1571
+ align?: Align;
1572
+ /** Renders the column as sortable: wraps content in a button and sets
1573
+ * `aria-sort`. Sort *logic* is the consumer's — wire `onClick`. */
1574
+ sortable?: boolean;
1575
+ /** Current sort direction, or `false` when unsorted. */
1576
+ sortDirection?: 'asc' | 'desc' | false;
1577
+ /** Click handler bound to the sort button (only rendered when `sortable`). */
1578
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
1579
+ /**
1580
+ * Visually-hidden, **caller-localized** cue appended to the sort button's
1581
+ * accessible name (e.g. "activate to sort ascending"). `aria-sort` already
1582
+ * conveys state, but a focused button otherwise announces only its column
1583
+ * label; this adds the action cue. Kept as a prop (not hard-coded text) so
1584
+ * the design system stays language-neutral — pass Arabic in RTL. Only used
1585
+ * when `sortable`. Typed `string` (not `ReactNode`) so interactive content
1586
+ * can't be hidden into a keyboard-reachable, invisible trap.
1587
+ */
1588
+ sortLabel?: string;
1589
+ }
1590
+ interface TableCellProps extends Omit<React.ComponentProps<'td'>, 'align'> {
1591
+ align?: Align;
1592
+ }
1593
+ declare function Table({ size, striped, divided, bordered, stickyHeader, className, maxHeight, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, ...props }: TableProps): react_jsx_runtime.JSX.Element;
1594
+ declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
1595
+ declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
1596
+ declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
1597
+ declare function TableRow({ className, selected, ...props }: TableRowProps): react_jsx_runtime.JSX.Element;
1598
+ declare function TableHead({ className, align, sortable, sortDirection, sortLabel, onClick, children, ...props }: TableHeadProps): react_jsx_runtime.JSX.Element;
1599
+ declare function TableCell({ className, align, ...props }: TableCellProps): react_jsx_runtime.JSX.Element;
1600
+ declare function TableCaption({ className, ...props }: React.ComponentProps<'caption'>): react_jsx_runtime.JSX.Element;
1601
+
1602
+ declare const inputOTPVariants: (props?: ({
1603
+ size?: "sm" | "md" | "lg" | null | undefined;
1604
+ error?: boolean | null | undefined;
1605
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1606
+ interface InputOTPProps extends Omit<React.ComponentProps<'div'>, 'onChange' | 'defaultValue' | 'children'>, VariantProps<typeof inputOTPVariants> {
1607
+ /** Number of slots. Defaults to 6 (Saudi SMS OTP length). */
1608
+ length?: number;
1609
+ /** Optional visual grouping; must sum to `length`. Default: one group. */
1610
+ groupSizes?: number[];
1611
+ /** Controlled value (the entered characters). */
1612
+ value?: string;
1613
+ /** Uncontrolled initial value. */
1614
+ defaultValue?: string;
1615
+ onChange?: (value: string) => void;
1616
+ /** Fires when all `length` slots are filled. */
1617
+ onComplete?: (value: string) => void;
1618
+ /** Full-string regex the entered value must match. Defaults to digits-only. */
1619
+ pattern?: string;
1620
+ /** Render dots instead of characters (PIN entry). */
1621
+ mask?: boolean;
1622
+ /** Override the divider rendered between groups. */
1623
+ separator?: ReactNode;
1624
+ disabled?: boolean;
1625
+ autoFocus?: boolean;
1626
+ name?: string;
1627
+ required?: boolean;
1628
+ /** Visible field label, auto-associated to the input via `htmlFor`/`id`. */
1629
+ label?: ReactNode;
1630
+ /** Hint shown below the field. Hidden while an error message is showing. */
1631
+ helperText?: ReactNode;
1632
+ /** Message shown below the field when invalid. */
1633
+ errorMessage?: ReactNode;
1634
+ /** Marks the field invalid: sets `aria-invalid` and error styling. */
1635
+ error?: boolean;
1636
+ }
1637
+ declare function InputOTP({ id: externalId, length, groupSizes, value, defaultValue, onChange, onComplete, pattern, mask, separator, size, disabled, autoFocus, name, required, label, helperText, errorMessage, error, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, ...props }: InputOTPProps): react_jsx_runtime.JSX.Element;
1638
+
1639
+ declare const linkVariants: (props?: ({
1640
+ variant?: "default" | "subtle" | "standalone" | null | undefined;
1641
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1642
+ interface LinkProps extends React.ComponentProps<'a'>, VariantProps<typeof linkVariants> {
1643
+ /**
1644
+ * External link: appends a decorative ↗ icon and sets
1645
+ * `rel="noopener noreferrer"` (merged with any consumer `rel`). `target` is
1646
+ * left to the consumer — forcing `_blank` is an a11y opinion best owned by
1647
+ * the caller.
1648
+ */
1649
+ external?: boolean;
1650
+ /** Leading icon (standalone-friendly). Decorative — rendered `aria-hidden`. */
1651
+ startIcon?: ReactNode;
1652
+ /**
1653
+ * Trailing icon. Decorative. When both `external` and `endIcon` are set, the
1654
+ * consumer's `endIcon` wins (the auto ↗ is suppressed).
1655
+ */
1656
+ endIcon?: ReactNode;
1657
+ /**
1658
+ * Flip start/end icons horizontally in RTL (for directional arrows/chevrons).
1659
+ * Does NOT apply to the auto `external` icon, which is RTL-neutral by design
1660
+ * (a symbolic "leaves the site" cue, not a directional glyph).
1661
+ */
1662
+ iconFlip?: boolean;
1663
+ /**
1664
+ * Render as the single child element instead of an `<a>`. Lets consumers
1665
+ * compose with framework routers (`<Link asChild><RouterLink to="…">…</RouterLink></Link>`).
1666
+ * `Slottable` marks where the child's own content lands so the icons render
1667
+ * around it. In this mode the href dev-warning is skipped — the consumer's
1668
+ * element owns its attributes.
1669
+ */
1670
+ asChild?: boolean;
1671
+ }
1672
+ declare function Link({ variant, external, startIcon, endIcon, iconFlip, asChild, className, children, rel, ...props }: LinkProps): react_jsx_runtime.JSX.Element;
1673
+
1674
+ interface SearchBoxProps extends Omit<InputProps, 'startAdornment' | 'endAdornment' | 'type'> {
1675
+ /** Fires on Enter with the current query string. */
1676
+ onSearch?: (value: string) => void;
1677
+ /** Fires when the field is cleared (clear button or Escape). */
1678
+ onClear?: () => void;
1679
+ /** Show the clear (×) button while the field has a value. Default `true`. */
1680
+ clearable?: boolean;
1681
+ /** Accessible label for the clear button. Default `'Clear search'`. */
1682
+ clearLabel?: string;
1683
+ }
1684
+ declare function SearchBox({ value, defaultValue, onChange, onKeyDown, onSearch, onClear, clearable, clearLabel, className, ...rest }: SearchBoxProps): react_jsx_runtime.JSX.Element;
1685
+
1686
+ declare const listVariants: (props?: ({
1687
+ variant?: "plain" | "bulleted" | "numbered" | "lettered" | null | undefined;
1688
+ divided?: boolean | null | undefined;
1689
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1690
+ interface ListProps extends Omit<React.ComponentProps<'ul'>, 'type'>, VariantProps<typeof listVariants> {
1691
+ /** Ordered variants (`numbered` / `lettered`) only — the ordinal to start from. */
1692
+ start?: number;
1693
+ /** Ordered variants only — count the ordinals down instead of up. */
1694
+ reversed?: boolean;
1695
+ }
1696
+ type ListItemProps = React.ComponentProps<'li'>;
1697
+ type ListItemIconProps = React.ComponentProps<'span'>;
1698
+ type ListItemActionProps = React.ComponentProps<'div'>;
1699
+ interface ListItemContentProps extends React.ComponentProps<'div'> {
1700
+ /**
1701
+ * Primary line. Ignored if `children` is provided — `children` fully
1702
+ * replaces the primary/secondary rendering (use one or the other).
1703
+ */
1704
+ primary?: ReactNode;
1705
+ /** Secondary, de-emphasized line below the primary. Ignored if `children` is set. */
1706
+ secondary?: ReactNode;
1707
+ }
1708
+ declare function List({ variant, divided, className, start, reversed, ...props }: ListProps): react_jsx_runtime.JSX.Element;
1709
+ declare function ListItem({ className, ...props }: ListItemProps): react_jsx_runtime.JSX.Element;
1710
+ declare function ListItemIcon({ className, ...props }: ListItemIconProps): react_jsx_runtime.JSX.Element;
1711
+ declare function ListItemContent({ primary, secondary, className, children, ...props }: ListItemContentProps): react_jsx_runtime.JSX.Element;
1712
+ declare function ListItemAction({ className, ...props }: ListItemActionProps): react_jsx_runtime.JSX.Element;
1713
+
1714
+ declare const quoteVariants: (props?: ({
1715
+ variant?: "default" | "plain" | "pullquote" | "testimonial" | null | undefined;
1716
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1717
+ interface QuoteProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof quoteVariants> {
1718
+ /** The quote text. Rendered inside the `<blockquote>`. */
1719
+ children?: ReactNode;
1720
+ /** Show a decorative opening quotation mark (RTL-flipped). Defaults to `false`. */
1721
+ quoteMark?: boolean;
1722
+ /**
1723
+ * Attribution media (e.g. an `<Avatar />`), rendered at the inline-start of the
1724
+ * caption. Only shown alongside textual attribution (`author`/`byline`/`source`)
1725
+ * — an avatar with no name is decorative-only and would leave the
1726
+ * `<figcaption>` empty to assistive tech, so it is dropped on its own. Most
1727
+ * natural on `testimonial`. Quote renders whatever node you pass — it takes no
1728
+ * Avatar dependency.
1729
+ */
1730
+ avatar?: ReactNode;
1731
+ /** Attribution name (e.g. the person quoted). Rendered as plain text. */
1732
+ author?: ReactNode;
1733
+ /**
1734
+ * Secondary attribution line below the author — typically a job title or
1735
+ * affiliation (e.g. "Product Manager, DGA"). Named `byline` rather than `role`
1736
+ * so the native ARIA `role` attribute stays available on the root element.
1737
+ */
1738
+ byline?: ReactNode;
1739
+ /** Title of the work, rendered in a real `<cite>` element. */
1740
+ source?: ReactNode;
1741
+ /**
1742
+ * URL of the source document — set as the `cite=` **attribute** on the
1743
+ * `<blockquote>` (machine-readable, not visible). For a visible work title use
1744
+ * `source`.
1745
+ */
1746
+ cite?: string;
1747
+ }
1748
+ type QuoteContentProps = React.ComponentProps<'div'> & {
1749
+ asChild?: boolean;
1750
+ };
1751
+ type QuoteCaptionProps = React.ComponentProps<'figcaption'> & {
1752
+ asChild?: boolean;
1753
+ };
1754
+ type QuoteAuthorProps = React.ComponentProps<'span'> & {
1755
+ asChild?: boolean;
1756
+ };
1757
+ type QuoteSourceProps = React.ComponentProps<'cite'> & {
1758
+ asChild?: boolean;
1759
+ };
1760
+ /**
1761
+ * Visual-only quote. Renders a `<blockquote>`; when textual attribution
1762
+ * (`author`/`byline`/`source`) is present it is wrapped in a `<figure>` with a
1763
+ * `<figcaption>` (a `<figcaption>` must not be empty, so a bare quote stays a
1764
+ * lone `<blockquote>`).
1765
+ *
1766
+ * No `asChild` on the root: the `figure`/`blockquote`/`figcaption` composite has
1767
+ * fixed semantics (documented carve-out, mirrors `EmptyState`/`Timeline`/`List`).
1768
+ * The exported sub-parts carry `asChild` for hand-assembled compositions.
1769
+ */
1770
+ declare function Quote({ variant, quoteMark, avatar, author, byline, source, cite, className, children, ...props }: QuoteProps): react_jsx_runtime.JSX.Element;
1771
+ /** Body wrapper inside the `<blockquote>`. */
1772
+ declare function QuoteContent({ asChild, className, ...props }: QuoteContentProps): react_jsx_runtime.JSX.Element;
1773
+ /** Caption (attribution) below the quote. Pair with a `<figure>` root. */
1774
+ declare function QuoteCaption({ asChild, className, ...props }: QuoteCaptionProps): react_jsx_runtime.JSX.Element;
1775
+ /** Attribution name. */
1776
+ declare function QuoteAuthor({ asChild, className, ...props }: QuoteAuthorProps): react_jsx_runtime.JSX.Element;
1777
+ /** Title of the cited work — a real `<cite>` element. */
1778
+ declare function QuoteSource({ asChild, className, ...props }: QuoteSourceProps): react_jsx_runtime.JSX.Element;
1779
+
1780
+ type CollapsibleProps = React.ComponentProps<typeof Collapsible$1.Root>;
1781
+ type CollapsibleTriggerProps = React.ComponentProps<typeof Collapsible$1.Trigger>;
1782
+ type CollapsibleContentProps = React.ComponentProps<typeof Collapsible$1.Content>;
1783
+ declare function Collapsible({ className, ...props }: CollapsibleProps): react_jsx_runtime.JSX.Element;
1784
+ declare function CollapsibleTrigger({ className, ...props }: CollapsibleTriggerProps): react_jsx_runtime.JSX.Element;
1785
+ declare function CollapsibleContent({ className, children, ...props }: CollapsibleContentProps): react_jsx_runtime.JSX.Element;
1786
+
1787
+ declare const tagInputVariants: (props?: ({
1788
+ size?: "sm" | "md" | "lg" | null | undefined;
1789
+ error?: boolean | null | undefined;
1790
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1791
+ type NativeInputProps = Omit<React.ComponentProps<'input'>, 'value' | 'defaultValue' | 'onChange' | 'size'>;
1792
+ interface TagInputProps extends NativeInputProps, Omit<VariantProps<typeof tagInputVariants>, 'error'> {
1793
+ /** Controlled tag list. */
1794
+ value?: string[];
1795
+ /** Uncontrolled initial tag list. */
1796
+ defaultValue?: string[];
1797
+ /** Fires with the full accepted tag set after every add/remove. */
1798
+ onChange?: (tags: string[]) => void;
1799
+ /** Visible field label, associated to the text input. */
1800
+ label?: ReactNode;
1801
+ /** Hint shown below the field. Hidden while an error message is showing. */
1802
+ helperText?: ReactNode;
1803
+ /** Message shown below the field when invalid. */
1804
+ errorMessage?: ReactNode;
1805
+ /** Marks the field invalid: sets `aria-invalid` and error styling. */
1806
+ error?: boolean;
1807
+ /** Caps the number of tags. Adds beyond the cap are no-ops. */
1808
+ max?: number;
1809
+ /** Allow the same tag more than once. Off → duplicates are rejected. */
1810
+ allowDuplicates?: boolean;
1811
+ /** Make duplicate detection case-sensitive. Default: case-insensitive. */
1812
+ caseSensitive?: boolean;
1813
+ /** Consumer gate run on each candidate tag. Return false to reject (draft kept). */
1814
+ validate?: (tag: string, tags: string[]) => boolean;
1815
+ /** Characters that commit the draft and split a paste. Newline always splits a paste. */
1816
+ delimiters?: string[];
1817
+ /** Badge variant used for the chips. */
1818
+ chipVariant?: BadgeProps['variant'];
1819
+ /** Accessible name for each chip's remove button. */
1820
+ removeLabel?: (tag: string) => string;
1821
+ /** Live-region text announced on add/remove (screen readers). */
1822
+ formatAnnouncement?: (tag: string, action: 'add' | 'remove') => string;
1823
+ }
1824
+ declare function TagInput({ id: externalId, value, defaultValue, onChange, label, helperText, errorMessage, error, size, disabled, placeholder, max, allowDuplicates, caseSensitive, validate, delimiters, chipVariant, removeLabel, formatAnnouncement, className, ...props }: TagInputProps): react_jsx_runtime.JSX.Element;
1825
+
1128
1826
  type DgaRootElement = 'div' | 'main' | 'nav' | 'section' | 'article' | 'aside' | 'header' | 'footer';
1129
1827
  interface DgaProviderProps {
1130
1828
  dir?: 'ltr' | 'rtl';
@@ -1236,4 +1934,4 @@ declare function FieldMessage({ id, variant, children }: FieldMessageProps): rea
1236
1934
 
1237
1935
  declare function cn(...inputs: ClassValue[]): string;
1238
1936
 
1239
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, type AlertSectionProps, AlertTitle, type AlertTitleProps, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarStatus, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, Card, CardContent, CardDescription, type CardDescriptionProps, CardFooter, CardHeader, CardImage, type CardImageProps, type CardProps, type CardSectionProps, CardTitle, type CardTitleProps, Checkbox, type CheckboxProps, CircularProgress, type CircularProgressProps, Combobox, ComboboxGroup, type ComboboxGroupProps, ComboboxItem, type ComboboxItemProps, type ComboboxProps, ComboboxSeparator, type ComboboxSeparatorProps, DatePicker, type DatePickerProps, DescriptionDetails, type DescriptionDetailsProps, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListProps, DescriptionTerm, type DescriptionTermProps, DgaProvider, type DgaProviderProps, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, type DrawerCloseProps, DrawerContent, type DrawerContentProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, DrawerHeader, type DrawerProps, type DrawerSectionProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, type FieldA11y, FieldMessage, type FieldMessageProps, type FileRejection, type FileStatus, FileUpload, type FileUploadProps, Input, type InputProps, Modal, ModalClose, type ModalCloseProps, ModalContent, type ModalContentProps, ModalDescription, type ModalDescriptionProps, ModalFooter, ModalHeader, type ModalProps, type ModalSectionProps, ModalTitle, type ModalTitleProps, ModalTrigger, type ModalTriggerProps, NumberInput, type NumberInputProps, Pagination, PaginationContent, type PaginationContentProps, PaginationEllipsis, type PaginationEllipsisProps, PaginationItem, type PaginationItemProps, PaginationLink, type PaginationLinkProps, PaginationNext, type PaginationNextProps, PaginationPrevious, type PaginationPreviousProps, type PaginationProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RejectionCode, Select, SelectItem, type SelectItemProps, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderValue, Spinner, type SpinnerProps, Step, StepDescription, type StepDescriptionProps, StepIndicator, type StepIndicatorProps, type StepProps, type StepState, StepTitle, type StepTitleProps, Steps, type StepsProps, Switch, type SwitchProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type TextareaProps, type ToastAction, type ToastData, type ToastOptions, type ToastPosition, type ToastStore, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipTrigger, type TooltipTriggerProps, type UploadFile, type UseFieldA11yOptions, accordionVariants, alertVariants, avatarVariants, badgeVariants, breadcrumbVariants, buttonVariants, cardVariants, checkboxVariants, circularProgressVariants, cn, comboboxTriggerVariants, comboboxVariants, createToast, createToastStore, datePickerVariants, descriptionListVariants, dividerVariants, drawerVariants, dropdownMenuVariants, inputVariants, modalContentVariants, numberInputVariants, paginationLinkVariants, paginationVariants, progressVariants, radioGroupVariants, radioVariants, ratingVariants, selectTriggerVariants, skeletonVariants, sliderVariants, spinnerVariants, stepVariants, stepsVariants, switchVariants, tabsListVariants, tabsVariants, textareaVariants, toast, toastStore, toastVariants, toastViewportVariants, toggleGroupVariants, toggleVariants, tooltipContentVariants, useDga, useDir, useFieldA11y };
1937
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, type AlertSectionProps, AlertTitle, type AlertTitleProps, Avatar, AvatarFallback, type AvatarFallbackProps, AvatarGroup, type AvatarGroupProps, AvatarImage, type AvatarImageProps, type AvatarProps, type AvatarStatus, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps, Button, type ButtonProps, Card, CardContent, CardDescription, type CardDescriptionProps, CardFooter, CardHeader, CardImage, type CardImageProps, type CardProps, type CardSectionProps, CardTitle, type CardTitleProps, Checkbox, type CheckboxProps, CircularProgress, type CircularProgressProps, Collapsible, CollapsibleContent, type CollapsibleContentProps, type CollapsibleProps, CollapsibleTrigger, type CollapsibleTriggerProps, Combobox, ComboboxGroup, type ComboboxGroupProps, ComboboxItem, type ComboboxItemProps, type ComboboxProps, ComboboxSeparator, type ComboboxSeparatorProps, Command, CommandDialog, type CommandDialogProps, CommandEmpty, type CommandEmptyProps, CommandGroup, type CommandGroupProps, CommandInput, type CommandInputProps, CommandItem, type CommandItemProps, CommandList, type CommandListProps, type CommandProps, CommandSeparator, type CommandSeparatorProps, DatePicker, type DatePickerProps, DescriptionDetails, type DescriptionDetailsProps, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListProps, DescriptionTerm, type DescriptionTermProps, DgaProvider, type DgaProviderProps, Divider, type DividerProps, Drawer, DrawerBody, DrawerClose, type DrawerCloseProps, DrawerContent, type DrawerContentProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, DrawerHeader, type DrawerProps, type DrawerSectionProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubContentProps, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EmptyState, EmptyStateActions, type EmptyStateActionsProps, EmptyStateDescription, type EmptyStateDescriptionProps, EmptyStateMedia, type EmptyStateMediaProps, type EmptyStateProps, EmptyStateTitle, type EmptyStateTitleProps, type FieldA11y, FieldMessage, type FieldMessageProps, type FileRejection, type FileStatus, FileUpload, type FileUploadProps, Input, InputOTP, type InputOTPProps, type InputProps, Link, type LinkProps, List, ListItem, ListItemAction, type ListItemActionProps, ListItemContent, type ListItemContentProps, ListItemIcon, type ListItemIconProps, type ListItemProps, type ListProps, Menubar, MenubarCheckboxItem, type MenubarCheckboxItemProps, MenubarContent, type MenubarContentProps, MenubarGroup, type MenubarGroupProps, MenubarItem, type MenubarItemProps, MenubarLabel, type MenubarLabelProps, MenubarMenu, type MenubarMenuProps, type MenubarProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, type MenubarRadioItemProps, MenubarSeparator, type MenubarSeparatorProps, MenubarSub, MenubarSubContent, type MenubarSubContentProps, type MenubarSubProps, MenubarSubTrigger, type MenubarSubTriggerProps, MenubarTrigger, type MenubarTriggerProps, Modal, ModalClose, type ModalCloseProps, ModalContent, type ModalContentProps, ModalDescription, type ModalDescriptionProps, ModalFooter, ModalHeader, type ModalProps, type ModalSectionProps, ModalTitle, type ModalTitleProps, ModalTrigger, type ModalTriggerProps, NumberInput, type NumberInputProps, Pagination, PaginationContent, type PaginationContentProps, PaginationEllipsis, type PaginationEllipsisProps, PaginationItem, type PaginationItemProps, PaginationLink, type PaginationLinkProps, PaginationNext, type PaginationNextProps, PaginationPrevious, type PaginationPreviousProps, type PaginationProps, Popover, PopoverAnchor, type PopoverAnchorProps, PopoverClose, type PopoverCloseProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Progress, type ProgressProps, Quote, QuoteAuthor, type QuoteAuthorProps, QuoteCaption, type QuoteCaptionProps, QuoteContent, type QuoteContentProps, type QuoteProps, QuoteSource, type QuoteSourceProps, Radio, RadioGroup, type RadioGroupProps, type RadioProps, Rating, type RatingProps, type RejectionCode, ScrollArea, type ScrollAreaOrientation, type ScrollAreaProps, SearchBox, type SearchBoxProps, Select, SelectItem, type SelectItemProps, type SelectProps, Sidebar, SidebarContent, type SidebarContextValue, SidebarFooter, SidebarGroup, SidebarGroupAction, type SidebarGroupActionProps, SidebarGroupContent, type SidebarGroupDivProps, SidebarGroupLabel, SidebarHeader, SidebarInset, type SidebarInsetProps, SidebarMenu, SidebarMenuAction, type SidebarMenuActionProps, SidebarMenuBadge, SidebarMenuButton, type SidebarMenuButtonProps, SidebarMenuItem, SidebarMenuSkeleton, type SidebarMenuSkeletonProps, SidebarMenuSub, SidebarMenuSubButton, type SidebarMenuSubButtonProps, SidebarMenuSubItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, type SidebarSectionProps, SidebarSeparator, SidebarTrigger, type SidebarTriggerProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderValue, Spinner, type SpinnerProps, Stat, StatChange, type StatChangeProps, StatChart, type StatChartProps, StatGroup, type StatGroupProps, StatLabel, type StatLabelProps, type StatProps, StatValue, type StatValueProps, Step, StepDescription, type StepDescriptionProps, StepIndicator, type StepIndicatorProps, type StepProps, type StepState, StepTitle, type StepTitleProps, Steps, type StepsProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, type TableCellProps, TableFooter, TableHead, type TableHeadProps, TableHeader, type TableProps, TableRow, type TableRowProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, TagInput, type TagInputProps, Textarea, type TextareaProps, Timeline, TimelineContent, type TimelineContentProps, TimelineDescription, type TimelineDescriptionProps, TimelineItem, type TimelineItemProps, TimelineMarker, type TimelineMarkerProps, type TimelineProps, type TimelineStatus, TimelineTime, type TimelineTimeProps, TimelineTitle, type TimelineTitleProps, type ToastAction, type ToastData, type ToastOptions, type ToastPosition, type ToastStore, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipTrigger, type TooltipTriggerProps, type UploadFile, type UseFieldA11yOptions, accordionVariants, alertVariants, avatarVariants, badgeVariants, breadcrumbVariants, buttonVariants, cardVariants, checkboxVariants, circularProgressVariants, cn, comboboxTriggerVariants, comboboxVariants, commandVariants, createToast, createToastStore, datePickerVariants, descriptionListVariants, dividerVariants, drawerVariants, dropdownMenuVariants, emptyStateVariants, inputOTPVariants, inputVariants, linkVariants, listVariants, menubarContentVariants, menubarTriggerVariants, modalContentVariants, numberInputVariants, paginationLinkVariants, paginationVariants, popoverContentVariants, progressVariants, quoteVariants, radioGroupVariants, radioVariants, ratingVariants, scrollAreaVariants, selectTriggerVariants, sidebarMenuButtonVariants, sidebarMenuSubButtonVariants, skeletonVariants, sliderVariants, spinnerVariants, statGroupVariants, statVariants, stepVariants, stepsVariants, switchVariants, tableVariants, tabsListVariants, tabsVariants, tagInputVariants, textareaVariants, timelineMarkerVariants, timelineVariants, toast, toastStore, toastVariants, toastViewportVariants, toggleGroupVariants, toggleVariants, tooltipContentVariants, useDga, useDir, useFieldA11y, useIsMobile, useSidebar };