@nimbus-ds/patterns 1.36.0-rc.1 → 1.36.0-rc.3

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.
Files changed (57) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/AppShell/index.d.ts +131 -0
  3. package/dist/AppShell/index.js +2 -0
  4. package/dist/CHANGELOG.md +549 -0
  5. package/dist/Calendar/index.d.ts +44 -0
  6. package/dist/Calendar/index.js +2 -0
  7. package/dist/CalloutCard/index.d.ts +43 -0
  8. package/dist/CalloutCard/index.js +2 -0
  9. package/dist/ChatInput/index.d.ts +89 -0
  10. package/dist/ChatInput/index.js +2 -0
  11. package/dist/DataList/index.d.ts +49 -0
  12. package/dist/DataList/index.js +2 -0
  13. package/dist/DataTable/index.d.ts +201 -0
  14. package/dist/DataTable/index.js +2 -0
  15. package/dist/Editor/index.d.ts +65 -0
  16. package/dist/Editor/index.js +2 -0
  17. package/dist/EmptyApp/index.d.ts +65 -0
  18. package/dist/EmptyApp/index.js +2 -0
  19. package/dist/EmptyMessage/index.d.ts +38 -0
  20. package/dist/EmptyMessage/index.js +2 -0
  21. package/dist/FormField/index.d.ts +63 -0
  22. package/dist/FormField/index.js +2 -0
  23. package/dist/HelpLink/index.d.ts +20 -0
  24. package/dist/HelpLink/index.js +2 -0
  25. package/dist/InitialScreen/index.d.ts +138 -0
  26. package/dist/InitialScreen/index.js +2 -0
  27. package/dist/InteractiveList/index.d.ts +133 -0
  28. package/dist/InteractiveList/index.js +2 -0
  29. package/dist/Layout/index.d.ts +33 -0
  30. package/dist/Layout/index.js +2 -0
  31. package/dist/Menu/index.d.ts +151 -0
  32. package/dist/Menu/index.js +2 -0
  33. package/dist/MenuButton/index.d.ts +101 -0
  34. package/dist/MenuButton/index.js +2 -0
  35. package/dist/NavTabs/index.d.ts +46 -0
  36. package/dist/NavTabs/index.js +2 -0
  37. package/dist/Page/index.d.ts +48 -0
  38. package/dist/Page/index.js +2 -0
  39. package/dist/PlanDisplay/index.d.ts +72 -0
  40. package/dist/PlanDisplay/index.js +2 -0
  41. package/dist/ProductDataList/index.d.ts +208 -0
  42. package/dist/ProductDataList/index.js +2 -0
  43. package/dist/ProductUpdates/index.d.ts +79 -0
  44. package/dist/ProductUpdates/index.js +2 -0
  45. package/dist/README.md +235 -0
  46. package/dist/SideModal/index.d.ts +73 -0
  47. package/dist/SideModal/index.js +2 -0
  48. package/dist/Sortable/index.d.ts +140 -0
  49. package/dist/Sortable/index.js +2 -0
  50. package/dist/SummaryStats/index.d.ts +238 -0
  51. package/dist/SummaryStats/index.js +2 -0
  52. package/dist/ThumbnailWithAction/index.d.ts +31 -0
  53. package/dist/ThumbnailWithAction/index.js +2 -0
  54. package/dist/components-props.json +1 -0
  55. package/dist/index.d.ts +1694 -0
  56. package/dist/index.js +2 -0
  57. package/package.json +1 -1
