@mirror-physics/fractal-ui 0.2.0-next.4 → 0.2.0-next.40

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.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ReactNode } from 'react';
2
+ import { ReactNode, HTMLAttributes, CSSProperties } from 'react';
3
3
  import { ClassValue } from 'clsx';
4
4
 
5
5
  type ButtonType = 'primary' | 'secondary' | 'ghost' | 'danger';
@@ -21,6 +21,18 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
21
21
  }
22
22
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
23
23
 
24
+ interface BreadcrumbItem {
25
+ label: React.ReactNode;
26
+ href?: string;
27
+ onClick?: React.MouseEventHandler<HTMLAnchorElement>;
28
+ }
29
+ interface BreadcrumbsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children'> {
30
+ items: BreadcrumbItem[];
31
+ ariaLabel?: string;
32
+ separator?: React.ReactNode;
33
+ }
34
+ declare function Breadcrumbs({ items, ariaLabel, separator, className, ...props }: BreadcrumbsProps): React.JSX.Element | null;
35
+
24
36
  declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
25
37
  declare const CardHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
26
38
  declare const CardTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
@@ -94,11 +106,16 @@ interface ModalProps {
94
106
  footer?: React.ReactNode;
95
107
  /** When true, prevents closing via overlay click or Escape. */
96
108
  noClose?: boolean;
109
+ /** Keeps the close control visible but disables every dismissal route. */
110
+ closeDisabled?: boolean;
97
111
  /** Modal width: 'sm' (420px), 'md' (756px), 'lg' (near-fullscreen). */
98
112
  size?: 'sm' | 'md' | 'lg';
113
+ /** Replaces the body with a whole-surface loading state while retaining the modal chrome. */
114
+ loading?: boolean;
115
+ loadingLabel?: string;
99
116
  className?: string;
100
117
  }
101
- declare function Modal({ open, onClose, title, children, danger, warn, footer, noClose, size, className }: ModalProps): React.ReactPortal | null;
118
+ declare function Modal({ open, onClose, title, children, danger, warn, footer, noClose, closeDisabled, size, loading, loadingLabel, className }: ModalProps): React.ReactPortal | null;
102
119
 
