@baseline-ui/core 0.8.5 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { Key, Dispatch, SetStateAction } from 'react';
2
- import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, ListState, Orientation, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$1 } from 'react-stately';
2
+ import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, Orientation, ListState, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$1 } from 'react-stately';
3
3
  import * as react_aria from 'react-aria';
4
4
  import { DraggableCollectionOptions, DroppableCollectionOptions, AriaListBoxProps, AriaListBoxOptions, OptionAria, AriaButtonProps, AriaSliderProps, AriaSwitchProps, AriaSearchFieldProps, AriaPopoverProps, useOverlayTrigger, AriaMenuProps, AriaMenuTriggerProps, AriaLinkOptions, SeparatorProps as SeparatorProps$1, AriaProgressBarProps, AriaTextFieldProps, AriaTooltipProps, AriaPositionProps, OverlayProps, AriaToggleButtonProps, AriaCheckboxProps, AriaNumberFieldProps, I18nProviderProps as I18nProviderProps$1, LocalizedStrings, useNumberFormatter, useDateFormatter, AriaTagGroupProps, AriaSelectOptions, AriaDialogProps, DropOptions, ClipboardProps, PressProps, AriaRadioGroupProps, AriaModalOverlayProps, Locale } from 'react-aria';
5
5
  export { I18nProviderProps, useCollator, useDateFormatter, useNumberFormatter } from 'react-aria';
@@ -17,7 +17,20 @@ type DragAndDropProps = Omit<DraggableCollectionStateOptions & DraggableCollecti
17
17
  *
18
18
  * @default false
19
19
  */
20
- enableReorder?: boolean;
20
+ enableReorder: boolean;
21
+ /**
22
+ * Whether the items are arranged in a stack or grid.
23
+ *
24
+ * @default stack
25
+ */
26
+ layout: "grid" | "stack";
27
+ /**
28
+ * The primary orientation of the items. Usually this is the direction that
29
+ * the collection scrolls.
30
+ *
31
+ * @default vertical
32
+ */
33
+ orientation: Orientation;
21
34
  };
22
35
 
