@baseline-ui/core 0.24.1 → 0.26.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.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import React, { Key, Dispatch, SetStateAction } from 'react';
2
- import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, Orientation, ListState, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, TooltipTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$2, Selection as Selection$1, ComboBoxStateOptions, Node as Node$2, ListData, ListOptions } from 'react-stately';
2
+ import { IconProps, SVGRProps } from '@baseline-ui/icons';
3
+ import * as react_stately from 'react-stately';
4
+ import { DraggableCollectionStateOptions, DroppableCollectionStateOptions, Orientation, ListState, TooltipTriggerProps, SliderStateOptions, ToggleProps, OverlayTriggerProps, OverlayTriggerState, MenuTriggerProps, NumberFieldStateOptions, ListProps, SelectStateOptions, Item as Item$2, Selection as Selection$1, ComboBoxStateOptions, Node as Node$2 } from 'react-stately';
3
5
  import * as react_aria from 'react-aria';
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, AriaComboBoxOptions, AriaComboBoxProps, AriaGridListOptions, GridListItemAria, Locale, Key as Key$1 } from 'react-aria';
6
+ import { DraggableCollectionOptions, DroppableCollectionOptions, AriaListBoxProps, AriaListBoxOptions, OptionAria, AriaButtonProps, AriaTooltipProps, AriaPositionProps, AriaSliderProps, AriaSwitchProps, AriaSearchFieldProps, AriaPopoverProps, useOverlayTrigger, AriaMenuProps, AriaMenuTriggerProps, AriaLinkOptions, SeparatorProps as SeparatorProps$1, AriaProgressBarProps, AriaTextFieldProps, OverlayProps, AriaToggleButtonProps, AriaCheckboxProps, AriaNumberFieldProps, I18nProviderProps as I18nProviderProps$1, LocalizedStrings, useNumberFormatter, useDateFormatter, AriaTagGroupProps, AriaSelectOptions, Key as Key$1, AriaDialogProps, DropOptions, ClipboardProps, PressProps, AriaRadioGroupProps, AriaModalOverlayProps, AriaComboBoxOptions, AriaComboBoxProps, AriaGridListOptions, GridListItemAria, Locale } from 'react-aria';
5
7
  export { I18nProviderProps, useCollator, useDateFormatter, useNumberFormatter } from 'react-aria';
6
8
  import { Node as Node$1, DragItem, DOMAttributes, AriaLabelingProps, AriaValidationProps, DOMProps } from '@react-types/shared';
7
- import { IconProps, SVGRProps } from '@baseline-ui/icons';
8
9
  import { Theme, Sprinkles } from '@baseline-ui/tokens';
9
10
  import { AriaTabListProps } from '@react-types/tabs';
10
11
  import { ColorFieldProps, Color } from '@react-stately/color';
@@ -14,6 +15,20 @@ import { UseTransitionProps } from '@react-spring/core';
14
15
  import { AriaColorSwatchProps } from '@react-aria/color';
15
16
  import { AriaActionGroupProps } from '@react-aria/actiongroup';
16
17
 
18
+ interface ListOption<T = Record<string, any>> {
19
+ id: string;
20
+ label: string;
21
+ description?: string;
22
+ icon?: React.FC<IconProps>;
23
+ data?: T;
24
+ }
25
+ interface ListSection {
26
+ id: string;
27
+ title?: string;
28
+ children: ListOption[];
29
+ }
30
+ declare type ListItem = ListOption | ListSection;
31
+
17
32
  declare type DragAndDropProps = Omit<DraggableCollectionStateOptions & DraggableCollectionOptions & DroppableCollectionOptions & DroppableCollectionStateOptions, "keyboardDelegate" | "dropTargetDelegate" | "shouldAcceptItemDrop" | "onDropEnter" | "onDropActivate" | "onDropExit" | "getDropOperation" | "collection" | "selectionManager" | "onRootDrop" | "onInsert" | "getAllowedDropOperations" | "getItems" | "onItemDrop"> & Partial<Pick<DraggableCollectionStateOptions, "getItems">> & {
18
33
  /**
19
34
  * Indicates whether reordering is enabled.
@@ -44,6 +59,14 @@ interface BlockProps {
44
59
  * rendered.
45
60
  */
46
61
  "data-block-id"?: string;
62
+ /**
63
+ * Represents a data block group. This is similar to `data-block-id` but it
64
+ * doesn't have to be unique just like `class`. This is used to group blocks
65
+ * together in the DOM and in the block map. It is added as a data attribute
66
+ * `data-block-class` to the root element of the block if a DOM node is
67
+ * rendered.
68
+ */
69
+ "data-block-class"?: string;
47
70
  }