@@ -0,0 +1,1694 @@
1
+ // Generated by dts-bundle-generator v8.1.2
2
+
3
+ import { DndContextProps, DragEndEvent, DragOverEvent, DragOverlayProps, DragStartEvent, DraggableAttributes, PointerSensorOptions, UniqueIdentifier } from '@dnd-kit/core';
4
+ import { SyntheticListenerMap } from '@dnd-kit/core/dist/hooks/utilities';
5
+ import { BoxBaseProps, BoxProperties, BoxProps, ButtonProperties, ButtonProps, CheckboxProperties, CheckboxProps, IconButtonProperties, IconButtonProps, InputProperties, InputProps, PaginationProperties, PaginationProps, PopoverPlacement, PopoverProperties, RadioProps, SelectProperties, SelectProps, SidebarProperties, TableCellProps, TableProperties, TableRowProperties, TextareaProperties, TextareaProps, ThumbnailProperties, ThumbnailProps, ToggleProperties, ToggleProps } from '@nimbus-ds/components';
6
+ import { IconProps } from '@nimbus-ds/icons';
7
+ import { PolymorphicForwardRefComponent } from '@nimbus-ds/typings';
8
+ import React from 'react';
9
+ import { ButtonHTMLAttributes, CSSProperties, ComponentProps, ComponentPropsWithRef, Dispatch, FC, HTMLAttributes, MouseEvent, MouseEventHandler, PropsWithChildren, ReactElement, ReactNode, SetStateAction } from 'react';
10
+ import { DayPicker } from 'react-day-picker';
11
+
12
+ export interface AppShellHeaderProperties {
13
+ /**
14
+ * Optional content for the left-hand-side slot.
15
+ * @TJS-type React.ReactNode
16
+ */
17
+ leftSlot?: ReactNode;
18
+ /**
19
+ * Optional content for the right-hand-side slot.
20
+ * @TJS-type React.ReactNode
21
+ */
22
+ rightSlot?: ReactNode;
23
+ }
24
+ export type AppShellHeaderProps = AppShellHeaderProperties & Omit<HTMLAttributes<HTMLElement>, "color"> & Omit<BoxProperties, "display" | "justifyContent" | "position" | "top">;
25
+ declare const AppShellHeader: React.FC<AppShellHeaderProps>;
26
+ export type AppShellBodyProps = Omit<BoxProps, "display" | "flex">;
27
+ declare const AppShellBody: React.FC<AppShellBodyProps>;
28
+ /**
29
+ * Properties specific to the AppShellChat component.
30
+ */
31
+ export interface AppShellChatProperties {
32
+ /**
33
+ * Default expanded state for uncontrolled usage.
34
+ */
35
+ defaultExpanded?: boolean;
36
+ /**
37
+ * Whether the chat panel is expanded to overlay mode, filling the parent container area.
38
+ * The overlay auto-detects the parent bounds (respecting menu and header).
39
+ */
40
+ expanded?: boolean;
41
+ /**
42
+ * Width of the chat panel in collapsed (non-expanded) mode.
43
+ * Accepts any valid CSS length value (e.g. "300px", "25vw").
44
+ * Useful for consumer-controlled resize interactions such as a drag handle.
45
+ * Defaults to "300px".
46
+ */
47
+ collapsedWidth?: string;
48
+ }
49
+ export type AppShellChatProps = AppShellChatProperties & Omit<BoxProps, "position">;
50
+ export declare const APPSHELL_CHAT_DEFAULT_WIDTH = "300px";
51
+ declare const AppShellChat: React.FC<AppShellChatProps>;
52
+ export interface AppShellComponents {
53
+ Header: typeof AppShellHeader;
54
+ Body: typeof AppShellBody;
55
+ Chat: typeof AppShellChat;
56
+ }
57
+ /**
58
+ * Configuration options for the AppShell flyout (popover) behavior when the menu is collapsed.
59
+ * This consolidates all popover-related props into a single object for simpler usage,
60
+ * while keeping individual top-level props for backward compatibility.
61
+ */
62
+ export type AppShellMenuFlyoutOptions = {
63
+ /** How the popover opens. Defaults to 'manual'. */
64
+ trigger?: "hover" | "manual";
65
+ /** Controlled open state for the flyout. */
66
+ open?: boolean;
67
+ /** Uncontrolled initial open state for the flyout. */
68
+ defaultOpen?: boolean;
69
+ /** Callback when the open state should change. */
70
+ onOpenChange?: (open: boolean) => void;
71
+ /** Hover open delay in ms (only when trigger is 'hover'). */
72
+ hoverOpenDelayMs?: number;
73
+ /** Hover close delay in ms (only when trigger is 'hover'). */
74
+ hoverCloseDelayMs?: number;
75
+ };
76
+ export interface AppShellProperties {
77
+ /**
78
+ * Content for the body of the application.
79
+ * @TJS-type React.ReactNode
80
+ */
81
+ children: ReactNode;
82
+ /**
83
+ * Optional slot for left sidebar menu.
84
+ * @TJS-type React.ReactNode
85
+ */
86
+ menu?: ReactNode;
87
+ /**
88
+ * Can be used to control the responsive properties of the AppShell menu so you can change which breakpoint the menu hides under.
89
+ */
90
+ menuProperties?: Omit<BoxBaseProps, "children" | "width" | "height" | "position" | "top" | "left" | "right" | "bottom" | "borderStyle" | "borderWidth" | "borderColor" | "borderRightWidth" | "transitionProperty" | "transitionDuration" | "transitionTimingFunction" | "flexShrink" | "ref">;
91
+ /**
92
+ * Controls whether the left sidebar (menu) is expanded (true) or collapsed (false). Defaults to true.
93
+ */
94
+ menuExpanded?: boolean;
95
+ /**
96
+ * Sidebar width when expanded. Defaults to "240px".
97
+ */
98
+ menuExpandedWidth?: BoxBaseProps["width"];
99
+ /**
100
+ * Sidebar width when collapsed (rail). If provided, the sidebar will render in a compact rail while collapsed. Defaults to "48px".
101
+ */
102
+ menuCollapsedWidth?: BoxBaseProps["width"];
103
+ /**
104
+ * Determines how the left sidebar behaves when collapsed.
105
+ * - 'inline': current behavior; width changes affect layout.
106
+ * - 'popover': when collapsed, hovering or clicking the rail shows the expanded menu as an overlay without affecting layout.
107
+ */
108
+ menuBehavior?: "inline" | "popover";
109
+ /**
110
+ * Consolidated configuration for the popover/flyout behavior when `menuBehavior` is 'popover'.
111
+ */
112
+ menuFlyout?: AppShellMenuFlyoutOptions;
113
+ /**
114
+ * Consolidated configuration for the content container.
115
+ */
116
+ contentProperties?: BoxBaseProps;
117
+ }
118
+ export type AppShellProps = AppShellProperties & {
119
+ menuFlyout?: AppShellMenuFlyoutOptions & Omit<BoxProps, "position" | "top" | "left" | "right" | "bottom" | "height" | "zIndex">;
120
+ } & Omit<HTMLAttributes<HTMLElement>, "color">;
121
+ export declare const AppShell: React.FC<AppShellProps> & AppShellComponents;
122
+ /**
123
+ * Context value for AppShell's menu render mode.
124
+ */
125
+ export type AppShellMenuContextValue = {
126
+ /** Useful boolean to know if the menu is rendered as a popover/flyout. */
127
+ isMenuPopover: boolean;
128
+ };
129
+ /**
130
+ * Read AppShellMenuContext state. Useful to know if the menu is rendered as a popover/flyout.
131
+ * @param enforce When false, returns a default value (false) if no provider is present. Adviced not to abuse, but useful for menu that Menu components that aren't always inside an AppShell.
132
+ * @throws If `enforce=true` and used without a provider.
133
+ */
134
+ export declare const useAppShellMenuContext: (enforce?: boolean) => AppShellMenuContextValue;
135
+ export interface CalloutCardProperties {
136
+ /**
137
+ * CalloutCard color.
138
+ */
139
+ appearance: "primary" | "success" | "warning" | "danger" | "neutral";
140
+ /**
141
+ * The SVG contents to display in the Icon.
142
+ * @TJS-type React.FC<IconProps>
143
+ */
144
+ icon: FC<IconProps>;
145
+ /**
146
+ * Title.
147
+ */
148
+ title: string;
149
+ /**
150
+ * Subtitle.
151
+ */
152
+ subtitle: string;
153
+ /**
154
+ * Slot intended to position the Callout Card link correctly.
155
+ * @TJS-type <Link />
156
+ */
157
+ link?: ReactNode;
158
+ /**
159
+ * Event fired when clicking the component.
160
+ * @TJS-type () => void;
161
+ */
162
+ onClick?: MouseEventHandler<HTMLElement>;
163
+ }
164
+ export type CalloutCardProps = CalloutCardProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
165
+ export declare const CalloutCard: React.FC<CalloutCardProps>;
166
+ export interface DataListRowProperties {
167
+ /**
168
+ * Optional padding for the row.
169
+ * @default base
170
+ */
171
+ padding?: "small" | "base" | "none";
172
+ /**
173
+ * Optional padding bottom for the row.
174
+ * @default base
175
+ */
176
+ paddingBottom?: "small" | "base" | "none";
177
+ /**
178
+ * Content of the row.
179
+ * @TJS-type React.ReactNode
180
+ */
181
+ children: ReactNode;
182
+ /**
183
+ * Determines if the row has a top border.
184
+ * @default true
185
+ */
186
+ topDivider?: boolean;
187
+ }
188
+ export type DataListRowProps = DataListRowProperties & Omit<BoxProperties, "padding"> & Omit<HTMLAttributes<HTMLElement>, "color">;
189
+ declare const DataListRow: React.FC<DataListRowProps>;
190
+ export interface DataListComponents {
191
+ Row: typeof DataListRow;
192
+ }
193
+ export interface DataListProperties {
194
+ /**
195
+ * Content of the List component.
196
+ * @TJS-type React.ReactNode
197
+ */
198
+ children: ReactNode;
199
+ /**
200
+ * Defines whether the List has a bottom border.
201
+ * @default true
202
+ */
203
+ bottomDivider?: boolean;
204
+ }
205
+ export type DataListProps = DataListProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
206
+ export declare const DataList: React.FC<DataListProps> & DataListComponents;
207
+ export interface DataTableBulkActionsProperties {
208
+ /**
209
+ * Properties of the checkbox element rendered in the Bulk Actions component.
210
+ */
211
+ checkbox: Omit<CheckboxProperties, "label" | "id">;
212
+ /**
213
+ * Optional link element rendered next to the Bulk Actions controller.
214
+ * @TJS-type <Link />
215
+ */
216
+ link?: ReactNode;
217
+ /**
218
+ * Action component that controls the Bulk Actions.
219
+ * @TJS-type React.ReactNode
220
+ */
221
+ action: ReactNode;
222
+ /**
223
+ * Lable for the checkbox element.
224
+ */
225
+ label: string;
226
+ }
227
+ export type DataTableBulkActionsProps = DataTableBulkActionsProperties & {
228
+ checkbox: Omit<CheckboxProps, "label" | "id">;
229
+ } & Omit<HTMLAttributes<HTMLElement>, "color">;
230
+ declare const DataTableBulkActions: React.FC<DataTableBulkActionsProps>;
231
+ export interface DataTableCellProperties {
232
+ /**
233
+ * Content of the List component.
234
+ * @TJS-type React.ReactNode
235
+ */
236
+ children: ReactNode;
237
+ }
238
+ export type DataTableCellProps = DataTableCellProperties & Omit<HTMLAttributes<HTMLElement>, "color"> & TableCellProps;
239
+ declare const DataTableCell: React.FC<DataTableCellProps>;
240
+ export interface DataTableDropdownProperties {
241
+ /**
242
+ * Placeholder text displayed in the dropdown trigger button.
243
+ */
244
+ placeholder: string;
245
+ /**
246
+ * Content to be rendered inside the dropdown popover.
247
+ * Typically DataTable.DropdownAction and DataTable.DropdownDivider components.
248
+ * @TJS-type React.ReactNode
249
+ */
250
+ children: ReactNode;
251
+ }
252
+ export type DataTableDropdownProps = DataTableDropdownProperties & Omit<BoxProperties, "as" | "type" | "width" | "cursor" | "backgroundColor" | "boxShadow" | "borderWidth" | "borderStyle" | "borderColor" | "borderRadius" | "display" | "alignItems" | "justifyContent" | "gap" | "py" | "px">;
253
+ declare const DataTableDropdown: React.FC<DataTableDropdownProps>;
254
+ export interface DataTableDropdownActionProperties {
255
+ /**
256
+ * Icon element to be displayed before the label.
257
+ * @TJS-type React.ReactNode
258
+ */
259
+ icon?: ReactNode;
260
+ /**
261
+ * Text label for the action item.
262
+ */
263
+ label: string;
264
+ /**
265
+ * Click handler for the action.
266
+ */
267
+ onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
268
+ /**
269
+ * Whether the action is disabled.
270
+ */
271
+ disabled?: boolean;
272
+ }
273
+ export type DataTableDropdownActionProps = DataTableDropdownActionProperties & Omit<BoxProperties, "children" | "as" | "type" | "width" | "cursor" | "backgroundColor" | "boxShadow" | "borderWidth" | "borderStyle" | "borderColor" | "borderRadius" | "display" | "alignItems" | "justifyContent" | "gap" | "py" | "px" | "onClick">;
274
+ declare const DataTableDropdownAction: React.FC<DataTableDropdownActionProps>;
275
+ declare const DataTableDropdownDivider: React.FC;
276
+ export interface DataTableDropdownSectionProperties {
277
+ /**
278
+ * Content of the section body.
279
+ * @TJS-type React.ReactNode
280
+ */
281
+ children: ReactNode;
282
+ }
283
+ export type DataTableDropdownSectionProps = DataTableDropdownSectionProperties & Omit<BoxProperties, "children" | "as" | "type" | "width" | "cursor" | "backgroundColor" | "boxShadow" | "borderWidth" | "borderStyle" | "borderColor" | "borderRadius" | "display" | "alignItems" | "justifyContent" | "gap" | "py" | "px">;
284
+ declare const DataTableDropdownSection: React.FC<DataTableDropdownSectionProps>;
285
+ export interface DataTableFooterProperties {
286
+ /**
287
+ * Left-hand side text intended for displaying an item count.
288
+ */
289
+ itemCount: string;
290
+ /**
291
+ * Pagination element rendered on the right-side of the footer.
292
+ */
293
+ pagination?: PaginationProperties;
294
+ }
295
+ export type DataTableFooterProps = DataTableFooterProperties & {
296
+ pagination?: PaginationProps;
297
+ } & Omit<HTMLAttributes<HTMLElement>, "color">;
298
+ declare const DataTableFooter: React.FC<DataTableFooterProps>;
299
+ export interface DataTableHeaderProperties {
300
+ /**
301
+ * Checkbox element rendered on the table header that controls all rows.
302
+ */
303
+ checkbox: CheckboxProperties;
304
+ /**
305
+ * Row content.
306
+ * @TJS-type React.ReactNode
307
+ */
308
+ children: ReactNode;
309
+ }
310
+ export type DataTableHeaderProps = DataTableHeaderProperties & {
311
+ checkbox: CheckboxProps;
312
+ } & HTMLAttributes<HTMLElement>;
313
+ declare const DataTableHeader: React.FC<DataTableHeaderProps>;
314
+ export interface DataTableRowProperties {
315
+ /**
316
+ * Checkbox element rendered on the row that controls whether the row is selected.
317
+ */
318
+ checkbox: CheckboxProperties;
319
+ /**
320
+ * Content of the row.
321
+ * @TJS-type React.ReactNode
322
+ */
323
+ children: ReactNode;
324
+ }
325
+ export type DataTableRowProps = DataTableRowProperties & {
326
+ checkbox: CheckboxProps;
327
+ } & TableRowProperties & HTMLAttributes<HTMLElement>;
328
+ declare const DataTableRow: React.FC<DataTableRowProps>;
329
+ export interface DataTableComponents {
330
+ BulkActions: typeof DataTableBulkActions;
331
+ Cell: typeof DataTableCell;
332
+ Dropdown: typeof DataTableDropdown;
333
+ DropdownAction: typeof DataTableDropdownAction;
334
+ DropdownDivider: typeof DataTableDropdownDivider;
335
+ DropdownSection: typeof DataTableDropdownSection;
336
+ Footer: typeof DataTableFooter;
337
+ Header: typeof DataTableHeader;
338
+ Row: typeof DataTableRow;
339
+ }
340
+ export interface DataTableProperties {
341
+ /**
342
+ * Bulk actions component rendered with a sticky position over the top of the table element.
343
+ * @TJS-type React.ReactNode
344
+ */
345
+ bulkActions?: ReactNode;
346
+ /**
347
+ * Table header content.
348
+ * @TJS-type React.ReactNode
349
+ */
350
+ header: ReactNode;
351
+ /**
352
+ * Optional table footer content.
353
+ * @TJS-type React.ReactNode
354
+ */
355
+ footer?: ReactNode;
356
+ /**
357
+ * Table body content.
358
+ * @TJS-type React.ReactNode
359
+ */
360
+ children: ReactNode;
361
+ /**
362
+ * Props passed to the container box element.
363
+ * @TJS-type BoxProps
364
+ */
365
+ containerProps?: BoxProps;
366
+ }
367
+ export type DataTableProps = DataTableProperties & TableProperties & HTMLAttributes<HTMLElement>;
368
+ export declare const DataTable: React.FC<DataTableProps> & DataTableComponents;
369
+ export interface EmptyMessageProperties {
370
+ /**
371
+ * Optional node that contains an illustration for the component. Will stack vertically on mobile and horizontally on desktop.
372
+ * @TJS-type React.ReactNode
373
+ */
374
+ illustration?: ReactNode;
375
+ /**
376
+ * Optional icon to display on top of the text.
377
+ * @TJS-type React.ReactNode
378
+ */
379
+ icon?: ReactNode;
380
+ /**
381
+ * Title of the component.
382
+ */
383
+ title: string;
384
+ /**
385
+ * Optional content text for additional context.
386
+ */
387
+ text?: string;
388
+ /**
389
+ * Optional node to showcase buttons or actions.
390
+ * @TJS-type React.ReactNode
391
+ */
392
+ actions?: ReactNode;
393
+ }
394
+ export type EmptyMessageProps = EmptyMessageProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
395
+ export declare const EmptyMessage: React.FC<EmptyMessageProps>;
396
+ export type FormFieldSelectProperties = Omit<FormFieldProperties, "children"> & Omit<SelectProperties, "appearance">;
397
+ export type FormFieldSelectBaseProps = FormFieldSelectProperties & Omit<SelectProps, "appearance"> & HTMLAttributes<HTMLElement>;
398
+ declare const FormFieldSelect: React.ForwardRefExoticComponent<Omit<FormFieldSelectBaseProps, "ref"> & React.RefAttributes<HTMLSelectElement>>;
399
+ export type FormFieldSelectProps = ComponentPropsWithRef<typeof FormField.Select>;
400
+ export type FormFieldTextareaProperties = Omit<FormFieldProperties, "children"> & Omit<TextareaProperties, "appearance">;
401
+ export type FormFieldTextareaBaseProps = FormFieldTextareaProperties & Omit<TextareaProps, "appearance"> & HTMLAttributes<HTMLElement>;
402
+ declare const FormFieldTextarea: React.ForwardRefExoticComponent<Omit<FormFieldTextareaBaseProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
403
+ export type FormFieldTextareaProps = ComponentPropsWithRef<typeof FormField.Textarea>;
404
+ export type FormFieldInputProperties = Omit<FormFieldProperties, "children"> & Omit<InputProperties, "appearance"> & {
405
+ appearance?: FormFieldProperties["appearance"] | InputProperties["appearance"];
406
+ };
407
+ export type FormFieldInputBaseProps = Omit<FormFieldInputProperties, "appearance"> & Omit<InputProps, "appearance"> & {
408
+ appearance?: FormFieldProperties["appearance"] | InputProperties["appearance"];
409
+ } & HTMLAttributes<HTMLElement>;
410
+ declare const FormFieldInput: React.ForwardRefExoticComponent<Omit<FormFieldInputBaseProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
411
+ export type FormFieldInputProps = ComponentPropsWithRef<typeof FormField.Input>;
412
+ export interface FormFieldComponents {
413
+ Select: typeof FormFieldSelect;
414
+ Textarea: typeof FormFieldTextarea;
415
+ Input: typeof FormFieldInput;
416
+ }
417
+ export interface FormFieldProperties {
418
+ /**
419
+ * Optional label for the field component.
420
+ * @TJS-type React.ReactNode
421
+ */
422
+ label?: ReactNode;
423
+ /**
424
+ * Help text displaying optional hints or validation messages under the field.
425
+ */
426
+ helpText?: string;
427
+ /**
428
+ * Icon supporting the help text message.
429
+ * @TJS-type React.FC<IconProps>
430
+ */
431
+ helpIcon?: FC<IconProps>;
432
+ /**
433
+ * Appearance of the field and help text elements.
434
+ * @default none
435
+ */
436
+ appearance?: "danger" | "warning" | "success" | "none";
437
+ /**
438
+ * Control to conditionally show the help text and icon.
439
+ * @default false
440
+ */
441
+ showHelpText?: boolean;
442
+ /**
443
+ * Content of the field.
444
+ * @TJS-type React.ReactNode
445
+ */
446
+ children: ReactNode;
447
+ }
448
+ export type FormFieldProps = FormFieldProperties & HTMLAttributes<HTMLElement>;
449
+ export declare const FormField: React.FC<FormFieldProps> & FormFieldComponents;
450
+ export interface HelpLinkProperties {
451
+ /**
452
+ * Content to be rendered inside the HelpLink component.
453
+ * @TJS-type ReactNode
454
+ */
455
+ children: ReactNode;
456
+ }
457
+ export type HelpLinkProps = HelpLinkProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
458
+ export declare const HelpLink: React.FC<HelpLinkProps>;
459
+ export interface InteractiveListStructureProperties {
460
+ /**
461
+ * Title of the list item element. Also used to generate the ID for the interactive element.
462
+ */
463
+ title: string;
464
+ /**
465
+ * Determines if the title is visible or not.
466
+ */
467
+ showTitle?: boolean;
468
+ /**
469
+ * Description of the list item element.
470
+ */
471
+ description?: string;
472
+ /**
473
+ * Custom content for the list item element.
474
+ * @TJS-type React.ReactNode
475
+ */
476
+ children?: ReactNode;
477
+ }
478
+ export type InteractiveListStructureProps = InteractiveListStructureProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
479
+ declare const InteractiveListStructure: React.FC<InteractiveListStructureProps>;
480
+ export type InteractiveListStructureSkeletonProperties = InteractiveListStructureProperties;
481
+ export type InteractiveListStructureSkeletonProps = InteractiveListStructureSkeletonProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
482
+ declare const InteractiveListStructureSkeleton: React.FC<InteractiveListStructureSkeletonProps>;
483
+ export interface InteractiveListRowProperties extends Omit<BoxProperties, "padding" | "paddingBottom"> {
484
+ /**
485
+ * Content of the row.
486
+ * @TJS-type React.ReactNode
487
+ */
488
+ children: ReactNode;
489
+ /**
490
+ * Determines if the row has a top border.
491
+ * @default true
492
+ */
493
+ topDivider?: boolean;
494
+ }
495
+ export type InteractiveListRowProps = InteractiveListRowProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
496
+ export interface InteractiveListCheckboxItemProperties extends InteractiveListStructureProperties {
497
+ /**
498
+ * Checkbox props inherited from Nimbus components.
499
+ */
500
+ checkbox: any;
501
+ }
502
+ export type InteractiveListCheckboxItemProps = InteractiveListCheckboxItemProperties & {
503
+ checkbox: CheckboxProps;
504
+ } & Omit<HTMLAttributes<HTMLElement>, "color"> & Pick<InteractiveListRowProps, "topDivider">;
505
+ declare const InteractiveListCheckboxItem: React.FC<InteractiveListCheckboxItemProps>;
506
+ export type InteractiveListCheckboxItemSkeletonProperties = InteractiveListStructureSkeletonProperties;
507
+ export type InteractiveListCheckboxItemSkeletonProps = InteractiveListCheckboxItemSkeletonProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
508
+ declare const InteractiveListCheckboxItemSkeleton: React.FC<InteractiveListCheckboxItemSkeletonProps>;
509
+ export interface InteractiveListRadioItemProperties extends InteractiveListStructureProperties {
510
+ /**
511
+ * Radio props inherited from Nimbus components.
512
+ */
513
+ radio: any;
514
+ }
515
+ export type InteractiveListRadioItemProps = InteractiveListRadioItemProperties & {
516
+ radio: RadioProps;
517
+ } & Omit<HTMLAttributes<HTMLElement>, "color"> & Pick<InteractiveListRowProps, "topDivider">;
518
+ declare const InteractiveListRadioItem: React.FC<InteractiveListRadioItemProps>;
519
+ export type InteractiveListRadioItemSkeletonProperties = InteractiveListStructureSkeletonProperties;
520
+ export type InteractiveListRadioItemSkeletonProps = InteractiveListRadioItemSkeletonProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
521
+ declare const InteractiveListRadioItemSkeleton: React.FC<InteractiveListRadioItemSkeletonProps>;
522
+ export interface InteractiveListToggleItemProperties extends InteractiveListStructureProperties {
523
+ /**
524
+ * Toggle props inherited from Nimbus components.
525
+ */
526
+ toggle: any;
527
+ }
528
+ export type InteractiveListToggleItemProps = InteractiveListToggleItemProperties & {
529
+ toggle: ToggleProps;
530
+ } & Omit<HTMLAttributes<HTMLElement>, "color"> & Pick<InteractiveListRowProps, "topDivider">;
531
+ declare const InteractiveListToggleItem: React.FC<InteractiveListToggleItemProps>;
532
+ export interface InteractiveListToggleItemSkeletonProperties extends InteractiveListStructureProperties {
533
+ /**
534
+ * Toggle props inherited from Nimbus components.
535
+ */
536
+ toggle: any;
537
+ }
538
+ export type InteractiveListToggleItemSkeletonProps = InteractiveListToggleItemSkeletonProperties & {
539
+ toggle: ToggleProperties;
540
+ } & Omit<HTMLAttributes<HTMLElement>, "color">;
541
+ declare const InteractiveListToggleItemSkeleton: React.FC<InteractiveListToggleItemSkeletonProps>;
542
+ export interface InteractiveListButtonItemProperties extends InteractiveListStructureProperties {
543
+ /**
544
+ * Button props inherited from Nimbus components
545
+ */
546
+ iconButton: Omit<IconButtonProperties, "backgroundColor" | "borderColor" | "size" | "source">;
547
+ }
548
+ export type InteractiveListButtonItemProps = InteractiveListButtonItemProperties & {
549
+ iconButton: Omit<IconButtonProps, "backgroundColor" | "borderColor" | "size" | "source">;
550
+ } & Omit<HTMLAttributes<HTMLElement>, "color"> & Pick<InteractiveListRowProps, "topDivider">;
551
+ declare const InteractiveListButtonItem: React.FC<InteractiveListButtonItemProps>;
552
+ export type InteractiveListButtonItemSkeletonProperties = InteractiveListStructureSkeletonProperties;
553
+ export type InteractiveListButtonItemSkeletonProps = InteractiveListButtonItemSkeletonProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
554
+ declare const InteractiveListButtonItemSkeleton: React.FC<InteractiveListButtonItemSkeletonProps>;
555
+ export interface InteractiveListComponents {
556
+ Structure: typeof InteractiveListStructure;
557
+ StructureSkeleton: typeof InteractiveListStructureSkeleton;
558
+ ButtonItem: typeof InteractiveListButtonItem;
559
+ ButtonItemSkeleton: typeof InteractiveListButtonItemSkeleton;
560
+ CheckboxItem: typeof InteractiveListCheckboxItem;
561
+ CheckboxItemSkeleton: typeof InteractiveListCheckboxItemSkeleton;
562
+ ToggleItem: typeof InteractiveListToggleItem;
563
+ ToggleItemSkeleton: typeof InteractiveListToggleItemSkeleton;
564
+ RadioItem: typeof InteractiveListRadioItem;
565
+ RadioItemSkeleton: typeof InteractiveListRadioItemSkeleton;
566
+ }
567
+ export type InteractiveListProperties = PropsWithChildren & Pick<DataListProps, "bottomDivider">;
568
+ export type InteractiveListProps = InteractiveListProperties & HTMLAttributes<HTMLElement>;
569
+ export declare const InteractiveList: React.FC<InteractiveListProps> & InteractiveListComponents;
570
+ export interface LayoutSectionProperties {
571
+ /**
572
+ * Content of the section body.
573
+ * @TJS-type React.ReactNode
574
+ */
575
+ children: ReactNode;
576
+ }
577
+ export type LayoutSectionProps = LayoutSectionProperties & Omit<BoxProperties, "children" | "boxSizing" | "display" | "flexDirection"> & Omit<HTMLAttributes<HTMLElement>, "color">;
578
+ declare const LayoutSection: React.FC<LayoutSectionProps>;
579
+ export interface LayoutComponents {
580
+ Section: typeof LayoutSection;
581
+ }
582
+ export interface LayoutProperties {
583
+ /**
584
+ * Content to be rendered inside the layout.
585
+ * @TJS-type React.ReactNode
586
+ */
587
+ children: ReactNode;
588
+ /**
589
+ * Number of columns to be rendered for the children.
590
+ */
591
+ columns?: "1" | "2 - symmetric" | "2 - asymmetric" | "3";
592
+ }
593
+ export type LayoutProps = LayoutProperties & Omit<BoxProperties, "children" | "boxSizing" | "display" | "gridTemplateColumns"> & HTMLAttributes<HTMLElement>;
594
+ export declare const Layout: React.FC<LayoutProps> & LayoutComponents;
595
+ export interface MenuButtonAccordionProperties {
596
+ /**
597
+ * Content of the menu.
598
+ * @TJS-type React.ReactNode
599
+ */
600
+ children: ReactNode;
601
+ /**
602
+ * It will be the accordion anchor and can contain all the props available in the MenuButton component's API.
603
+ * @TJS-type React.ReactNode
604
+ */
605
+ menuButton: MenuButtonProperties;
606
+ /**
607
+ * Required ID used to maintain correct component accessibility, it will be passed on to MenuButtonAccordion's children.
608
+ */
609
+ contentid: string;
610
+ /**
611
+ * Changes the component usage so that control of open and close is controlled from outside the component.
612
+ */
613
+ open?: boolean;
614
+ /**
615
+ * Sets the state of the button as active/inactive.
616
+ */
617
+ active?: boolean;
618
+ /**
619
+ * Whether the MenuButtonAccordion is expanded.
620
+ * If `undefined`, it follows `MenuExpandContext`.
621
+ * If provided, it overrides the context.
622
+ */
623
+ expanded?: boolean;
624
+ }
625
+ export type MenuButtonAccordionBaseProps = MenuButtonAccordionProperties & {
626
+ menuButton: Omit<MenuButtonProps, "expanded" | "tooltipText">;
627
+ } & Omit<HTMLAttributes<HTMLElement>, "color">;
628
+ declare const MenuButtonAccordion: PolymorphicForwardRefComponent<"button" | "a", MenuButtonAccordionBaseProps>;
629
+ export interface MenuButtonComponents {
630
+ Accordion: typeof MenuButtonAccordion;
631
+ }
632
+ export interface MenuButtonProperties {
633
+ /**
634
+ * Text label for the button.
635
+ */
636
+ label?: string;
637
+ /**
638
+ * Function executed when clicking the button.
639
+ * @TJS-type () => void;
640
+ */
641
+ onClick?: () => void;
642
+ /**
643
+ * Sets an icon element on the left of the button.
644
+ * @TJS-type React.FC<IconProps>
645
+ */
646
+ startIcon?: FC<IconProps>;
647
+ /**
648
+ * Sets the state of the button as active/inactive.
649
+ */
650
+ active?: boolean;
651
+ /**
652
+ * Inner components displayed on the right of the button component.
653
+ * @TJS-type React.ReactNode
654
+ */
655
+ children?: ReactNode;
656
+ /**
657
+ * Controlled override for menu expansion state. This prop does not manage internal state
658
+ * and is not forwarded to the DOM as an attribute. It is used only for layout and visual
659
+ * state determination.
660
+ * If not provided, the expanded state will be determined by the context.
661
+ */
662
+ expanded?: boolean;
663
+ /**
664
+ * Whether to show popovers when the button is collapsed. Defaults to true.
665
+ */
666
+ showPopoversWhenCollapsed?: boolean;
667
+ }
668
+ export type MenuButtonBaseProps = MenuButtonProperties & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color">;
669
+ export declare const MenuButton: PolymorphicForwardRefComponent<"button" | "a", MenuButtonBaseProps> & MenuButtonComponents;
670
+ export type MenuButtonProps = ComponentPropsWithRef<typeof MenuButton>;
671
+ export interface MenuHeaderProperties {
672
+ /**
673
+ * Content of the menu header.
674
+ * @TJS-type React.ReactNode
675
+ */
676
+ children: ReactNode;
677
+ }
678
+ export type MenuHeaderProps = MenuHeaderProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
679
+ declare const MenuHeader: React.FC<MenuHeaderProps>;
680
+ export interface MenuBodyProperties {
681
+ /**
682
+ * Content of the menu body.
683
+ * @TJS-type React.ReactNode
684
+ */
685
+ children: ReactNode;
686
+ }
687
+ export type MenuBodyProps = MenuBodyProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
688
+ declare const MenuBody: React.FC<MenuBodyProps>;
689
+ export type MenuFooterProperties = Omit<MenuButtonProperties, "children">;
690
+ export type MenuFooterProps = MenuFooterProperties & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color">;
691
+ declare const MenuFooter: React.FC<MenuFooterProps>;
692
+ export interface MenuSectionProperties {
693
+ /**
694
+ * Optional title of the section.
695
+ */
696
+ title?: string;
697
+ /**
698
+ * Content of the menu section.
699
+ * @TJS-type React.ReactNode
700
+ */
701
+ children: ReactNode;
702
+ }
703
+ export type MenuSectionProps = MenuSectionProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
704
+ declare const MenuSection: React.FC<MenuSectionProps>;
705
+ export interface MenuComponents {
706
+ Section: typeof MenuSection;
707
+ Button: typeof MenuButton;
708
+ ButtonAccordion: typeof MenuButton.Accordion;
709
+ Header: typeof MenuHeader;
710
+ Body: typeof MenuBody;
711
+ Footer: typeof MenuFooter;
712
+ }
713
+ export interface MenuProperties {
714
+ /**
715
+ * Content of the menu.
716
+ * @TJS-type React.ReactNode
717
+ */
718
+ children: ReactNode;
719
+ /**
720
+ * Whether the menu should render in expanded mode.
721
+ * If `undefined`, it follows `MenuExpandContext` value.
722
+ * If provided, it overrides the context.
723
+ */
724
+ expanded?: boolean;
725
+ /**
726
+ * Whether to show popover for buttons when the menu is collapsed. Defaults to true.
727
+ */
728
+ showPopoversWhenCollapsed?: boolean;
729
+ /**
730
+ * Position of the popovers for buttons when the menu is collapsed. Defaults to "right".
731
+ */
732
+ popoverPosition?: PopoverPlacement;
733
+ }
734
+ export type MenuProps = MenuProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
735
+ export declare const Menu: React.FC<MenuProps> & MenuComponents;
736
+ export interface NavTabsItemProperties {
737
+ /**
738
+ * Icon element to be rendered inside the button.
739
+ * @TJS-type React.ReactNode
740
+ */
741
+ icon: ReactNode;
742
+ /**
743
+ * Controls whether the button is active or not.
744
+ */
745
+ active?: boolean;
746
+ /**
747
+ * Displays a small badge on top of the button.
748
+ */
749
+ badge?: boolean;
750
+ /**
751
+ * Function executed on click.
752
+ * @TJS-type onClick: () => void;
753
+ */
754
+ onClick: () => void;
755
+ /**
756
+ * Text label used for accessibility.
757
+ */
758
+ ariaLabel: string;
759
+ }
760
+ export type NavTabsItemProps = NavTabsItemProperties & Omit<BoxProperties, "onClick"> & Omit<HTMLAttributes<HTMLElement>, "color">;
761
+ declare const NavTabsItem: React.FC<NavTabsItemProps>;
762
+ export interface NavTabsComponents {
763
+ Item: typeof NavTabsItem;
764
+ }
765
+ export interface NavTabsProperties {
766
+ /**
767
+ * Content to be rendered inside the Nav element.
768
+ * @TJS-type React.ReactNode
769
+ */
770
+ children: ReactNode;
771
+ }
772
+ export type NavTabsProps = NavTabsProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
773
+ export declare const NavTabs: React.FC<NavTabsProps> & NavTabsComponents;
774
+ export interface PageHeaderProperties {
775
+ /**
776
+ * Main title of the page. Corresponds to an h1 HTML tag.
777
+ */
778
+ title: string;
779
+ /**
780
+ * Optional subtitle for the page.
781
+ */
782
+ subtitle?: string;
783
+ /**
784
+ * Button stack that appears on the right-hand side of the title.
785
+ * @TJS-type React.ReactNode
786
+ */
787
+ buttonStack?: ReactNode;
788
+ /**
789
+ * Optional header content that appears underneath the title and button stack.
790
+ * @TJS-type React.ReactNode
791
+ */
792
+ children?: ReactNode;
793
+ }
794
+ export type PageHeaderProps = PageHeaderProperties & Omit<HTMLAttributes<HTMLElement>, "color"> & Omit<BoxProps, "display" | "flexDirection">;
795
+ declare const PageHeader: React.FC<PageHeaderProps>;
796
+ export interface PageBodyProperties {
797
+ /**
798
+ * Content of the page body.
799
+ * @TJS-type React.ReactNode
800
+ */
801
+ children: ReactNode;
802
+ }
803
+ export type PageBodyProps = PageBodyProperties & Omit<HTMLAttributes<HTMLElement>, "color"> & BoxProps;
804
+ declare const PageBody: React.FC<PageBodyProps>;
805
+ export interface PageComponents {
806
+ Header: typeof PageHeader;
807
+ Body: typeof PageBody;
808
+ }
809
+ export type PageProperties = PropsWithChildren<{
810
+ maxWidth?: string;
811
+ }>;
812
+ export type PageProps = PageProperties & Omit<HTMLAttributes<HTMLElement>, "color"> & Omit<BoxProps, "width" | "maxWidth" | "marginX"> & Omit<BoxProperties, "width" | "maxWidth" | "marginX">;
813
+ export declare const Page: React.FC<PageProps> & PageComponents;
814
+ export interface ProductUpdatesPaginatorProperties {
815
+ /**
816
+ * Total number of items/steps in the pagination.
817
+ */
818
+ totalItems: number;
819
+ /**
820
+ * Zero-based index of the currently active item.
821
+ */
822
+ activeIndex: number;
823
+ }
824
+ export type ProductUpdatesPaginatorProps = ProductUpdatesPaginatorProperties & Omit<HTMLAttributes<HTMLElement>, "color" | "className" | "style">;
825
+ declare const ProductUpdatesPaginator: React.FC<ProductUpdatesPaginatorProps>;
826
+ export interface ProductUpdatesFooterProperties {
827
+ /**
828
+ * Optional link rendered on the left side of the footer.
829
+ * @TJS-type React.ReactNode
830
+ */
831
+ leftLink?: ReactNode;
832
+ /**
833
+ * Optional paginator element rendered in the center of the footer.
834
+ * @TJS-type React.ReactNode
835
+ */
836
+ paginator?: ReactNode;
837
+ /**
838
+ * Optional action button rendered on the right side of the footer.
839
+ * @TJS-type React.ReactNode
840
+ */
841
+ rightButton?: ReactNode;
842
+ /**
843
+ * When true, renders a full-width divider above the footer content.
844
+ * @default false
845
+ */
846
+ renderDivider?: boolean;
847
+ }
848
+ export type ProductUpdatesFooterProps = ProductUpdatesFooterProperties & Omit<BoxProperties, "pt" | "children">;
849
+ declare const ProductUpdatesFooter: React.FC<ProductUpdatesFooterProps>;
850
+ export interface ProductUpdatesComponents {
851
+ Paginator: typeof ProductUpdatesPaginator;
852
+ Footer: typeof ProductUpdatesFooter;
853
+ }
854
+ export interface ProductUpdatesProperties extends Omit<PopoverProperties, "content" | "appearance" | "padding" | "enabledDismiss"> {
855
+ /**
856
+ * Title of the Popover.
857
+ */
858
+ title: string;
859
+ /**
860
+ * Content text of the Popover.
861
+ */
862
+ text: string;
863
+ /**
864
+ * Optional tag element rendered inline before the title.
865
+ * @TJS-type React.ReactNode
866
+ */
867
+ tag?: ReactNode;
868
+ /**
869
+ * Optional content for the body of the Popover.
870
+ * @TJS-type React.ReactNode
871
+ */
872
+ bodyContent?: ReactNode;
873
+ /**
874
+ * Optional properties for the content container of the popover body.
875
+ */
876
+ bodyContentProps?: Omit<BoxProperties, "children">;
877
+ /**
878
+ * Optional bottom link to dismiss the Popover. If unset, an IconButton with an X will appear on the superior right corner.
879
+ * @TJS-type React.ReactNode
880
+ */
881
+ dismissLink?: ReactNode;
882
+ }
883
+ export type ProductUpdatesProps = ProductUpdatesProperties & HTMLAttributes<HTMLElement>;
884
+ export declare const ProductUpdates: React.FC<ProductUpdatesProps> & ProductUpdatesComponents;
885
+ export type SideModalPadding = "none" | "base";
886
+ export interface SideModalProperties extends Pick<SidebarProperties, "position" | "onRemove" | "open" | "padding" | "maxWidth" | "zIndex" | "needRemoveScroll" | "ignoreAttributeName"> {
887
+ /**
888
+ * Choose where the portal should render. Defaults to viewport (body).
889
+ */
890
+ /**
891
+ * Title.
892
+ */
893
+ title?: string;
894
+ /**
895
+ * Action Title
896
+ * @TJS-type React.ReactNode
897
+ */
898
+ titleAction?: ReactNode;
899
+ /**
900
+ * Action Header
901
+ * @TJS-type React.ReactNode
902
+ */
903
+ headerAction?: ReactNode;
904
+ /**
905
+ * Icon Header
906
+ * @TJS-type React.ReactNode
907
+ */
908
+ headerIcon?: ReactNode;
909
+ /**
910
+ * Body Content
911
+ * @TJS-type React.ReactNode
912
+ */
913
+ children?: ReactNode;
914
+ /**
915
+ * Header padding.
916
+ */
917
+ paddingHeader?: SideModalPadding;
918
+ /**
919
+ * Body padding.
920
+ */
921
+ paddingBody?: SideModalPadding;
922
+ /**
923
+ * Footer padding.
924
+ */
925
+ paddingFooter?: SideModalPadding;
926
+ /**
927
+ * Footer element actions.
928
+ */
929
+ footer?: {
930
+ primaryAction: ButtonProperties;
931
+ secondaryAction: ButtonProperties;
932
+ };
933
+ }
934
+ export type SideModalProps = SideModalProperties & {
935
+ footer?: {
936
+ primaryAction: ButtonProps;
937
+ secondaryAction: ButtonProps;
938
+ };
939
+ /**
940
+ * Choose where the portal should render. Defaults to the viewport (document.body).
941
+ * Useful to scope the modal within a specific container (e.g., AppShell.Chat).
942
+ */
943
+ root?: HTMLElement | null;
944
+ } & HTMLAttributes<HTMLElement>;
945
+ export declare const SideModal: React.FC<SideModalProps>;
946
+ export interface ThumbnailWithActionProperties {
947
+ /**
948
+ * Thumbnail component properties.
949
+ */
950
+ thumbnail: ThumbnailProperties;
951
+ /**
952
+ * Element to be rendered inside the Thumbnail.
953
+ * @TJS-type React.ReactNode
954
+ */
955
+ children: ReactNode;
956
+ /**
957
+ * Optional position of the element.
958
+ */
959
+ contentPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
960
+ }
961
+ export type ThumbnailWithActionProps = ThumbnailWithActionProperties & {
962
+ thumbnail: ThumbnailProps;
963
+ } & BoxProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
964
+ export declare const ThumbnailWithAction: React.FC<ThumbnailWithActionProps>;
965
+ export type CalendarExtends = ComponentProps<typeof DayPicker>;
966
+ export interface CalendarProperties {
967
+ /**
968
+ * Ability to hide the border of the calendar container. Useful for including the calendar inside other components such as Modal, Popover or Card.
969
+ * @default false
970
+ */
971
+ hideBorder?: boolean;
972
+ /**
973
+ * If true will stick the weekday indicators to the top of the component. Useful for when creating scrolling calendars with a display of >1 months. Only works when property numberOfMonths is set to a number greater than 1.
974
+ * @default false
975
+ */
976
+ stickyWeekdays?: boolean;
977
+ /**
978
+ * If true the buttons for individual days will span 100% of available width as opposed to the default state where they have a fixed width. Useful for when creating calendars inside containers that are wider than default.
979
+ * @default false
980
+ */
981
+ fullWidthDays?: boolean;
982
+ }
983
+ export type CalendarProps = CalendarProperties & CalendarExtends & {
984
+ /**
985
+ * Spreads the properties of the Box component to the calendar wrapper.
986
+ */
987
+ containerProps?: BoxProps;
988
+ };
989
+ export declare const Calendar: React.FC<CalendarProps>;
990
+ export type EmptyAppContentImageElementProperties = Pick<ThumbnailProps, "src" | "alt">;
991
+ export type EmptyAppContentImageElementProps = EmptyAppContentImageElementProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
992
+ declare const EmptyAppContentImageElement: React.FC<EmptyAppContentImageElementProps>;
993
+ export interface EmptyAppContentSectionProperties {
994
+ title: string;
995
+ subtitle?: string;
996
+ actions?: ReactNode;
997
+ children: ReactNode;
998
+ }
999
+ export type EmptyAppContentSectionProps = EmptyAppContentSectionProperties & Omit<BoxProps, "display" | "flexDirection" | "px" | "py" | "gap" | "alignItems" | "maxWidth" | "mx">;
1000
+ declare const EmptyAppContentSection: React.FC<EmptyAppContentSectionProps>;
1001
+ export interface EmptyAppContentTextElementProperties {
1002
+ title: string;
1003
+ content: string;
1004
+ bottomDivider?: boolean;
1005
+ }
1006
+ export type EmptyAppContentTextElementProps = EmptyAppContentTextElementProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
1007
+ declare const EmptyAppContentTextElement: React.FC<EmptyAppContentTextElementProps>;
1008
+ export interface EmptyAppHeroSectionProperties extends Pick<ThumbnailProps, "src" | "alt"> {
1009
+ title: string;
1010
+ titleChildren?: ReactNode;
1011
+ subtitle?: string;
1012
+ content: string;
1013
+ actions?: ReactNode;
1014
+ }
1015
+ export type EmptyAppHeroSectionProps = EmptyAppHeroSectionProperties & Omit<BoxProps, "backgroundImage" | "minHeight" | "pt">;
1016
+ declare const EmptyAppHeroSection: React.FC<EmptyAppHeroSectionProps>;
1017
+ export interface EmptyAppPlanCardProperties {
1018
+ planContext: string;
1019
+ planName: string;
1020
+ children: ReactNode;
1021
+ }
1022
+ export type EmptyAppPlanCardProps = EmptyAppPlanCardProperties & HTMLAttributes<HTMLElement>;
1023
+ declare const EmptyAppPlanCard: React.FC<EmptyAppPlanCardProps>;
1024
+ export interface EmptyAppPlanItemProperties {
1025
+ label: string;
1026
+ disabled?: boolean;
1027
+ }
1028
+ export type EmptyAppPlanItemProps = EmptyAppPlanItemProperties & Omit<BoxProps, "display" | "alignItems" | "gap">;
1029
+ declare const EmptyAppPlanItem: React.FC<EmptyAppPlanItemProps>;
1030
+ export interface EmptyAppComponents {
1031
+ ContentImageElement: typeof EmptyAppContentImageElement;
1032
+ ContentSection: typeof EmptyAppContentSection;
1033
+ ContentTextElement: typeof EmptyAppContentTextElement;
1034
+ HeroSection: typeof EmptyAppHeroSection;
1035
+ PlanCard: typeof EmptyAppPlanCard;
1036
+ PlanItem: typeof EmptyAppPlanItem;
1037
+ }
1038
+ export interface EmptyAppProperties {
1039
+ /**
1040
+ * Content of the EmptyApp
1041
+ * @TJS-type React.ReactNode
1042
+ */
1043
+ children: ReactNode;
1044
+ }
1045
+ export type EmptyAppProps = EmptyAppProperties & Omit<BoxProps, "width" | "display" | "flexDirection" | "backgroundColor" | "pb" | "children">;
1046
+ export declare const EmptyApp: React.FC<EmptyAppProps> & EmptyAppComponents;
1047
+ export type InitialScreenHeroProperties = {
1048
+ title?: string;
1049
+ subtitle?: string;
1050
+ actions?: ReactNode;
1051
+ image: ReactNode;
1052
+ description?: ReactNode;
1053
+ bullets?: ReactNode;
1054
+ };
1055
+ export type InitialScreenHeroProps = PropsWithChildren<InitialScreenHeroProperties> & Omit<BoxProps, "alignItems" | "mx">;
1056
+ declare const InitialScreenHero: React.FC<InitialScreenHeroProps>;
1057
+ export type InitialScreenBulletProperties = {
1058
+ icon: ReactNode;
1059
+ text: string;
1060
+ };
1061
+ export type InitialScreenBulletProps = PropsWithChildren<InitialScreenBulletProperties & Omit<BoxProps, "display" | "gap">>;
1062
+ declare const InitialScreenBullet: React.FC<InitialScreenBulletProps>;
1063
+ export type InitialScreenSectionProperties = {
1064
+ title: string;
1065
+ };
1066
+ export type InitialScreenSectionProps = PropsWithChildren<InitialScreenSectionProperties> & Omit<BoxProps, "display" | "flexDirection" | "paddingTop" | "gap" | "maxWidth" | "mx">;
1067
+ declare const InitialScreenSection: React.FC<InitialScreenSectionProps>;
1068
+ export type InitialScreenCardProperties = {
1069
+ icon: ReactNode;
1070
+ title: string;
1071
+ description: string;
1072
+ };
1073
+ export type InitialScreenCardProps = InitialScreenCardProperties & Omit<BoxProps, "p" | "borderRadius" | "boxShadow">;
1074
+ export type InitialScreenCardLayoutProperties = PropsWithChildren;
1075
+ export type InitialScreenCardLayoutProps = InitialScreenCardLayoutProperties & Omit<BoxProps, "display" | "flexDirection" | "gap">;
1076
+ declare const InitialScreenCard: React.FC<InitialScreenCardProps>;
1077
+ declare const InitialScreenCardLayout: React.FC<InitialScreenCardLayoutProps>;
1078
+ export type InitialScreenFeatureItemProperties = PropsWithChildren<{
1079
+ title: string;
1080
+ description: string;
1081
+ }>;
1082
+ export type InitialScreenFeatureProperties = {
1083
+ content: ReactNode;
1084
+ image: ReactNode;
1085
+ };
1086
+ export type InitialScreenFeatureItemSpacingProps = Omit<BoxProps, "borderTopWidth" | "borderBottomWidth" | "borderColor" | "borderStyle">;
1087
+ declare const InitialScreenFeatureItem: React.FC<InitialScreenFeatureItemProperties>;
1088
+ declare const InitialScreenFeatureItemSpacing: React.FC<InitialScreenFeatureItemSpacingProps>;
1089
+ declare const InitialScreenFeature: React.FC<InitialScreenFeatureProperties>;
1090
+ export type InitialScreenModuleProperties = {
1091
+ title: string;
1092
+ description: string;
1093
+ };
1094
+ export type InitialScreenModuleProps = PropsWithChildren<InitialScreenModuleProperties> & BoxProps;
1095
+ declare const InitialScreenModule: React.FC<InitialScreenModuleProps>;
1096
+ export interface InitialScreenComponents {
1097
+ /**
1098
+ * Displays a bullet point with an icon and text, typically used to list app features with visual appeal.
1099
+ */
1100
+ Bullet: typeof InitialScreenBullet;
1101
+ /**
1102
+ * Displays a card with an icon, title, and children, generally used for descriptive purposes.
1103
+ */
1104
+ Card: typeof InitialScreenCard;
1105
+ /**
1106
+ * Displays multiple cards in a row or column, responsive to screen size.
1107
+ */
1108
+ CardLayout: typeof InitialScreenCardLayout;
1109
+ /**
1110
+ * Displays a feature with content and an image side by side.
1111
+ */
1112
+ Feature: typeof InitialScreenFeature;
1113
+ /**
1114
+ * Displays a feature with a title, description, and children, often used with the ItemSpacing component.
1115
+ */
1116
+ FeatureItem: typeof InitialScreenFeatureItem;
1117
+ /**
1118
+ * A line that separates items in the feature, maintaining a consistent layout.
1119
+ */
1120
+ FeatureItemSpacing: typeof InitialScreenFeatureItemSpacing;
1121
+ /**
1122
+ * Displays a hero with a title, subtitle, description, actions, bullets, and an image, typically for the main content of the initial screen.
1123
+ */
1124
+ Hero: typeof InitialScreenHero;
1125
+ /**
1126
+ * Displays a module with a title, description, and children, generally used for application modules or callout cards.
1127
+ */
1128
+ Module: typeof InitialScreenModule;
1129
+ /**
1130
+ * Displays a section with a title and children, used to separate content in the initial screen while maintaining a consistent layout.
1131
+ */
1132
+ Section: typeof InitialScreenSection;
1133
+ }
1134
+ export interface InitialScreenProperties {
1135
+ /**
1136
+ * Content of the InitialScreen component.
1137
+ * @TJS-type React.ReactNode
1138
+ */
1139
+ children: React.ReactNode;
1140
+ }
1141
+ export type InitialScreenProps = InitialScreenProperties & Omit<BoxProps, "width" | "display" | "flexDirection" | "backgroundColor" | "pb" | "children">;
1142
+ /**
1143
+ * This component provides a consistent layout and spacing for displaying a landing or welcome screen. It introduces users to an application or service, offering options to access more information or proceed further.
1144
+ */
1145
+ export declare const InitialScreen: React.FC<InitialScreenProps> & InitialScreenComponents;
1146
+ export interface PlanDisplayCardProperties {
1147
+ highlighted?: boolean;
1148
+ }
1149
+ export type PlanDisplayCardProps = PropsWithChildren<PlanDisplayCardProperties> & Omit<BoxProps, "borderColor" | "borderRadius" | "borderStyle" | "borderWidth" | "boxShadow">;
1150
+ declare const PlanDisplayCard: React.FC<PlanDisplayCardProps>;
1151
+ export type PlanDisplayCardHeaderProperties = {
1152
+ subtitle: string;
1153
+ title: ReactNode;
1154
+ };
1155
+ export type PlanDisplayCardHeaderProps = PropsWithChildren<PlanDisplayCardHeaderProperties>;
1156
+ declare const PlanDisplayCardHeader: React.FC<PlanDisplayCardHeaderProps>;
1157
+ export type PlanDisplayCardContentProperties = PropsWithChildren;
1158
+ declare const PlanDisplayCardContent: React.FC<PlanDisplayCardContentProperties>;
1159
+ export type PlanDisplayCardFooterProperties = PropsWithChildren;
1160
+ declare const PlanDisplayCardFooter: React.FC<PlanDisplayCardFooterProperties>;
1161
+ export type PlanDisplayCardSpacingProps = Omit<BoxProps, "children" | "borderTopWidth" | "borderColor" | "borderStyle" | "my">;
1162
+ declare const PlanDisplayCardSpacing: React.FC<PlanDisplayCardSpacingProps>;
1163
+ export type PlanDisplayBulletProperties = {
1164
+ icon: ReactNode;
1165
+ disabled?: boolean;
1166
+ };
1167
+ export type PlanDisplayBulletProps = PropsWithChildren<PlanDisplayBulletProperties>;
1168
+ declare const PlanDisplayBullet: React.FC<PlanDisplayBulletProps>;
1169
+ /**
1170
+ * Interface representing the internal components used in the PlanDisplay.
1171
+ */
1172
+ export interface PlanDisplayComponents {
1173
+ /**
1174
+ * The card component used to display the plan. This component is used to wrap the header, content, and footer components, and it is able
1175
+ * to receive a 'highlighted' prop to feature a plan.
1176
+ */
1177
+ Card: typeof PlanDisplayCard;
1178
+ /**
1179
+ * The header component of the plan display card. This component is used to display the title and subtitle of the plan, along with
1180
+ * an optional children where additional information can be displayed.
1181
+ */
1182
+ Header: typeof PlanDisplayCardHeader;
1183
+ /**
1184
+ * The content component of the plan display card. This component is used to display the main content of the plan, such as the plan bullet points.
1185
+ */
1186
+ Content: typeof PlanDisplayCardContent;
1187
+ /**
1188
+ * The spacing component used within the plan display card. This component is used to add spacing between the header, content, and footer components, displaying a line divider between them.
1189
+ */
1190
+ Spacing: typeof PlanDisplayCardSpacing;
1191
+ /**
1192
+ * The bullet component used to display the plan bullet points. It displays an icon and a text, and can receive a 'disabled' prop to show the bullet point as disabled.
1193
+ */
1194
+ Bullet: typeof PlanDisplayBullet;
1195
+ /**
1196
+ * The footer component of the plan display card. This component is used to display the footer of the plan, such as the CTA button.
1197
+ */
1198
+ Footer: typeof PlanDisplayCardFooter;
1199
+ }
1200
+ export interface PlanDisplayProperties {
1201
+ minPlanWidth?: string;
1202
+ /**
1203
+ * Content of the PlanDisplay
1204
+ * @TJS-type React.ReactNode
1205
+ */
1206
+ children: ReactNode;
1207
+ }
1208
+ export type PlanDisplayProps = PlanDisplayProperties & Omit<BoxProps, "width" | "display" | "flexDirection" | "backgroundColor" | "pb" | "children">;
1209
+ export declare const PlanDisplay: React.FC<PlanDisplayProps> & PlanDisplayComponents;
1210
+ declare const orientation: {
1211
+ readonly vertical: "vertical";
1212
+ readonly horizontal: "horizontal";
1213
+ };
1214
+ /**
1215
+ * Base type for items that can be sorted
1216
+ */
1217
+ export type SortableItemType = {
1218
+ /** Unique identifier for the sortable item */
1219
+ id: UniqueIdentifier;
1220
+ };
1221
+ export type InternalDndContextSettings = Omit<DndContextProps, "children" | "sensors" | "collisionDetection" | "onDragStart" | "onDragOver" | "onDragEnd">;
1222
+ /**
1223
+ * Properties specific to the Sortable component
1224
+ */
1225
+ export interface SortableProperties<T extends SortableItemType> {
1226
+ /** The children components */
1227
+ children: ReactNode;
1228
+ /** Whether to disable sorting functionality */
1229
+ disabled?: boolean;
1230
+ /** The items to be sorted */
1231
+ items: T[];
1232
+ /** Callback fired when items are reordered */
1233
+ onReorder: (items: T[]) => void;
1234
+ /** Callback fired when drag starts */
1235
+ onDragStart?: (event: DragStartEvent) => void;
1236
+ /** Callback fired during drag */
1237
+ onDragOver?: (event: DragOverEvent) => void;
1238
+ /** Callback fired when drag ends */
1239
+ onDragEnd?: (event: DragEndEvent) => void;
1240
+ /** The orientation of the sortable list */
1241
+ orientation?: typeof orientation.vertical | typeof orientation.horizontal;
1242
+ /**
1243
+ * Custom sensor options for drag detection
1244
+ * @example
1245
+ * ```tsx
1246
+ * <Sortable
1247
+ * sensorOptions={{
1248
+ * activationConstraint: {
1249
+ * distance: 20, // Allow movements up to 20px
1250
+ * delay: 150, // Wait 150ms before canceling
1251
+ * tolerance: 5 // Tolerate 5px of movement
1252
+ * }
1253
+ * }}
1254
+ * >
1255
+ * ```
1256
+ */
1257
+ sensorOptions?: PointerSensorOptions;
1258
+ /** Configuration for the drag overlay appearance and behavior */
1259
+ overlaySettings?: Omit<DragOverlayProps, "wrapperElement" | "style">;
1260
+ /** Settings for the DndContext */
1261
+ dndContextSettings?: Omit<InternalDndContextSettings, "accessibility">;
1262
+ /** Render function for the dragged item overlay */
1263
+ renderOverlay?: (item: T) => ReactNode;
1264
+ }
1265
+ export type SortableProps<T extends SortableItemType> = SortableProperties<T> & {
1266
+ /** Configuration for the drag overlay appearance and behavior */
1267
+ overlaySettings?: DragOverlayProps;
1268
+ /** Settings for the DndContext */
1269
+ dndContextSettings?: InternalDndContextSettings;
1270
+ };
1271
+ export interface RenderItemProps {
1272
+ /** Drag attributes required for drag functionality */
1273
+ attributes: DraggableAttributes;
1274
+ /** Event listeners for drag functionality */
1275
+ listeners: SyntheticListenerMap | undefined;
1276
+ /** Reference setter for the draggable node */
1277
+ setNodeRef: (node: HTMLElement | null) => void;
1278
+ /** Style properties for drag animation */
1279
+ style: CSSProperties;
1280
+ /** Whether the item is currently being dragged */
1281
+ isDragging: boolean;
1282
+ }
1283
+ export interface SortableItemProperties {
1284
+ /** The unique identifier for the item */
1285
+ id: UniqueIdentifier;
1286
+ /** Whether the item is disabled from being dragged */
1287
+ disabled?: boolean;
1288
+ /** Custom drag handle selector */
1289
+ handle?: boolean;
1290
+ /** The children components */
1291
+ children?: ReactNode;
1292
+ /** Optional render function that receives drag state and handlers, useful for fully customizing the item */
1293
+ renderItem?: (props: RenderItemProps) => ReactElement;
1294
+ }
1295
+ export type SortableItemProps = SortableItemProperties & ({
1296
+ children: ReactNode;
1297
+ renderItem?: undefined;
1298
+ } | {
1299
+ children?: undefined;
1300
+ renderItem: (props: RenderItemProps) => ReactElement;
1301
+ });
1302
+ export type SortableItemHandleProperties = {
1303
+ /**
1304
+ * The content of the SortableItemHandle component
1305
+ */
1306
+ children: ReactNode;
1307
+ };
1308
+ /**
1309
+ * A component that provides drag and drop sorting functionality
1310
+ * @example
1311
+ * ```tsx
1312
+ * const [items, setItems] = useState([{ id: '1', content: 'Item 1' }]);
1313
+ *
1314
+ * return (
1315
+ * <Sortable items={items} onReorder={setItems}>
1316
+ * <div className="my-sortable-container">
1317
+ * {items.map((item) => (
1318
+ * <Sortable.Item key={item.id} id={item.id}>
1319
+ * {item.content}
1320
+ * </Sortable.Item>
1321
+ * ))}
1322
+ * </div>
1323
+ * </Sortable>
1324
+ * );
1325
+ * ```
1326
+ */
1327
+ export declare function Sortable<T extends SortableItemType>({ items, onReorder, orientation, sensorOptions, onDragStart, onDragOver, onDragEnd, disabled, children, overlaySettings, renderOverlay, dndContextSettings, }: SortableProps<T>): React.ReactElement;
1328
+ export declare namespace Sortable {
1329
+ var Item: React.FC<SortableItemProps>;
1330
+ var ItemHandle: {
1331
+ ({ children, }: SortableItemHandleProperties): React.ReactElement;
1332
+ displayName: string;
1333
+ };
1334
+ var displayName: string;
1335
+ }
1336
+ /**
1337
+ * Properties specific to the ProductDataListItem component
1338
+ */
1339
+ export interface ProductDataListItemProperties {
1340
+ /**
1341
+ * The id of the product
1342
+ */
1343
+ id: string;
1344
+ /**
1345
+ * The title of the product
1346
+ */
1347
+ title: string;
1348
+ /**
1349
+ * The image URL of the product
1350
+ */
1351
+ imageUrl?: string;
1352
+ /**
1353
+ * Alternative text for the product image
1354
+ */
1355
+ imageAlt?: string;
1356
+ /**
1357
+ * Whether the item is draggable
1358
+ */
1359
+ isDraggable?: boolean;
1360
+ /**
1361
+ * Callback fired when remove button is clicked
1362
+ */
1363
+ onRemove?: () => void;
1364
+ /**
1365
+ * Whether the item has a divider
1366
+ */
1367
+ withDivider?: boolean;
1368
+ /**
1369
+ * Additional content to be rendered
1370
+ */
1371
+ children?: ReactNode;
1372
+ /**
1373
+ * Icon component for the tag
1374
+ */
1375
+ tagIcon?: ReactNode;
1376
+ /**
1377
+ * Text content for the tag
1378
+ */
1379
+ tagText?: string;
1380
+ /**
1381
+ * Appearance style for the tag
1382
+ * @default "warning"
1383
+ */
1384
+ tagAppearance?: "warning" | "primary" | "neutral" | "success" | "danger";
1385
+ }
1386
+ /**
1387
+ * Props that can be passed to the ProductDataListItem component
1388
+ */
1389
+ export type ProductDataListItemProps = ProductDataListItemProperties;
1390
+ declare const ProductDataListItem: React.FC<ProductDataListItemProps>;
1391
+ /**
1392
+ * Properties specific to the ProductDataListProducts component
1393
+ *
1394
+ * @template T - The type of each sortable item in the list
1395
+ */
1396
+ export interface ProductDataListProductsProperties<T extends SortableItemType> {
1397
+ /**
1398
+ * The array of items to be rendered and sorted in the list.
1399
+ */
1400
+ items: T[];
1401
+ /**
1402
+ * Callback fired when the order of items changes.
1403
+ *
1404
+ * @param items - The reordered array of items
1405
+ */
1406
+ onReorder: (items: T[]) => void;
1407
+ /**
1408
+ * If true, enables drag-and-drop sorting for the list items.
1409
+ * @default false
1410
+ */
1411
+ sortable?: boolean;
1412
+ /**
1413
+ * Function to render each item in the list.
1414
+ *
1415
+ * @param item - The item to render
1416
+ * @param index - The index of the item in the list
1417
+ * @returns The rendered node for the item
1418
+ */
1419
+ renderItem: (item: T, index: number) => ReactNode;
1420
+ /**
1421
+ * Additional properties to pass to the sortable container.
1422
+ */
1423
+ sortableProps?: object;
1424
+ }
1425
+ /**
1426
+ * Props that can be passed to the ProductDataListProducts component, including sortable and layout properties.
1427
+ *
1428
+ * @template T - The type of each sortable item in the list
1429
+ */
1430
+ export type ProductDataListProductsProps<T extends SortableItemType> = ProductDataListProductsProperties<T> & {
1431
+ /**
1432
+ * Additional properties for the sortable container, omitting core sortable and layout props.
1433
+ */
1434
+ sortableProps?: Omit<SortableProps<T>, "items" | "onReorder" | "orientation" | "disabled" | "renderOverlay" | "children">;
1435
+ } & Omit<BoxProps, "my" | "display" | "flexDirection" | "gap">;
1436
+ declare function ProductDataListProducts<T extends SortableItemType>({ sortable, items, onReorder, renderItem, sortableProps, children, ...props }: ProductDataListProductsProps<T>): React.ReactElement;
1437
+ declare namespace ProductDataListProducts {
1438
+ var displayName: string;
1439
+ }
1440
+ export type ProductDataListSectionProperties = PropsWithChildren<{
1441
+ title?: ReactNode;
1442
+ description?: ReactNode;
1443
+ content?: ReactNode;
1444
+ link: ReactNode;
1445
+ }>;
1446
+ export type ProductDataListSectionProps = ProductDataListSectionProperties & Omit<BoxProps, "padding" | "display" | "flexDirection" | "gap" | "content">;
1447
+ declare const ProductDataListSection: React.FC<ProductDataListSectionProps>;
1448
+ export type ProductDataListItemDividerProperties = Pick<BoxProps, "borderTopWidth" | "borderBottomWidth" | "borderColor" | "borderStyle" | "width" | "id">;
1449
+ declare const ProductDataListItemDivider: React.FC<ProductDataListItemDividerProperties>;
1450
+ /**
1451
+ * Properties specific to the ProductDataList component
1452
+ */
1453
+ export interface ProductDataListProperties {
1454
+ /**
1455
+ * The content to be rendered inside the list
1456
+ */
1457
+ children: ReactNode;
1458
+ /**
1459
+ * Optional title for the list section
1460
+ */
1461
+ title?: ReactNode;
1462
+ }
1463
+ /**
1464
+ * Props that can be passed to the ProductDataList component
1465
+ */
1466
+ export type ProductDataListProps = ProductDataListProperties & Omit<BoxProps, "padding" | "display" | "flexDirection" | "gap">;
1467
+ export interface ProductDataListComponents {
1468
+ Products: typeof ProductDataListProducts;
1469
+ Item: typeof ProductDataListItem;
1470
+ Section: typeof ProductDataListSection;
1471
+ ItemDivider: typeof ProductDataListItemDivider;
1472
+ }
1473
+ export declare const ProductDataList: React.FC<ProductDataListProps> & ProductDataListComponents;
1474
+ export interface ChatInputActionsProperties {
1475
+ /**
1476
+ * Content to be rendered at both sides of the actions bar.
1477
+ * @TJS-type React.ReactNode
1478
+ */
1479
+ children: ReactNode;
1480
+ }
1481
+ export type ChatInputActionsProps = ChatInputActionsProperties & Omit<BoxProperties, "children" | "display" | "justifyContent" | "alignItems"> & HTMLAttributes<HTMLElement>;
1482
+ export type ChatInputFieldProperties = Omit<TextareaProperties, "appearance"> & {
1483
+ /**
1484
+ * Predefined appearance values for AI states. When `"ai-generative"` is passed,
1485
+ * the field displays the Nimbus AI generative border and focus ring.
1486
+ */
1487
+ appearance?: "none" | "danger" | "warning" | "success" | "ai-generative";
1488
+ };
1489
+ export type ChatInputFieldBaseProps = ChatInputFieldProperties & Omit<TextareaProps, "appearance"> & HTMLAttributes<HTMLElement>;
1490
+ export interface ChatInputPopoverProperties {
1491
+ /**
1492
+ * Content to be rendered inside the popover, usually ChatInput.PopoverButton components.
1493
+ * @TJS-type React.ReactNode
1494
+ */
1495
+ content: ReactNode;
1496
+ contentProperties?: Omit<BoxProperties, "children" | "display" | "flexDirection" | "gap">;
1497
+ /**
1498
+ * The trigger element that opens the popover, usually an IconButton.
1499
+ * @TJS-type React.ReactNode
1500
+ */
1501
+ children: ReactNode;
1502
+ }
1503
+ export type ChatInputPopoverProps = ChatInputPopoverProperties & Omit<PopoverProperties, "content" | "children" | "arrow" | "position" | "padding" | "color">;
1504
+ export interface ChatInputPopoverButtonProperties {
1505
+ /**
1506
+ * Icon element to be displayed before the text.
1507
+ * @TJS-type React.ReactNode
1508
+ */
1509
+ icon?: ReactNode;
1510
+ /**
1511
+ * The text content of the button.
1512
+ */
1513
+ text: ReactNode;
1514
+ /**
1515
+ * Click handler for the button.
1516
+ */
1517
+ onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
1518
+ }
1519
+ export type ChatInputPopoverButtonProps = ChatInputPopoverButtonProperties & Omit<BoxProperties, "children" | "as" | "type" | "cursor" | "borderWidth" | "color" | "display" | "alignItems" | "gap" | "p" | "borderRadius" | "onClick">;
1520
+ export interface ChatInputComponents {
1521
+ /**
1522
+ * ChatInput Actions is a container for the actions, like send button and recording button.
1523
+ */
1524
+ Actions: React.FC<ChatInputActionsProps>;
1525
+ /**
1526
+ * ChatInput Field textarea component.
1527
+ */
1528
+ Field: React.ForwardRefExoticComponent<Omit<ChatInputFieldBaseProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
1529
+ /**
1530
+ * ChatInput Popover provides pre-configured popover settings for upload actions.
1531
+ */
1532
+ Popover: React.FC<ChatInputPopoverProps>;
1533
+ /**
1534
+ * ChatInput PopoverButton is a pre-styled button for popover menu items.
1535
+ */
1536
+ PopoverButton: React.FC<ChatInputPopoverButtonProps>;
1537
+ }
1538
+ export interface ChatInputProperties {
1539
+ /**
1540
+ * Content to be rendered inside ChatInput, usually `ChatInput.Actions` and `ChatInput.Field`.
1541
+ * @TJS-type React.ReactNode
1542
+ */
1543
+ children: ReactNode;
1544
+ /**
1545
+ * Whether the ChatInput is focused for AI states.
1546
+ */
1547
+ aiFocused?: boolean;
1548
+ }
1549
+ export type ChatInputProps = ChatInputProperties & Omit<BoxProperties, "children" | "display"> & HTMLAttributes<HTMLElement>;
1550
+ export declare const ChatInput: React.FC<ChatInputProps> & ChatInputComponents;
1551
+ /** Trend direction for the indicator (up, down, or neutral). */
1552
+ export type TrendDirection = "up" | "down" | "neutral";
1553
+ /**
1554
+ * Props for the SummaryStatsItem component.
1555
+ *
1556
+ * Defines the props used to render a single stat: a primary value, description,
1557
+ * optional trend indicator, optional tooltip, and optional expandable content
1558
+ * (children). Used by the SummaryStatsItem component to display one metric in
1559
+ * a summary stats row.
1560
+ *
1561
+ * @see SummaryStatsItem - Component that consumes these props.
1562
+ * @property children - Optional ReactNode rendered in the expandable area when this stat is active.
1563
+ */
1564
+ export interface SummaryStatsItemProperties {
1565
+ /**
1566
+ * The main value to display (e.g., "$0.00", "156").
1567
+ */
1568
+ value: string;
1569
+ /**
1570
+ * Brief text that identifies the metric.
1571
+ */
1572
+ description: string;
1573
+ /**
1574
+ * Trend indicator showing the change direction.
1575
+ */
1576
+ trend?: TrendDirection;
1577
+ /**
1578
+ * Text describing the trend or change (e.g., "+15%", "-5%", "0%").
1579
+ */
1580
+ trendText?: string;
1581
+ /**
1582
+ * Tooltip content for the info icon. If provided, displays an info icon.
1583
+ */
1584
+ infoTooltip?: string;
1585
+ /**
1586
+ * Content to display when this stat is active (for expandable variant).
1587
+ * This content will be rendered in the expandable area below the stats row.
1588
+ * @TJS-type React.ReactNode
1589
+ */
1590
+ children?: ReactNode;
1591
+ }
1592
+ export type SummaryStatsItemProps = SummaryStatsItemProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
1593
+ declare const SummaryStatsItem: React.FC<SummaryStatsItemProps>;
1594
+ /**
1595
+ * Layout variant for the SummaryStats container.
1596
+ * - "horizontal": single row (optionally with scroll/expand).
1597
+ * - "grid": 2-column grid.
1598
+ */
1599
+ export type SummaryStatsLayout = "horizontal" | "grid";
1600
+ /**
1601
+ * Subcomponents exposed on SummaryStats (e.g. SummaryStats.Item).
1602
+ * Use {@link SummaryStatsItem} for the Item subcomponent type and API.
1603
+ */
1604
+ export interface SummaryStatsComponents {
1605
+ Item: typeof SummaryStatsItem;
1606
+ }
1607
+ /**
1608
+ * Props specific to SummaryStats. Children should be {@link SummaryStatsItem}
1609
+ * nodes (SummaryStats.Item). Layout is "horizontal" (default) or "grid".
1610
+ * Defaults: layout "horizontal", expandable false.
1611
+ *
1612
+ * Supports both controlled and uncontrolled modes for the active stat:
1613
+ * - **Uncontrolled** (default): omit `activeStatId` and the component manages
1614
+ * active state internally.
1615
+ * - **Controlled**: pass `activeStatId` and `onActiveStatIdChange` to manage
1616
+ * the active stat externally (e.g. for routing, analytics, or persistence).
1617
+ */
1618
+ export interface SummaryStatsProperties {
1619
+ /**
1620
+ * Content to be rendered inside the SummaryStats component.
1621
+ * Composed of SummaryStats.Item subcomponents.
1622
+ * @TJS-type React.ReactNode
1623
+ */
1624
+ children: ReactNode;
1625
+ /**
1626
+ * Layout variant for the stats container.
1627
+ * - "horizontal": Items in a single row (2-6 items recommended).
1628
+ * - "grid": Items in a 2-column grid layout (2 or 4 items recommended).
1629
+ * @default "horizontal"
1630
+ */
1631
+ layout?: SummaryStatsLayout;
1632
+ /**
1633
+ * Enables expandable mode where stats can be clicked to show additional content.
1634
+ * @default false
1635
+ */
1636
+ expandable?: boolean;
1637
+ /**
1638
+ * The id of the currently active stat (controlled mode).
1639
+ * When provided, the component becomes controlled and `onActiveStatIdChange`
1640
+ * should be used to handle state changes. Pass `null` for no active stat.
1641
+ */
1642
+ activeStatId?: string | null;
1643
+ /**
1644
+ * Callback fired when the active stat changes (controlled mode).
1645
+ * Receives the new active stat id, or `null` when the active stat is deselected.
1646
+ */
1647
+ onActiveStatIdChange?: (activeStatId: string | null) => void;
1648
+ }
1649
+ /**
1650
+ * Full props for SummaryStats: {@link SummaryStatsProperties} plus HTML element
1651
+ * attributes (excluding color). Use for the root SummaryStats component.
1652
+ */
1653
+ export type SummaryStatsProps = SummaryStatsProperties & Omit<HTMLAttributes<HTMLElement>, "color">;
1654
+ /**
1655
+ * SummaryStats displays a set of stat blocks in a configurable layout. Use
1656
+ * {@link SummaryStatsProps} for the full props type and {@link SummaryStatsComponents}
1657
+ * for the compound component API (e.g. SummaryStats.Item).
1658
+ *
1659
+ * Layout can be horizontal (single row, optionally with scroll/expand) or grid
1660
+ * (2-column). When layout is "horizontal" and expandable is true, clicking a
1661
+ * stat toggles an expanded area below showing that stat's extra content.
1662
+ *
1663
+ * @param props - See SummaryStatsProps
1664
+ * @param props.className - Optional CSS class for the root element
1665
+ * @param props.style - Optional inline styles for the root element
1666
+ * @param props.children - Stat items, typically SummaryStats.Item components
1667
+ * @param props.layout - "horizontal" (default) or "grid"; controls row vs grid layout
1668
+ * @param props.expandable - When true and layout is horizontal, stats are expandable
1669
+ * @param props.activeStatId - Optional. Controlled active stat id. Pass `null` for none.
1670
+ * @param props.onActiveStatIdChange - Optional. Callback when active stat changes.
1671
+ * @param props.rest - Remaining HTML element attributes (spread to root Box)
1672
+ */
1673
+ export declare const SummaryStats: React.FC<SummaryStatsProps> & SummaryStatsComponents;
1674
+ export interface MenuExpandContextValue {
1675
+ /** True when the menu is expanded; false when collapsed. */
1676
+ expanded: boolean;
1677
+ /** Whether to show popovers for buttons when the menu is collapsed. Defaults to true. */
1678
+ showPopoversWhenCollapsed?: boolean;
1679
+ /** Position of the popovers for buttons when the menu is collapsed. Defaults to "right". */
1680
+ popoverPosition?: PopoverPlacement;
1681
+ /** ID of the currently active accordion popover. Used to ensure only one popover is open at a time. */
1682
+ activeAccordionPopover: string | null;
1683
+ /** Function to set the active accordion popover ID. */
1684
+ setActiveAccordionPopover: Dispatch<SetStateAction<string | null>>;
1685
+ }
1686
+ export declare const MenuExpandContext: import("react").Context<MenuExpandContextValue | undefined>;
1687
+ /**
1688
+ * Read Menu expand/collapse state.
1689
+ * @param enforce When false, returns `initialMenuContext` if no provider is present.
1690
+ * @throws If `enforce=true` and used without a provider.
1691
+ */
1692
+ export declare const useMenuExpandContext: (enforce?: boolean) => MenuExpandContextValue;
1693
+
1694
+ export {};