23
36
  interface BlockProps {
@@ -42,6 +55,7 @@ type ListOption = {
42
55
  label: string;
43
56
  description?: string;
44
57
  icon?: React.FC<IconProps>;
58
+ data?: Record<string, any>;
45
59
  /**
46
60
  * The type of item.
47
61
  *
@@ -56,7 +70,7 @@ type ListSection = {
56
70
  children: ListOption[];
57
71
  };
58
72
  type ListItem = ListOption | ListSection;
59
- interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & AriaListBoxOptions<ListItem>, "children" | "linkBehavior" | "isVirtualized" | "keyboardDelegate">, Omit<DragAndDropProps, "preview"> {
73
+ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & AriaListBoxOptions<ListItem>, "children" | "linkBehavior" | "isVirtualized" | "keyboardDelegate">, Omit<DragAndDropProps, "preview" | "enableReorder" | "orientation" | "layout">, Partial<Pick<DragAndDropProps, "enableReorder" | "orientation" | "layout">> {
60
74
  /**
61
75
  * The items to render in the listbox. Items have the following shape:
62
76
  *
@@ -95,6 +109,7 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
95
109
  dropIndicatorProps: React.HTMLAttributes<HTMLLIElement>;
96
110
  isDropTarget: boolean;
97
111
  isHidden: boolean;
112
+ orientation: Orientation;
98
113
  }, ref: React.RefObject<HTMLLIElement>) => React.ReactNode;
99
114
  /**
100
115
  * The custom render function for the drag preview. This can be used to render
@@ -105,19 +120,10 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
105
120
  showSelectedIcon?: boolean;
106
121
  /** The label for the listbox. */
107
122
  label?: React.ReactNode;
108
- /**
109
- * Whether the items are arranged in a stack or grid.
110
- *
111
- * @default stack
112
- */
113
- layout?: "grid" | "stack";
114
- /**
115
- * The primary orientation of the items. Usually this is the direction that
116
- * the collection scrolls.
117
- *
118
- * @default vertical
119
- */
120
- orientation?: Orientation;
123
+ /** The CSS class name for the drop indicator. */
124
+ dropIndicatorClassName?: string;
125
+ /** The style of the drop indicator used in a component. */
126
+ dropIndicatorStyle?: React.CSSProperties;
121
127
  }
122
128
 
123
129
  declare const ListBox: React.ForwardRefExoticComponent<ListBoxProps & React.RefAttributes<HTMLUListElement>>;
@@ -1173,7 +1179,7 @@ type TextProps<T extends keyof React.JSX.IntrinsicElements = "span"> = StylingPr
1173
1179
  *
1174
1180
  * @default "title"
1175
1181
  */
1176
- type?: "subtitle" | "title" | "body" | "value" | "helper";
1182
+ type?: "subtitle" | "title" | "label" | "value" | "helper" | "body";
1177
1183
  /**
1178
1184
  * The size of the text.
1179
1185
  *
@@ -1296,7 +1302,7 @@ type TransformProps = {
1296
1302
 
1297
1303
  declare const Transform: React.ForwardRefExoticComponent<TransformProps & React.RefAttributes<HTMLDivElement>>;
1298
1304
 
1299
- interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "variant">, Omit<DropOptions, "ref" | "getDropOperation" | "hasDropButton" | "getDropOperationForPoint">, Omit<ClipboardProps, "getItems" | "onCut" | "onCopy">, AriaLabelingProps {
1305
+ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "variant">, Omit<DropOptions, "ref" | "getDropOperation" | "hasDropButton" | "getDropOperationForPoint">, Omit<ClipboardProps, "getItems" | "onCut" | "onCopy">, Pick<FreehandCanvasProps, "footerClassName" | "footerStyle" | "placeholder" | "clearLabel">, AriaLabelingProps {
1300
1306
  /**
1301
1307
  * The initial image to display. This will be used as the `src` attribute of
1302
1308
  * the `<img>` element. You will be able to choose a new image.
@@ -1316,8 +1322,6 @@ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "vari
1316
1322
  imageAlt?: string;
1317
1323
  /** The label to display for the picker button. */
1318
1324
  pickerButtonLabel?: string;
1319
- /** The label to display for the remove button. */
1320
- removeButtonLabel?: string;
1321
1325
  /**
1322
1326
  * Whether to show the checkered background behind the image. This is useful
1323
1327
  * when the image has transparency.
@@ -1331,9 +1335,13 @@ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "vari
1331
1335
  pickerButtonClassName?: string;
1332
1336
  /** The style to apply to the picker button. */
1333
1337
  pickerButtonStyle?: React.CSSProperties;
1338
+ /** The class name to apply to the label. */
1339
+ labelClassName?: string;
1340
+ /** The style to apply to the label. */
1341
+ labelStyle?: React.CSSProperties;
1334
1342
  }
1335
1343
 
1336
- declare const ImageDropZone: React.ForwardRefExoticComponent<ImageDropZoneProps & React.RefAttributes<HTMLLabelElement>>;
1344
+ declare const ImageDropZone: React.ForwardRefExoticComponent<ImageDropZoneProps & React.RefAttributes<HTMLDivElement>>;
1337
1345
 
1338
1346
  interface PreviewProps extends StylingProps, AriaLabelingProps {
1339
1347
  /**
@@ -1448,7 +1456,7 @@ declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & Reac
1448
1456
 
1449
1457
  interface ModalProps extends OverlayTriggerProps {
1450
1458
  }
1451
- interface ModalContentProps extends AriaModalOverlayProps, StylingProps {
1459
+ interface ModalContentProps extends Omit<AriaModalOverlayProps, "isDismissable" | "isKeyboardDismissDisabled">, StylingProps {
1452
1460
  /**
1453
1461
  * The contents of the modal. Can be a React node or a function that returns a
1454
1462
  * React node.
@@ -1470,6 +1478,31 @@ interface ModalContentProps extends AriaModalOverlayProps, StylingProps {
1470
1478
  * @default false
1471
1479
  */
1472
1480
  disableAnimation?: boolean;
1481
+ /**
1482
+ * Whether the modal should be rendered as a drawer. This will render the
1483
+ * modal with a transparent background and no border at the bottom. The `auto`
1484
+ * value will render the modal as a drawer on mobile and as a dialog on
1485
+ * desktop and tablet.
1486
+ *
1487
+ * @default false
1488
+ */
1489
+ enableDrawer?: boolean | "auto";
1490
+ /**
1491
+ * Specifies if the component is dismissable or not. If the value is a
1492
+ * function, it will be called with a boolean indicating if the modal is
1493
+ * rendered as a drawer or not.
1494
+ *
1495
+ * @default true
1496
+ */
1497
+ isDismissable?: boolean | ((isDrawer: boolean) => boolean);
1498
+ /**
1499
+ * Determines if keyboard dismissal is disabled. If the value is a function,
1500
+ * it will be called with a boolean indicating if the modal is rendered as a
1501
+ * drawer or not.
1502
+ *
1503
+ * @default false
1504
+ */
1505
+ isKeyboardDismissDisabled?: boolean | ((isDrawer: boolean) => boolean);
1473
1506
  }