48
71
  interface StylingProps extends BlockProps {
49
72
  /** The className applied to the root element of the component. */
@@ -76,21 +99,9 @@ declare function isInsideOverlayContent(selector: HTMLElement): Element | null;
76
99
  */
77
100
  declare function isRect(rect: Rect): rect is Rect;
78
101
 
79
- interface ListOption<T = Record<string, any>> {
80
- id: string;
81
- label: string;
82
- description?: string;
83
- icon?: React.FC<IconProps>;
84
- data?: T;
85
- type?: "option";
86
- }
87
- interface ListSection {
88
- id: string;
89
- title?: string;
90
- type: "section";
91
- children: ListOption[];
102
+ interface ListBoxHandle {
103
+ scrollIntoView: (id: string, options: ScrollIntoViewOptions) => void;
92
104
  }
93
- declare type ListItem = ListOption | ListSection;
94
105
  interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & AriaListBoxOptions<ListItem>, "children" | "linkBehavior" | "isVirtualized" | "keyboardDelegate" | "items">, Omit<DragAndDropProps, "preview" | "enableReorder" | "orientation" | "layout">, Partial<Pick<DragAndDropProps, "enableReorder" | "orientation" | "layout">> {
95
106
  /**
96
107
  * The items to render in the listbox. Items have the following shape:
@@ -137,6 +148,13 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
137
148
  * a custom drag preview when dragging items.
138
149
  */
139
150
  renderDragPreview?: (items: DragItem[]) => React.ReactNode;
151
+ /**
152
+ * The custom render function for the listbox sections.
153
+ *
154
+ * @param section ListSection
155
+ * @param ref React.RefObject<HTMLDivElement>
156
+ */
157
+ renderSectionHeader?: (section: Node$1<ListItem>, ref: React.Ref<HTMLSpanElement>) => React.ReactNode;
140
158
  /** Whether to show the selected checkmark icon. */
141
159
  showSelectedIcon?: boolean;
142
160
  /** The label for the listbox. */
@@ -153,6 +171,20 @@ interface ListBoxProps extends StylingProps, Omit<AriaListBoxProps<ListItem> & A
153
171
  optionStyle?: React.CSSProperties | ((item: ListOption) => React.CSSProperties);
154
172
  /** The style of the section. */
155
173
  sectionStyle?: React.CSSProperties | ((item: ListSection) => React.CSSProperties);
174
+ /**
175
+ * Whether to show each section title when provided.
176
+ *
177
+ * @default false
178
+ */
179
+ showSectionHeader?: boolean;
180
+ /**
181
+ * Wether to add initial padding to section titles if shown.
182
+ *
183
+ * @default false
184
+ */
185
+ withSectionHeaderPadding?: boolean;
186
+ /** Handle to access the listbox methods. */
187
+ listBoxHandle?: React.RefObject<ListBoxHandle>;
156
188
  }
157
189
 
158
190
  declare const ListBox: React.ForwardRefExoticComponent<ListBoxProps & React.RefAttributes<HTMLUListElement>>;
@@ -184,7 +216,7 @@ interface ActionButtonProps extends ActionButtonSharedProps {
184
216
 
185
217
  declare const ActionButton: React.ForwardRefExoticComponent<ActionButtonProps & React.RefAttributes<HTMLButtonElement>>;
186
218
 
187
- interface DomNodeRendererProps {
219
+ interface DomNodeRendererProps extends StylingProps {
188
220
  /** The class name applied to the wrapper `div` component. */
189
221
  className?: string;
190
222
  /**
@@ -198,6 +230,61 @@ interface DomNodeRendererProps {
198
230
 
199
231
  declare const DomNodeRenderer: React.ForwardRefExoticComponent<DomNodeRendererProps & React.RefAttributes<HTMLDivElement>>;
200
232
 
233
+ interface TooltipProps extends StylingProps, TooltipTriggerProps, AriaTooltipProps, Omit<AriaPositionProps, "overlayRef" | "targetRef" | "maxHeight" | "isOpen" | "arrowSize"> {
234
+ /** The content of the tooltip. */
235
+ text?: string;
236
+ /** The tooltip trigger element. */
237
+ children: React.ReactNode;
238
+ /**
239
+ * The delay time for the tooltip to show up.
240
+ *
241
+ * @default 1000
242
+ */
243
+ delay?: number;
244
+ /**
245
+ * The delay time for the tooltip to hide.
246
+ *
247
+ * @default 500
248
+ */
249
+ closeDelay?: number;
250
+ /**
251
+ * Represents the size of an element.
252
+ *
253
+ * @default md
254
+ */
255
+ size?: "sm" | "md";
256
+ /**
257
+ * The variant that can be applied to an element.
258
+ *
259
+ * @default default
260
+ */
261
+ variant?: "default" | "inverse";
262
+ /**
263
+ * Indicates whether to include an arrow in the output.
264
+ *
265
+ * @default true
266
+ */
267
+ includeArrow?: boolean;
268
+ /**
269
+ * The container element for the modal. By default, the modal is rendered as a
270
+ * child of the body element.
271
+ *
272
+ * @default document.body
273
+ */
274
+ portalContainer?: HTMLElement;
275
+ }
276
+
277
+ declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
278
+
279
+ interface IconComponentProps {
280
+ /** The icon to show at the start of the color input. */
281
+ icon?: React.FC<IconProps>;
282
+ /** The aria label for the color input button. */
283
+ "aria-label": string;
284
+ /** Props to pass to the tooltip component. */
285
+ tooltipProps?: Omit<TooltipProps, "variant" | "size" | "includeArrow" | "children">;
286
+ }
287
+
201
288
  interface SliderProps extends Omit<AriaSliderProps<number> & SliderStateOptions<number>, "orientation" | "numberFormatter">, StylingProps {
202
289
  /**
203
290
  * Whether the slider is read only.
@@ -218,9 +305,19 @@ interface SliderProps extends Omit<AriaSliderProps<number> & SliderStateOptions<
218
305
  */
219
306
  includeNumberInput?: boolean;
220
307
  }
308
+ interface IconSliderProps extends Pick<SliderProps, "value" | "minValue" | "maxValue" | "onChange" | "defaultValue">, StylingProps, IconComponentProps {
309
+ /**
310
+ * A function to format the value of the slider.
311
+ *
312
+ * @default value => value
313
+ */
314
+ formatValue?: (value: number) => string | number;
315
+ }
221
316
 
222
317
  declare const Slider: React.ForwardRefExoticComponent<SliderProps & React.RefAttributes<HTMLDivElement>>;
223
318
 
319
+ declare const IconSlider: React.ForwardRefExoticComponent<IconSliderProps & React.RefAttributes<HTMLDivElement>>;
320
+
224
321
  interface SwitchProps extends Omit<AriaSwitchProps, "children">, Omit<ToggleProps, "children" | "isRequired" | "validate" | "validationBehavior" | "validationState" | "isInvalid">, StylingProps {
225
322
  /** The label to display next to the switch. */
226
323
  label?: React.ReactNode;
@@ -311,7 +408,7 @@ declare const PortalContainerProvider: React.FC<PortalContainerProviderProps>;
311
408
  declare type OverlayTriggerProps_ = Parameters<typeof useOverlayTrigger>[0];
312
409
  interface PopoverProps extends OverlayTriggerProps, OverlayTriggerProps_ {
313
410
  /** The children of the popover. */
314
- children: React.ReactNode | ((state: OverlayTriggerState) => React.ReactNode);
411
+ children: React.ReactNode;
315
412
  }
316
413
  interface PopoverContentProps extends Omit<AriaPopoverProps, "popoverRef" | "triggerRef" | "arrowSize" | "arrowBoundaryOffset">, StylingProps {
317
414
  /**
@@ -322,7 +419,7 @@ interface PopoverContentProps extends Omit<AriaPopoverProps, "popoverRef" | "tri
322
419
  /** The class name for the underlay element. */
323
420
  underlayClassName?: string;
324
421
  /** The contents of the popover. */
325
- children: React.ReactNode;
422
+ children: React.ReactNode | ((state: OverlayTriggerState) => React.ReactNode);
326
423
  /**
327
424
  * The container element for the popover. By default, the modal is rendered as
328
425
  * a child of the body element.
@@ -487,9 +584,7 @@ interface SeparatorProps extends SeparatorProps$1, StylingProps {
487
584
 
488
585
  declare const Separator: React.ForwardRefExoticComponent<SeparatorProps & React.RefAttributes<HTMLDivElement>>;
489
586
 
490
- interface ProgressBarProps extends Omit<AriaProgressBarProps, "isIndeterminate"> {
491
- /** The `className` property assigned to the root element of the component. */
492
- className?: string;
587
+ interface ProgressBarProps extends StylingProps, Omit<AriaProgressBarProps, "isIndeterminate"> {
493
588
  /**
494
589
  * The variant of the progress bar.
495
590
  *
@@ -554,57 +649,7 @@ interface ReactionProps extends Omit<AriaSwitchProps & ToggleProps, "validationS
554
649
 
555
650
  declare const Reaction: React.ForwardRefExoticComponent<ReactionProps & React.RefAttributes<HTMLLabelElement>>;
556
651
 
557
- interface TooltipProps extends TooltipTriggerProps, AriaTooltipProps, Omit<AriaPositionProps, "overlayRef" | "targetRef" | "maxHeight" | "isOpen" | "arrowSize"> {
558
- /** The content of the tooltip. */
559
- text?: string;
560
- /** The tooltip trigger element. */
561
- children: React.ReactNode;
562
- /**
563
- * The delay time for the tooltip to show up.
564
- *
565
- * @default 1000
566
- */
567
- delay?: number;
568
- /**
569
- * The delay time for the tooltip to hide.
570
- *
571
- * @default 500
572
- */
573
- closeDelay?: number;
574
- /**
575
- * Represents the size of an element.
576
- *
577
- * @default md
578
- */
579
- size?: "sm" | "md";
580
- /**
581
- * The variant that can be applied to an element.
582
- *
583
- * @default default
584
- */
585
- variant?: "default" | "inverse";
586
- /**
587
- * Indicates whether to include an arrow in the output.
588
- *
589
- * @default true
590
- */
591
- includeArrow?: boolean;
592
- /**
593
- * The container element for the modal. By default, the modal is rendered as a
594
- * child of the body element.
595
- *
596
- * @default document.body
597
- */
598
- portalContainer?: HTMLElement;
599
- }
600
-
601
- declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
602
-
603
- interface PortalProps extends OverlayProps {
604
- /** The `className` property assigned to the root element of the component. */
605
- className?: string;
606
- /** The `style` property assigned to the root element of the component. */
607
- style?: React.CSSProperties;
652
+ interface PortalProps extends OverlayProps, StylingProps {
608
653
  }
609
654
 
610
655
  declare const Portal: React.ForwardRefExoticComponent<PortalProps & React.RefAttributes<HTMLDivElement>>;
@@ -702,6 +747,8 @@ declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & Reac
702
747
  interface I18nProviderProps extends I18nProviderProps$1 {
703
748
  /** The messages to use for internationalization. */
704
749
  messages?: LocalizedStrings;
750
+ /** The children to render. */
751
+ children: React.ReactNode;
705
752
  }
706
753
 
707
754
  declare const I18nProvider: React.FC<I18nProviderProps>;
@@ -851,13 +898,7 @@ interface SelectProps extends Omit<AriaSelectOptions<ListItem> & SelectStateOpti
851
898
  ref: React.RefObject<HTMLButtonElement>;
852
899
  }) => React.ReactNode;
853
900
  }
854
- interface IconSelectProps extends Omit<SelectProps, "renderTrigger">, Pick<TooltipProps, "placement"> {
855
- /** The icon to show at the start of the select component. */
856
- icon: React.FC<IconProps>;
857
- /** The aria label for the select component. */
858
- "aria-label": string;
859
- /** Whether to include a tooltip for the select component. */
860
- includeTooltip?: boolean;
901
+ interface IconSelectProps extends Omit<SelectProps, "renderTrigger" | "aria-label">, IconComponentProps {
861
902
  }
862
903
 
863
904
  declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
@@ -896,7 +937,7 @@ interface AvatarProps extends StylingProps {
896
937
  declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
897
938
 
898
939
  declare type ItemProps = React.ComponentProps<typeof Item$2> & StylingProps & {
899
- key?: Key;
940
+ key?: Key$1;
900
941
  icon?: React.FC<SVGRProps>;
901
942
  value?: string;
902
943
  title?: string;
@@ -924,13 +965,13 @@ declare type TabsProps = Omit<StylingProps & AriaTabListProps<ItemProps>, "orien
924
965
  *
925
966
  * @param key
926
967
  */
927
- onRemove?: (key: Key) => void;
968
+ onRemove?: (key: Key$1) => void;
928
969
  /** The value of the tab that needs to be selected. */
929
970
  selectedValue?: string;
930
971
  /** The default value of the tab that needs to be selected. */
931
972
  defaultSelectedValue?: string;
932
973
  /** The values of the tabs that need to be disabled. */
933
- disabledValues?: Set<Key>;
974
+ disabledValues?: Set<Key$1>;
934
975
  /** A list of action buttons to render beside the tab items. */
935
976
  actions?: Omit<ActionIconButtonProps, "variant" | "size">[];
936
977
  /** The variant of the tabs */
@@ -951,14 +992,16 @@ declare type TabItemProps = StylingProps & {
951
992
  titleClassName?: string;
952
993
  /** The style to apply to the tab item. */
953
994
  titleStyle?: React.CSSProperties;
995
+ /** The contents of the tab item. */
996
+ children: React.ReactNode;
954
997
  };
955
998
 
956
- declare const Tabs: React.ForwardRefExoticComponent<Omit<StylingProps & react_aria.AriaTabListProps<ItemProps>, "children" | "items" | "disabledKeys" | "orientation" | "selectedKey" | "defaultSelectedKey"> & {
999
+ declare const Tabs: React.ForwardRefExoticComponent<Omit<StylingProps & react_aria.AriaTabListProps<ItemProps>, "children" | "items" | "orientation" | "disabledKeys" | "selectedKey" | "defaultSelectedKey"> & {
957
1000
  children: React.ReactNode;
958
- onRemove?: ((key: React.Key) => void) | undefined;
1001
+ onRemove?: ((key: react_stately.Key) => void) | undefined;
959
1002
  selectedValue?: string | undefined;
960
1003
  defaultSelectedValue?: string | undefined;
961
- disabledValues?: Set<React.Key> | undefined;
1004
+ disabledValues?: Set<react_stately.Key> | undefined;
962
1005
  actions?: Omit<ActionIconButtonProps, "size" | "variant">[] | undefined;
963
1006
  variant?: "primary" | "ghost" | undefined;
964
1007
  tabHeaderClassName?: string | undefined;
@@ -1192,13 +1235,7 @@ interface ColorInputProps extends OverlayTriggerProps, StylingProps, Pick<ColorF
1192
1235
  labelId?: string;
1193
1236
  }) => React.ReactElement;
1194
1237
  }
1195
- interface IconColorInputProps extends StylingProps, Omit<ColorInputProps, "renderTriggerButton" | "colorLabel" | "label" | "labelPosition">, Pick<TooltipProps, "placement"> {
1196
- /** The icon to show at the start of the color input. */
1197
- icon: React.FC<IconProps>;
1198
- /** Whether to include a tooltip for the color input. */
1199
- includeTooltip?: boolean;
1200
- /** The aria label for the color input button. */
1201
- "aria-label": string;
1238
+ interface IconColorInputProps extends StylingProps, Omit<ColorInputProps, "renderTriggerButton" | "colorLabel" | "label" | "labelPosition" | "aria-label">, IconComponentProps {
1202
1239
  /**
1203
1240
  * The variant of the color input button.
1204
1241
  *
@@ -1358,7 +1395,7 @@ declare type TextProps<T extends keyof React.JSX.IntrinsicElements = "span"> = S
1358
1395
  elementType?: React.ElementType;
1359
1396
  };
1360
1397
 
1361
- declare const Text: React.ForwardRefExoticComponent<Pick<TextProps<"span">, "onDrop" | "onDragStart" | "onDragEnd" | "type" | "className" | "style" | "dir" | "slot" | "title" | "children" | "autoFocus" | "onFocus" | "onBlur" | "id" | "aria-label" | "aria-labelledby" | "aria-describedby" | "aria-details" | "data-block-id" | "color" | "size" | "content" | "translate" | "hidden" | "elementType" | "role" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "lang" | "nonce" | "placeholder" | "spellCheck" | "tabIndex" | "radioGroup" | "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-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "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" | "onFocusCapture" | "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" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStartCapture" | "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"> & React.RefAttributes<HTMLDivElement>>;
1398
+ declare const Text: React.ForwardRefExoticComponent<Omit<TextProps<"span">, "ref"> & React.RefAttributes<HTMLDivElement>>;
1362
1399
 
1363
1400
  interface TransformProps {
1364
1401
  /** The `className` property assigned to the root element of the component. */
@@ -1629,15 +1666,15 @@ interface RadioGroupProps extends StylingProps, Omit<AriaRadioGroupProps, "descr
1629
1666
  declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
1630
1667
 
1631
1668
  interface ModalProps extends OverlayTriggerProps {
1669
+ /** The contents of the modal. */
1670
+ children: React.ReactNode;
1632
1671
  }
1633
1672
  interface ModalContentProps extends Omit<AriaModalOverlayProps, "isDismissable" | "isKeyboardDismissDisabled">, StylingProps {
1634
1673
  /**
1635
1674
  * The contents of the modal. Can be a React node or a function that returns a
1636
1675
  * React node.
1637
1676
  */
1638
- children: React.ReactNode | ((props: {
1639
- close: () => void;
1640
- }) => React.ReactNode);
1677
+ children: React.ReactNode | ((props: OverlayTriggerState) => React.ReactNode);
1641
1678
  /**
1642
1679
  * The container element for the modal. By default, the modal is rendered as a
1643
1680
  * child of the body element.
@@ -1683,9 +1720,13 @@ declare const Modal: React.FC<ModalProps>;
1683
1720
 
1684
1721
  declare const ModalContent: React.FC<ModalContentProps>;
1685
1722
 
1686
- declare const ModalTrigger: React.FC;
1723
+ declare const ModalTrigger: React.FC<{
1724
+ children: React.ReactNode;
1725
+ }>;
1687
1726
 
1688
- declare const ModalClose: React.FC;
1727
+ declare const ModalClose: React.FC<{
1728
+ children: React.ReactNode;
1729
+ }>;
1689
1730
 
1690
1731
  interface MessageFormatProps {
1691
1732
  /**
@@ -1734,17 +1775,6 @@ interface BoxProps extends Pick<StylingProps, "data-block-id">, Omit<React.Compo
1734
1775
 
1735
1776
  declare const Box: React.ForwardRefExoticComponent<BoxProps & React.RefAttributes<HTMLDivElement>>;
1736
1777
 
1737
- interface ColorPresetInlineInputProps extends Omit<RadioGroupProps, "items" | "disabledValues"> {
1738
- items: ColorPreset[];
1739
- }
1740
-
1741
- /**
1742
- * @deprecated Please use `ColorSwatchPicker` instead.
1743
- *
1744
- * TODO [>=0.26.0] Remove this component.
1745
- */
1746
- declare const ColorPresetInlineInput: React.ForwardRefExoticComponent<ColorPresetInlineInputProps & React.RefAttributes<HTMLDivElement>>;
1747
-
1748
1778
  interface ToolbarProps extends StylingProps, AriaToolbarProps {
1749
1779
  /** The children of the toolbar. */
1750
1780
  children: React.ReactNode;
@@ -1771,7 +1801,7 @@ interface ToolbarProps extends StylingProps, AriaToolbarProps {
1771
1801
  * the toolbar buttons and the menu trigger. This prop is only relevant when
1772
1802
  * `isCollapsible` is true.
1773
1803
  */
1774
- renderSpacer?: () => React.ReactNode;
1804
+ renderSpacer?: boolean;
1775
1805
  }
1776
1806
 
1777
1807
  declare const Toolbar: React.ForwardRefExoticComponent<ToolbarProps & React.RefAttributes<HTMLDivElement>>;
@@ -1809,6 +1839,7 @@ interface MentionableUser {
1809
1839
  }
1810
1840
  interface EditorHandle {
1811
1841
  setCaretPosition: (index: number) => void;
1842
+ focus: () => void;
1812
1843
  }
1813
1844
  interface EditorProps extends StylingProps, AriaLabelingProps {
1814
1845
  /**
@@ -2086,14 +2117,14 @@ declare const AudioPlayer: React.ForwardRefExoticComponent<AudioPlayerProps & Re
2086
2117
 
2087
2118
  interface Item {
2088
2119
  id: string;
2120
+ label: string;
2089
2121
  src?: string;
2090
2122
  alt?: string;
2091
- label: string;
2092
2123
  }
2093
2124
  interface ImageGalleryProps extends StylingProps, Omit<ListBoxProps, "items" | "layout" | "grid" | "renderOption" | "renderDropIndicator" | "renderDragPreview" | "showSelectedIcon" | "orientation" | "shouldSelectOnPressUp" | "shouldFocusOnHover" | "dropIndicatorClassName" | "dropIndicatorStyle" | "shouldUseVirtualFocus" | "getItems" | "acceptedDragTypes" | "sectionClassName" | "sectionStyle"> {
2094
2125
  /**
2095
2126
  * An array of objects containing the image source, alt text, and label for
2096
- * each image.
2127
+ * each image. This property makes the component a controlled component.
2097
2128
  *
2098
2129
  * ```tsx
2099
2130
  * const items = [
@@ -2113,6 +2144,28 @@ interface ImageGalleryProps extends StylingProps, Omit<ListBoxProps, "items" | "
2113
2144
  * ```
2114
2145
  */
2115
2146
  items?: Item[];
2147
+ /**
2148
+ * An array of objects containing the image source, alt text, and label for
2149
+ * each image.
2150
+ *
2151
+ * ```tsx
2152
+ * const items = [
2153
+ * {
2154
+ * id: "1",
2155
+ * src: "https://example.com/image1.jpg",
2156
+ * alt: "Image 1",
2157
+ * label: "Image 1",
2158
+ * },
2159
+ * {
2160
+ * id: "2",
2161
+ * src: "https://example.com/image2.jpg",
2162
+ * alt: "Image 2",
2163
+ * label: "Image 2",
2164
+ * },
2165
+ * ];
2166
+ * ```
2167
+ */
2168
+ defaultItems?: Item[];
2116
2169
  /**
2117
2170
  * The width of the images.
2118
2171
  *
@@ -2137,11 +2190,22 @@ interface ImageGalleryProps extends StylingProps, Omit<ListBoxProps, "items" | "
2137
2190
  onDelete?: (keys: Selection$1) => void;
2138
2191
  /** A callback that is called when a key is pressed. */
2139
2192
  onKeyDown?: (event: React.KeyboardEvent<HTMLDivElement>) => void;
2193
+ /** ClassName for each item container */
2194
+ imageContainerClassName?: string;
2195
+ /** ClassName for each item image */
2196
+ imageClassName?: string;
2197
+ /** ClassName for each item image label */
2198
+ labelClassName?: string;
2199
+ /** A callback that is called to render the image. */
2200
+ renderImage?: (item: ListOption<Pick<Item, "alt" | "src">>, options: {
2201
+ deleteElement?: React.ReactElement;
2202
+ onDelete?: (id: string) => void;
2203
+ }) => React.ReactElement;
2140
2204
  }
2141
2205
 
2142
2206
  declare const ImageGallery: React.ForwardRefExoticComponent<ImageGalleryProps & React.RefAttributes<HTMLDivElement>>;
2143
2207
 
2144
- interface ButtonSelectProps extends StylingProps, Pick<SelectProps, "isDisabled" | "validationState" | "onSelectionChange" | "selectedKey" | "defaultSelectedKey" | "items" | "showSelectedIcon" | "isOpen" | "defaultOpen">, Pick<ActionButtonProps, "onPress" | "excludeFromTabOrder">, AriaLabelingProps {
2208
+ interface ButtonSelectProps extends StylingProps, Pick<SelectProps, "isDisabled" | "validationState" | "onSelectionChange" | "selectedKey" | "defaultSelectedKey" | "items" | "showSelectedIcon" | "isOpen" | "defaultOpen">, Pick<ToggleButtonProps, "onPress" | "isSelected" | "defaultSelected" | "excludeFromTabOrder">, AriaLabelingProps {
2145
2209
  /**
2146
2210
  * The size of the button.
2147
2211
  *
@@ -2154,6 +2218,11 @@ interface ButtonSelectProps extends StylingProps, Pick<SelectProps, "isDisabled"
2154
2218
  * @default false
2155
2219
  */
2156
2220
  hideLabel?: boolean;
2221
+ /** A callback that is called when the button selection changes. */
2222
+ onButtonSelectionChange?: (options: {
2223
+ isSelected: boolean;
2224
+ selectedKey: string;
2225
+ }) => void;
2157
2226
  }
2158
2227
 
2159
2228
  declare const ButtonSelect: React.ForwardRefExoticComponent<ButtonSelectProps & React.RefAttributes<HTMLDivElement>>;
@@ -2231,6 +2300,22 @@ interface ComboBoxProps extends StylingProps, Omit<AriaComboBoxOptions<ListItem>
2231
2300
  menuTrigger?: "manual" | "input" | "focus";
2232
2301
  /** Custom filter function to use when filtering items. */
2233
2302
  filter?: ComboBoxStateOptions<ListItem>["defaultFilter"];
2303
+ /**
2304
+ * The type of the input field
2305
+ *
2306
+ * @default text
2307
+ */
2308
+ inputType?: "text" | "number";
2309
+ /**
2310
+ * The minimum value for the input field. This is only valid when `inputType`
2311
+ * is set to `number`.
2312
+ */
2313
+ minValue?: number;
2314
+ /**
2315
+ * The maximum value for the input field. This is only valid when `inputType`
2316
+ * is set to `number`.
2317
+ */
2318
+ maxValue?: number;
2234
2319
  }
2235
2320
 
2236
2321
  declare const ComboBox: React.ForwardRefExoticComponent<ComboBoxProps & React.RefAttributes<HTMLDivElement>>;
@@ -2321,20 +2406,53 @@ interface ActionGroupProps extends StylingProps, Omit<AriaActionGroupProps<ListI
2321
2406
  * @default "single"
2322
2407
  */
2323
2408
  selectionMode?: "single" | "multiple";
2324
- /** Whether to include a tooltip on the action group items. */
2325
- includeTooltip?: boolean;
2409
+ /** The props to be passed to the tooltip component. */
2410
+ tooltipProps?: IconComponentProps["tooltipProps"] | ((item: ListItem) => IconComponentProps["tooltipProps"]);
2411
+ /**
2412
+ * A function that renders an action item. This function is called for each
2413
+ * item in the action group. By default, an `ActionIconButton` is rendered.
2414
+ *
2415
+ * @default
2416
+ *
2417
+ * ```jsx
2418
+ * <ActionIconButton
2419
+ * variant="tertiary"
2420
+ * icon={icon}
2421
+ * aria-label={item.textValue}
2422
+ * size="sm"
2423
+ * isDisabled={_isDisabled}
2424
+ * className={"BaselineUI-ActionGroup-Item"}
2425
+ * />;
2426
+ * ```
2427
+ */
2428
+ renderActionItem?: (item: Node$2<ListItem>, options: {
2429
+ isSelected?: boolean;
2430
+ isDisabled?: boolean;
2431
+ }) => React.ReactNode;
2326
2432
  }
2327
2433
 
2328
2434
  declare const ActionGroup: React.ForwardRefExoticComponent<ActionGroupProps & React.RefAttributes<HTMLDivElement>>;
2329
- declare const ActionGroupItem: React.FC<{
2435
+ declare const ActionGroupItem: React.FC<ActionGroupItemProps>;
2436
+ interface ActionGroupItemProps extends Pick<ActionGroupProps, "tooltipProps" | "renderActionItem" | "onAction" | "isDisabled"> {
2330
2437
  item: Node$2<ListItem>;
2331
2438
  state: ListState<ListItem>;
2332
- onAction?: (key: Key) => void;
2333
- isDisabled?: boolean;
2334
- includeTooltip?: boolean;
2335
- }>;
2439
+ }
2336
2440
 
2337
- interface ColorSwatchPickerProps extends StylingProps, Pick<ColorPresetInlineInputProps, "items" | "optionsContainerClassName" | "labelPosition">, Pick<ListBoxProps, "optionClassName" | "optionStyle">, AriaLabelingProps {
2441
+ interface ColorSwatchPickerProps extends StylingProps, Pick<RadioGroupProps, "optionsContainerClassName" | "labelPosition">, Pick<ListBoxProps, "optionClassName" | "optionStyle">, AriaLabelingProps {
2442
+ /**
2443
+ * The items to display in the picker. Each item should have a `color` and a
2444
+ * `label`.
2445
+ *
2446
+ * ```js
2447
+ * const items = [
2448
+ * { color: "#FF0000", label: "Red" },
2449
+ * { color: "#00FF00", label: "Green" },
2450
+ * { color: "#0000FF", label: "Blue" },
2451
+ * { color: "#FFFF00", label: "Yellow" },
2452
+ * ];
2453
+ * ```
2454
+ */
2455
+ items: ColorPreset[];
2338
2456
  /** The icon visible at the start of the picker. */
2339
2457
  icon?: React.FC<IconProps>;
2340
2458
  /**
@@ -2669,7 +2787,7 @@ interface TextSelectionProps {
2669
2787
  * @param element - The element to use to get the owner window. Defaults to
2670
2788
  * `document.body`.
2671
2789
  */
2672
- declare function useDevice(element?: Element | null | undefined): "desktop" | "tablet" | "mobile";
2790
+ declare function useDevice(element?: Element | null | undefined): "mobile" | "tablet" | "desktop";
2673
2791
 
2674
2792
  /**
2675
2793
  * Custom hook for accessing PortalContainerProviderContext. This hook allows
@@ -2683,11 +2801,4 @@ declare function useDevice(element?: Element | null | undefined): "desktop" | "t
2683
2801
  */
2684
2802
  declare function usePortalContainer(_portalContainer?: HTMLElement): HTMLElement | undefined;
2685
2803
 
2686
- interface DynamicListOptions<T> extends ListOptions<T> {
2687
- onListChange?: (items: T[]) => void;
2688
- onSelectionChange?: (selectedKeys: Selection$1) => void;
2689
- getKey?: (item: T) => Key$1;
2690
- }
2691
- declare function useDynamicListData<T>(options: DynamicListOptions<T>): ListData<T>;
2692
-
2693
- export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionGroup, ActionGroupItem, type ActionGroupProps, ActionIconButton, type ActionIconButtonProps, AlertDialog, type AlertDialogProps, AudioPlayer, type AudioPlayerProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, ButtonSelect, type ButtonSelectProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorPresetInlineInput, type ColorPresetInlineInputProps, ColorSwatch, ColorSwatchPicker, type ColorSwatchPickerProps, type ColorSwatchProps, ComboBox, type ComboBoxProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, Drawer, type DrawerProps, Editor, type EditorHandle, type EditorProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, GridList, type GridListProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInput, IconColorInputButton, type IconColorInputProps, IconSelect, type IconSelectProps, ImageDropZone, type ImageDropZoneProps, ImageGallery, type ImageGalleryProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Markdown, type MarkdownProps, Menu, type MenuItem, 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, PortalContainerProvider, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, type Rect, 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, Transition, type TransitionProps, defineMessages, isInsideOverlayContent, isRect, useDevice, useDynamicListData, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, usePortalContainer, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };
2804
+ export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, ActionButton, type ActionButtonProps, ActionGroup, ActionGroupItem, type ActionGroupProps, ActionIconButton, type ActionIconButtonProps, AlertDialog, type AlertDialogProps, AudioPlayer, type AudioPlayerProps, Avatar, type AvatarProps, type BlockProps, Box, type BoxProps, ButtonSelect, type ButtonSelectProps, Checkbox, type CheckboxProps, ColorInput, type ColorInputProps, type ColorPreset, ColorSwatch, ColorSwatchPicker, type ColorSwatchPickerProps, type ColorSwatchProps, ComboBox, type ComboBoxProps, DateFormat, type DateFormatProps, Dialog, type DialogProps, DialogTitle, type DialogTitleProps, DomNodeRenderer, type DomNodeRendererProps, Drawer, type DrawerProps, Editor, type EditorHandle, type EditorProps, FileUpload, type FileUploadProps, FreehandCanvas, type FreehandCanvasProps, GridList, type GridListProps, Group, type GroupProps, I18nProvider, type I18nResult, IconColorInput, IconColorInputButton, type IconColorInputProps, IconSelect, type IconSelectProps, IconSlider, type IconSliderProps, ImageDropZone, type ImageDropZoneProps, ImageGallery, type ImageGalleryProps, InlineAlert, type InlineAlertProps, Link, type LinkProps, ListBox, type ListBoxProps, type ListOption, Markdown, type MarkdownProps, Menu, type MenuItem, 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, PortalContainerProvider, type PortalProps, Preview, type PreviewProps, ProgressBar, type ProgressBarProps, ProgressSpinner, type ProgressSpinnerProps, RadioGroup, type RadioGroupProps, Reaction, type ReactionProps, type Rect, 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, Transition, type TransitionProps, defineMessages, isInsideOverlayContent, isRect, useDevice, useI18n, useImage, useIntersectionObserver, useIsFirstRender, useLocalStorage, useMutationObserver, usePortalContainer, useResizeObserver, useTextSelection, useUndoRedo, useUserPreferences };