@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.
- package/CHANGELOG.md +11 -0
- package/dist/AppShell/index.d.ts +131 -0
- package/dist/AppShell/index.js +2 -0
- package/dist/CHANGELOG.md +549 -0
- package/dist/Calendar/index.d.ts +44 -0
- package/dist/Calendar/index.js +2 -0
- package/dist/CalloutCard/index.d.ts +43 -0
- package/dist/CalloutCard/index.js +2 -0
- package/dist/ChatInput/index.d.ts +89 -0
- package/dist/ChatInput/index.js +2 -0
- package/dist/DataList/index.d.ts +49 -0
- package/dist/DataList/index.js +2 -0
- package/dist/DataTable/index.d.ts +201 -0
- package/dist/DataTable/index.js +2 -0
- package/dist/Editor/index.d.ts +65 -0
- package/dist/Editor/index.js +2 -0
- package/dist/EmptyApp/index.d.ts +65 -0
- package/dist/EmptyApp/index.js +2 -0
- package/dist/EmptyMessage/index.d.ts +38 -0
- package/dist/EmptyMessage/index.js +2 -0
- package/dist/FormField/index.d.ts +63 -0
- package/dist/FormField/index.js +2 -0
- package/dist/HelpLink/index.d.ts +20 -0
- package/dist/HelpLink/index.js +2 -0
- package/dist/InitialScreen/index.d.ts +138 -0
- package/dist/InitialScreen/index.js +2 -0
- package/dist/InteractiveList/index.d.ts +133 -0
- package/dist/InteractiveList/index.js +2 -0
- package/dist/Layout/index.d.ts +33 -0
- package/dist/Layout/index.js +2 -0
- package/dist/Menu/index.d.ts +151 -0
- package/dist/Menu/index.js +2 -0
- package/dist/MenuButton/index.d.ts +101 -0
- package/dist/MenuButton/index.js +2 -0
- package/dist/NavTabs/index.d.ts +46 -0
- package/dist/NavTabs/index.js +2 -0
- package/dist/Page/index.d.ts +48 -0
- package/dist/Page/index.js +2 -0
- package/dist/PlanDisplay/index.d.ts +72 -0
- package/dist/PlanDisplay/index.js +2 -0
- package/dist/ProductDataList/index.d.ts +208 -0
- package/dist/ProductDataList/index.js +2 -0
- package/dist/ProductUpdates/index.d.ts +79 -0
- package/dist/ProductUpdates/index.js +2 -0
- package/dist/README.md +235 -0
- package/dist/SideModal/index.d.ts +73 -0
- package/dist/SideModal/index.js +2 -0
- package/dist/Sortable/index.d.ts +140 -0
- package/dist/Sortable/index.js +2 -0
- package/dist/SummaryStats/index.d.ts +238 -0
- package/dist/SummaryStats/index.js +2 -0
- package/dist/ThumbnailWithAction/index.d.ts +31 -0
- package/dist/ThumbnailWithAction/index.js +2 -0
- package/dist/components-props.json +1 -0
- package/dist/index.d.ts +1694 -0
- package/dist/index.js +2 -0
- package/package.json +1 -1
package/dist/index.d.ts
ADDED
|
@@ -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 {};
|