1474
1507
 
1475
1508
  declare const Modal: React.FC<ModalProps>;
@@ -1559,6 +1592,140 @@ interface ToggleIconButtonProps extends StylingProps, Omit<ToggleProps, "childre
1559
1592
 
1560
1593
  declare const ToggleIconButton: React.ForwardRefExoticComponent<ToggleIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
1561
1594
 
1595
+ type MentionableUser = {
1596
+ id: string;
1597
+ name: string;
1598
+ displayName: string;
1599
+ avatar?: AvatarProps;
1600
+ description?: string;
1601
+ };
1602
+ type EditorHandle = {
1603
+ setCaretPosition: (index: number) => void;
1604
+ };
1605
+ interface EditorProps extends StylingProps, AriaLabelingProps {
1606
+ /**
1607
+ * The function to be called when `Enter` key is pressed or Save button is
1608
+ * clicked.
1609
+ */
1610
+ onSave?: (value: string) => void;
1611
+ /**
1612
+ * The function to be called when Cancel button is clicked. If not provided,
1613
+ * the Cancel button will not be rendered.
1614
+ */
1615
+ onCancel?: () => void;
1616
+ /** The default value of the editor. */
1617
+ defaultValue?: string;
1618
+ /** The value of the editor. */
1619
+ value?: string;
1620
+ /**
1621
+ * The function to be called when the value of the editor changes.
1622
+ *
1623
+ * @param value
1624
+ */
1625
+ onChange?: (value: string) => void;
1626
+ /** Whether the editor is disabled. */
1627
+ isDisabled?: boolean;
1628
+ /**
1629
+ * Indicates whether rich text is enabled or not.
1630
+ *
1631
+ * @default true
1632
+ */
1633
+ enableRichText?: boolean;
1634
+ /** The placeholder text to be displayed when the editor is empty. */
1635
+ placeholder?: string;
1636
+ /**
1637
+ * The variant of the editor.
1638
+ *
1639
+ * @default default
1640
+ */
1641
+ variant?: "default" | "minimal";
1642
+ /** Whether the editor is inline or not. */
1643
+ isInline?: boolean;
1644
+ /** Specifies whether spell checking is enabled or disabled. */
1645
+ spellCheck?: boolean;
1646
+ /**
1647
+ * Optional property that represents the ARIA label for the submit button.
1648
+ * This property is used to provide an accessible label for the button, which
1649
+ * is read by screen readers to assist visually impaired users.
1650
+ *
1651
+ * @default Save
1652
+ */
1653
+ submitButtonAriaLabel?: string;
1654
+ /**
1655
+ * The React node representing the icon to be displayed on the submit button.
1656
+ *
1657
+ * @default ArrowUpCircleFilledIcon
1658
+ */
1659
+ submitButtonIcon?: React.FC<IconProps>;
1660
+ /**
1661
+ * The name of the avatar. The avatar is visible when `variant` is set to
1662
+ * `minimal` and `enableRichText` is set to `false`.
1663
+ */
1664
+ avatarName?: string;
1665
+ /**
1666
+ * The ARIA label for the editable content. In case of rich text, this label
1667
+ * is used to provide an accessible label for the contenteditable element,
1668
+ * which is read by screen readers to assist visually impaired users. In case
1669
+ * of plain text, this label is used to provide an accessible label for the
1670
+ * textarea element.
1671
+ *
1672
+ * @default Editing Area
1673
+ */
1674
+ editableContentAriaLabel?: string;
1675
+ /**
1676
+ * An optional array of mentionable users. Mention feature is only available
1677
+ * when `enableRichText` is set to `true` and this prop is provided.
1678
+ *
1679
+ * ```tsx
1680
+ * type MentionableUser = {
1681
+ * id: string;
1682
+ * name: string;
1683
+ * displayName: string;
1684
+ * avatar?: AvatarProps;
1685
+ * description?: string;
1686
+ * };
1687
+ * ```
1688
+ */
1689
+ mentionableUsers?: MentionableUser[];
1690
+ /** Footer button represents an array of ActionIconButtonProps. */
1691
+ footerButtons?: ActionIconButtonProps[];
1692
+ /** The imperative handle for manipulating editor. */
1693
+ editorHandle?: React.RefObject<EditorHandle>;
1694
+ }
1695
+
1696
+ declare const Editor: React.ForwardRefExoticComponent<EditorProps & React.RefAttributes<HTMLDivElement>>;
1697
+
1698
+ interface ScrollControlButtonProps extends StylingProps, Pick<ActionButtonProps, "label"> {
1699
+ /**
1700
+ * The ref to the scrollable element.
1701
+ *
1702
+ * @default document.body
1703
+ */
1704
+ scrollRef?: React.RefObject<HTMLElement>;
1705
+ /**
1706
+ * Indicates whether the button should be hidden when the keyboard is being
1707
+ * used.
1708
+ *
1709
+ * @default false
1710
+ */
1711
+ hideForKeyboard?: boolean;
1712
+ /**
1713
+ * The delay in milliseconds before the button is hidden when the scrolling
1714
+ * stops.
1715
+ *
1716
+ * @default 1500
1717
+ */
1718
+ delay?: number;
1719
+ /**
1720
+ * Indicates whether the scroll should be smooth.
1721
+ *
1722
+ * @default true
1723
+ */
1724
+ smoothScroll?: boolean;
1725
+ }
1726
+
1727
+ declare const ScrollControlButton: React.ForwardRefExoticComponent<ScrollControlButtonProps & React.RefAttributes<HTMLButtonElement>>;
1728
+
1562
1729
  /**
1563
1730
  * A hook that creates an IntersectionObserver and observes a target element.
1564
1731
  *
@@ -1898,4 +2065,4 @@ interface TextSelectionProps {
1898
2065
  */