103
120
  interface DataTableColumn<T> {
104
121
  key: string;
@@ -133,6 +150,8 @@ interface DropdownProps {
133
150
  align?: 'left' | 'right';
134
151
  triggerContent?: React.ReactNode;
135
152
  label?: React.ReactNode;
153
+ /** Renders the trigger as a square icon button. Requires an accessible triggerLabel. */
154
+ iconOnly?: boolean;
136
155
  noChevron?: boolean;
137
156
  size?: 'sm' | 'md';
138
157
  triggerVariant?: 'outline' | 'tertiary';
@@ -140,8 +159,9 @@ interface DropdownProps {
140
159
  triggerClassName?: string;
141
160
  panelClassName?: string;
142
161
  closeOnSelect?: boolean;
162
+ disabled?: boolean;
143
163
  }
144
- declare function Dropdown({ items, selectedValue, onSelect, triggerLabel, direction, align, triggerContent, label, noChevron, size, triggerVariant, className, triggerClassName, panelClassName, closeOnSelect, }: DropdownProps): React.JSX.Element | null;
164
+ declare function Dropdown({ items, selectedValue, onSelect, triggerLabel, direction, align, triggerContent, label, iconOnly, noChevron, size, triggerVariant, className, triggerClassName, panelClassName, closeOnSelect, disabled, }: DropdownProps): React.JSX.Element | null;
145
165
 
146
166
  type LinkTheme = 'default' | 'muted' | 'accent';
147
167
  type LinkSize = 'sm' | 'md' | 'lg';
@@ -157,7 +177,17 @@ interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {
157
177
  }
158
178
  declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLSpanElement>>;
159
179
 
180
+ interface CheckboxProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
181
+ checked: boolean;
182
+ onCheckedChange: (checked: boolean) => void;
183
+ }
184
+ declare function Checkbox({ checked, onCheckedChange, className, disabled, onClick, onKeyDown, ...props }: CheckboxProps): React.JSX.Element;
185
+
160
186
  type SortDirection = 'asc' | 'desc' | null;
187
+ interface SortableTableDefaultSort {
188
+ key: string;
189
+ direction: Exclude<SortDirection, null>;
190
+ }
161
191
  interface SortableTableColumn<T> {
162
192
  key: string;
163
193
  header: string;
@@ -167,21 +197,34 @@ interface SortableTableColumn<T> {
167
197
  render: (row: T, index: number) => ReactNode;
168
198
  align?: 'left' | 'right';
169
199
  }
200
+ interface SortableTableRowAction<T> {
201
+ label: (row: T, index: number) => string;
202
+ icon: (row: T, index: number) => ReactNode;
203
+ }
170
204
  interface SortableTableProps<T> {
171
205
  columns: SortableTableColumn<T>[];
172
206
  data: T[];
173
207
  emptyMessage?: string;
174
208
  header?: ReactNode;
175
209
  size?: 'sm' | 'md' | 'lg';
210
+ /** Removes the table's outer border and radius for use inside another framed surface. */
211
+ embedded?: boolean;
176
212
  className?: string;
213
+ /** Required baseline row ordering that does not appear as an active user sort. */
214
+ defaultSort: SortableTableDefaultSort;
215
+ /** Initial visible user sort state. */
177
216
  defaultSortKey?: string;
178
217
  defaultSortDirection?: SortDirection;
179
218
  sortKey?: string | null;
180
219
  sortDirection?: SortDirection;
181
220
  onSortChange?: (key: string | null, direction: SortDirection) => void;
182
221
  highlightRow?: (row: T, index: number) => boolean;
222
+ /** Invoked when a row is selected. Enables pointer and keyboard row activation. */
223
+ onRowClick?: (row: T, index: number) => void;
224
+ /** Directional affordance displayed over the right edge of an interactive row. */
225
+ rowAction?: SortableTableRowAction<T>;
183
226
  }
184
- declare function SortableTable<T>({ columns, data, emptyMessage, header, size, className, defaultSortKey, defaultSortDirection, sortKey: controlledKey, sortDirection: controlledDirection, onSortChange, highlightRow, }: SortableTableProps<T>): React.JSX.Element;
227
+ declare function SortableTable<T>({ columns, data, emptyMessage, header, size, embedded, className, defaultSort, defaultSortKey, defaultSortDirection, sortKey: controlledKey, sortDirection: controlledDirection, onSortChange, highlightRow, onRowClick, rowAction, }: SortableTableProps<T>): React.JSX.Element;
185
228
 
186
229
  interface TabItem {
187
230
  id: string;
@@ -189,6 +232,7 @@ interface TabItem {
189
232
  content: ReactNode;
190
233
  disabled?: boolean;
191
234
  }
235
+ type TabsVariant = 'line' | 'surface';
192
236
  interface TabsProps {
193
237
  items: TabItem[];
194
238
  defaultValue?: string;
@@ -196,8 +240,27 @@ interface TabsProps {
196
240
  onValueChange?: (id: string) => void;
197
241
  className?: string;
198
242
  ariaLabel?: string;
243
+ /** Extends a subtle divider across the entire tab list. */
244
+ divider?: boolean;
245
+ /** Visual treatment. Surface tabs sit on a full-width secondary surface with the active tab connected to its panel. */
246
+ variant?: TabsVariant;
199
247
  }
200
- declare function Tabs({ items, defaultValue, value: controlledValue, onValueChange, className, ariaLabel, }: TabsProps): React.JSX.Element;
248
+ declare function Tabs({ items, defaultValue, value: controlledValue, onValueChange, className, ariaLabel, divider, variant, }: TabsProps): React.JSX.Element;
249
+
250
+ interface ContentSwitcherItem {
251
+ value: string;
252
+ label: React.ReactNode;
253
+ disabled?: boolean;
254
+ }
255
+ interface ContentSwitcherProps {
256
+ items: ContentSwitcherItem[];
257
+ value: string;
258
+ onValueChange: (value: string) => void;
259
+ ariaLabel: string;
260
+ fullWidth?: boolean;
261
+ className?: string;
262
+ }
263
+ declare function ContentSwitcher({ items, value, onValueChange, ariaLabel, fullWidth, className }: ContentSwitcherProps): React.JSX.Element;
201
264
 
202
265
  interface DisclosureProps {
203
266
  title: ReactNode;
@@ -206,18 +269,134 @@ interface DisclosureProps {
206
269
  defaultOpen?: boolean;
207
270
  open?: boolean;
208
271
  onOpenChange?: (open: boolean) => void;
272
+ disabled?: boolean;
209
273
  className?: string;
210
274
  variant?: 'card' | 'plain';
211
275
  }
212
- declare function Disclosure({ title, meta, children, defaultOpen, open: controlledOpen, onOpenChange, className, variant, }: DisclosureProps): React.JSX.Element;
276
+ declare function Disclosure({ title, meta, children, defaultOpen, open: controlledOpen, onOpenChange, disabled, className, variant, }: DisclosureProps): React.JSX.Element;
277
+
278
+ interface LatticeLoaderProps extends HTMLAttributes<HTMLSpanElement> {
279
+ label?: string;
280
+ }
281
+ declare function LatticeLoader({ className, label, ...props }: LatticeLoaderProps): React.JSX.Element;
282
+
283
+ type UILoaderTone = 'neutral' | 'blue' | 'green';
284
+ interface UILoaderProps {
285
+ /** Visual height. Width follows the mark's aspect ratio. */
286
+ size?: number | string;
287
+ tone?: UILoaderTone;
288
+ className?: string;
289
+ style?: CSSProperties;
290
+ label?: string;
291
+ /** Use when another nearby element already announces loading. */
292
+ ariaHidden?: boolean;
293
+ }
294
+ /** A branded shine loader for whole UI surfaces, not component-level content. */
295
+ declare function UILoader({ size, tone, className, style, label, ariaHidden }: UILoaderProps): React.JSX.Element;
296
+
297
+ type GhostLength = number | string;
298
+ interface GhostProps extends HTMLAttributes<HTMLDivElement> {
299
+ /** Width of the placeholder. Numbers are interpreted as pixels. */
300
+ width?: GhostLength;
301
+ /** Height of the placeholder. Numbers are interpreted as pixels. */
302
+ height?: GhostLength;
303
+ /** Border radius override. */
304
+ radius?: GhostLength;
305
+ }
306
+ interface GhostLineProps extends Omit<GhostProps, 'height'> {
307
+ /** Text-line size. */
308
+ size?: 'sm' | 'md' | 'lg';
309
+ }
310
+ /**
311
+ * An intentionally content-free, shimmering placeholder. Use the composed
312
+ * ghosts below for standard Fractal components; use this primitive for custom
313
+ * product layouts.
314
+ */
315
+ declare function Ghost({ className, width, height, radius, style, ...props }: GhostProps): React.JSX.Element;
316
+ declare function GhostLine({ className, size, width, ...props }: GhostLineProps): React.JSX.Element;
317
+ interface ButtonGhostProps extends Omit<GhostProps, 'height'> {
318
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
319
+ iconOnly?: boolean;
320
+ }
321
+ declare function ButtonGhost({ className, size, iconOnly, width, ...props }: ButtonGhostProps): React.JSX.Element;
322
+ interface CardGhostProps extends HTMLAttributes<HTMLDivElement> {
323
+ lines?: number;
324
+ showHeader?: boolean;
325
+ }
326
+ declare function CardGhost({ className, lines, showHeader, ...props }: CardGhostProps): React.JSX.Element;
327
+ interface DataTableGhostProps extends HTMLAttributes<HTMLDivElement> {
328
+ /** Display placeholder cells for a header that is itself still loading. */
329
+ showHeader?: boolean;
330
+ /** Static header labels to retain while only rows are loading. */
331
+ headers?: ReactNode[];
332
+ /** Number of column placeholders. */
333
+ columns?: number;
334
+ /** Number of data row placeholders. */
335
+ rows?: number;
336
+ /** Optional CSS widths mirroring the eventual table columns. */
337
+ columnWidths?: string[];
338
+ size?: 'sm' | 'md' | 'lg';
339
+ }
340
+ declare function DataTableGhost({ className, showHeader, headers, columns, rows, columnWidths, size, ...props }: DataTableGhostProps): React.JSX.Element;
341
+ interface FormFieldGhostProps extends HTMLAttributes<HTMLDivElement> {
342
+ labelWidth?: GhostLength;
343
+ multiline?: boolean;
344
+ }
345
+ declare function InputGhost({ className, labelWidth, ...props }: FormFieldGhostProps): React.JSX.Element;
346
+ declare function TextareaGhost({ className, labelWidth, ...props }: FormFieldGhostProps): React.JSX.Element;
347
+ declare function LabelGhost({ className, width, ...props }: Omit<GhostLineProps, 'size'>): React.JSX.Element;
348
+ declare function AlertGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
349
+ declare function CheckboxGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
350
+ declare const ToggleGhost: typeof CheckboxGhost;
351
+ declare function ChipGhost({ className, width, ...props }: Omit<GhostProps, 'height'>): React.JSX.Element;
352
+ declare function LinkGhost({ className, width, ...props }: Omit<GhostLineProps, 'size'>): React.JSX.Element;
353
+ declare const TextButtonGhost: typeof LinkGhost;
354
+ declare function DropdownGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
355
+ declare function ContentSwitcherGhost({ className, options, ...props }: HTMLAttributes<HTMLDivElement> & {
356
+ options?: number;
357
+ }): React.JSX.Element;
358
+ declare const TabsGhost: typeof ContentSwitcherGhost;
359
+ declare function DisclosureGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
360
+ declare function PaginationGhost({ className, pages, ...props }: HTMLAttributes<HTMLDivElement> & {
361
+ pages?: number;
362
+ }): React.JSX.Element;
363
+ declare function FileDropzoneGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
364
+ declare function PromptCardGhost({ className, ...props }: HTMLAttributes<HTMLDivElement>): React.JSX.Element;
365
+ declare function SortableTableGhost(props: DataTableGhostProps): React.JSX.Element;
366
+ interface SidebarGhostProps extends HTMLAttributes<HTMLDivElement> {
367
+ items?: number;
368
+ }
369
+ declare function SidebarGhost({ className, items, ...props }: SidebarGhostProps): React.JSX.Element;
370
+ interface SurfaceGhostProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
371
+ title?: ReactNode;
372
+ lines?: number;
373
+ }
374
+ declare function ModalGhost({ className, title, lines, ...props }: SurfaceGhostProps): React.JSX.Element;
375
+ declare function SidePanelGhost({ className, title, lines, ...props }: SurfaceGhostProps): React.JSX.Element;
213
376
 
214
377
  interface SidebarProps extends React.HTMLAttributes<HTMLElement> {
215
378
  /** Fixed sidebar width. Defaults to the standard application width. */
216
379
  width?: string;
380
+ /** Collapses the sidebar to an icon rail until it is hovered or receives focus. */
381
+ compact?: boolean;
217
382
  }
218
383
  declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>>;
219
384
  declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
220
385
  declare const SidebarBrand: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
386
+ interface SidebarAccountMenuProps {
387
+ /** Person or workspace label shown in the sidebar header. */
388
+ name: string;
389
+ /** Available account actions. */
390
+ items: DropdownItem[];
391
+ /** Invoked when an account action is selected. */
392
+ onSelect: (value: string) => void;
393
+ /** Accessible label for the account actions menu. */
394
+ triggerLabel?: string;
395
+ /** Leading profile or workspace mark. */
396
+ icon?: React.ReactNode;
397
+ className?: string;
398
+ }
399
+ declare function SidebarAccountMenu({ name, items, onSelect, triggerLabel, icon, className, }: SidebarAccountMenuProps): React.JSX.Element;
221
400
  declare const SidebarNav: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
222
401
  declare const SidebarSection: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
223
402
  interface SidebarNavItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
@@ -231,15 +410,62 @@ interface SidebarNavItemProps extends React.ButtonHTMLAttributes<HTMLButtonEleme
231
410
  declare const SidebarNavItem: React.ForwardRefExoticComponent<SidebarNavItemProps & React.RefAttributes<HTMLButtonElement>>;
232
411
  declare const SidebarFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
233
412
 
234
- interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
235
- /** The page's primary title. */
413
+ interface SidePanelProps {
414
+ open: boolean;
415
+ onClose: () => void;
236
416
  title: React.ReactNode;
237
- /** Optional supporting context for the page. */
238
417
  description?: React.ReactNode;
239
- /** Right-aligned action slot. Pass secondary and primary actions in priority order. */
240
- actions?: React.ReactNode;
418
+ children: React.ReactNode;
419
+ footer?: React.ReactNode;
420
+ /** Panel width: sm (420px), md (540px), lg (680px), or xl (960px). */
421
+ size?: 'sm' | 'md' | 'lg' | 'xl';
422
+ /** Replaces the body with a whole-surface loading state while retaining the panel header. */
423
+ loading?: boolean;
424
+ loadingLabel?: string;
425
+ className?: string;
426
+ }
427
+ declare function SidePanel({ open, onClose, title, description, children, footer, size, loading, loadingLabel, className }: SidePanelProps): React.ReactPortal | null;
428
+
429
+ interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
430
+ }
431
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
432
+
433
+ type TextButtonSize = 'sm' | 'md';
434
+ type TextButtonIconPosition = 'start' | 'end';
435
+ type TextButtonTone = 'primary' | 'secondary';
436
+ interface TextButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
437
+ icon?: React.ReactNode;
438
+ iconPosition?: TextButtonIconPosition;
439
+ size?: TextButtonSize;
440
+ tone?: TextButtonTone;
441
+ }
442
+ declare const TextButton: React.ForwardRefExoticComponent<TextButtonProps & React.RefAttributes<HTMLButtonElement>>;
443
+
444
+ interface FileDropzoneProps {
445
+ files: File[];
446
+ onFilesChange: (files: File[]) => void;
447
+ accept?: string;
448
+ multiple?: boolean;
449
+ disabled?: boolean;
450
+ title?: React.ReactNode;
451
+ description?: React.ReactNode;
452
+ className?: string;
453
+ }
454
+ declare function FileDropzone({ files, onFilesChange, accept, multiple, disabled, title, description, className, }: FileDropzoneProps): React.JSX.Element;
455
+
456
+ interface PaginationProps {
457
+ /** One-based active page. */
458
+ page: number;
459
+ pageSize: number;
460
+ totalItems: number;
461
+ onPageChange: (page: number) => void;
462
+ /** Optional page sizes, rendered as an unframed selector in the pagination footer. */
463
+ pageSizeOptions?: number[];
464
+ onPageSizeChange?: (pageSize: number) => void;
465
+ ariaLabel?: string;
466
+ className?: string;
241
467
  }
242
- declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLDivElement>>;
468
+ declare function Pagination({ page, pageSize, totalItems, onPageChange, pageSizeOptions, onPageSizeChange, ariaLabel, className, }: PaginationProps): React.JSX.Element;
243
469
 
244
470
  /**
245
471
  * Register an Escape-key dismiss handler with the global priority stack.
@@ -252,4 +478,4 @@ declare function useEscapeDismiss(priority: number, handler: () => void, enabled
252
478
 
253
479
  declare function cn(...inputs: ClassValue[]): string;
254
480
 
255
- export { Alert, AlertDescription, AlertTitle, Button, type ButtonColor, type ButtonProps, type ButtonSize, type ButtonType, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Chip, type ChipProps, type ChipTone, DataTable, type DataTableColumn, type DataTableProps, Disclosure, type DisclosureProps, Dropdown, type DropdownItem, type DropdownProps, FeatureCard, type FeatureCardProps, FolderCard, type FolderCardProps, Input, type InputProps, Label, type LabelProps, Link, type LinkProps, type LinkSize, type LinkTheme, Modal, type ModalProps, PageHeader, type PageHeaderProps, PromptCard, type PromptCardProps, type PromptCardTone, PromptGrid, type PromptGridProps, Sidebar, SidebarBrand, SidebarFooter, SidebarHeader, SidebarNav, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarSection, type SortDirection, SortableTable, type SortableTableColumn, type SortableTableProps, type TabItem, Tabs, type TabsProps, Toggle, type ToggleProps, cn, useEscapeDismiss };
481
+ export { Alert, AlertDescription, AlertGhost, AlertTitle, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, Button, type ButtonColor, ButtonGhost, type ButtonGhostProps, type ButtonProps, type ButtonSize, type ButtonType, Card, CardContent, CardDescription, CardFooter, CardGhost, type CardGhostProps, CardHeader, CardTitle, Checkbox, CheckboxGhost, type CheckboxProps, Chip, ChipGhost, type ChipProps, type ChipTone, ContentSwitcher, ContentSwitcherGhost, type ContentSwitcherItem, type ContentSwitcherProps, DataTable, type DataTableColumn, DataTableGhost, type DataTableGhostProps, type DataTableProps, Disclosure, DisclosureGhost, type DisclosureProps, Dropdown, DropdownGhost, type DropdownItem, type DropdownProps, FeatureCard, type FeatureCardProps, FileDropzone, FileDropzoneGhost, type FileDropzoneProps, FolderCard, type FolderCardProps, type FormFieldGhostProps, Ghost, GhostLine, type GhostLineProps, type GhostProps, Input, InputGhost, type InputProps, Label, LabelGhost, type LabelProps, LatticeLoader, type LatticeLoaderProps, Link, LinkGhost, type LinkProps, type LinkSize, type LinkTheme, Modal, ModalGhost, type ModalProps, Pagination, PaginationGhost, type PaginationProps, PromptCard, PromptCardGhost, type PromptCardProps, type PromptCardTone, PromptGrid, type PromptGridProps, SidePanel, SidePanelGhost, type SidePanelProps, Sidebar, SidebarAccountMenu, type SidebarAccountMenuProps, SidebarBrand, SidebarFooter, SidebarGhost, type SidebarGhostProps, SidebarHeader, SidebarNav, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarSection, type SortDirection, SortableTable, type SortableTableColumn, type SortableTableDefaultSort, SortableTableGhost, type SortableTableProps, type SortableTableRowAction, type SurfaceGhostProps, type TabItem, Tabs, TabsGhost, type TabsProps, type TabsVariant, TextButton, TextButtonGhost, type TextButtonIconPosition, type TextButtonProps, type TextButtonSize, type TextButtonTone, Textarea, TextareaGhost, type TextareaProps, Toggle, ToggleGhost, type ToggleProps, UILoader, type UILoaderProps, type UILoaderTone, cn, useEscapeDismiss };