@baseline-ui/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1656 @@
1
+ import React$1, { Key } from 'react';
2
+ import { IconProps, SVGRProps } from '@baseline-ui/icons';
3
+ import * as react_aria from 'react-aria';
4
+ import { AriaButtonProps, AriaSliderProps, AriaSwitchProps, AriaSearchFieldProps, AriaPopoverProps, AriaMenuProps, AriaMenuTriggerProps, AriaLinkOptions, SeparatorProps as SeparatorProps$1, AriaProgressBarProps, AriaTextFieldProps, AriaTooltipProps, AriaPositionProps, OverlayProps, AriaToggleButtonProps, AriaCheckboxProps, AriaNumberFieldProps, I18nProviderProps as I18nProviderProps$1, LocalizedStrings, useNumberFormatter, useDateFormatter, AriaTagGroupProps, AriaListBoxOptions, AriaListBoxProps, OptionAria, AriaSelectOptions, AriaDialogProps, DropOptions, ClipboardProps, AriaRadioGroupProps, AriaModalOverlayProps, Locale } from 'react-aria';
5
+ export { I18nProviderProps, useCollator, useDateFormatter, useNumberFormatter } from 'react-aria';
6
+ import { SliderStateOptions, ToggleProps, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, Orientation, SelectStateOptions, Item as Item$2, OverlayTriggerProps } from 'react-stately';
7
+ import { Theme } from '@baseline-ui/tokens';
8
+ import { Node as Node$1, AriaLabelingProps } from '@react-types/shared';
9
+ import { AriaTabListProps } from '@react-types/tabs';
10
+ import { ColorFieldProps } from '@react-stately/color';
11
+ import { OnRender, OnRenderStart, OnDragStart, OnDrag, OnDragEnd, OnResizeStart, OnResize, OnResizeEnd, OnRotateStart, OnRotate, OnRotateEnd, OnSnap, RotationPosition } from 'react-moveable';
12
+
13
+ declare function assignInlineTheme(theme: Theme): {
14
+ [cssVarName: string]: string;
15
+ };
16
+
17
+ interface BlockProps {
18
+ "data-blockid"?: string;
19
+ }
20
+
21
+ interface StylingProps extends BlockProps {
22
+ /** The className applied to the root element of the component. */
23
+ className?: string;
24
+
25
+ /** The style applied to the root element of the component. */
26
+ style?: React$1.CSSProperties;
27
+ }
28
+
29
+ interface ActionButtonSharedProps extends Omit<AriaButtonProps<"button" | "div">, "onKeyUp" | "rel" | "href" | "target">, StylingProps {
30
+ /**
31
+ * Handler that is called when the element receives or loses focus.
32
+ *
33
+ * @param isHovered
34
+ */
35
+ onHoverChange?: (isHovered: boolean) => void;
36
+ }
37
+ interface ActionButtonProps extends ActionButtonSharedProps {
38
+ /**
39
+ * The button's variant.
40
+ *
41
+ * @default primary
42
+ */
43
+ variant?: "primary" | "secondary" | "tertiary" | "ghost";
44
+ /** The button's label. */
45
+ label: string;
46
+ /** The button's icon before the label. */
47
+ iconStart?: React$1.FC<IconProps>;
48
+ /** The button's icon after the label. */
49
+ iconEnd?: React$1.FC<IconProps>;
50
+ /**
51
+ * The button's size.
52
+ *
53
+ * @default sm
54
+ */
55
+ size?: "sm" | "md";
56
+ }
57
+
58
+ declare const ActionButton: React$1.ForwardRefExoticComponent<ActionButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
59
+
60
+ interface DomNodeRendererProps {
61
+ /** The class name applied to the wrapper `div` component. */
62
+ className?: string;
63
+ /**
64
+ * The DOM node to render inside the component. If this is not provided, the
65
+ * component will render nothing. If this is provided, the component will
66
+ * render the DOM node inside a `div` component with `display` set to
67
+ * `contents`.
68
+ */
69
+ node: Node;
70
+ }
71
+
72
+ declare const DomNodeRenderer: React$1.ForwardRefExoticComponent<DomNodeRendererProps & React$1.RefAttributes<HTMLDivElement>>;
73
+
74
+ interface SliderProps extends AriaSliderProps<number>, Omit<SliderStateOptions<number>, "numberFormatter"> {
75
+ /**
76
+ * Whether the slider is read only.
77
+ *
78
+ * @default false
79
+ */
80
+ isReadOnly?: boolean;
81
+ /** The format options passed to `Intl.NumberFormat`. */
82
+ numberFormatOptions?: Intl.NumberFormatOptions & {
83
+ numberingSystem?: string;
84
+ };
85
+ /** The class name applied to the root element. */
86
+ className?: string;
87
+ /** The label for the slider. */
88
+ label?: string;
89
+ /**
90
+ * Whether to include a number input for the slider.
91
+ *
92
+ * @default false
93
+ */
94
+ includeNumberInput?: boolean;
95
+ }
96
+
97
+ declare const Slider: React$1.ForwardRefExoticComponent<SliderProps & React$1.RefAttributes<HTMLDivElement>>;
98
+
99
+ interface SwitchProps extends Omit<AriaSwitchProps, "children">, Omit<ToggleProps, "children">, StylingProps {
100
+ /** The label to display next to the switch. */
101
+ label?: string;
102
+ /** The position of the label. */
103
+ labelPosition?: "top" | "left";
104
+ /** The status label to display next to the switch. */
105
+ statusLabel?: {
106
+ on: string;
107
+ off: string;
108
+ };
109
+ }
110
+
111
+ declare const Switch: React$1.ForwardRefExoticComponent<SwitchProps & React$1.RefAttributes<HTMLLabelElement>>;
112
+
113
+ interface SearchInputProps extends Omit<AriaSearchFieldProps, "validationState" | "label" | "aria-autocomplete" | "autoComplete" | "isRequired" | "aria-haspopup" | "isReadOnly" | "aria-activedescendant" | "type">, StylingProps {
114
+ /**
115
+ * The size of the search input.
116
+ *
117
+ * @default "md"
118
+ */
119
+ size?: "sm" | "md" | "lg";
120
+ /**
121
+ * The variant of the search input.
122
+ *
123
+ * @default "primary"
124
+ */
125
+ variant?: "primary" | "ghost";
126
+ /** Defines a string value that labels the current element. */
127
+ "aria-label": string;
128
+ }
129
+
130
+ declare const SearchInput: React$1.ForwardRefExoticComponent<SearchInputProps & React$1.RefAttributes<HTMLDivElement>>;
131
+
132
+ interface ThemeProviderProps extends StylingProps {
133
+ /**
134
+ * The theme to use. If not provided, the theme will be inherited from the
135
+ * parent ThemeProvider. If there is no parent ThemeProvider, the default
136
+ * theme will be used.
137
+ */
138
+ theme: Theme;
139
+ /** The children to render. */
140
+ children: React$1.ReactNode;
141
+ /**
142
+ * A function that will be called when the theme changes from any of the child
143
+ * components.
144
+ */
145
+ setTheme?: (theme: Theme) => void;
146
+ }
147
+
148
+ declare const ThemeProvider: React$1.ForwardRefExoticComponent<ThemeProviderProps & React$1.RefAttributes<HTMLDivElement>>;
149
+
150
+ /**
151
+ * A hook that returns the user preferences for color scheme, contrast, reduced
152
+ * motion, transparency and reduced data. The values are updated when the user
153
+ * changes their preferences.
154
+ *
155
+ * @example
156
+ * const {
157
+ * colorScheme,
158
+ * contrast,
159
+ * reducedMotion,
160
+ * transparency,
161
+ * reducedData,
162
+ * } = useUserPreferences();
163
+ *
164
+ * @returns The user preferences.
165
+ */
166
+ declare function useUserPreferences(): {
167
+ colorScheme: "dark" | "light";
168
+ contrast: "normal" | "high";
169
+ reducedMotion: boolean;
170
+ transparency: boolean;
171
+ reducedData: boolean;
172
+ };
173
+
174
+ interface PopoverContentProps extends Omit<AriaPopoverProps, "popoverRef" | "triggerRef">, StylingProps {
175
+ /**
176
+ * The reference element for the popover position. By default, the popover is
177
+ * positioned relative to the trigger element.
178
+ */
179
+ triggerRef?: React$1.RefObject<HTMLElement>;
180
+ /** The class name for the underlay element. */
181
+ underlayClassName?: string;
182
+ /** The contents of the popover. */
183
+ children: React$1.ReactNode;
184
+ }
185
+
186
+ type Item$1 = {
187
+ label: string;
188
+ id: string;
189
+ shortcut?: string;
190
+ };
191
+ type Section = {
192
+ type: "section";
193
+ group: string;
194
+ items: Item$1[];
195
+ title: string;
196
+ isTitleVisible?: boolean;
197
+ };
198
+ type ItemsUnion = Item$1 | Section;
199
+ type MenuPopoverProps = Pick<PopoverContentProps, "isNonModal" | "placement" | "shouldUpdatePosition" | "shouldFlip" | "boundaryElement" | "crossOffset" | "offset">;
200
+ interface MenuProps extends MenuTriggerProps, MenuPopoverProps, Omit<AriaMenuProps<ItemsUnion>, "children">, AriaMenuTriggerProps {
201
+ /** The button label for the menu. */
202
+ label: string;
203
+ /** The `className` property assigned to the root element of the component. */
204
+ className?: string;
205
+ /** The `className` property assigned to the content element of the component. */
206
+ contentClassName?: string;
207
+ /** The `className` property assigned to the item element of the component. */
208
+ itemClassName?: string;
209
+ /**
210
+ * A list of items to render in the menu. Items have the following shape:
211
+ *
212
+ * ```ts
213
+ * export type Item = {
214
+ * label: string;
215
+ * id: string;
216
+ * shortcut?: string;
217
+ * };
218
+ *
219
+ * export type Section = {
220
+ * type: "section";
221
+ * group: string;
222
+ * items: Item[];
223
+ * title: string;
224
+ * isTitleVisible?: boolean;
225
+ * };
226
+ *
227
+ * export type ItemsUnion = Item | Section;
228
+ * ```
229
+ */
230
+ items: ItemsUnion[];
231
+ }
232
+
233
+ declare const Menu: React$1.ForwardRefExoticComponent<MenuProps & React$1.RefAttributes<HTMLButtonElement>>;
234
+
235
+ interface LinkProps extends AriaLinkOptions, StylingProps {
236
+ /** The link's style variant. */
237
+ variant?: "default" | "inline";
238
+ /** The children to render. */
239
+ children: React$1.ReactNode;
240
+ /** The size of the link. */
241
+ size?: "sm" | "md" | "lg";
242
+ }
243
+
244
+ declare const Link: React$1.ForwardRefExoticComponent<LinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
245
+
246
+ interface SharedFileUploadProps extends StylingProps {
247
+ /** Whether the component is inlined. */
248
+ variant?: "default" | "inline";
249
+ /** Whether the component is disabled. */
250
+ isDisabled?: boolean;
251
+ /** The label to display. */
252
+ label: string;
253
+ /** The description to display. */
254
+ description?: string;
255
+ /**
256
+ * The pattern to match the file name against. This is a regular expression,
257
+ * and will be matched against the entire file name.
258
+ */
259
+ accept?: string;
260
+ /** The name of the input. */
261
+ name?: string;
262
+ /** The callback function that is fired when the value changes. */
263
+ onChange?: (event: React$1.ChangeEvent<HTMLInputElement>) => void;
264
+ /**
265
+ * The callback function that is fired when the value changes and the value is
266
+ * valid.
267
+ */
268
+ onValueChange?: (files: File[]) => void;
269
+ /**
270
+ * Identifies the element (or elements) that provide a detailed, extended
271
+ * description for the object.
272
+ */
273
+ "aria-describedby"?: string;
274
+ }
275
+ interface FileUploadProps extends SharedFileUploadProps {
276
+ /** The Icon to display. */
277
+ icon?: React$1.FC<IconProps>;
278
+ /** Whether to allow multiple files to be uploaded. */
279
+ multiple?: boolean;
280
+ }
281
+
282
+ declare const FileUpload: React$1.ForwardRefExoticComponent<FileUploadProps & React$1.RefAttributes<HTMLLabelElement>>;
283
+
284
+ interface SeparatorProps extends Omit<SeparatorProps$1, "elementType">, StylingProps {
285
+ /**
286
+ * The variant of the separator.
287
+ *
288
+ * @default "primary"
289
+ */
290
+ variant?: "primary" | "secondary";
291
+ }
292
+
293
+ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
294
+
295
+ interface ProgressBarProps extends Omit<AriaProgressBarProps, "isIndeterminate"> {
296
+ /** The `className` property assigned to the root element of the component. */
297
+ className?: string;
298
+ /**
299
+ * The variant of the progress bar.
300
+ *
301
+ * @default active
302
+ */
303
+ variant?: "active" | "success" | "error";
304
+ /** The description of the progress bar. */
305
+ description?: string;
306
+ /**
307
+ * Whether the progress bar value should be displayed.
308
+ *
309
+ * @default false
310
+ */
311
+ showValue?: boolean;
312
+ /** The error message of the progress bar. */
313
+ errorMessage?: string;
314
+ }
315
+
316
+ declare const ProgressBar: React$1.ForwardRefExoticComponent<ProgressBarProps & React$1.RefAttributes<HTMLDivElement>>;
317
+
318
+ interface InputMessage {
319
+ /** The description to display below the input. */
320
+ description?: string;
321
+ /** The error message to display when the input is in an error state. */
322
+ errorMessage?: string;
323
+ /** The warning message to display when the input is in a warning state. */
324
+ warningMessage?: string;
325
+ }
326
+ interface TextInputProps extends Omit<AriaTextFieldProps, "validationState" | "isInvalid" | "description" | "errorMessage">, StylingProps, InputMessage {
327
+ /** The state of the input. */
328
+ validationState?: "valid" | "error" | "warning";
329
+ /**
330
+ * The variant of the text input.
331
+ *
332
+ * @default primary
333
+ */
334
+ variant?: "primary" | "ghost";
335
+ /**
336
+ * The position of the label relative to the input.
337
+ *
338
+ * @default top
339
+ */
340
+ labelPosition?: "top" | "start";
341
+ /** Whether the input is read only. */
342
+ readOnly?: boolean;
343
+ /** The style object to apply to the input element */
344
+ inputStyle?: React$1.CSSProperties;
345
+ /** The class name to apply to the input element */
346
+ inputClassName?: string;
347
+ }
348
+
349
+ declare const TextInput: React$1.ForwardRefExoticComponent<TextInputProps & React$1.RefAttributes<HTMLInputElement>>;
350
+
351
+ interface ReactionProps extends Omit<AriaSwitchProps & ToggleProps, "validationState" | "isRequired" | "children" | "isInvalid">, StylingProps {
352
+ /** The size of the reaction. */
353
+ size?: "small" | "medium";
354
+ /** The number of reactions. */
355
+ count: number;
356
+ /** The icon to render. */
357
+ icon?: React$1.FC<IconProps>;
358
+ }
359
+
360
+ declare const Reaction: React$1.ForwardRefExoticComponent<ReactionProps & React$1.RefAttributes<HTMLLabelElement>>;
361
+
362
+ interface TooltipProps extends TooltipTriggerProps, AriaTooltipProps, Omit<AriaPositionProps, "overlayRef" | "targetRef" | "maxHeight" | "isOpen" | "arrowSize"> {
363
+ /** The content of the tooltip. */
364
+ text?: string;
365
+ /** The tooltip trigger element. */
366
+ children: React$1.ReactNode;
367
+ /**
368
+ * The delay time for the tooltip to show up.
369
+ *
370
+ * @default 1000
371
+ */
372
+ delay?: number;
373
+ /**
374
+ * The delay time for the tooltip to hide.
375
+ *
376
+ * @default 500
377
+ */
378
+ closeDelay?: number;
379
+ }
380
+
381
+ declare const Tooltip: React$1.ForwardRefExoticComponent<TooltipProps & React$1.RefAttributes<HTMLDivElement>>;
382
+
383
+ interface PortalProps extends OverlayProps {
384
+ /** The `className` property assigned to the root element of the component. */
385
+ className?: string;
386
+ }
387
+
388
+ declare const Portal: React$1.ForwardRefExoticComponent<PortalProps & React$1.RefAttributes<HTMLDivElement>>;
389
+
390
+ interface ProgressSpinnerProps extends Omit<AriaProgressBarProps, "value" | "isIndeterminate" | "formatOptions" | "maxValue" | "minValue" | "valueLabel">, StylingProps {
391
+ /**
392
+ * The size of the progress circle.
393
+ *
394
+ * @default md
395
+ */
396
+ size?: "sm" | "md";
397
+ /**
398
+ * The progress circle's variant.
399
+ *
400
+ * @default active
401
+ */
402
+ variant?: "active" | "inactive" | "success" | "error";
403
+ }
404
+
405
+ declare const ProgressSpinner: React$1.ForwardRefExoticComponent<ProgressSpinnerProps & React$1.RefAttributes<HTMLDivElement>>;
406
+
407
+ interface ActionIconButtonProps extends ActionButtonSharedProps {
408
+ /** The icon to display */
409
+ icon: React$1.FC<IconProps>;
410
+ /**
411
+ * The size of the icon button.
412
+ *
413
+ * @default "md"
414
+ */
415
+ size?: "xxs" | "xs" | "sm" | "md" | "lg";
416
+ /**
417
+ * The variant of the icon button.
418
+ *
419
+ * @default "primary"
420
+ */
421
+ variant?: "primary" | "secondary" | "tertiary";
422
+ }
423
+
424
+ declare const ActionIconButton: React$1.ForwardRefExoticComponent<ActionIconButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
425
+
426
+ interface ToggleButtonProps extends StylingProps, Omit<AriaToggleButtonProps, "type" | "elementType"> {
427
+ /** The text content of the button. */
428
+ label: string;
429
+ /** The icon to display before the label. */
430
+ iconStart?: React$1.FC<SVGRProps>;
431
+ /**
432
+ * In case the button is being used as a trigger for a popover, this prop will
433
+ * determine the direction of caret in which the popover will be displayed.
434
+ *
435
+ * @default "bottom"
436
+ */
437
+ popupPlacement?: "top" | "bottom" | "left" | "right";
438
+ /**
439
+ * The size of the button.
440
+ *
441
+ * @default "md"
442
+ */
443
+ size?: "md" | "lg";
444
+ }
445
+
446
+ declare const ToggleButton: React$1.ForwardRefExoticComponent<ToggleButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
447
+
448
+ interface CheckboxProps extends AriaCheckboxProps, Omit<ToggleProps, "children">, StylingProps {
449
+ /** The checkbox's label. */
450
+ label?: string;
451
+ /**
452
+ * The position of the label
453
+ *
454
+ * @default end
455
+ */
456
+ labelPosition?: "start" | "end";
457
+ }
458
+
459
+ declare const Checkbox: React$1.ForwardRefExoticComponent<CheckboxProps & React$1.RefAttributes<HTMLLabelElement>>;
460
+
461
+ type Excluded = "isDisabled" | "isReadOnly" | "isRequired" | "locale" | "validationState" | "label" | "formatOptions" | "isInvalid";
462
+ interface PaginationProps extends Omit<AriaNumberFieldProps, Excluded>, Omit<NumberFieldStateOptions, Excluded>, StylingProps {
463
+ /** The largest value allowed for the input. */
464
+ maxValue: number;
465
+ /** The label for the pagination component. */
466
+ "aria-label": string;
467
+ /**
468
+ * The variant of the pagination component.
469
+ *
470
+ * @default floating
471
+ */
472
+ variant?: "floating" | "pinned";
473
+ /**
474
+ * The size of the pagination component.
475
+ *
476
+ * @default md
477
+ */
478
+ size?: "xs" | "sm" | "md" | "lg";
479
+ }
480
+
481
+ declare const Pagination: React$1.ForwardRefExoticComponent<PaginationProps & React$1.RefAttributes<HTMLDivElement>>;
482
+
483
+ interface I18nProviderProps extends I18nProviderProps$1 {
484
+ /** The messages to use for internationalization. */
485
+ messages?: LocalizedStrings;
486
+ }
487
+
488
+ declare const I18nProvider: React$1.FC<I18nProviderProps>;
489
+
490
+ type NumberFormatProps = Parameters<typeof useNumberFormatter>[0] & {
491
+ /** The number to format. */
492
+ value: number;
493
+ };
494
+
495
+ declare const NumberFormat: React$1.FC<NumberFormatProps>;
496
+
497
+ type DateFormatProps = Parameters<typeof useDateFormatter>[0] & {
498
+ /** The date to format. */
499
+ date: Date;
500
+ };
501
+
502
+ declare const DateFormat: React$1.FC<DateFormatProps>;
503
+
504
+ type Item = {
505
+ id: string;
506
+ label: string;
507
+ variant?: "neutral" | "red" | "green" | "blue" | "high-contrast";
508
+ icon?: React$1.FC<SVGRProps>;
509
+ };
510
+ interface TagGroupProps extends StylingProps, Omit<AriaTagGroupProps<Item>, "children" | "errorMessage" | "description">, Omit<ListProps<Item>, "children" | "collection" | "filter"> {
511
+ /**
512
+ * The items to display in the tag group.
513
+ *
514
+ * Type Item = { id: string; label: string; variant?: "neutral" | "red" |
515
+ * "green" | "blue" | "high-contrast"; icon?: React.FC<SVGRProps>; }
516
+ */
517
+ items: Item[];
518
+ /**
519
+ * The variant of the tag group.
520
+ *
521
+ * @default "neutral"
522
+ */
523
+ variant?: Item["variant"];
524
+ /** The label for the tag group. */
525
+ "aria-label": string;
526
+ }
527
+
528
+ declare const TagGroup: React$1.ForwardRefExoticComponent<TagGroupProps & React$1.RefAttributes<HTMLDivElement>>;
529
+
530
+ interface AccordionProps extends StylingProps {
531
+ /**
532
+ * This prop controls the expansion mode of the accordion. If set to `single`,
533
+ * only one item can be expanded at a time. If set to `multiple`, multiple
534
+ * items can be expanded at the same time.
535
+ *
536
+ * @default single
537
+ */
538
+ expansionMode?: "single" | "multiple";
539
+ /** This callback is called when the expanded state of the accordion changes. */
540
+ onChange?: (value: Set<Key>) => void;
541
+ /** The children of the accordion. Each child should be an `AccordionItem`. */
542
+ children: React$1.ReactNode;
543
+ /** The keys of the items that should be expanded by default. */
544
+ defaultExpandedKeys?: Set<Key>;
545
+ /**
546
+ * The keys of the items that should be expanded. If this prop is provided,
547
+ * the accordion will be a controlled component. This means that the expanded
548
+ * state of the accordion will not change unless you update this prop.
549
+ */
550
+ expandedKeys?: Set<Key>;
551
+ /**
552
+ * The keys of the items that should be disabled. Disabled items cannot be
553
+ * expanded or collapsed.
554
+ */
555
+ disabledKeys?: Set<Key>;
556
+ }
557
+ interface AccordionItemProps extends StylingProps {
558
+ /** The title of the accordion item. */
559
+ title: string;
560
+ /**
561
+ * The buttons that should be rendered in the accordion item. These buttons
562
+ * will be rendered in the top right corner of the accordion item. They will
563
+ * be rendered in the order they are provided. The buttons will be rendered as
564
+ * `ActionIconButton`s, so you can pass any props that you would pass to an
565
+ * `ActionIconButton`.
566
+ *
567
+ * @example
568
+ * ```jsx
569
+ * <AccordionItem
570
+ * title="Accordion Item"
571
+ * actions={[{
572
+ * icon: EditIcon,
573
+ * label: "Edit",
574
+ * onPress: () => alert("Edit"),
575
+ * }]}>Content</AccordionItem>
576
+ * ```;
577
+ */
578
+ actions?: Omit<ActionIconButtonProps, "size" | "variant" | "excludeFromTabOrder">[];
579
+ /**
580
+ * The action buttons should only be shown when the user hovers over or
581
+ * focuses the accordion item.
582
+ *
583
+ * @default false
584
+ */
585
+ showActionsOnTriggerOnly?: boolean;
586
+ /** The content of the accordion item. */
587
+ children: React$1.ReactNode;
588
+ /** The key of the accordion item. */
589
+ value: Key;
590
+ /**
591
+ * The description of the accordion item. This will be rendered at the end of
592
+ * the accordion header.
593
+ */
594
+ subLabel?: string;
595
+ }
596
+
597
+ declare const Accordion: React$1.ForwardRefExoticComponent<AccordionProps & React$1.RefAttributes<HTMLDivElement>>;
598
+
599
+ declare const AccordionItem: React$1.ForwardRefExoticComponent<AccordionItemProps & React$1.RefAttributes<HTMLHeadingElement>>;
600
+
601
+ type ListOption = {
602
+ id: string;
603
+ label: string;
604
+ description?: string;
605
+ icon?: React$1.FC<IconProps>;
606
+ /**
607
+ * The type of item.
608
+ *
609
+ * @default item
610
+ */
611
+ type?: "option";
612
+ };
613
+ type ListSection = {
614
+ id: string;
615
+ title?: string;
616
+ type: "section";
617
+ children: ListOption[];
618
+ };
619
+ type ListItem = ListOption | ListSection;
620
+ interface ListBoxProps extends StylingProps, AriaListBoxOptions<ListItem>, Omit<AriaListBoxProps<ListItem>, "children"> {
621
+ /**
622
+ * The items to render in the listbox. Items have the following shape:
623
+ *
624
+ * ```ts
625
+ * export type ListOption = {
626
+ * id: string;
627
+ * label: string;
628
+ * helperText?: string;
629
+ * icon?: React.FC<IconProps>;
630
+ * };
631
+ *
632
+ * export type ListSection = {
633
+ * name?: string;
634
+ * type: "section";
635
+ * children: ListOption[];
636
+ * };
637
+ *
638
+ * type ListItem = ListOption | ListSection;
639
+ * ```
640
+ */
641
+ items: ListItem[];
642
+ /**
643
+ * The custom render function for the listbox options.
644
+ *
645
+ * @param item Node<ListItem>
646
+ * @param options [OptionAria]()
647
+ * @param ref React.RefObject<HTMLLIElement>
648
+ */
649
+ renderOption?: (item: Node$1<ListItem>, options: OptionAria, ref: React$1.RefObject<HTMLLIElement>) => React$1.ReactNode;
650
+ /** Whether to show the selected checkmark icon. */
651
+ showSelectedIcon?: boolean;
652
+ /** The label for the listbox. */
653
+ label?: string;
654
+ /**
655
+ * Whether the items are arranged in a stack or grid.
656
+ *
657
+ * @default stack
658
+ */
659
+ layout?: "grid" | "stack";
660
+ /**
661
+ * The primary orientation of the items. Usually this is the direction that
662
+ * the collection scrolls.
663
+ *
664
+ * @default vertical
665
+ */
666
+ orientation?: Orientation;
667
+ }
668
+
669
+ interface SelectProps extends Omit<AriaSelectOptions<ListItem>, "validationState" | "items">, Omit<SelectStateOptions<ListItem>, "children" | "items" | "validationState" | "isRequired" | "isInvalid">, Pick<ListBoxProps, "items" | "showSelectedIcon">, Omit<PopoverContentProps, "className" | "style" | "triggerRef" | "children">, StylingProps {
670
+ /**
671
+ * The position of the label.
672
+ *
673
+ * @default "top"
674
+ */
675
+ labelPosition?: "top" | "start";
676
+ /** The description of the select component. */
677
+ description?: string;
678
+ /** The error message of the select component. */
679
+ errorMessage?: string;
680
+ /** The warning message of the select component. */
681
+ warningMessage?: string;
682
+ /** The label of the select component. */
683
+ label?: string;
684
+ /** The variant of the select component. */
685
+ variant?: "primary" | "ghost";
686
+ /** The state of the select component. */
687
+ validationState?: "valid" | "error" | "warning";
688
+ /** Whether the select component is read only. */
689
+ isReadOnly?: boolean;
690
+ }
691
+
692
+ declare const Select: React$1.ForwardRefExoticComponent<SelectProps & React$1.RefAttributes<HTMLDivElement>>;
693
+
694
+ declare const ListBox: React$1.ForwardRefExoticComponent<ListBoxProps & React$1.RefAttributes<HTMLUListElement>>;
695
+
696
+ interface AvatarProps extends StylingProps {
697
+ /**
698
+ * The size of the component.
699
+ *
700
+ * @default "md"
701
+ */
702
+ size?: "md" | "sm";
703
+ /**
704
+ * The icon to display. This icon has to be imported from the
705
+ * `@baseline-ui/icons` package.
706
+ */
707
+ icon?: React$1.FC<SVGRProps>;
708
+ /** The name of the user. */
709
+ name: string;
710
+ /** The URL of the image to display. */
711
+ imgSrc?: string;
712
+ /**
713
+ * The image loading strategy to use. See
714
+ * [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes:~:text=a%20fallback%20destination.-,loading,-Indicates%20how%20the)
715
+ */
716
+ imgLoading?: "lazy" | "eager";
717
+ /** Whether to show the initials of the user if no image is provided. */
718
+ showInitials?: boolean;
719
+ /** Whether the component is disabled. */
720
+ isDisabled?: boolean;
721
+ /** Whether the user has a notification. */
722
+ hasNotifications?: boolean;
723
+ }
724
+
725
+ declare const Avatar: React$1.ForwardRefExoticComponent<AvatarProps & React$1.RefAttributes<HTMLSpanElement>>;
726
+
727
+ type ItemProps = React$1.ComponentProps<typeof Item$2> & StylingProps & {
728
+ key?: Key;
729
+ icon?: React$1.FC<SVGRProps>;
730
+ value?: string;
731
+ title?: string;
732
+ };
733
+ type TabsProps = Omit<StylingProps & AriaTabListProps<ItemProps>, "orientation" | "children" | "items" | "selectedKey" | "defaultSelectedKey" | "disabledKeys"> & {
734
+ /**
735
+ * The `TabItem` components to render inside the `Tabs` component.
736
+ *
737
+ * ```jsx
738
+ * <Tabs>
739
+ * <TabItem key="tab1" title="Tab 1">
740
+ * <div>Tab 1 content</div>
741
+ * </TabItem>
742
+ * <TabItem key="tab2" title="Tab 2">
743
+ * <div>Tab 2 content</div>
744
+ * </TabItem>
745
+ * </Tabs>;
746
+ * ```
747
+ */
748
+ children: React$1.ReactNode;
749
+ /**
750
+ * The key of the tab that needs to be removed.
751
+ *
752
+ * @param key
753
+ */
754
+ onRemove?: (key: Key) => void;
755
+ /** The value of the tab that needs to be selected. */
756
+ selectedValue?: string;
757
+ /** The default value of the tab that needs to be selected. */
758
+ defaultSelectedValue?: string;
759
+ /** The values of the tabs that need to be disabled. */
760
+ disabledValues?: Set<Key>;
761
+ /** A list of action buttons to render beside the tab items. */
762
+ actions?: Omit<ActionIconButtonProps, "variant" | "size">[];
763
+ /** The variant of the tabs */
764
+ variant?: "primary" | "ghost";
765
+ /** The className to apply to the tab header container. */
766
+ tabHeaderClassName?: string;
767
+ /** The style to apply to the tab header container. */
768
+ tabHeaderStyle?: React$1.CSSProperties;
769
+ };
770
+ type TabItemProps = StylingProps & {
771
+ /** The title of the tab. This will be displayed in the tab button. */
772
+ title: string;
773
+ /** The icon to display in front of the title. */
774
+ icon?: React$1.FC<SVGRProps>;
775
+ /** The value of the tab. This will be used to identify the tab. */
776
+ value: string;
777
+ };
778
+
779
+ declare const Tabs: React$1.ForwardRefExoticComponent<Omit<StylingProps & react_aria.AriaTabListProps<ItemProps>, "children" | "orientation" | "items" | "disabledKeys" | "selectedKey" | "defaultSelectedKey"> & {
780
+ children: React$1.ReactNode;
781
+ onRemove?: ((key: React$1.Key) => void) | undefined;
782
+ selectedValue?: string | undefined;
783
+ defaultSelectedValue?: string | undefined;
784
+ disabledValues?: Set<React$1.Key> | undefined;
785
+ actions?: Omit<ActionIconButtonProps, "size" | "variant">[] | undefined;
786
+ variant?: "primary" | "ghost" | undefined;
787
+ tabHeaderClassName?: string | undefined;
788
+ tabHeaderStyle?: React$1.CSSProperties | undefined;
789
+ } & React$1.RefAttributes<HTMLDivElement>>;
790
+
791
+ declare const TabItem: React$1.FC<TabItemProps>;
792
+
793
+ interface InlineAlertProps extends StylingProps {
794
+ /**
795
+ * The variant of the alert.
796
+ *
797
+ * @default "info"
798
+ */
799
+ variant?: "info" | "warning" | "error" | "success";
800
+ /** The title of the alert. */
801
+ title: string;
802
+ /** The description of the alert. */
803
+ description: string;
804
+ /**
805
+ * The label of the action button. When provided, the action button will be
806
+ * rendered.
807
+ */
808
+ actionLabel?: string;
809
+ /** The callback fired when the action button is clicked. */
810
+ onAction?: () => void;
811
+ /**
812
+ * The callback fired when the close button is clicked. When provided, the
813
+ * close button will be rendered.
814
+ */
815
+ onClose?: () => void;
816
+ /**
817
+ * The arrangement of the variable.
818
+ *
819
+ * @default "single"
820
+ * @typedef {"single" | "multi" | "compact"} Arrangement
821
+ */
822
+ arrangement?: "single" | "multi" | "compact";
823
+ /**
824
+ * The size of the alert.
825
+ *
826
+ * @default "md"
827
+ */
828
+ size?: "sm" | "md";
829
+ }
830
+
831
+ declare const InlineAlert: React$1.ForwardRefExoticComponent<InlineAlertProps & React$1.RefAttributes<HTMLDivElement>>;
832
+
833
+ interface NumberInputProps extends StylingProps, Omit<AriaNumberFieldProps, "validationState" | "isRequired"> {
834
+ /**
835
+ * The position of the label relative to the input.
836
+ *
837
+ * @default top
838
+ */
839
+ labelPosition?: "top" | "start";
840
+ /**
841
+ * The variant of the number input.
842
+ *
843
+ * @default primary
844
+ */
845
+ variant?: "primary" | "ghost";
846
+ /**
847
+ * Whether to show the stepper buttons.
848
+ *
849
+ * @default true
850
+ */
851
+ showStepper?: boolean;
852
+ /** The description to display below the input. */
853
+ description?: string;
854
+ /** The error message to display when the input is in an error state. */
855
+ errorMessage?: string;
856
+ }
857
+
858
+ declare const NumberInput: React$1.ForwardRefExoticComponent<NumberInputProps & React$1.RefAttributes<HTMLDivElement>>;
859
+
860
+ interface DialogProps extends AriaDialogProps, StylingProps {
861
+ /** The children to render. */
862
+ children: React$1.ReactNode;
863
+ /**
864
+ * The size of the dialog. This defines the max width of the dialog.
865
+ *
866
+ * @default "sm"
867
+ */
868
+ size?: "sm" | "md" | "lg";
869
+ /**
870
+ * The variant of the dialog.
871
+ *
872
+ * @default "primary"
873
+ */
874
+ variant?: "primary" | "ghost";
875
+ }
876
+ interface DialogTitleProps extends StylingProps {
877
+ /** The children to render. */
878
+ children: React$1.ReactNode;
879
+ }
880
+
881
+ declare const Dialog: React$1.ForwardRefExoticComponent<DialogProps & React$1.RefAttributes<HTMLDivElement>>;
882
+
883
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<DialogTitleProps & React$1.RefAttributes<HTMLDivElement>>;
884
+
885
+ interface ColorPreset {
886
+ label: string;
887
+ color: string;
888
+ }
889
+ interface ColorInputProps extends OverlayTriggerProps, StylingProps, Pick<ColorFieldProps, "onChange" | "defaultValue" | "value" | "label" | "isDisabled">, Pick<AriaLabelingProps, "aria-label"> {
890
+ /**
891
+ * The list of color presets to show in the color picker. The signature of the
892
+ * color presets is:
893
+ *
894
+ * ```ts
895
+ * export interface ColorPreset {
896
+ * label: string;
897
+ * color: string;
898
+ * }
899
+ * ```
900
+ *
901
+ * The color can be a hex or hexa value.
902
+ */
903
+ presets: ColorPreset[];
904
+ /**
905
+ * Whether to show the color label.
906
+ *
907
+ * @default true
908
+ */
909
+ showColorLabel?: boolean;
910
+ /**
911
+ * Whether to allow alpha values in the color picker.
912
+ *
913
+ * @default false
914
+ */
915
+ allowAlpha?: boolean;
916
+ /**
917
+ * Whether to allow the removal of the color.
918
+ *
919
+ * @default false
920
+ */
921
+ allowRemoval?: boolean;
922
+ /** The label position of the color input. */
923
+ labelPosition?: "top" | "start";
924
+ }
925
+
926
+ declare const ColorInput: React$1.ForwardRefExoticComponent<ColorInputProps & React$1.RefAttributes<HTMLDivElement>>;
927
+
928
+ declare const ColorSwatch: React$1.FC<ColorSwatchProps>;
929
+ interface ColorSwatchProps {
930
+ color?: string;
931
+ isFocusVisible?: boolean;
932
+ isDisabled?: boolean;
933
+ isSelected?: boolean;
934
+ isPresentational?: boolean;
935
+ }
936
+
937
+ interface FreehandCanvasProps extends StylingProps, AriaLabelingProps {
938
+ /** The className applicable to the SVG canvas. */
939
+ canvasClassName?: string;
940
+ /** The style applicable to the SVG canvas. */
941
+ canvasStyle?: React$1.CSSProperties;
942
+ /** The className applicable to the footer. */
943
+ footerClassName?: string;
944
+ /** The style applicable to the footer. */
945
+ footerStyle?: React$1.CSSProperties;
946
+ /**
947
+ * How much to soften the stroke's edges.
948
+ *
949
+ * @default 0
950
+ */
951
+ smoothing?: number;
952
+ /**
953
+ * How much to streamline the stroke.
954
+ *
955
+ * @default 0
956
+ */
957
+ streamline?: number;
958
+ /** An easing function to apply to each point's pressure. */
959
+ easing?: (pressure: number) => number;
960
+ /**
961
+ * Whether to simulate pressure based on velocity.
962
+ *
963
+ * @default false
964
+ */
965
+ simulatePressure?: boolean;
966
+ /** Cap, taper and easing for the start of the line. */
967
+ start?: {
968
+ cap?: boolean;
969
+ taper?: number | boolean;
970
+ easing?: (distance: number) => number;
971
+ };
972
+ /** Cap, taper and easing for the end of the line. */
973
+ end?: {
974
+ cap?: boolean;
975
+ taper?: number | boolean;
976
+ easing?: (distance: number) => number;
977
+ };
978
+ /**
979
+ * The width of the stroke.
980
+ *
981
+ * @default 2
982
+ */
983
+ strokeWidth?: number;
984
+ /**
985
+ * The color of the stroke.
986
+ *
987
+ * @default #3A87FD
988
+ */
989
+ strokeColor?: string;
990
+ /**
991
+ * Whether to keep the points within the canvas.
992
+ *
993
+ * @default true
994
+ */
995
+ isBound?: boolean;
996
+ /**
997
+ * Callback for when the points change. This is called on every point change.
998
+ *
999
+ * @param points
1000
+ */
1001
+ onChange?: (points: number[][][]) => void;
1002
+ /**
1003
+ * Callback for when the points change has ended. This is called once after
1004
+ * the pointerup event. It is recommended to use this callback for performance
1005
+ * reasons.
1006
+ *
1007
+ * @param points
1008
+ */
1009
+ onChangeEnd?: (points: number[][][]) => void;
1010
+ /** The default points to render. */
1011
+ defaultValue?: number[][][];
1012
+ /** The label for the canvas. */
1013
+ label?: string;
1014
+ /**
1015
+ * Whether to enable history for undo/redo.
1016
+ *
1017
+ * @default false
1018
+ */
1019
+ enableHistory?: boolean;
1020
+ /**
1021
+ * Whether the canvas is inline.
1022
+ *
1023
+ * @default true
1024
+ */
1025
+ isInline?: boolean;
1026
+ /** Whether the canvas is disabled. */
1027
+ isDisabled?: boolean;
1028
+ /** The placeholder for the canvas. */
1029
+ placeholder?: string;
1030
+ /** The label for the clear button. */
1031
+ clearLabel?: string;
1032
+ /** The label for the undo button. */
1033
+ undoLabel?: string;
1034
+ /** The label for the redo button. */
1035
+ redoLabel?: string;
1036
+ /** Description for the canvas. */
1037
+ description?: string;
1038
+ }
1039
+
1040
+ declare const FreehandCanvas: React$1.ForwardRefExoticComponent<FreehandCanvasProps & React$1.RefAttributes<HTMLDivElement>>;
1041
+
1042
+ type TextProps<T extends keyof React$1.JSX.IntrinsicElements = "span"> = StylingProps & React$1.ComponentProps<T> & {
1043
+ /**
1044
+ * The type of text to render.
1045
+ *
1046
+ * @default "title"
1047
+ */
1048
+ type?: "subtitle" | "title" | "body" | "value" | "helper";
1049
+ /**
1050
+ * The size of the text.
1051
+ *
1052
+ * @default "md"
1053
+ */
1054
+ size?: "sm" | "md" | "lg";
1055
+ /** The text to render. Can be a string or a number. */
1056
+ children: React$1.ReactNode;
1057
+ /**
1058
+ * The HTML element to render.
1059
+ *
1060
+ * @default "span"
1061
+ */
1062
+ elementType?: React$1.ElementType;
1063
+ };
1064
+
1065
+ declare const Text: React$1.ForwardRefExoticComponent<Pick<TextProps, "color" | "size" | "content" | "translate" | "hidden" | "style" | "placeholder" | "children" | "elementType" | "className" | "data-blockid" | "slot" | "title" | "type" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key"> & React$1.RefAttributes<HTMLDivElement>>;
1066
+
1067
+ type TransformProps = {
1068
+ /** The `className` property assigned to the root element of the component. */
1069
+ className?: string;
1070
+ /** The `style` property assigned to the root element of the component. */
1071
+ style?: React$1.CSSProperties;
1072
+ /** The children to render. */
1073
+ children: (options: {
1074
+ style: React$1.CSSProperties;
1075
+ }) => React$1.ReactNode;
1076
+ /** Whether the transform is draggable. */
1077
+ isDraggable?: boolean;
1078
+ /** Whether the transform is resizable. */
1079
+ isResizable?: boolean;
1080
+ /** Whether the transform is rotatable. */
1081
+ isRotatable?: boolean;
1082
+ /** Whether the transform is snappable. */
1083
+ isSnappable?: boolean;
1084
+ /** A callback that will be called when the transform changes. */
1085
+ onTransform?: (transform: OnRender) => void;
1086
+ /** A callback that will be called when the transform starts. */
1087
+ onTransformStart?: (transform: OnRenderStart) => void;
1088
+ /** A callback that will be called when the transform ends. */
1089
+ onTransformEnd?: (transform: OnRender) => void;
1090
+ /** A callback that will be called when the target drag starts. */
1091
+ onDragStart?: (e: OnDragStart) => void;
1092
+ /** A callback that will be called when the target is dragged. */
1093
+ onDrag?: (e: OnDrag) => void;
1094
+ /** A callback that will be called when the target drag ends. */
1095
+ onDragEnd?: (e: OnDragEnd) => void;
1096
+ /** A callback that will be called when the target resize starts. */
1097
+ onResizeStart?: (e: OnResizeStart) => void;
1098
+ /** A callback that will be called when the target is resized. */
1099
+ onResize?: (e: OnResize) => void;
1100
+ /** A callback that will be called when the target resize ends. */
1101
+ onResizeEnd?: (e: OnResizeEnd) => void;
1102
+ /** A callback that will be called when the target rotation starts. */
1103
+ onRotateStart?: (e: OnRotateStart) => void;
1104
+ /** A callback that will be called when the target is rotated. */
1105
+ onRotate?: (e: OnRotate) => void;
1106
+ /** A callback that will be called when the target rotation ends. */
1107
+ onRotateEnd?: (e: OnRotateEnd) => void;
1108
+ /** A callback that will be called when the target is snapped. */
1109
+ onSnap?: (e: OnSnap) => void;
1110
+ /** A callback that will be called when the child is double clicked. */
1111
+ onDoubleClick?: (e: React$1.MouseEvent<HTMLDivElement, MouseEvent>) => void;
1112
+ /** A list of selectors relative to which the guidelines will be rendered. */
1113
+ elementGuidelines?: string[];
1114
+ /**
1115
+ * Set directions to show the control box.
1116
+ *
1117
+ * @default false if rotatable, ["n", "nw", "ne", "s", "se", "sw", "e", "w"] otherwise
1118
+ */
1119
+ renderDirections?: boolean | ("n" | "nw" | "ne" | "s" | "se" | "sw" | "e" | "w")[];
1120
+ /**
1121
+ * Whether the anchor should be hidden when dragging.
1122
+ *
1123
+ * @default true
1124
+ */
1125
+ hideAnchorOnDrag?: boolean;
1126
+ /** The `title` property assigned to the root element of the component. */
1127
+ title: string;
1128
+ /** The position of the rotation anchor. */
1129
+ rotationPosition?: RotationPosition;
1130
+ /**
1131
+ * Degree angles to snap to rotation
1132
+ *
1133
+ * @default [ ]
1134
+ */
1135
+ snapRotationDegrees?: number[];
1136
+ /**
1137
+ * Snap works if `abs(current rotation - snapRotationDegrees) <
1138
+ * snapRotationThreshold`.
1139
+ *
1140
+ * @default 5
1141
+ */
1142
+ snapRotationThreshold?: number;
1143
+ /** Whether the transform should be updated automatically. */
1144
+ autoUpdate?: boolean;
1145
+ /** The element ref, selector or element to which the transform will be bound. */
1146
+ bound?: React$1.RefObject<HTMLElement> | string | HTMLElement;
1147
+ /** The element ref, selector or element that is it's scrollable ancestor. */
1148
+ scrollableAncestor?: React$1.RefObject<HTMLElement> | string | HTMLElement;
1149
+ /**
1150
+ * Whether to prevent bubbling of events like mousedown, touchstart, etc.
1151
+ *
1152
+ * @default false
1153
+ */
1154
+ stopPropagation?: boolean;
1155
+ /**
1156
+ * Whether to call preventDefault on touchstart or mousedown
1157
+ *
1158
+ * @default true
1159
+ */
1160
+ preventDefault?: boolean;
1161
+ /**
1162
+ * The default transformOrigin of the target can be set in advance.
1163
+ *
1164
+ * @default ""
1165
+ */
1166
+ transformOrigin?: Array<string | number> | string | "";
1167
+ };
1168
+
1169
+ declare const Transform: React$1.ForwardRefExoticComponent<TransformProps & React$1.RefAttributes<HTMLDivElement>>;
1170
+
1171
+ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "variant">, Omit<DropOptions, "ref" | "getDropOperation" | "hasDropButton" | "getDropOperationForPoint">, Omit<ClipboardProps, "getItems" | "onCut" | "onCopy">, AriaLabelingProps {
1172
+ /**
1173
+ * The initial image to display. This will be used as the `src` attribute of
1174
+ * the `<img>` element. You will be able to choose a new image.
1175
+ */
1176
+ defaultImageSrc?: string;
1177
+ /**
1178
+ * The image to display. This will be used as the `src` attribute of the
1179
+ * `<img>` element and will not be able to be changed from within the
1180
+ * component. Basically, this makes the component controlled.
1181
+ */
1182
+ imageSrc?: string;
1183
+ /**
1184
+ * The alt text to display for the image. This will be used as the `alt`
1185
+ * attribute of the `<img>`. element. If no `imageAlt` is provided, the
1186
+ * `label` will be used.
1187
+ */
1188
+ imageAlt?: string;
1189
+ /** The label to display for the picker button. */
1190
+ pickerButtonLabel?: string;
1191
+ /** The label to display for the remove button. */
1192
+ removeButtonLabel?: string;
1193
+ /**
1194
+ * Whether to show the checkered background behind the image. This is useful
1195
+ * when the image has transparency.
1196
+ *
1197
+ * @default true
1198
+ */
1199
+ includeCheckeredBackground?: boolean;
1200
+ /** Whether the component is inlined. */
1201
+ isInline?: boolean;
1202
+ }
1203
+
1204
+ declare const ImageDropZone: React$1.ForwardRefExoticComponent<ImageDropZoneProps & React$1.RefAttributes<HTMLLabelElement>>;
1205
+
1206
+ interface PreviewProps extends StylingProps, AriaLabelingProps {
1207
+ /**
1208
+ * Whether the preview should be displayed inline or not. This is just a
1209
+ * visual change, the component will still behave the same.
1210
+ *
1211
+ * @default true
1212
+ */
1213
+ isInline?: boolean;
1214
+ /**
1215
+ * The image to display in the preview. This can be a URL or a base64 encoded
1216
+ * string.
1217
+ */
1218
+ imageSrc?: string;
1219
+ /** The alt text for the image. */
1220
+ imageAlt?: string;
1221
+ /** The SVG to display in the preview. This can be a React element or a string. */
1222
+ svgSrc?: string | React$1.ReactElement;
1223
+ /** Whether the preview should be disabled or not. */
1224
+ isDisabled?: boolean;
1225
+ /**
1226
+ * An array of action button props to display in the preview. These props are
1227
+ * passed to the [`ActionButton`](/?path=/docs/core-actionbutton--docs)
1228
+ * component.
1229
+ */
1230
+ actionButtons?: ActionButtonProps[];
1231
+ /** The text to display in the preview. */
1232
+ textValue?: string;
1233
+ /** The style of the text. */
1234
+ textStyle?: React$1.CSSProperties;
1235
+ }
1236
+
1237
+ declare const Preview: React$1.ForwardRefExoticComponent<PreviewProps & React$1.RefAttributes<HTMLDivElement>>;
1238
+
1239
+ interface RadioGroupProps extends StylingProps, Omit<AriaRadioGroupProps, "description" | "errorMessage" | "isRequired"> {
1240
+ /**
1241
+ * The position of the label relative to the input.
1242
+ *
1243
+ * @default top
1244
+ */
1245
+ labelPosition?: "top" | "start";
1246
+ /**
1247
+ * The list of items to render in the radio group. Items have the following
1248
+ * shape:
1249
+ *
1250
+ * ```ts
1251
+ * export type ListOption = {
1252
+ * id: string;
1253
+ * label: string;
1254
+ * description?: string;
1255
+ * icon?: React.FC<IconProps>;
1256
+ * };
1257
+ * ```
1258
+ */
1259
+ items: ListOption[];
1260
+ /**
1261
+ * Render item option
1262
+ *
1263
+ * @typedef {Object} RenderItemOptions
1264
+ * @property {boolean} isFocusVisible - Whether the focus ring is visible.
1265
+ * @property {boolean} isFocused - Whether the option is focused.
1266
+ * @property {boolean} isSelected - Whether the option is selected.
1267
+ * @property {boolean} isHovered - Whether the option is hovered.
1268
+ * @property {boolean} isDisabled - Whether the option is disabled.
1269
+ */
1270
+ /**
1271
+ * The custom render function for the radio group options.
1272
+ *
1273
+ * @param {ListOption} item The item to render.
1274
+ * @param {RenderItemOptions} options The options for rendering the item.
1275
+ */
1276
+ renderOption?: (item: ListOption, options: {
1277
+ isFocusVisible: boolean;
1278
+ isFocused: boolean;
1279
+ isSelected: boolean;
1280
+ isHovered: boolean;
1281
+ isDisabled: boolean;
1282
+ optionLabelPosition: "start" | "end";
1283
+ }) => React$1.ReactNode;
1284
+ /** The class name for the group container. */
1285
+ groupContainerClassName?: string;
1286
+ /** The style for the group container. */
1287
+ groupContainerStyle?: React$1.CSSProperties;
1288
+ /** The ids of the items that are disabled. */
1289
+ disabledValues?: string[];
1290
+ /**
1291
+ * The position of the label of individual radio buttons.
1292
+ *
1293
+ * @default end
1294
+ */
1295
+ optionLabelPosition?: "start" | "end";
1296
+ /** The className applicable to the label. */
1297
+ labelClassName?: string;
1298
+ /** The style applicable to the label. */
1299
+ labelStyle?: React$1.CSSProperties;
1300
+ }
1301
+
1302
+ declare const RadioGroup: React$1.ForwardRefExoticComponent<RadioGroupProps & React$1.RefAttributes<HTMLDivElement>>;
1303
+
1304
+ interface ModalProps extends OverlayTriggerProps {
1305
+ }
1306
+ interface ModalContentProps extends AriaModalOverlayProps, StylingProps {
1307
+ children: React$1.ReactNode | ((props: {
1308
+ close: () => void;
1309
+ }) => React$1.ReactNode);
1310
+ }
1311
+
1312
+ declare const Modal: React$1.FC<ModalProps>;
1313
+
1314
+ declare const ModalContent: React$1.FC<ModalContentProps>;
1315
+
1316
+ declare const ModalTrigger: React$1.FC;
1317
+
1318
+ declare const ModalClose: React$1.FC;
1319
+
1320
+ interface MessageFormatProps {
1321
+ /**
1322
+ * By default `<MessageFormat>` will render the formatted string into a
1323
+ * `<React.Fragment>`. If you need to customize rendering, you can either wrap
1324
+ * it with another React element (recommended), specify a different tagName
1325
+ * (e.g., 'div')
1326
+ */
1327
+ elementType?: React$1.ElementType | "div" | "span";
1328
+ /** The id of the message to format. */
1329
+ id: string;
1330
+ /** The default message to use if the message id is not found. */
1331
+ defaultMessage?: string;
1332
+ /** The values to use for formatting the message. */
1333
+ values?: Record<string, string | number | boolean | null | undefined>;
1334
+ }
1335
+
1336
+ declare const MessageFormat: React$1.FC<MessageFormatProps>;
1337
+
1338
+ interface GroupProps extends StylingProps, AriaLabelingProps {
1339
+ /**
1340
+ * The `role` property specifies the accessibility `role` for the group. By
1341
+ * default, it is set to 'group'. If the contents of the group are important
1342
+ * enough to be included in the page table of contents, use 'region'. If the
1343
+ * group is visual only and does not represent a semantic grouping of
1344
+ * controls, use 'presentation'.
1345
+ *
1346
+ * @default group
1347
+ */
1348
+ role?: "group" | "region" | "presentation";
1349
+ /** Whether the group is disabled. */
1350
+ isDisabled?: boolean;
1351
+ /** The children to render. */
1352
+ children: React.ReactNode;
1353
+ }
1354
+
1355
+ declare const Group: React$1.ForwardRefExoticComponent<GroupProps & React$1.RefAttributes<HTMLDivElement>>;
1356
+
1357
+ /**
1358
+ * A hook that creates an IntersectionObserver and observes a target element.
1359
+ *
1360
+ * @example
1361
+ * ```tsx
1362
+ * import { useIntersectionObserver } from "@baseline-ui/core";
1363
+ *
1364
+ * const MyComponent = () => {
1365
+ * const ref = useRef(null);
1366
+ *
1367
+ * const onIntersect = (entry) => {
1368
+ * console.log(entry);
1369
+ * };
1370
+ *
1371
+ * useIntersectionObserver({ ref, onIntersect });
1372
+ *
1373
+ * return <div ref={ref}>Hello world</div>;
1374
+ * };
1375
+ * ```;
1376
+ *
1377
+ * @param {IntersectionObserverOptions} options - The options for the
1378
+ * IntersectionObserver.
1379
+ * @param {React.RefObject<HTMLElement>} options.ref - The ref of the target
1380
+ * element to observe.
1381
+ * @param {(entry: IntersectionObserverEntry) => void} options.onIntersect - The
1382
+ * function to call when the target element intersects the root element.
1383
+ * @param {boolean} options.isDisabled - Whether the IntersectionObserver should
1384
+ * be disabled.
1385
+ * @param {number | number[]} options.threshold - The threshold(s) at which to
1386
+ * trigger the onIntersect function.
1387
+ * @param {string} options.rootMargin - The margin around the root element.
1388
+ * @param {React.RefObject<HTMLElement>} options.root - The ref of the root
1389
+ * element to observe.
1390
+ */
1391
+ declare function useIntersectionObserver({ ref, onIntersect, isDisabled, threshold, rootMargin, root, }: IntersectionObserverOptions): void;
1392
+ interface IntersectionObserverOptions {
1393
+ ref: React$1.RefObject<HTMLElement>;
1394
+ onIntersect: (entry: IntersectionObserverEntry) => void;
1395
+ root?: React$1.RefObject<HTMLElement>;
1396
+ rootMargin?: string;
1397
+ threshold?: number;
1398
+ isDisabled?: boolean;
1399
+ }
1400
+
1401
+ /**
1402
+ * A hook that observes the size changes of a DOM element using the
1403
+ * ResizeObserver API.
1404
+ *
1405
+ * @example
1406
+ * ```tsx
1407
+ * const ref = useRef<HTMLDivElement>(null);
1408
+ *
1409
+ * const { size } = useResizeObserver({
1410
+ * ref,
1411
+ * onResize: (entry) => {
1412
+ * // do something
1413
+ * },
1414
+ * isDisabled: false,
1415
+ * });
1416
+ * ```;
1417
+ *
1418
+ * @param {Object} options - The options object.
1419
+ * @param {React.RefObject<HTMLElement>} options.ref - The ref object that
1420
+ * points to the observed element.
1421
+ * @param {Function} options.onResize - The callback function that is called
1422
+ * when the element is resized.
1423
+ * @param {boolean} options.isDisabled - A flag that indicates whether the
1424
+ * observer is disabled.
1425
+ * @returns {Object} An object that contains the size of the observed element.
1426
+ */
1427
+ declare function useResizeObserver({ ref, onResize, isDisabled, }: ResizeObserverOptions): {
1428
+ size: {
1429
+ width: number;
1430
+ height: number;
1431
+ } | undefined;
1432
+ };
1433
+ interface ResizeObserverOptions {
1434
+ ref: React$1.RefObject<HTMLElement>;
1435
+ onResize?: (entry: ResizeObserverEntry) => void;
1436
+ isDisabled?: boolean;
1437
+ }
1438
+
1439
+ /**
1440
+ * A custom hook that loads an image and returns its loading state and props.
1441
+ *
1442
+ * @example
1443
+ * ```tsx
1444
+ * const { isLoaded, hasError, isLoading, imgProps } = useImage({
1445
+ * src: "https://via.placeholder.com/150",
1446
+ * alt: "Placeholder image",
1447
+ * });
1448
+ * ```;
1449
+ *
1450
+ * @param {Object} options - The options object.
1451
+ * @param {string} options.src - The image source URL.
1452
+ * @param {string} options.alt - The image alt text.
1453
+ * @returns {Object} An object containing the image loading state and props.
1454
+ * @returns {boolean} IsLoaded - Whether the image has loaded.
1455
+ * @returns {boolean} HasError - Whether there was an error loading the image.
1456
+ * @returns {boolean} IsLoading - Whether the image is currently loading.
1457
+ * @returns {Object} ImgProps - The image props to be passed to the `img`
1458
+ * element.
1459
+ * @returns {string} ImgProps.src - The image source URL, or `undefined` if the
1460
+ * image hasn't loaded yet.
1461
+ * @returns {string} ImgProps.alt - The image alt text.
1462
+ */
1463
+ declare function useImage({ src, alt }: {
1464
+ src?: string;
1465
+ alt: string;
1466
+ }): {
1467
+ isLoaded: boolean;
1468
+ hasError: boolean;
1469
+ isLoading: boolean;
1470
+ imgProps: {
1471
+ src?: string;
1472
+ alt: string;
1473
+ };
1474
+ };
1475
+
1476
+ /**
1477
+ * A hook that provides undo and redo functionality for a given state.
1478
+ *
1479
+ * @example
1480
+ * ```tsx
1481
+ * const { state, push, undo, redo, pastStates, futureStates, canUndo, canRedo } = useUndoRedo({
1482
+ * onAction: (state, action) => {
1483
+ * // do something
1484
+ * },
1485
+ * });
1486
+ *
1487
+ * // push a new state
1488
+ * push({ foo: "bar" });
1489
+ *
1490
+ * // undo the last state
1491
+ * undo();
1492
+ *
1493
+ * // redo the last state
1494
+ * redo();
1495
+ * ```;
1496
+ *
1497
+ * @template T The type of the state object.
1498
+ * @param initialState The initial state object.
1499
+ * @param options Additional options for the hook.
1500
+ * @param options.isDisabled Whether the undo/redo functionality should be
1501
+ * disabled.
1502
+ * @param options.onAction A callback function that is called whenever an undo
1503
+ * or redo action is performed.
1504
+ * @returns An object containing the current state, undo and redo functions, and
1505
+ * other related properties.
1506
+ */
1507
+ declare const useUndoRedo: <T>(initialState: T | undefined, { isDisabled, onAction, }: {
1508
+ isDisabled?: boolean | undefined;
1509
+ onAction?: ((state: T, action: "UNDO" | "REDO") => void) | undefined;
1510
+ }) => {
1511
+ state: T;
1512
+ push: (newState: T) => void;
1513
+ undo: () => void;
1514
+ redo: () => void;
1515
+ pastStates: T[];
1516
+ futureStates: T[];
1517
+ canUndo: boolean;
1518
+ canRedo: boolean;
1519
+ };
1520
+
1521
+ /**
1522
+ * This hook returns true if the component is being rendered for the first time.
1523
+ * This is useful for avoiding side effects on the first render inside of
1524
+ * useEffect.
1525
+ *
1526
+ * @example
1527
+ * ```tsx
1528
+ * const isFirstRender = useIsFirstRender();
1529
+ *
1530
+ * useEffect(() => {
1531
+ * if (isFirstRender) return;
1532
+ * // do something
1533
+ * return () => {
1534
+ * // do something on unmount
1535
+ * };
1536
+ * }, [isFirstRender]);
1537
+ * ```;
1538
+ *
1539
+ * @returns Whether or not the component is being rendered for the first time
1540
+ */
1541
+ declare function useIsFirstRender(): boolean;
1542
+
1543
+ /**
1544
+ * A hook that provides internationalization functionality. It returns a
1545
+ * function to format messages and the current locale. The hook can be used with
1546
+ * or without a messages object. If no messages object is provided, the hook
1547
+ * will use the messages provided by the `I18nProvider`. If a messages object is
1548
+ * provided, the hook will use those messages instead of the ones provided by
1549
+ * the `I18nProvider`.
1550
+ *
1551
+ * @example
1552
+ * ```tsx
1553
+ * import { useI18n } from "@baseline-ui/core";
1554
+ *
1555
+ * const messages = {
1556
+ * en: { hello: "Hello" },
1557
+ * fr: { hello: "Bonjour" },
1558
+ * };
1559
+ *
1560
+ * const MyComponent = () => {
1561
+ * const { formatMessage, locale } = useI18n(messages);
1562
+ *
1563
+ * return (
1564
+ * <div>
1565
+ * <p>{formatMessage("hello")}</p>
1566
+ * <p>{locale}</p>
1567
+ * </div>
1568
+ * )};
1569
+ * ```;
1570
+ *
1571
+ * @template T - A type that represents the shape of the translation messages.
1572
+ * @param {Object<string, T>} [messages] - An optional object containing
1573
+ * translation messages for different languages.
1574
+ * @returns {I18nResult<T>} An object containing a function to format messages
1575
+ * and the current locale.
1576
+ */
1577
+ declare function useI18n<T extends Record<string, string>>(messages?: {
1578
+ [lang: string]: T;
1579
+ }): I18nResult<T>;
1580
+ interface I18nResult<T extends LocalizedStrings[keyof LocalizedStrings]> {
1581
+ formatMessage: (id: keyof T | MessageDescriptor<T>, values?: {
1582
+ [p: string]: any;
1583
+ }) => string;
1584
+ locale: Locale;
1585
+ }
1586
+ interface MessageDescriptor<T extends LocalizedStrings[keyof LocalizedStrings]> {
1587
+ id: keyof T;
1588
+ defaultMessage?: string;
1589
+ }
1590
+ /**
1591
+ * Defines a set of messages for use with the `useI18n` hook.
1592
+ *
1593
+ * @param messages An object containing message descriptors.
1594
+ * @returns An object containing the message descriptors with their keys as
1595
+ * property names.
1596
+ */
1597
+ declare function defineMessages<T extends LocalizedStrings[keyof LocalizedStrings]>(messages: {
1598
+ [id: string]: MessageDescriptor<T>;
1599
+ }): {
1600
+ [k: string]: keyof T;
1601
+ };
1602
+
1603
+ /**
1604
+ * A hook that uses a MutationObserver to watch for changes to the DOM.
1605
+ *
1606
+ * @example
1607
+ * ```tsx
1608
+ * const targetRef = React.useRef<HTMLDivElement>(null);
1609
+ *
1610
+ * useMutationObserver(targetRef.current, { attributes: true }, (mutations) => {
1611
+ * console.log(mutations);
1612
+ * // do something with the mutations
1613
+ * // ...
1614
+ * });
1615
+ * ```;
1616
+ *
1617
+ * @param target The element to observe for changes.
1618
+ * @param options The options to pass to the MutationObserver.
1619
+ * @param callback The callback to call when a mutation occurs.
1620
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
1621
+ */
1622
+ declare function useMutationObserver(target: Element | null, options: MutationObserverInit, callback: MutationCallback): MutationObserver | null;
1623
+
1624
+ /**
1625
+ * Returns the current window size. This is a custom hook that uses the
1626
+ * `window.addEventListener` API to listen for window resize events. It returns
1627
+ * the current window size as an object with `width` and `height` properties.
1628
+ *
1629
+ * @returns The current window size.
1630
+ */
1631
+ declare function useWindowSize(): {
1632
+ width: number;
1633
+ height: number;
1634
+ };
1635
+
1636
+ type SetValue<T> = (value: T | ((val: T) => T)) => void;
1637
+ /**
1638
+ * A hook to persist a value to localStorage.
1639
+ *
1640
+ * @example
1641
+ * ```tsx
1642
+ * function MyComponent() {
1643
+ * const [value, setValue] = useLocalStorage("my-value", "default-value");
1644
+ * return (
1645
+ * <input value={value} onChange={e => setValue(e.target.value)} />
1646
+ * );
1647
+ * }
1648
+ * ```;
1649
+ *
1650
+ * @param key The localStorage key to use
1651
+ * @param initialValue The initial value to use if the key is not found in
1652
+ * localStorage
1653
+ */
1654
+ declare function useLocalStorage<T>(key: string, initialValue: T): [T, SetValue<T>];
1655
+
1656
+ export { Accordion, AccordionItem, AccordionItemProps, AccordionProps, ActionButton, ActionButtonProps, ActionIconButton, ActionIconButtonProps, Avatar, AvatarProps, BlockProps, Checkbox, CheckboxProps, ColorInput, ColorInputProps, ColorPreset, ColorSwatch, DateFormat, DateFormatProps, Dialog, DialogProps, DialogTitle, DialogTitleProps, DomNodeRenderer, DomNodeRendererProps, FileUpload, FileUploadProps, FreehandCanvas, FreehandCanvasProps, Group, GroupProps, I18nProvider, I18nResult, ImageDropZone, ImageDropZoneProps, InlineAlert, InlineAlertProps, Link, LinkProps, ListBox, ListBoxProps, ListOption, Menu, MenuProps, MessageDescriptor, MessageFormat, MessageFormatProps, Modal, ModalClose, ModalContent, ModalContentProps, ModalProps, ModalTrigger, NumberFormat, NumberFormatProps, NumberInput, NumberInputProps, Pagination, PaginationProps, Portal, PortalProps, Preview, PreviewProps, ProgressBar, ProgressBarProps, ProgressSpinner, ProgressSpinnerProps, RadioGroup, RadioGroupProps, Reaction, ReactionProps, SearchInput, SearchInputProps, Select, SelectProps, Separator, SeparatorProps, Slider, SliderProps, StylingProps, Switch, SwitchProps, TabItem, TabItemProps, Tabs, TabsProps, TagGroup, TagGroupProps, Text, TextInput, TextInputProps, TextProps, ThemeProvider, ThemeProviderProps, ToggleButton, ToggleButtonProps, Tooltip, TooltipProps, Transform, TransformProps, assignInlineTheme, defineMessages, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, useResizeObserver, useUndoRedo, useUserPreferences, useWindowSize };