1899
2066
  declare function useDevice(element?: HTMLElement | null): "mobile" | "tablet" | "desktop";
1900
2067
 
1901
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionIconButton, type ActionIconButtonProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorPresetInlineInput, type ColorPresetInlineInputProps, ColorSwatch, type ColorSwatchProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInputButton, ImageDropZone, type ImageDropZoneProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Menu, type MenuProps, type MessageDescriptor, MessageFormat, type MessageFormatProps, Modal, ModalClose, ModalContent, type ModalContentProps, type ModalProps, ModalTrigger, NumberFormat, type NumberFormatProps, NumberInput, type NumberInputProps, Pagination, type PaginationProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, SearchInput, type SearchInputProps, Select, type SelectProps, Separator, type SeparatorProps, Slider, type SliderProps, type StylingProps, Switch, type SwitchProps, TabItem, type TabItemProps, Tabs, type TabsProps, TagGroup, type TagGroupProps, Text, TextInput, type TextInputProps, type TextProps, ThemeProvider, type ThemeProviderProps, ToggleButton, type ToggleButtonProps, ToggleIconButton, type ToggleIconButtonProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, Transform, type TransformProps, defineMessages, useDevice, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };
2068
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionIconButton, type ActionIconButtonProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorPresetInlineInput, type ColorPresetInlineInputProps, ColorSwatch, type ColorSwatchProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, Editor, type EditorProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInputButton, ImageDropZone, type ImageDropZoneProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Menu, type MenuProps, type MessageDescriptor, MessageFormat, type MessageFormatProps, Modal, ModalClose, ModalContent, type ModalContentProps, type ModalProps, ModalTrigger, NumberFormat, type NumberFormatProps, NumberInput, type NumberInputProps, Pagination, type PaginationProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, ScrollControlButton, type ScrollControlButtonProps, SearchInput, type SearchInputProps, Select, type SelectProps, Separator, type SeparatorProps, Slider, type SliderProps, type StylingProps, Switch, type SwitchProps, TabItem, type TabItemProps, Tabs, type TabsProps, TagGroup, type TagGroupProps, Text, TextInput, type TextInputProps, type TextProps, ThemeProvider, type ThemeProviderProps, ToggleButton, type ToggleButtonProps, ToggleIconButton, type ToggleIconButtonProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, Transform, type TransformProps, defineMessages, useDevice, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import React, { Key, Dispatch, SetStateAction } from 'react';
2
- import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, ListState, Orientation, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$1 } from 'react-stately';
2
+ import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, Orientation, ListState, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$1 } from 'react-stately';
3
3
  import * as react_aria from 'react-aria';
4
4
  import { DraggableCollectionOptions, DroppableCollectionOptions, AriaListBoxProps, AriaListBoxOptions, OptionAria, AriaButtonProps, AriaSliderProps, AriaSwitchProps, AriaSearchFieldProps, AriaPopoverProps, useOverlayTrigger, AriaMenuProps, AriaMenuTriggerProps, AriaLinkOptions, SeparatorProps as SeparatorProps$1, AriaProgressBarProps, AriaTextFieldProps, AriaTooltipProps, AriaPositionProps, OverlayProps, AriaToggleButtonProps, AriaCheckboxProps, AriaNumberFieldProps, I18nProviderProps as I18nProviderProps$1, LocalizedStrings, useNumberFormatter, useDateFormatter, AriaTagGroupProps, AriaSelectOptions, AriaDialogProps, DropOptions, ClipboardProps, PressProps, AriaRadioGroupProps, AriaModalOverlayProps, Locale } from 'react-aria';
5
5
  export { I18nProviderProps, useCollator, useDateFormatter, useNumberFormatter } from 'react-aria';
@@ -17,7 +17,20 @@ type DragAndDropProps = Omit<DraggableCollectionStateOptions & DraggableCollecti
17
17
  *
18
18
  * @default false
19
19
  */
20
- enableReorder?: boolean;
20
+ enableReorder: boolean;
21
+ /**
22
+ * Whether the items are arranged in a stack or grid.
23
+ *
24
+ * @default stack
25
+ */
26
+ layout: "grid" | "stack";
27
+ /**
28
+ * The primary orientation of the items. Usually this is the direction that
29
+ * the collection scrolls.
30
+ *
31
+ * @default vertical
32
+ */
33
+ orientation: Orientation;
21
34
  };
22
35
 
23
36
  interface BlockProps {
@@ -42,6 +55,7 @@ type ListOption = {
42
55
  label: string;
43
56
  description?: string;
44
57
  icon?: React.FC<IconProps>;
58
+ data?: Record<string, any>;
45
59
  /**
46
60
  * The type of item.
47
61
  *
@@ -56,7 +70,7 @@ type ListSection = {
56
70
  children: ListOption[];
57
71
  };
58
72
  type ListItem = ListOption | ListSection;
59
- interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & AriaListBoxOptions<ListItem>, "children" | "linkBehavior" | "isVirtualized" | "keyboardDelegate">, Omit<DragAndDropProps, "preview"> {
73
+ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & AriaListBoxOptions<ListItem>, "children" | "linkBehavior" | "isVirtualized" | "keyboardDelegate">, Omit<DragAndDropProps, "preview" | "enableReorder" | "orientation" | "layout">, Partial<Pick<DragAndDropProps, "enableReorder" | "orientation" | "layout">> {
60
74
  /**
61
75
  * The items to render in the listbox. Items have the following shape:
62
76
  *
@@ -95,6 +109,7 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
95
109
  dropIndicatorProps: React.HTMLAttributes<HTMLLIElement>;
96
110
  isDropTarget: boolean;
97
111
  isHidden: boolean;
112
+ orientation: Orientation;
98
113
  }, ref: React.RefObject<HTMLLIElement>) => React.ReactNode;
99
114
  /**
100
115
  * The custom render function for the drag preview. This can be used to render
@@ -105,19 +120,10 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
105
120
  showSelectedIcon?: boolean;
106
121
  /** The label for the listbox. */
107
122
  label?: React.ReactNode;
108
- /**
109
- * Whether the items are arranged in a stack or grid.
110
- *
111
- * @default stack
112
- */
113
- layout?: "grid" | "stack";
114
- /**
115
- * The primary orientation of the items. Usually this is the direction that
116
- * the collection scrolls.
117
- *
118
- * @default vertical
119
- */
120
- orientation?: Orientation;
123
+ /** The CSS class name for the drop indicator. */
124
+ dropIndicatorClassName?: string;
125
+ /** The style of the drop indicator used in a component. */
126
+ dropIndicatorStyle?: React.CSSProperties;
121
127
  }
122
128
 
123
129
  declare const ListBox: React.ForwardRefExoticComponent<ListBoxProps & React.RefAttributes<HTMLUListElement>>;
@@ -1173,7 +1179,7 @@ type TextProps<T extends keyof React.JSX.IntrinsicElements = "span"> = StylingPr
1173
1179
  *
1174
1180
  * @default "title"
1175
1181
  */
1176
- type?: "subtitle" | "title" | "body" | "value" | "helper";
1182
+ type?: "subtitle" | "title" | "label" | "value" | "helper" | "body";
1177
1183
  /**
1178
1184
  * The size of the text.
1179
1185
  *
@@ -1296,7 +1302,7 @@ type TransformProps = {
1296
1302
 
1297
1303
  declare const Transform: React.ForwardRefExoticComponent<TransformProps & React.RefAttributes<HTMLDivElement>>;
1298
1304
 
1299
- interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "variant">, Omit<DropOptions, "ref" | "getDropOperation" | "hasDropButton" | "getDropOperationForPoint">, Omit<ClipboardProps, "getItems" | "onCut" | "onCopy">, AriaLabelingProps {
1305
+ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "variant">, Omit<DropOptions, "ref" | "getDropOperation" | "hasDropButton" | "getDropOperationForPoint">, Omit<ClipboardProps, "getItems" | "onCut" | "onCopy">, Pick<FreehandCanvasProps, "footerClassName" | "footerStyle" | "placeholder" | "clearLabel">, AriaLabelingProps {
1300
1306
  /**
1301
1307
  * The initial image to display. This will be used as the `src` attribute of
1302
1308
  * the `<img>` element. You will be able to choose a new image.
@@ -1316,8 +1322,6 @@ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "vari
1316
1322
  imageAlt?: string;
1317
1323
  /** The label to display for the picker button. */
1318
1324
  pickerButtonLabel?: string;
1319
- /** The label to display for the remove button. */
1320
- removeButtonLabel?: string;
1321
1325
  /**
1322
1326
  * Whether to show the checkered background behind the image. This is useful
1323
1327
  * when the image has transparency.
@@ -1331,9 +1335,13 @@ interface ImageDropZoneProps extends Omit<SharedFileUploadProps, "label" | "vari
1331
1335
  pickerButtonClassName?: string;
1332
1336
  /** The style to apply to the picker button. */
1333
1337
  pickerButtonStyle?: React.CSSProperties;
1338
+ /** The class name to apply to the label. */
1339
+ labelClassName?: string;
1340
+ /** The style to apply to the label. */
1341
+ labelStyle?: React.CSSProperties;
1334
1342
  }
1335
1343
 
1336
- declare const ImageDropZone: React.ForwardRefExoticComponent<ImageDropZoneProps & React.RefAttributes<HTMLLabelElement>>;
1344
+ declare const ImageDropZone: React.ForwardRefExoticComponent<ImageDropZoneProps & React.RefAttributes<HTMLDivElement>>;
1337
1345
 
1338
1346
  interface PreviewProps extends StylingProps, AriaLabelingProps {
1339
1347
  /**
@@ -1448,7 +1456,7 @@ declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & Reac
1448
1456
 
1449
1457
  interface ModalProps extends OverlayTriggerProps {
1450
1458
  }
1451
- interface ModalContentProps extends AriaModalOverlayProps, StylingProps {
1459
+ interface ModalContentProps extends Omit<AriaModalOverlayProps, "isDismissable" | "isKeyboardDismissDisabled">, StylingProps {
1452
1460
  /**
1453
1461
  * The contents of the modal. Can be a React node or a function that returns a
1454
1462
  * React node.
@@ -1470,6 +1478,31 @@ interface ModalContentProps extends AriaModalOverlayProps, StylingProps {
1470
1478
  * @default false
1471
1479
  */
1472
1480
  disableAnimation?: boolean;
1481
+ /**
1482
+ * Whether the modal should be rendered as a drawer. This will render the
1483
+ * modal with a transparent background and no border at the bottom. The `auto`
1484
+ * value will render the modal as a drawer on mobile and as a dialog on
1485
+ * desktop and tablet.
1486
+ *
1487
+ * @default false
1488
+ */
1489
+ enableDrawer?: boolean | "auto";
1490
+ /**
1491
+ * Specifies if the component is dismissable or not. If the value is a
1492
+ * function, it will be called with a boolean indicating if the modal is
1493
+ * rendered as a drawer or not.
1494
+ *
1495
+ * @default true
1496
+ */
1497
+ isDismissable?: boolean | ((isDrawer: boolean) => boolean);
1498
+ /**
1499
+ * Determines if keyboard dismissal is disabled. If the value is a function,
1500
+ * it will be called with a boolean indicating if the modal is rendered as a
1501
+ * drawer or not.
1502
+ *
1503
+ * @default false
1504
+ */
1505
+ isKeyboardDismissDisabled?: boolean | ((isDrawer: boolean) => boolean);
1473
1506
  }
1474
1507
 
1475
1508
  declare const Modal: React.FC<ModalProps>;
@@ -1559,6 +1592,140 @@ interface ToggleIconButtonProps extends StylingProps, Omit<ToggleProps, "childre
1559
1592
 
1560
1593
  declare const ToggleIconButton: React.ForwardRefExoticComponent<ToggleIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
1561
1594
 
1595
+ type MentionableUser = {
1596
+ id: string;
1597
+ name: string;
1598
+ displayName: string;
1599
+ avatar?: AvatarProps;
1600
+ description?: string;
1601
+ };
1602
+ type EditorHandle = {
1603
+ setCaretPosition: (index: number) => void;
1604
+ };
1605
+ interface EditorProps extends StylingProps, AriaLabelingProps {
1606
+ /**
1607
+ * The function to be called when `Enter` key is pressed or Save button is
1608
+ * clicked.
1609
+ */
1610
+ onSave?: (value: string) => void;
1611
+ /**
1612
+ * The function to be called when Cancel button is clicked. If not provided,
1613
+ * the Cancel button will not be rendered.
1614
+ */
1615
+ onCancel?: () => void;
1616
+ /** The default value of the editor. */
1617
+ defaultValue?: string;
1618
+ /** The value of the editor. */
1619
+ value?: string;
1620
+ /**
1621
+ * The function to be called when the value of the editor changes.
1622
+ *
1623
+ * @param value
1624
+ */
1625
+ onChange?: (value: string) => void;
1626
+ /** Whether the editor is disabled. */
1627
+ isDisabled?: boolean;
1628
+ /**
1629
+ * Indicates whether rich text is enabled or not.
1630
+ *
1631
+ * @default true
1632
+ */
1633
+ enableRichText?: boolean;
1634
+ /** The placeholder text to be displayed when the editor is empty. */
1635
+ placeholder?: string;
1636
+ /**
1637
+ * The variant of the editor.
1638
+ *
1639
+ * @default default
1640
+ */
1641
+ variant?: "default" | "minimal";
1642
+ /** Whether the editor is inline or not. */
1643
+ isInline?: boolean;
1644
+ /** Specifies whether spell checking is enabled or disabled. */
1645
+ spellCheck?: boolean;
1646
+ /**
1647
+ * Optional property that represents the ARIA label for the submit button.
1648
+ * This property is used to provide an accessible label for the button, which
1649
+ * is read by screen readers to assist visually impaired users.
1650
+ *
1651
+ * @default Save
1652
+ */
1653
+ submitButtonAriaLabel?: string;
1654
+ /**
1655
+ * The React node representing the icon to be displayed on the submit button.
1656
+ *
1657
+ * @default ArrowUpCircleFilledIcon
1658
+ */
1659
+ submitButtonIcon?: React.FC<IconProps>;
1660
+ /**
1661
+ * The name of the avatar. The avatar is visible when `variant` is set to
1662
+ * `minimal` and `enableRichText` is set to `false`.
1663
+ */
1664
+ avatarName?: string;
1665
+ /**
1666
+ * The ARIA label for the editable content. In case of rich text, this label
1667
+ * is used to provide an accessible label for the contenteditable element,
1668
+ * which is read by screen readers to assist visually impaired users. In case
1669
+ * of plain text, this label is used to provide an accessible label for the
1670
+ * textarea element.
1671
+ *
1672
+ * @default Editing Area
1673
+ */
1674
+ editableContentAriaLabel?: string;
1675
+ /**
1676
+ * An optional array of mentionable users. Mention feature is only available
1677
+ * when `enableRichText` is set to `true` and this prop is provided.
1678
+ *
1679
+ * ```tsx
1680
+ * type MentionableUser = {
1681
+ * id: string;
1682
+ * name: string;
1683
+ * displayName: string;
1684
+ * avatar?: AvatarProps;
1685
+ * description?: string;
1686
+ * };
1687
+ * ```
1688
+ */
1689
+ mentionableUsers?: MentionableUser[];
1690
+ /** Footer button represents an array of ActionIconButtonProps. */
1691
+ footerButtons?: ActionIconButtonProps[];
1692
+ /** The imperative handle for manipulating editor. */
1693
+ editorHandle?: React.RefObject<EditorHandle>;
1694
+ }
1695
+
1696
+ declare const Editor: React.ForwardRefExoticComponent<EditorProps & React.RefAttributes<HTMLDivElement>>;
1697
+
1698
+ interface ScrollControlButtonProps extends StylingProps, Pick<ActionButtonProps, "label"> {
1699
+ /**
1700
+ * The ref to the scrollable element.
1701
+ *
1702
+ * @default document.body
1703
+ */
1704
+ scrollRef?: React.RefObject<HTMLElement>;
1705
+ /**
1706
+ * Indicates whether the button should be hidden when the keyboard is being
1707
+ * used.
1708
+ *
1709
+ * @default false
1710
+ */
1711
+ hideForKeyboard?: boolean;
1712
+ /**
1713
+ * The delay in milliseconds before the button is hidden when the scrolling
1714
+ * stops.
1715
+ *
1716
+ * @default 1500
1717
+ */
1718
+ delay?: number;
1719
+ /**
1720
+ * Indicates whether the scroll should be smooth.
1721
+ *
1722
+ * @default true
1723
+ */
1724
+ smoothScroll?: boolean;
1725
+ }
1726
+
1727
+ declare const ScrollControlButton: React.ForwardRefExoticComponent<ScrollControlButtonProps & React.RefAttributes<HTMLButtonElement>>;
1728
+
1562
1729
  /**
1563
1730
  * A hook that creates an IntersectionObserver and observes a target element.
1564
1731
  *
@@ -1898,4 +2065,4 @@ interface TextSelectionProps {
1898
2065
  */
1899
2066
  declare function useDevice(element?: HTMLElement | null): "mobile" | "tablet" | "desktop";
1900
2067
 
1901
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionIconButton, type ActionIconButtonProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorPresetInlineInput, type ColorPresetInlineInputProps, ColorSwatch, type ColorSwatchProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInputButton, ImageDropZone, type ImageDropZoneProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Menu, type MenuProps, type MessageDescriptor, MessageFormat, type MessageFormatProps, Modal, ModalClose, ModalContent, type ModalContentProps, type ModalProps, ModalTrigger, NumberFormat, type NumberFormatProps, NumberInput, type NumberInputProps, Pagination, type PaginationProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, SearchInput, type SearchInputProps, Select, type SelectProps, Separator, type SeparatorProps, Slider, type SliderProps, type StylingProps, Switch, type SwitchProps, TabItem, type TabItemProps, Tabs, type TabsProps, TagGroup, type TagGroupProps, Text, TextInput, type TextInputProps, type TextProps, ThemeProvider, type ThemeProviderProps, ToggleButton, type ToggleButtonProps, ToggleIconButton, type ToggleIconButtonProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, Transform, type TransformProps, defineMessages, useDevice, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };
2068
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionIconButton, type ActionIconButtonProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorPresetInlineInput, type ColorPresetInlineInputProps, ColorSwatch, type ColorSwatchProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, Editor, type EditorProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInputButton, ImageDropZone, type ImageDropZoneProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Menu, type MenuProps, type MessageDescriptor, MessageFormat, type MessageFormatProps, Modal, ModalClose, ModalContent, type ModalContentProps, type ModalProps, ModalTrigger, NumberFormat, type NumberFormatProps, NumberInput, type NumberInputProps, Pagination, type PaginationProps, Popover, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, ScrollControlButton, type ScrollControlButtonProps, SearchInput, type SearchInputProps, Select, type SelectProps, Separator, type SeparatorProps, Slider, type SliderProps, type StylingProps, Switch, type SwitchProps, TabItem, type TabItemProps, Tabs, type TabsProps, TagGroup, type TagGroupProps, Text, TextInput, type TextInputProps, type TextProps, ThemeProvider, type ThemeProviderProps, ToggleButton, type ToggleButtonProps, ToggleIconButton, type ToggleIconButtonProps, Toolbar, type ToolbarProps, Tooltip, type TooltipProps, Transform, type TransformProps, defineMessages, useDevice, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };