@baseline-ui/core 3.6.0 → 3.8.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.
Files changed (174) hide show
  1. package/dist/Accordion.mjs +1 -1
  2. package/dist/ActionGroup.mjs +1 -1
  3. package/dist/ActionIconButton.mjs +1 -1
  4. package/dist/AlertDialog.mjs +1 -1
  5. package/dist/AudioPlayer.mjs +1 -1
  6. package/dist/Box.mjs +1 -1
  7. package/dist/ButtonSelect.mjs +1 -1
  8. package/dist/Calendar.css +1 -1
  9. package/dist/Calendar.mjs +1 -1
  10. package/dist/ColorInput.mjs +1 -1
  11. package/dist/ColorSwatch.mjs +1 -1
  12. package/dist/ColorSwatchPicker.mjs +1 -1
  13. package/dist/ComboBox.mjs +1 -1
  14. package/dist/DateField.css +1 -1
  15. package/dist/DateField.mjs +1 -1
  16. package/dist/Dialog.mjs +1 -1
  17. package/dist/Disclosure.mjs +1 -1
  18. package/dist/Drawer.mjs +1 -1
  19. package/dist/Editor.css +1 -1
  20. package/dist/Editor.mjs +1 -1
  21. package/dist/FileInput.mjs +1 -1
  22. package/dist/FileList.css +1 -1
  23. package/dist/FileList.mjs +1 -1
  24. package/dist/FileUploader.css +1 -1
  25. package/dist/FileUploader.mjs +1 -1
  26. package/dist/FreehandCanvas.mjs +1 -1
  27. package/dist/GridList.mjs +1 -1
  28. package/dist/Icon.mjs +1 -1
  29. package/dist/Image.css +10 -0
  30. package/dist/Image.mjs +1 -0
  31. package/dist/ImageDropZone.mjs +1 -1
  32. package/dist/ImageGallery.mjs +1 -1
  33. package/dist/InlineAlert.mjs +1 -1
  34. package/dist/InlineToolbar.mjs +2 -2
  35. package/dist/Kbd.mjs +1 -1
  36. package/dist/ListBox.mjs +1 -1
  37. package/dist/Markdown.css +1 -1
  38. package/dist/Markdown.mjs +1 -1
  39. package/dist/Menu.mjs +1 -1
  40. package/dist/Modal.mjs +1 -1
  41. package/dist/NumberInput.mjs +1 -1
  42. package/dist/Pagination.mjs +1 -1
  43. package/dist/PointPicker.mjs +1 -1
  44. package/dist/Popover.mjs +1 -1
  45. package/dist/Portal.mjs +1 -1
  46. package/dist/Preview.mjs +1 -1
  47. package/dist/RadioGroup.mjs +1 -1
  48. package/dist/Reaction.mjs +1 -1
  49. package/dist/SearchInput.mjs +1 -1
  50. package/dist/Select.mjs +1 -1
  51. package/dist/Slider.mjs +1 -1
  52. package/dist/StatusCard.mjs +1 -1
  53. package/dist/Stepper.mjs +1 -1
  54. package/dist/Switch.css +1 -1
  55. package/dist/Switch.mjs +1 -1
  56. package/dist/Tabs.mjs +1 -1
  57. package/dist/Tag.mjs +1 -1
  58. package/dist/TagGroup.mjs +1 -1
  59. package/dist/TaggedPagination.mjs +1 -1
  60. package/dist/TextInput.mjs +1 -1
  61. package/dist/ThemeProvider.mjs +1 -1
  62. package/dist/TimeField.mjs +1 -1
  63. package/dist/Toast.mjs +1 -1
  64. package/dist/ToggleIconButton.mjs +1 -1
  65. package/dist/Toolbar.mjs +1 -1
  66. package/dist/Tooltip.mjs +1 -1
  67. package/dist/TreeView.css +1 -1
  68. package/dist/TreeView.mjs +1 -1
  69. package/dist/UNSAFE_ListBox.mjs +1 -1
  70. package/dist/{chunk-UY76QEJC.mjs → chunk-2BG2JLFC.mjs} +1 -1
  71. package/dist/{chunk-XG6JJCCJ.mjs → chunk-2JRDTJWJ.mjs} +1 -1
  72. package/dist/{chunk-JTKDC2CM.mjs → chunk-2OXYNLVN.mjs} +1 -1
  73. package/dist/{chunk-C2B7L5CL.mjs → chunk-2TXFCYPO.mjs} +1 -1
  74. package/dist/{chunk-266F6F4Y.mjs → chunk-3IPRT57V.mjs} +1 -1
  75. package/dist/{chunk-ARCCPNHM.mjs → chunk-3TLWTZRL.mjs} +1 -1
  76. package/dist/chunk-3WX5PZ6X.mjs +10 -0
  77. package/dist/{chunk-6M77HEKA.mjs → chunk-464QF4AV.mjs} +2 -2
  78. package/dist/chunk-46VEK5WC.mjs +10 -0
  79. package/dist/chunk-54WJJ3EM.mjs +10 -0
  80. package/dist/chunk-54ZKQAA3.mjs +10 -0
  81. package/dist/chunk-57YWI7EG.mjs +10 -0
  82. package/dist/{chunk-7OUGARUO.mjs → chunk-5GW36EQJ.mjs} +1 -1
  83. package/dist/{chunk-XDTZXNGJ.mjs → chunk-5YKRWGEJ.mjs} +1 -1
  84. package/dist/chunk-64IFEFOT.mjs +30 -0
  85. package/dist/{chunk-HABKIEKC.mjs → chunk-655SS7D4.mjs} +1 -1
  86. package/dist/chunk-65PMDBYL.mjs +10 -0
  87. package/dist/{chunk-LRF3YZWU.mjs → chunk-6CEV43ZA.mjs} +1 -1
  88. package/dist/chunk-6MUTSHZO.mjs +10 -0
  89. package/dist/chunk-6TRBOQVN.mjs +10 -0
  90. package/dist/chunk-73UBSCJ2.mjs +10 -0
  91. package/dist/chunk-7JE2SRIH.mjs +10 -0
  92. package/dist/chunk-AGERZJ3X.mjs +10 -0
  93. package/dist/{chunk-ZI7HJRJA.mjs → chunk-CTTNZESA.mjs} +1 -1
  94. package/dist/{chunk-O7XK2WIX.mjs → chunk-DIL5HL6K.mjs} +2 -2
  95. package/dist/{chunk-PYV5J322.mjs → chunk-EFFODO2N.mjs} +1 -1
  96. package/dist/{chunk-XYK5KKOH.mjs → chunk-EJYSTNXD.mjs} +2 -2
  97. package/dist/{chunk-GDIKHTP3.mjs → chunk-EXX7ZFGI.mjs} +1 -1
  98. package/dist/{chunk-5VNC6UYE.mjs → chunk-F3THHK5C.mjs} +1 -1
  99. package/dist/{chunk-F67SYAEW.mjs → chunk-FWPWBCOS.mjs} +1 -1
  100. package/dist/{chunk-ZXEWW3E7.mjs → chunk-G5MSZV5O.mjs} +1 -1
  101. package/dist/{chunk-RITIRWKN.mjs → chunk-GIT77HDD.mjs} +2 -2
  102. package/dist/chunk-GJ6ZPLFR.mjs +10 -0
  103. package/dist/{chunk-XSORBGUU.mjs → chunk-GYIIVZDE.mjs} +1 -1
  104. package/dist/{chunk-3PU6C5US.mjs → chunk-HKVAL4BB.mjs} +2 -2
  105. package/dist/{chunk-2KX2HY2H.mjs → chunk-HU75NQMI.mjs} +1 -1
  106. package/dist/chunk-HV7DKEN7.mjs +10 -0
  107. package/dist/chunk-K3WFKO7R.mjs +10 -0
  108. package/dist/chunk-KOPAIJJU.mjs +10 -0
  109. package/dist/{chunk-7EQIV4GX.mjs → chunk-LDWNE2JT.mjs} +1 -1
  110. package/dist/{chunk-IC5SBDP3.mjs → chunk-LLSXABBJ.mjs} +1 -1
  111. package/dist/{chunk-6LP7UKPC.mjs → chunk-MHO7BDER.mjs} +1 -1
  112. package/dist/chunk-MN7USKSC.mjs +10 -0
  113. package/dist/{chunk-RUHZRYDJ.mjs → chunk-N7MIERZH.mjs} +1 -1
  114. package/dist/{chunk-FF7H33Z5.mjs → chunk-NLVJYKSA.mjs} +1 -1
  115. package/dist/chunk-OBEPT4LR.mjs +10 -0
  116. package/dist/{chunk-VJUSOXPW.mjs → chunk-OHTPDCQA.mjs} +1 -1
  117. package/dist/{chunk-G2T6UJ66.mjs → chunk-OTDBW5FO.mjs} +1 -1
  118. package/dist/chunk-PMMLDGSP.mjs +10 -0
  119. package/dist/{chunk-HJGMXLKN.mjs → chunk-PSAOTHYG.mjs} +1 -1
  120. package/dist/chunk-PSUCNVCE.mjs +10 -0
  121. package/dist/{chunk-SH7ZI4CA.mjs → chunk-RIVN2JT3.mjs} +1 -1
  122. package/dist/{chunk-K4N2ADJO.mjs → chunk-RRYP54UI.mjs} +1 -1
  123. package/dist/{chunk-SLFKSR3T.mjs → chunk-SAATXQOW.mjs} +1 -1
  124. package/dist/chunk-SCUNJNIO.mjs +0 -0
  125. package/dist/chunk-SND4G3LM.mjs +10 -0
  126. package/dist/{chunk-GJTOYWLJ.mjs → chunk-SOWGXN5P.mjs} +1 -1
  127. package/dist/{chunk-XKUZVQ2A.mjs → chunk-TCVES3WI.mjs} +1 -1
  128. package/dist/{chunk-7KZEJYIU.mjs → chunk-TU7JTGGE.mjs} +1 -1
  129. package/dist/{chunk-GFKZXGWJ.mjs → chunk-UCDGZFQ7.mjs} +1 -1
  130. package/dist/{chunk-VZ5CLAIL.mjs → chunk-UCIAWI4E.mjs} +1 -1
  131. package/dist/chunk-VE2UA2AH.mjs +0 -0
  132. package/dist/{chunk-JDIGAVFU.mjs → chunk-VIMSH5F5.mjs} +1 -1
  133. package/dist/chunk-VPVF5N62.mjs +10 -0
  134. package/dist/chunk-VQ2K6Q3G.mjs +10 -0
  135. package/dist/{chunk-WB7EFOP7.mjs → chunk-VQPEDDH6.mjs} +1 -1
  136. package/dist/{chunk-HCQI7MNN.mjs → chunk-WQBA2P6W.mjs} +1 -1
  137. package/dist/{chunk-LQHFBXCW.mjs → chunk-X3ACY7IY.mjs} +2 -2
  138. package/dist/chunk-XC2S3RLC.mjs +10 -0
  139. package/dist/{chunk-7HVUCDKZ.mjs → chunk-XWKTG7NR.mjs} +1 -1
  140. package/dist/{chunk-2CXZQGP5.mjs → chunk-YLL2APKH.mjs} +1 -1
  141. package/dist/{chunk-ZNLIC44U.mjs → chunk-YNJD34U4.mjs} +1 -1
  142. package/dist/{chunk-J2KZM2I2.mjs → chunk-Z73YU5ZQ.mjs} +1 -1
  143. package/dist/{chunk-4T7P66ZA.mjs → chunk-ZE2B6BS7.mjs} +1 -1
  144. package/dist/{chunk-RFVLSR2P.mjs → chunk-ZLDFLERD.mjs} +1 -1
  145. package/dist/hooks/useMedia.mjs +1 -1
  146. package/dist/hooks/useTextSelection.mjs +1 -1
  147. package/dist/index.css +1 -1
  148. package/dist/index.d.ts +455 -113
  149. package/dist/index.js +22 -21
  150. package/dist/index.mjs +1 -1
  151. package/dist/utils/selection.mjs +1 -0
  152. package/package.json +5 -5
  153. package/sbom.json +13 -13
  154. package/dist/chunk-335C37NB.mjs +0 -10
  155. package/dist/chunk-3RWM6E56.mjs +0 -10
  156. package/dist/chunk-3YVVIFY7.mjs +0 -10
  157. package/dist/chunk-42SQX2EB.mjs +0 -10
  158. package/dist/chunk-AMLFQDKI.mjs +0 -10
  159. package/dist/chunk-EIB7MPRA.mjs +0 -10
  160. package/dist/chunk-GAT5QH2M.mjs +0 -10
  161. package/dist/chunk-GTHN5ZCZ.mjs +0 -10
  162. package/dist/chunk-GYKBMDSJ.mjs +0 -10
  163. package/dist/chunk-IHES52NR.mjs +0 -10
  164. package/dist/chunk-JKOCFSBH.mjs +0 -10
  165. package/dist/chunk-KX2GDQKJ.mjs +0 -10
  166. package/dist/chunk-LV5AUNI2.mjs +0 -10
  167. package/dist/chunk-NMGKHMH3.mjs +0 -10
  168. package/dist/chunk-O4YMXTNR.mjs +0 -10
  169. package/dist/chunk-QC76UPJB.mjs +0 -29
  170. package/dist/chunk-RFVPGD6N.mjs +0 -10
  171. package/dist/chunk-RXVMJVRX.mjs +0 -10
  172. package/dist/chunk-TTJTZLW5.mjs +0 -10
  173. package/dist/chunk-ZP6QG5FX.mjs +0 -10
  174. /package/dist/{chunk-MAJ74VNE.mjs → chunk-HMAVZPRE.mjs} +0 -0
package/dist/index.d.ts CHANGED
@@ -6340,7 +6340,7 @@ declare const capitalize: (str: string) => string;
6340
6340
  * Without DOMParser (on the server) it only strips tags: entities are not
6341
6341
  * decoded, script or style content is kept, and the result is not sanitized.
6342
6342
  */
6343
- declare const getPlainText: (text: string) => string;
6343
+ declare const getPlainText$1: (text: string) => string;
6344
6344
 
6345
6345
  /**
6346
6346
  * Checks whether a given DOM node is inside an iframe.
@@ -6945,6 +6945,20 @@ interface PopoverContentProps extends Omit<AriaPopoverProps, "popoverRef" | "tri
6945
6945
  * @default "shift"
6946
6946
  */
6947
6947
  horizontalBoundaryBehavior?: HorizontalBoundaryBehavior;
6948
+ /**
6949
+ * The distance in pixels between the popover and its trigger along the main
6950
+ * axis. When `includeArrow` is set, the arrow's 8px is added on top.
6951
+ *
6952
+ * @default 2
6953
+ */
6954
+ offset?: number;
6955
+ /**
6956
+ * The minimum distance in pixels kept between the popover and the edge of its
6957
+ * boundary.
6958
+ *
6959
+ * @default 0
6960
+ */
6961
+ containerPadding?: number;
6948
6962
  }
6949
6963
  interface PopoverTriggerProps {
6950
6964
  /** The contents of the popover trigger. */
@@ -7091,6 +7105,12 @@ type MenuItem = MenuOption | MenuSection;
7091
7105
  type MenuPopoverProps = Pick<PopoverContentProps, "isNonModal" | "placement" | "shouldUpdatePosition" | "shouldFlip" | "boundaryElement" | "boundaryAxis" | "horizontalBoundaryBehavior" | "crossOffset" | "offset" | "portalContainer">;
7092
7106
  type MenuSelectionKeys = "selectionMode" | "selectedKeys" | "defaultSelectedKeys" | "onSelectionChange";
7093
7107
  interface MenuPropsBase extends MenuPopoverProps, Omit<MenuTriggerProps, "trigger">, CollectionOptionRenderProps<MenuOption, MenuItemRenderProps>, Omit<AriaMenuProps<MenuItem>, "children" | MenuSelectionKeys>, Omit<AriaMenuTriggerProps, "type" | "trigger"> {
7108
+ /**
7109
+ * The placement of the menu relative to its trigger.
7110
+ *
7111
+ * @default "bottom start"
7112
+ */
7113
+ placement?: Placement;
7094
7114
  /**
7095
7115
  * How the menu is opened from its trigger. With `"longPress"`, a long press
7096
7116
  * or `Alt` + `ArrowDown` / `ArrowUp` / `Enter` / `Space` opens the menu.
@@ -7224,6 +7244,20 @@ interface TooltipProps extends StylingProps, TooltipTriggerProps, AriaTooltipPro
7224
7244
  * @default document.body
7225
7245
  */
7226
7246
  portalContainer?: HTMLElement;
7247
+ /**
7248
+ * The distance in pixels between the tooltip and its trigger along the main
7249
+ * axis. Defaults to 2 when `includeArrow` is false.
7250
+ *
7251
+ * @default 12
7252
+ */
7253
+ offset?: number;
7254
+ /**
7255
+ * The minimum distance in pixels of the arrow from the edge of the tooltip. It
7256
+ * defaults to 0 when `includeArrow` is false.
7257
+ *
7258
+ * @default 8
7259
+ */
7260
+ arrowBoundaryOffset?: number;
7227
7261
  }
7228
7262
  interface FocusableProps extends FocusableOptions, StylingProps {
7229
7263
  /** The content of the focusable element. */
@@ -7387,7 +7421,9 @@ interface ColorInputProps extends OverlayTriggerProps$1, StylingProps, Pick<Colo
7387
7421
  * that is currently selected. If boolean, the label will be shown only when
7388
7422
  * the color is not `null`. If a function, the function will be called with
7389
7423
  * the current color and should return a string. If `false`, the label will
7390
- * not be shown.
7424
+ * not be shown, but the default trigger's accessible name still includes the
7425
+ * color name. A custom `renderTriggerButton` receives `colorName: false` and
7426
+ * is responsible for naming its trigger.
7391
7427
  *
7392
7428
  * @default true
7393
7429
  */
@@ -7633,6 +7669,8 @@ declare const IconSlider: React__default.ForwardRefExoticComponent<IconSliderPro
7633
7669
  interface SwitchProps extends Omit<AriaSwitchProps, "children" | "isRequired" | "validate" | "validationBehavior" | "validationState" | "isInvalid" | "aria-errormessage" | "onClick" | "onPress" | "onPressStart" | "onPressEnd" | "onPressUp" | "onPressChange">, StylingProps {
7634
7670
  /** The label to display next to the switch. */
7635
7671
  label?: React__default.ReactNode;
7672
+ /** Helper text shown below the label and announced as its accessible description. */
7673
+ description?: string;
7636
7674
  /** The position of the label. */
7637
7675
  labelPosition?: "top" | "left";
7638
7676
  /** The status label to display next to the switch. */
@@ -8271,6 +8309,14 @@ interface TagProps extends StylingProps {
8271
8309
  * @default "md"
8272
8310
  */
8273
8311
  size?: "sm" | "md";
8312
+ /**
8313
+ * The element the tag renders as. Use `span` to place a tag without
8314
+ * `onRemove` inside a button or other inline content, where a `div` is not
8315
+ * valid HTML. Has no effect inside a `TagGroup`.
8316
+ *
8317
+ * @default "div"
8318
+ */
8319
+ elementType?: "div" | "span";
8274
8320
  /**
8275
8321
  * An optional icon to display before the tag content.
8276
8322
  */
@@ -8425,6 +8471,12 @@ declare const AccordionItem: React__default.ForwardRefExoticComponent<AccordionI
8425
8471
 
8426
8472
  type SelectionMode = "single" | "multiple";
8427
8473
  interface SelectProps<M extends SelectionMode = SelectionMode> extends Omit<AriaSelectOptions<ListItem, M> & SelectStateOptions<ListItem, M> & PopoverContentProps, "validationState" | "items" | "children" | "isRequired" | "className" | "style" | "triggerRef" | "validate" | "validationBehavior" | "keyboardDelegate" | "state" | "overlayProps">, Pick<UNSAFE_ListBoxProps, "items" | "optionStyle" | "optionClassName" | "showSectionHeader">, Pick<ColorInputProps, "onTriggerPress">, StylingProps {
8474
+ /**
8475
+ * The placement of the popover relative to the trigger.
8476
+ *
8477
+ * @default "bottom start"
8478
+ */
8479
+ placement?: Placement;
8428
8480
  /**
8429
8481
  * The position of the label.
8430
8482
  *
@@ -8556,6 +8608,40 @@ interface AvatarProps extends StylingProps {
8556
8608
 
8557
8609
  declare const Avatar: React__default.ForwardRefExoticComponent<AvatarProps & React__default.RefAttributes<HTMLSpanElement>>;
8558
8610
 
8611
+ interface ImageProps extends Omit<React__default.ImgHTMLAttributes<HTMLImageElement>, "children" | "dangerouslySetInnerHTML"> {
8612
+ /** The URL of the image to display. */
8613
+ src: string;
8614
+ /**
8615
+ * The text alternative of the image. Pass an empty string when the image is
8616
+ * purely decorative.
8617
+ */
8618
+ alt: string;
8619
+ /**
8620
+ * How the image fills its container. `cover` crops the image to fill the
8621
+ * container; `contain` shows the whole image inside it.
8622
+ *
8623
+ * @default "cover"
8624
+ */
8625
+ fit?: "cover" | "contain";
8626
+ /**
8627
+ * When the browser loads the image. `lazy` defers it until the image is near
8628
+ * the viewport, which suits thumbnails in long lists; `eager` loads it right
8629
+ * away.
8630
+ *
8631
+ * @default "eager"
8632
+ */
8633
+ loading?: "lazy" | "eager";
8634
+ /**
8635
+ * Content rendered in place of the image when it fails to load or `src` is
8636
+ * empty. Without it, the browser's broken-image rendering stays. The
8637
+ * fallback replaces the `<img>`, so `alt`, `className`, `style` and the ref
8638
+ * do not apply to it; give a meaningful fallback its own accessible name.
8639
+ */
8640
+ fallback?: React__default.ReactNode;
8641
+ }
8642
+
8643
+ declare const Image: React__default.ForwardRefExoticComponent<ImageProps & React__default.RefAttributes<HTMLImageElement>>;
8644
+
8559
8645
  type ItemProps = React__default.ComponentProps<typeof _Item> & StylingProps & {
8560
8646
  key?: Key;
8561
8647
  icon?: React__default.FC<IconProps>;
@@ -8817,6 +8903,11 @@ interface FreehandCanvasProps extends StylingProps, AriaLabelingProps {
8817
8903
  value?: FreehandCanvasLine[];
8818
8904
  /** The label for the canvas. */
8819
8905
  label?: string;
8906
+ /**
8907
+ * The accessible name of the canvas. Without it, the canvas is named by
8908
+ * `label` or `aria-labelledby`, and by "Drawing canvas" when neither is set.
8909
+ */
8910
+ "aria-label"?: string;
8820
8911
  /**
8821
8912
  * Whether to enable history for undo/redo.
8822
8913
  *
@@ -9016,7 +9107,7 @@ interface PreviewProps extends StylingProps, AriaLabelingProps {
9016
9107
  * - "positive": Represents a positive accent color that doesn't change with
9017
9108
  * theme.
9018
9109
  *
9019
- * @default "theme"
9110
+ * @default "positive"
9020
9111
  */
9021
9112
  accent?: "theme" | "positive";
9022
9113
  }
@@ -9598,6 +9689,10 @@ interface RichTextEditorText {
9598
9689
  underline?: boolean;
9599
9690
  color?: string;
9600
9691
  backgroundColor?: string;
9692
+ /** CSS value, passed through opaquely. */
9693
+ fontFamily?: string;
9694
+ /** CSS value, passed through opaquely. */
9695
+ fontSize?: string;
9601
9696
  }
9602
9697
  interface RichTextEditorLink {
9603
9698
  type: typeof LINK;
@@ -9617,9 +9712,16 @@ interface RichTextEditorMentionInput {
9617
9712
  type RichTextEditorInline = RichTextEditorText | RichTextEditorLink | RichTextEditorMention | RichTextEditorMentionInput;
9618
9713
  interface RichTextEditorParagraph {
9619
9714
  type: typeof PARAGRAPH;
9715
+ /** CSS `text-align` value, passed through opaquely. */
9716
+ textAlign?: string;
9620
9717
  children: RichTextEditorInline[];
9621
9718
  }
9622
9719
  type RichTextEditorDoc = RichTextEditorParagraph[];
9720
+ /**
9721
+ * Returns the document as plain text, without formatting. Paragraphs are
9722
+ * separated by `"\n"` and a mention contributes its display name.
9723
+ */
9724
+ declare function getPlainText(doc: RichTextEditorDoc): string;
9623
9725
 
9624
9726
  interface ModelPoint {
9625
9727
  /** [paragraphIndex, inlineIndex within paragraph.children] */
@@ -9631,16 +9733,37 @@ interface ModelRange {
9631
9733
  anchor: ModelPoint;
9632
9734
  focus: ModelPoint;
9633
9735
  }
9736
+ /**
9737
+ * Compares two points in document order: `-1` when `a` comes before `b`, `1`
9738
+ * when it comes after, `0` when they are the same point.
9739
+ */
9740
+ declare function comparePoints(a: ModelPoint, b: ModelPoint): -1 | 0 | 1;
9741
+ /** The point at the very start of the document. */
9742
+ declare function docStart(doc: RichTextEditorDoc): ModelPoint;
9743
+ /** The point at the very end of the document. */
9744
+ declare function docEnd(doc: RichTextEditorDoc): ModelPoint;
9634
9745
 
9635
9746
  type MarkName = "bold" | "italic" | "underline";
9636
- /** Marks shared by all text content covered by a range. */
9747
+ /**
9748
+ * Formatting at a selection. Over a range, `bold`, `italic` and `underline` are
9749
+ * `true` when every covered text run has the mark, `false` when none does, and
9750
+ * absent when the runs differ. At a collapsed caret, and with no selection,
9751
+ * they are always `true` or `false`, and reflect marks toggled for the next
9752
+ * typed text. A value mark is its value when every covered run shares it,
9753
+ * absent when none has one, and `null` when the runs differ.
9754
+ */
9637
9755
  interface ActiveMarks {
9638
- bold?: true;
9639
- italic?: true;
9640
- underline?: true;
9641
- color?: string;
9642
- backgroundColor?: string;
9756
+ bold?: boolean;
9757
+ italic?: boolean;
9758
+ underline?: boolean;
9759
+ color?: string | null;
9760
+ backgroundColor?: string | null;
9761
+ fontFamily?: string | null;
9762
+ fontSize?: string | null;
9643
9763
  }
9764
+ type ValueMarkKey = "color" | "backgroundColor" | "fontFamily" | "fontSize";
9765
+ /** A CSS property the engine reads back from HTML and the DOM. */
9766
+ type EditorStyle = ValueMarkKey | "textAlign";
9644
9767
 
9645
9768
  /**
9646
9769
  * EditorCore.ts — framework-free orchestrator for the rich-text editor.
@@ -9660,6 +9783,14 @@ interface ActiveMarks {
9660
9783
  * - Identity-diffing: commands that return the same `doc` reference are no-ops.
9661
9784
  */
9662
9785
 
9786
+ interface SelectOptions {
9787
+ /**
9788
+ * Whether to focus the editor before writing the selection. Defaults to
9789
+ * true. With false an unfocused editor stays unfocused and applies the
9790
+ * range when it next gains focus.
9791
+ */
9792
+ focus?: boolean;
9793
+ }
9663
9794
  interface SelectionState {
9664
9795
  /** Active marks at the current selection (merged with pendingMarks). */
9665
9796
  marks: ActiveMarks;
@@ -9674,6 +9805,8 @@ interface SelectionState {
9674
9805
  interface EditorCoreOptions {
9675
9806
  /** Called after each user-visible document change; receives serialized HTML. */
9676
9807
  onChange?: (html: string) => void;
9808
+ /** Called alongside `onChange` with the document model after each user-visible change. */
9809
+ onDocChange?: (doc: RichTextEditorDoc) => void;
9677
9810
  /** Called when the selection changes. */
9678
9811
  onSelectionChange?: (state: SelectionState) => void;
9679
9812
  /**
@@ -9705,6 +9838,34 @@ interface EditorCoreOptions {
9705
9838
  * selection). Defaults to enabled.
9706
9839
  */
9707
9840
  autoLink?: () => boolean;
9841
+ /**
9842
+ * Runs on a paste after the target, read-only and composition guards. A
9843
+ * returned doc is inserted at the caret as a fragment; `null` swallows the
9844
+ * paste; `undefined` falls through to the built-in paste pipeline. A throw
9845
+ * swallows the paste and is rethrown asynchronously.
9846
+ */
9847
+ onPaste?: (event: ClipboardEvent) => RichTextEditorDoc | null | undefined;
9848
+ /**
9849
+ * Runs on `copy` and `cut` with the fragment the selection covers, or an
9850
+ * empty document when the selection is collapsed. Return true after writing
9851
+ * the clipboard: the engine then calls `preventDefault()` and, for `cut` with
9852
+ * a selection, deletes it.
9853
+ */
9854
+ onCopy?: (event: ClipboardEvent, fragment: RichTextEditorDoc) => boolean;
9855
+ /**
9856
+ * Maximum document length, counted as `docLength` counts it. Typing, pasting,
9857
+ * soft breaks and IME input stop at the limit; a selection being replaced
9858
+ * counts as free space. Undefined means unlimited.
9859
+ */
9860
+ maxLength?: () => number | undefined;
9861
+ /**
9862
+ * The CSS properties read from HTML the engine parses: `setValue`. A style
9863
+ * missing here is dropped from that HTML. The DOM the engine renders itself
9864
+ * is always read back in full after native input, and pasted and dropped
9865
+ * HTML always reads only `color` and `backgroundColor`; use `onPaste` to
9866
+ * bring in more. Undefined means `color` and `backgroundColor`.
9867
+ */
9868
+ htmlStyles?: () => readonly EditorStyle[] | undefined;
9708
9869
  /** When this returns true all mutation inputs are blocked (preventDefault'd). */
9709
9870
  isReadOnly?: () => boolean;
9710
9871
  /**
@@ -9715,13 +9876,20 @@ interface EditorCoreOptions {
9715
9876
  * leaving a consumer free to wire their own. Defaults to enabled.
9716
9877
  */
9717
9878
  areKeyboardShortcutsEnabled?: () => boolean;
9879
+ /**
9880
+ * Whether Enter splits the paragraph instead of inserting a soft break.
9881
+ * Shift+Enter always inserts a soft break.
9882
+ *
9883
+ * @default false
9884
+ */
9885
+ enterInsertsParagraph?: () => boolean;
9718
9886
  }
9719
9887
  /** Names of commands that EditorCore can dispatch via exec(). */
9720
- type CommandName = "toggleMark" | "setMarkValue" | "wrapLink" | "updateLinkUrl" | "unwrapLink" | "deleteRange" | "insertText" | "insertFragment" | "insertSoftBreak" | "insertMentionInput" | "confirmMention" | "removeMentionInput";
9888
+ type CommandName = "toggleMark" | "setMarkValue" | "wrapLink" | "updateLinkUrl" | "unwrapLink" | "deleteRange" | "insertText" | "insertFragment" | "insertSoftBreak" | "insertParagraph" | "insertMentionInput" | "confirmMention" | "removeMentionInput";
9721
9889
  /** Argument tuple for each command (beyond doc + range which are implicit). */
9722
9890
  interface CommandArgs {
9723
9891
  toggleMark: [mark: MarkName];
9724
- setMarkValue: [key: "color" | "backgroundColor", value?: string];
9892
+ setMarkValue: [key: ValueMarkKey, value?: string];
9725
9893
  wrapLink: [url: string];
9726
9894
  updateLinkUrl: [url: string];
9727
9895
  unwrapLink: [];
@@ -9729,6 +9897,7 @@ interface CommandArgs {
9729
9897
  insertText: [text: string];
9730
9898
  insertFragment: [fragment: RichTextEditorDoc];
9731
9899
  insertSoftBreak: [];
9900
+ insertParagraph: [];
9732
9901
  insertMentionInput: [];
9733
9902
  confirmMention: [user: {
9734
9903
  id: string;
@@ -9750,33 +9919,12 @@ declare class EditorCore {
9750
9919
  * editor's own edits, so re-sending an unchanged `value` still reverts it.
9751
9920
  */
9752
9921
  private lastAppliedValue;
9753
- private cachedRange;
9754
- /**
9755
- * A doc replacement landed while the editor was unfocused, so `cachedRange`
9756
- * was never written to the DOM. Replayed by the focus handler.
9757
- */
9758
- private needsSelectionRestore;
9922
+ /** Doc last applied by {@link setDoc}; cleared on own edits like `lastAppliedValue`. */
9923
+ private lastAppliedDoc;
9924
+ private readonly selection;
9759
9925
  private composing;
9760
- private pending;
9761
- /**
9762
- * Number of upcoming selectionchange events that must NOT clear pending marks.
9763
- *
9764
- * handleSelectionChange normally clears pending the moment the caret leaves
9765
- * pending.caretOffset. But a single user keystroke (and insertSoftBreak)
9766
- * triggers our own writeSelection, which the browser reports back as one or
9767
- * more selectionchange events — and in shadow DOM (notably Chromium and
9768
- * Firefox) one of those can arrive with the post-keystroke caret offset before
9769
- * syncFromDom has updated pending.caretOffset to match. Without this guard,
9770
- * that transient mismatch clears pending mid-typing, the toolbar flips off,
9771
- * and the next character is no longer colored. We absorb a small burst of
9772
- * these self-inflicted events (a single boolean is not enough — shadow DOM can
9773
- * emit several per action) and re-sync caretOffset to the real caret as they
9774
- * arrive, so a genuine later caret move still clears pending correctly.
9775
- *
9776
- * Confirmed load-bearing: removing it makes the shadow-DOM "color buttons stay
9777
- * active while typing" CT flake/time out in Chromium.
9778
- */
9779
- private preservePendingSelectionChanges;
9926
+ private enterHasShift;
9927
+ private readonly pendingMarks;
9780
9928
  private history;
9781
9929
  private opts;
9782
9930
  private el;
@@ -9796,19 +9944,18 @@ declare class EditorCore {
9796
9944
  attach(el: HTMLElement): () => void;
9797
9945
  private readonly handleBeforeInputBound;
9798
9946
  private readonly handleInputBound;
9947
+ private isClipboardTargetInEditor;
9799
9948
  private readonly handlePasteBound;
9949
+ private readonly handleCopyBound;
9950
+ private readonly handleKeyDownBound;
9951
+ private readonly handleDocumentKeyDownBound;
9800
9952
  private readonly handlePointerDownBound;
9801
9953
  private readonly handleFocusBound;
9802
9954
  private readonly handleCompositionStartBound;
9803
9955
  private readonly handleCompositionEndBound;
9804
9956
  private readonly handleSelectionChangeBound;
9805
- /**
9806
- * Synchronously refreshes cachedRange from the live DOM selection when that
9807
- * selection is inside the editor. Leaves cachedRange untouched when the
9808
- * selection is elsewhere (dialogs, toolbar popovers) or unreadable.
9809
- */
9810
- private refreshSelectionFromDom;
9811
- getDoc(): RichTextEditorDoc;
9957
+ /** The full document, or the normalized fragment `range` covers. */
9958
+ getDoc(range?: ModelRange): RichTextEditorDoc;
9812
9959
  getValue(): string;
9813
9960
  /**
9814
9961
  * Sets the document from an HTML string (controlled entry point).
@@ -9821,53 +9968,89 @@ declare class EditorCore {
9821
9968
  setValue(html: string, opts?: {
9822
9969
  emit?: boolean;
9823
9970
  }): void;
9971
+ /**
9972
+ * Sets the document from a model (controlled entry point), the counterpart of
9973
+ * {@link setValue}: normalizes, keeps the caret offset, records no history and
9974
+ * emits only with `emit: true`.
9975
+ *
9976
+ * SKIPS (no-op) when `doc` is the current document, the object last applied
9977
+ * here, or has the same content as the current document.
9978
+ */
9979
+ setDoc(doc: RichTextEditorDoc, opts?: {
9980
+ emit?: boolean;
9981
+ }): void;
9982
+ private replaceDoc;
9824
9983
  private static docHasMentionInput;
9825
9984
  /**
9826
9985
  * Dispatches a named command at the current selection.
9827
9986
  *
9828
9987
  * Identity-diff: if the command returns the same `doc` reference (no-op),
9829
- * nothing changes — except for `toggleMark` on a collapsed selection, which
9830
- * sets pendingMarks and emits onSelectionChange.
9988
+ * nothing changes — except for `toggleMark` and `setMarkValue` on a collapsed
9989
+ * selection, which set pendingMarks and emit onSelectionChange.
9831
9990
  */
9832
9991
  exec<K extends CommandName>(name: K, ...args: CommandArgs[K]): void;
9992
+ /** `args` cut to what fits under maxLength, or null when nothing does. */
9993
+ private fitToCapacity;
9994
+ private maxLength;
9995
+ private clampToMaxLength;
9996
+ /**
9997
+ * Where text inserted over the last known range ends in `read`; the fallback
9998
+ * when the DOM caret cannot be read.
9999
+ */
10000
+ private insertionEnd;
10001
+ /** Characters that can still be inserted over `range`; undefined when unlimited. */
10002
+ private capacity;
9833
10003
  undo(): void;
9834
10004
  redo(): void;
9835
10005
  canUndo(): boolean;
9836
10006
  canRedo(): boolean;
9837
10007
  focus(): void;
9838
- private hasFocus;
9839
10008
  setCaretPosition(absoluteOffset: number): void;
9840
10009
  /**
9841
10010
  * Restores a model selection: focuses the editor and writes the range to
9842
- * both the DOM and cachedRange. Used by toolbar popovers (e.g. the color
10011
+ * both the DOM and the editor selection. Used by toolbar popovers (e.g. the color
9843
10012
  * picker) that captured the selection before taking focus — on Firefox,
9844
10013
  * refocusing a contenteditable collapses its DOM selection, so the range
9845
10014
  * must be re-applied explicitly before dispatching a command.
10015
+ *
10016
+ * With `focus: false` an unfocused editor keeps focus where it is: the
10017
+ * range scopes the next command and is written to the DOM when the editor
10018
+ * regains focus. A toolbar input that formats the whole document on Enter
10019
+ * relies on this, since focusing the editor during the keydown would let
10020
+ * the key's default action insert a paragraph.
9846
10021
  */
9847
- select(range: ModelRange): void;
10022
+ select(range: ModelRange, options?: SelectOptions): void;
9848
10023
  selectStart(): void;
9849
10024
  selectEnd(): void;
10025
+ /** Selects the whole document. */
10026
+ selectAll(options?: SelectOptions): void;
10027
+ /**
10028
+ * The selection state computed now, from the live DOM selection when it is
10029
+ * inside the editor and otherwise from the last known range.
10030
+ */
9850
10031
  getSelectionState(): SelectionState;
9851
10032
  private buildSelectionState;
9852
- private mergePendingMarks;
10033
+ private notifyChange;
10034
+ private emitSelectionChange;
9853
10035
  /**
9854
- * Toggle a pending boolean mark for the collapsed-caret case.
9855
- *
9856
- * We store the FULL effective marks snapshot (base + toggle) so that
9857
- * applyPendingMarks can apply them directly to the just-typed range.
9858
- * Toggling the same mark a second time returns to the base state.
10036
+ * Every document change ends here: applies the doc and range, renders,
10037
+ * places the selection and notifies consumers, per `source`.
9859
10038
  */
9860
- private setPendingMark;
10039
+ private commit;
9861
10040
  /**
9862
- * Set or clear a pending color/backgroundColor mark for the collapsed-caret case.
9863
- * `value === undefined` removes that key from the pending snapshot.
10041
+ * Native typing at the limit would insert at the caret and then lose its tail
10042
+ * when syncFromDom cuts from the document's end; insert the part that fits
10043
+ * through the model instead. Returns whether it handled the event.
9864
10044
  */
9865
- private setPendingColorMark;
9866
- private emitSelectionChange;
10045
+ private insertOverflowingText;
10046
+ private handleNativeInsert;
9867
10047
  /**
9868
- * Applies a doc+range change, re-renders if attached, emits events.
10048
+ * Spellcheck and autocorrect replace a word natively, which can drop the
10049
+ * replaced run's marks; replaces it through the model instead. Returns
10050
+ * whether it handled the event.
9869
10051
  */
9870
- private applyDocChange;
10052
+ private replaceTargetText;
10053
+ private breakCommand;
9871
10054
  private handleBeforeInput;
9872
10055
  /**
9873
10056
  * Returns true when the current caret position is preceded by a word boundary
@@ -9875,6 +10058,7 @@ declare class EditorCore {
9875
10058
  */
9876
10059
  private shouldTriggerMention;
9877
10060
  private lastCharOf;
10061
+ private allowedStyles;
9878
10062
  private autoLinkEnabled;
9879
10063
  /**
9880
10064
  * Gates {@link findAutoLinkBeforeCaret} on the feature being enabled and no
@@ -9895,7 +10079,8 @@ declare class EditorCore {
9895
10079
  * Wraps a previously-detected token span (absolute offsets in the CURRENT
9896
10080
  * doc) in a link, recording its own history entry and leaving the caret where
9897
10081
  * it is (wrapLink is length-preserving). Called right after the delimiter that
9898
- * triggered the conversion has been inserted.
10082
+ * triggered the conversion has been inserted; does nothing when that insert
10083
+ * was refused and left the document at `docBefore`.
9899
10084
  */
9900
10085
  private applyAutoLink;
9901
10086
  private handlePasteInput;
@@ -9906,24 +10091,9 @@ declare class EditorCore {
9906
10091
  * back into a model doc and reconciles with internal state.
9907
10092
  */
9908
10093
  private syncFromDom;
9909
- /**
9910
- * Apply pending marks to the text that was just typed.
9911
- *
9912
- * The just-typed range is determined by diffing the pre-input caret absolute
9913
- * offset against the post-input caret absolute offset.
9914
- */
9915
- private applyPendingMarks;
9916
- /**
9917
- * Applies the pending mark snapshot to the [preOffset, postOffset] range,
9918
- * re-deriving the range from absolute offsets before each command (commands
9919
- * may split nodes and stale a ModelRange). Returns the resulting doc by
9920
- * identity when no mark changed.
9921
- */
9922
- private applyPendingMarkSnapshot;
9923
10094
  private handleSelectionChange;
9924
10095
  private dispatchCommand;
9925
10096
  private collapsedAtDocEnd;
9926
- private rangesEqual;
9927
10097
  }
9928
10098
 
9929
10099
  /**
@@ -9967,23 +10137,63 @@ interface EditorState {
9967
10137
  redo: EditorCore["redo"];
9968
10138
  getValue: EditorCore["getValue"];
9969
10139
  setValue: EditorCore["setValue"];
10140
+ getDoc: EditorCore["getDoc"];
10141
+ setDoc: EditorCore["setDoc"];
10142
+ selectAll: EditorCore["selectAll"];
10143
+ /**
10144
+ * Selects `range`, focusing the editor first unless `options.focus` is
10145
+ * false. Does nothing until the editor is attached to an element.
10146
+ */
10147
+ select: EditorCore["select"];
10148
+ /**
10149
+ * The selection state computed now. Unlike the reactive
10150
+ * {@link selectionState}, which updates on the next render, this reflects a
10151
+ * selection made in the same tick, for example right after {@link select}.
10152
+ */
10153
+ getSelectionState: EditorCore["getSelectionState"];
9970
10154
  exec: EditorCore["exec"];
9971
10155
  /** Whether `mark` is active at the current selection. */
9972
10156
  isMarkActive: (mark: MarkName) => boolean;
9973
10157
  /** Toggle a boolean mark (bold/italic/underline). */
9974
10158
  toggleMark: (mark: MarkName) => void;
9975
- /** Set or clear a color mark; omit `value` to clear. */
9976
- setMark: (key: "color" | "backgroundColor", value?: string) => void;
10159
+ /** Set or clear a value mark (color or font); omit `value` to clear. */
10160
+ setMark: (key: ValueMarkKey, value?: string) => void;
9977
10161
  }
9978
10162
  /**
9979
10163
  * Options for {@link useEditor}. Combines the engine callbacks with the
9980
10164
  * React-managed props the hook owns the lifecycle for.
9981
10165
  */
9982
- interface UseEditorOptions extends Pick<EditorCoreOptions, "onChange" | "onSelectionChange" | "onMentionTrigger" | "onMentionInputRemoved" | "canStartMention" | "resolveMention" | "isReadOnly"> {
10166
+ interface UseEditorOptions extends Pick<EditorCoreOptions, "onChange" | "onDocChange" | "onPaste" | "onCopy" | "onSelectionChange" | "onMentionTrigger" | "onMentionInputRemoved" | "canStartMention" | "resolveMention" | "isReadOnly"> {
9983
10167
  /** Controlled value (provide with `onChange`). */
9984
10168
  value?: string;
9985
10169
  /** Initial value for uncontrolled use (applied once on mount). */
9986
10170
  defaultValue?: string;
10171
+ /**
10172
+ * Controlled document model (provide with `onDocChange`). Throws when
10173
+ * combined with `value`, `defaultValue` or `defaultDoc`.
10174
+ */
10175
+ doc?: RichTextEditorDoc;
10176
+ /** Initial document model for uncontrolled use (applied once on mount). */
10177
+ defaultDoc?: RichTextEditorDoc;
10178
+ /**
10179
+ * Maximum document length, counted as `docLength` counts it (a paragraph
10180
+ * separator is one character). Typing, pasting, soft breaks and IME input
10181
+ * stop at the limit; replacing a selection frees its characters. Must be a
10182
+ * finite integer of at least 0; anything else throws.
10183
+ */
10184
+ maxLength?: number;
10185
+ /**
10186
+ * The CSS properties the editor keeps when it parses `value`,
10187
+ * `defaultValue` and `setValue` HTML. Font marks and paragraph `textAlign`
10188
+ * in that HTML survive only when listed. Everything else is unaffected: a
10189
+ * `doc`/`defaultDoc`, marks set with `setMark` and text typed or edited
10190
+ * natively keep every style the document carries. Pasted and dropped HTML
10191
+ * always keeps only `color` and `backgroundColor`, since HTML from other
10192
+ * apps carries their fonts and sizes; use `onPaste` to bring in more.
10193
+ *
10194
+ * @default ["color", "backgroundColor"]
10195
+ */
10196
+ htmlStyles?: readonly EditorStyle[];
9987
10197
  /** When true, the editor is read-only and selection is cleared. */
9988
10198
  isDisabled?: boolean;
9989
10199
  /**
@@ -10000,6 +10210,13 @@ interface UseEditorOptions extends Pick<EditorCoreOptions, "onChange" | "onSelec
10000
10210
  * @default true
10001
10211
  */
10002
10212
  autoLink?: boolean;
10213
+ /**
10214
+ * Whether Enter splits the paragraph instead of inserting a soft break.
10215
+ * Shift+Enter always inserts a soft break.
10216
+ *
10217
+ * @default false
10218
+ */
10219
+ enterInsertsParagraph?: boolean;
10003
10220
  }
10004
10221
 
10005
10222
  /**
@@ -10041,6 +10258,8 @@ interface EditableProps {
10041
10258
  suppressContentEditableWarning: true;
10042
10259
  role: "textbox";
10043
10260
  "aria-multiline": true;
10261
+ /** Marks the editable root for styling and querying the rendered content. */
10262
+ "data-editor-root": "true";
10044
10263
  onKeyDown?: KeyboardEventHandler;
10045
10264
  onKeyUp?: KeyboardEventHandler;
10046
10265
  }
@@ -10358,7 +10577,7 @@ interface ImageGalleryProps extends StylingProps, Omit<UNSAFE_ListBoxProps, "ite
10358
10577
  /**
10359
10578
  * The aspect ratio of the images.
10360
10579
  *
10361
- * @default 16 / 9
10580
+ * @default 3 / 4
10362
10581
  */
10363
10582
  aspectRatio?: number;
10364
10583
  /**
@@ -10395,11 +10614,12 @@ interface ImageGalleryProps extends StylingProps, Omit<UNSAFE_ListBoxProps, "ite
10395
10614
  isSelected: boolean;
10396
10615
  }) => Dimension);
10397
10616
  /**
10398
- * The title of the delete confirmation modal.
10617
+ * The title of the delete confirmation modal. A function receives the keys
10618
+ * about to be deleted, or `"all"` when the delete comes from Select All.
10399
10619
  *
10400
10620
  * @default "Are you sure you want to delete this item?"
10401
10621
  */
10402
- deleteConfirmationTitle?: string | ((selectedKeys: Selection$1) => string);
10622
+ deleteConfirmationTitle?: string | ((keys: Selection$1) => string);
10403
10623
  /**
10404
10624
  * Overrides the label of the button that permanently deletes the selected
10405
10625
  * image(s), and the accessible label of each image's individual delete
@@ -10664,9 +10884,14 @@ type GridListProps = Omit<StylingProps & ListProps<ListOption> & AriaGridListOpt
10664
10884
  };
10665
10885
  }, ref: React__default.Ref<HTMLLIElement>) => React__default.JSX.Element;
10666
10886
  /**
10667
- * Enables editing mode which disables keydown event capturing, useful
10668
- * when you may want the internal `GridList` from taking away focus from
10669
- * child input due to type-ahead
10887
+ * Enables editing mode for an inline input inside a row. While editing,
10888
+ * the grid's own keyboard handling skips every key except Enter and
10889
+ * Escape, so type-ahead and arrow, Home, End, PageUp and PageDown
10890
+ * navigation do not move focus out of the input. Keys still reach the
10891
+ * input's own handlers. They also reach `onKeyDown` handlers on
10892
+ * ancestors and document-level listeners, except an Enter or Escape the
10893
+ * grid acts on, such as Enter selecting the row or Escape clearing the
10894
+ * selection.
10670
10895
  *
10671
10896
  * @default false
10672
10897
  */
@@ -10792,7 +11017,7 @@ interface ColorSwatchPickerProps extends StylingProps, Pick<RadioGroupProps, "op
10792
11017
 
10793
11018
  declare const ColorSwatchPicker: React__default.ForwardRefExoticComponent<ColorSwatchPickerProps & React__default.RefAttributes<HTMLDivElement>>;
10794
11019
 
10795
- declare const TimeField: React__default.ForwardRefExoticComponent<StylingProps & Omit<Omit<TimeFieldStateOptions<TimeValue>, "locale"> & AriaTimeFieldProps<TimeValue>, "isRequired" | "validate" | "validationState" | "isInvalid"> & Pick<SharedInputProps, "label" | "validationState" | "labelPosition" | "variant"> & InputMessage & React__default.RefAttributes<HTMLDivElement>>;
11020
+ declare const TimeField: React__default.ForwardRefExoticComponent<StylingProps & Omit<Omit<TimeFieldStateOptions<TimeValue>, "locale"> & AriaTimeFieldProps<TimeValue>, "isRequired" | "validate" | "validationState" | "isInvalid"> & Pick<SharedInputProps, "label" | "variant" | "validationState" | "labelPosition"> & InputMessage & React__default.RefAttributes<HTMLDivElement>>;
10796
11021
 
10797
11022
  type TimeFieldProps = StylingProps & Omit<Omit<TimeFieldStateOptions, "locale"> & AriaTimeFieldProps<TimeValue>, "validationState" | "isInvalid" | "isRequired" | "validate"> & Pick<SharedInputProps, "variant" | "labelPosition" | "validationState" | "label"> & InputMessage;
10798
11023
 
@@ -10883,9 +11108,15 @@ interface TreeViewProps extends StylingProps, Omit<AriaLabelingProps, "aria-desc
10883
11108
  * triggered. If not provided, the secondary action will not be shown.
10884
11109
  */
10885
11110
  onSecondaryAction?: (key: Key$1) => void;
10886
- /** The icon to use for the primary action. */
11111
+ /**
11112
+ * The icon to use for the primary action. The action is a plain button, so
11113
+ * a `{ selected, unselected }` pair renders `unselected`.
11114
+ */
10887
11115
  primaryActionIcon?: ToggleIconButtonProps["icon"] | ((key: Key$1) => ToggleIconButtonProps["icon"]);
10888
- /** The icon to use for the secondary action. */
11116
+ /**
11117
+ * The icon to use for the secondary action. The action is a plain button,
11118
+ * so a `{ selected, unselected }` pair renders `unselected`.
11119
+ */
10889
11120
  secondaryActionIcon?: ToggleIconButtonProps["icon"] | ((key: Key$1) => ToggleIconButtonProps["icon"]);
10890
11121
  /** The aria label for the primary action. */
10891
11122
  primaryActionAriaLabel?: string | ((key: Key$1) => string);
@@ -11137,7 +11368,7 @@ type DateFieldProps = StylingProps & Omit<Omit<DateFieldStateOptions, "locale">
11137
11368
  openCalendarLabel?: string;
11138
11369
  };
11139
11370
 
11140
- declare const DateField: React__default.ForwardRefExoticComponent<StylingProps & Omit<Omit<DateFieldStateOptions<DateValue>, "locale"> & AriaDateFieldProps<DateValue>, "isRequired" | "validate" | "validationState" | "isInvalid" | "createCalendar"> & Pick<SharedInputProps, "label" | "validationState" | "labelPosition" | "variant"> & InputMessage & {
11371
+ declare const DateField: React__default.ForwardRefExoticComponent<StylingProps & Omit<Omit<DateFieldStateOptions<DateValue>, "locale"> & AriaDateFieldProps<DateValue>, "isRequired" | "validate" | "validationState" | "isInvalid" | "createCalendar"> & Pick<SharedInputProps, "label" | "variant" | "validationState" | "labelPosition"> & InputMessage & {
11141
11372
  pickerType?: DateFieldPickerType;
11142
11373
  openCalendarLabel?: string;
11143
11374
  } & React__default.RefAttributes<HTMLDivElement>>;
@@ -11293,7 +11524,32 @@ interface Description {
11293
11524
  label: string;
11294
11525
  icon: React__default.FC<IconProps>;
11295
11526
  }
11296
- type FloatingOptions = Pick<PopoverContentProps, "crossOffset" | "offset" | "placement"> & {
11527
+ type FloatingOptions = {
11528
+ /**
11529
+ * The placement of the display relative to the anchor.
11530
+ *
11531
+ * @default "bottom start"
11532
+ */
11533
+ placement?: Placement;
11534
+ /**
11535
+ * The distance in pixels between the display and the anchor along the main
11536
+ * axis.
11537
+ *
11538
+ * @default 0
11539
+ */
11540
+ offset?: number;
11541
+ /**
11542
+ * The distance in pixels between the display and the anchor along the cross
11543
+ * axis. With `anchorElement: "trailing"` it is 0.
11544
+ *
11545
+ * @default indicator width
11546
+ */
11547
+ crossOffset?: number;
11548
+ /**
11549
+ * The element the display is anchored to.
11550
+ *
11551
+ * @default "indicator"
11552
+ */
11297
11553
  anchorElement?: "indicator" | "trailing";
11298
11554
  };
11299
11555
  interface PointPickerDisplayProps extends StylingProps {
@@ -11649,6 +11905,16 @@ interface StepperProps extends StylingProps {
11649
11905
 
11650
11906
  declare const Stepper: React__default.ForwardRefExoticComponent<StepperProps & React__default.RefAttributes<HTMLOListElement>>;
11651
11907
 
11908
+ interface FileListItemTag {
11909
+ /** The tag text. */
11910
+ label: string;
11911
+ /**
11912
+ * The colour of the tag.
11913
+ *
11914
+ * @default "neutral"
11915
+ */
11916
+ variant?: TagVariant;
11917
+ }
11652
11918
  interface FileListItem {
11653
11919
  /** Stable identifier used to remove the item and as the listbox key. */
11654
11920
  id: string;
@@ -11656,42 +11922,88 @@ interface FileListItem {
11656
11922
  name: string;
11657
11923
  /**
11658
11924
  * Whether the item is currently uploading. When `true`, a spinner is
11659
- * rendered in place of the remove button.
11925
+ * rendered in place of the remove button. Shown in the `compact` variant
11926
+ * only.
11660
11927
  */
11661
11928
  isLoading?: boolean;
11662
11929
  /**
11663
11930
  * Primary error message. When set, the row is rendered in the error
11664
- * state with a red border and the message below the file name.
11931
+ * state with a red border and the message below the file name. Shown in
11932
+ * the `compact` variant only.
11665
11933
  */
11666
11934
  errorMessage?: React__default.ReactNode;
11667
11935
  /**
11668
11936
  * Optional secondary explanation rendered below `errorMessage` in the
11669
- * helper color.
11937
+ * helper color. Shown in the `compact` variant only.
11670
11938
  */
11671
11939
  errorExplanation?: React__default.ReactNode;
11940
+ /**
11941
+ * Secondary text rendered under the name and read as the item's accessible
11942
+ * description. Shown in the `expanded` and `grid` variants.
11943
+ */
11944
+ description?: string;
11945
+ /**
11946
+ * A status tag rendered at the end of the row and read as part of the
11947
+ * item's accessible description. Shown in the `expanded` variant, and
11948
+ * disabled with the item.
11949
+ */
11950
+ tag?: FileListItemTag;
11951
+ /**
11952
+ * A preview of the file, such as an `Image`, shown in place of the file
11953
+ * icon in the `grid` variant. An `Image` without a `fallback` shows the file
11954
+ * icon when it fails to load.
11955
+ */
11956
+ preview?: React__default.ReactNode;
11672
11957
  }
11673
11958
  interface FileListProps extends AriaLabelingProps {
11674
11959
  /** The className applied to the root element. */
11675
11960
  className?: string;
11676
11961
  /** The style applied to the root element. */
11677
11962
  style?: React__default.CSSProperties;
11963
+ /**
11964
+ * How the items are rendered.
11965
+ *
11966
+ * - `compact` (default): divided rows with a file icon and name, for files
11967
+ * the user has added. The only variant that renders the remove button,
11968
+ * the loading spinner and error messages.
11969
+ * - `expanded`: bordered cards with the name, `description` and `tag`.
11970
+ * Past about five rows the list scrolls.
11971
+ * - `grid`: preview tiles with the `preview`, name and `description`, up to
11972
+ * six per row. Past about two rows the grid scrolls.
11973
+ *
11974
+ * @default "compact"
11975
+ */
11976
+ variant?: "compact" | "expanded" | "grid";
11977
+ /**
11978
+ * A title rendered above the list that also labels it for assistive
11979
+ * technology.
11980
+ */
11981
+ label?: React__default.ReactNode;
11982
+ /**
11983
+ * Called with the `id` of the item the user picks by clicking it or
11984
+ * pressing Enter.
11985
+ */
11986
+ onAction?: (id: string) => void;
11678
11987
  /**
11679
11988
  * The items rendered in the list. Pass a stable reference (e.g. memoize
11680
11989
  * or hoist) when possible — every new array identity rebuilds the
11681
11990
  * underlying listbox collection.
11682
11991
  */
11683
11992
  items: FileListItem[];
11684
- /** Called when the user removes an item via the row button or Delete. */
11993
+ /**
11994
+ * Called when the user removes an item via the row button, Delete or
11995
+ * Backspace. Only the `compact` variant supports removal.
11996
+ */
11685
11997
  onRemove?: (id: string) => void;
11686
11998
  /**
11687
11999
  * Keys of items that should be disabled individually, or `"all"` to
11688
12000
  * disable every item. Disabled items cannot be removed via the row
11689
- * button or keyboard.
12001
+ * button or keyboard, or picked with `onAction`.
11690
12002
  */
11691
12003
  disabledKeys?: Iterable<string> | "all";
11692
12004
  /**
11693
12005
  * Overrides the accessible name of a file row while it is loading, and of
11694
- * its spinner.
12006
+ * its spinner. Used in the `compact` variant only.
11695
12007
  *
11696
12008
  * Message id: `bui.fileList.loading`. Defaults to `"Loading {fileName}"`.
11697
12009
  * A string is used as-is, with no placeholder substitution. To include
@@ -11703,7 +12015,7 @@ interface FileListProps extends AriaLabelingProps {
11703
12015
  }) => string);
11704
12016
  /**
11705
12017
  * Overrides the accessible name of a removable file row, telling keyboard
11706
- * users how to delete it.
12018
+ * users how to delete it. Used in the `compact` variant only.
11707
12019
  *
11708
12020
  * Message id: `bui.fileList.removeHint`. Defaults to
11709
12021
  * `"{fileName}, press Delete or Backspace to remove"`. A string is used
@@ -11722,25 +12034,41 @@ interface FileUploaderProps extends Omit<StylingProps, keyof BlockProps> {
11722
12034
  /**
11723
12035
  * The visual variant.
11724
12036
  *
11725
- * - `dropzone` (default): renders a drop area that accepts dragged and
11726
- * pasted files. Clicking anywhere in the area opens the file picker.
11727
- * - `button`: renders an `ActionButton` that opens the file picker. No
11728
- * drop target is rendered.
12037
+ * - `dropzone-box` (default): a filled drop area that accepts dragged and
12038
+ * pasted files. Clicking blank space in the area opens the file picker.
12039
+ * - `dropzone-inline`: the same drop area outlined with a dashed border and
12040
+ * rounded corners instead of a filled box.
12041
+ * - `dropzone-compact`: a one-line dashed bar with the upload icon, the
12042
+ * action text and the `description` side by side. The action text and the
12043
+ * description truncate with an ellipsis rather than wrap. The `children`
12044
+ * render below the bar, outside the drop area.
12045
+ * - `button`: an `ActionButton` that opens the file picker. No drop target
12046
+ * is rendered.
12047
+ * - `dropzone` (deprecated): an alias for `dropzone-box`, or for
12048
+ * `dropzone-inline` when `isInline` is set. Use one of the values above.
11729
12049
  *
11730
- * @default "dropzone"
12050
+ * @default "dropzone-box"
11731
12051
  */
11732
- variant?: "dropzone" | "button";
12052
+ variant?: "dropzone-box" | "dropzone-inline" | "dropzone-compact" | "button" | "dropzone";
11733
12053
  /**
11734
- * Whether the `dropzone` drop area is rendered inline — outlined with a
11735
- * dashed border and rounded corners — instead of as a plain filled box.
11736
- * Has no effect on the `button` variant.
12054
+ * Whether the drop area is rendered inline. Only honoured when `variant` is
12055
+ * omitted or the deprecated `"dropzone"`; any other `variant` ignores it.
11737
12056
  *
12057
+ * @deprecated Use `variant="dropzone-inline"`.
11738
12058
  * @default false
11739
12059
  */
11740
12060
  isInline?: boolean;
11741
12061
  /** Optional label rendered above the trigger. */
11742
12062
  label?: React__default.ReactNode;
11743
- /** Optional description rendered below the label. */
12063
+ /**
12064
+ * Optional description. The dropzone variants render it inside the drop
12065
+ * area, under the action text (beside it in `dropzone-compact`), where
12066
+ * clicking it opens the file picker; a link in it should be a Baseline
12067
+ * `Link`, since a native `<a>` also opens the picker. Keep it plain text in
12068
+ * `dropzone-compact`: it truncates there, so a link can be cut off while
12069
+ * still taking keyboard focus. The `button` variant renders it below the
12070
+ * label.
12071
+ */
11744
12072
  description?: React__default.ReactNode;
11745
12073
  /** Called when the user selects or drops new files. */
11746
12074
  onAdd?: (files: File[]) => void;
@@ -11773,12 +12101,26 @@ interface FileUploaderProps extends Omit<StylingProps, keyof BlockProps> {
11773
12101
  */
11774
12102
  buttonLabel?: string;
11775
12103
  /**
11776
- * The text rendered inside the clickable drop area in the `dropzone`
11777
- * variant.
12104
+ * The text rendered inside the clickable drop area in the dropzone
12105
+ * variants.
11778
12106
  *
11779
12107
  * @default "Drop files here or click to upload"
11780
12108
  */
11781
12109
  dropzoneLabel?: string;
12110
+ /**
12111
+ * Content offered alongside the drop area, typically a `FileList` of sample
12112
+ * files the user can pick instead of uploading one. In the `dropzone-box`
12113
+ * and `dropzone-inline` variants it renders inside the drop area, centered,
12114
+ * so a file dropped on it is still added; clicking blank space in the drop
12115
+ * area opens the file picker, and clicking an item, button or link does not.
12116
+ * Use Baseline components for anything clickable here: a native `<button>`,
12117
+ * `<a>` or `<input>` also opens the picker. Use the `grid` `FileList`
12118
+ * variant here; an `expanded` list shrinks to its widest card. The `button`
12119
+ * and `dropzone-compact` variants render it below the control. Disabling the
12120
+ * uploader disables a `FileList` passed here. To show samples outside the
12121
+ * drop area, render the `FileList` next to the uploader instead.
12122
+ */
12123
+ children?: React__default.ReactNode;
11782
12124
  }
11783
12125
 
11784
12126
  declare const FileUploader: React__default.ForwardRefExoticComponent<FileUploaderProps & React__default.RefAttributes<HTMLDivElement>>;
@@ -12459,5 +12801,5 @@ declare namespace reactStately {
12459
12801
  export type { reactStately_Color as Color, reactStately_ListData as ListData, reactStately_TreeData as TreeData };
12460
12802
  }
12461
12803
 
12462
- export { Accordion, AccordionItem, ActionButton, ActionGroup, ActionGroupItem, ActionIconButton, Actionable, AlertDialog, AudioPlayer, Autocomplete, Avatar, Box, Breadcrumb, Breadcrumbs, ButtonSelect, Calendar, Cell, Checkbox, Code, ColorInput, ColorSwatch, ColorSwatchPicker, Column, ComboBox, DateField, DateFormat, DefaultListOption, DeviceProvider, DeviceProviderContext, Dialog, DialogTitle, Disclosure, DomNodeRenderer, Drawer, EMPTY_SELECTION_STATE, Editor, EditorCore, EditorProvider, FileInput, FileList$1 as FileList, FileUploader, FocusScope, Focusable, FrameProvider, FreehandCanvas, GlobalToastRegion, GridLayout, GridList, Group, I18nProvider, Icon, IconColorInput, IconColorInputButton, IconSelect, IconSlider, ImageDropZone, ImageGallery, InlineAlert, Kbd, Link, ListBox, ListLayout, LocaleAwareGridLayout, Markdown, Menu, MessageFormat, Modal, ModalClose, ModalContent, ModalTrigger, NumberFormat, NumberInput, Pagination, Panel, PanelGroup, PanelResizeHandle, PointPicker, PointPickerContent, PointPickerDisplay, Popover, PopoverContent, PopoverTrigger, Portal, PortalContainerProvider, Pressable, Preview, ProgressBar, ProgressSpinner, REACT_ARIA_INCOMPATIBLE_KEYS, RadioGroup, RangeCalendar, Reaction, Row, ScrollControlButton, SearchInput, Select, Separator, Size, Skeleton, Slider, StatusCard, Stepper, Switch, TabItem, Table, TableBody, TableHeader, TableLayout, Tabs, Tag, TagGroup, TaggedPagination, Text, TextInput, ThemeProvider, TimeField, ToastQueue, ToggleButton, ToggleIconButton, Toolbar, Tooltip, TreeView, UNSAFE_ListBox, reactAria as UNSAFE_aria, reactStately as UNSAFE_stately, VIRTUALIZER_LAYOUT_DEFAULT_OPTIONS, Virtualizer, VisuallyHidden, WaterfallLayout, announce, areColorsEqual, booleanOrObjectToConfig, calculateFontSizeToFitWidth, capitalize, clamp, classNames, cleanKeyFromGlobImport, clearAnnouncer, createMessageFormatter, defineMessages, destroyAnnouncer, devWarnOnce, directionVar, disableAnimations, enableAnimations, filterDOMProps, filterTruthyValues, findFocusableElements, getAbsoluteBounds, getAbsolutePosition, getActiveElement, getHTMLElement, getOsSpecificKeyboardShortcutLabel, getOwnerDocument, getPlainText, getSvgPathFromStroke, getTextDimensions, handleEditorShortcut, iconMap, invariant, isFocusableElement, isInIframe, isInShadowDOM, isInputThatOpensKeyboard, isInsideOverlayContent, isRect, isUrl, legacyMessageIdMap, lightenColor, mergeProps, mergeRefs, messageIds, onDropOrPaste, parseColor, safeSpreadProps, useCollator, useDateFormatter, useDevice, useDragAndDrop, useEditable, useEditor, useEditorContext, useFilter, useFocusRing, useFocusVisible, useFrameDimensions, useI18n, useId, useImage, useInteractionModality, useIntersectionObserver, useIsFirstRender, useKeyboard, useListData, useLiveInteractionModality, useLocalStorage, useLocale, useMutationObserver, useNumberFormatter, useObjectRef, usePointProximity, usePortalContainer, usePreventFocus, useResizeObserver, useTableDragAndDrop, useTextSelection, useUndoRedo, useUserPreferences };
12463
- export type { AccordionItemProps, AccordionProps, ActionButtonProps, ActionGroupProps, ActionIconButtonProps, ActionableProps, ActiveMarks, AlertDialogProps, AudioPlayerProps, AutocompleteProps, AvatarProps, BlockProps, BoundaryAxis, BoxProps, BreadcrumbProps, BreadcrumbsProps, ButtonSelectProps, CalendarHeaderVariant, CalendarProps, CalendarSize, CellProps, CheckboxProps, CodeProps, ColorInputProps, ColorPreset, ColorSwatchPickerProps, ColorSwatchProps, ColumnProps, ComboBoxProps, CommandArgs, CommandName, CreateMessageFormatterOptions, DateFieldPickerType, DateFieldProps, DateFormatProps, Device, DeviceProviderProps, DialogProps, DialogTitleProps, DisclosureProps, DomNodeRendererProps, DrawerProps, EditableProps, EditorCoreOptions, EditorHandle, EditorProps, EditorProviderProps, EditorState, FileInputProps, FileListItem, FileListProps, FileUploaderProps, FocusableProps, FrameProviderProps, FreehandCanvasProps, GridListProps, GroupProps, HorizontalBoundaryBehavior, I18nProviderProps, I18nResult, IconColorInputProps, IconComponentProps$1 as IconComponentProps, IconProps, IconSelectProps, IconSliderProps, ImageDropZoneProps, ImageGalleryProps, ImperativePanelGroupHandle, ImperativePanelHandle, InlineAlertProps, IntersectionObserverOptions, KbdProps, Key, LinkProps, ListBoxProps, ListHandle$1 as ListHandle, ListOption, MarkName, MarkdownProps, MenuItem, MenuProps, MessageDescriptor, MessageFormatProps, MessageFormatter, MessageId, MessageIssue, MessageIssueCode, ModalContentProps, ModalProps, ModelPoint, ModelRange, NumberFormatProps, NumberInputProps, PaginationProps, PanelGroupProps, PanelProps, PanelResizeHandleProps, PointPickerContentProps, PointPickerDisplayProps, PointPickerProps, PopoverContentHandle, PopoverContentProps, PopoverProps, PopoverTriggerProps, PortalProps, PressEvent, PreviewProps, ProgressBarProps, ProgressSpinnerProps, RadioGroupProps, RangeCalendarProps, ReactAriaIncompatibleKey, ReactionProps, Rect, ResizeObserverOptions, RichTextEditorDoc, RichTextEditorInline, RichTextEditorLink, RichTextEditorMention, RichTextEditorMentionInput, RichTextEditorParagraph, RichTextEditorText, RowProps, SVGRProps, SafeDOMAttributes, ScrollControlButtonProps, SearchInputProps, SelectProps, SelectionState, SeparatorProps, SetValue, SkeletonProps, SliderProps, StatusCardProps, StepperItem, StepperProps, StylingProps, SwitchProps, TabItemProps, TableBodyProps, TableHeaderProps, TableProps, TabsProps, TagGroupProps, TagProps, TagVariant, TaggedPaginationProps, TextInputProps, TextProps, TextSelectionProps, ThemeProviderProps, TimeFieldProps, ToastProps, ToggleButtonProps, ToggleIconButtonProps, ToolbarProps, TooltipProps, TreeItemRenderState, TreeListItem, TreeViewProps, UNSAFE_ListBoxProps, UseEditableOptions, UseEditorOptions, UseTableDragAndDropOptions, VirtualizerProps };
12804
+ export { Accordion, AccordionItem, ActionButton, ActionGroup, ActionGroupItem, ActionIconButton, Actionable, AlertDialog, AudioPlayer, Autocomplete, Avatar, Box, Breadcrumb, Breadcrumbs, ButtonSelect, Calendar, Cell, Checkbox, Code, ColorInput, ColorSwatch, ColorSwatchPicker, Column, ComboBox, DateField, DateFormat, DefaultListOption, DeviceProvider, DeviceProviderContext, Dialog, DialogTitle, Disclosure, DomNodeRenderer, Drawer, EMPTY_SELECTION_STATE, Editor, EditorCore, EditorProvider, FileInput, FileList$1 as FileList, FileUploader, FocusScope, Focusable, FrameProvider, FreehandCanvas, GlobalToastRegion, GridLayout, GridList, Group, I18nProvider, Icon, IconColorInput, IconColorInputButton, IconSelect, IconSlider, Image, ImageDropZone, ImageGallery, InlineAlert, Kbd, Link, ListBox, ListLayout, LocaleAwareGridLayout, Markdown, Menu, MessageFormat, Modal, ModalClose, ModalContent, ModalTrigger, NumberFormat, NumberInput, Pagination, Panel, PanelGroup, PanelResizeHandle, PointPicker, PointPickerContent, PointPickerDisplay, Popover, PopoverContent, PopoverTrigger, Portal, PortalContainerProvider, Pressable, Preview, ProgressBar, ProgressSpinner, REACT_ARIA_INCOMPATIBLE_KEYS, RadioGroup, RangeCalendar, Reaction, Row, ScrollControlButton, SearchInput, Select, Separator, Size, Skeleton, Slider, StatusCard, Stepper, Switch, TabItem, Table, TableBody, TableHeader, TableLayout, Tabs, Tag, TagGroup, TaggedPagination, Text, TextInput, ThemeProvider, TimeField, ToastQueue, ToggleButton, ToggleIconButton, Toolbar, Tooltip, TreeView, UNSAFE_ListBox, reactAria as UNSAFE_aria, reactStately as UNSAFE_stately, VIRTUALIZER_LAYOUT_DEFAULT_OPTIONS, Virtualizer, VisuallyHidden, WaterfallLayout, announce, areColorsEqual, booleanOrObjectToConfig, calculateFontSizeToFitWidth, capitalize, clamp, classNames, cleanKeyFromGlobImport, clearAnnouncer, comparePoints, createMessageFormatter, defineMessages, destroyAnnouncer, devWarnOnce, directionVar, disableAnimations, docEnd, docStart, enableAnimations, filterDOMProps, filterTruthyValues, findFocusableElements, getAbsoluteBounds, getAbsolutePosition, getActiveElement, getPlainText as getDocPlainText, getHTMLElement, getOsSpecificKeyboardShortcutLabel, getOwnerDocument, getPlainText$1 as getPlainText, getSvgPathFromStroke, getTextDimensions, handleEditorShortcut, iconMap, invariant, isFocusableElement, isInIframe, isInShadowDOM, isInputThatOpensKeyboard, isInsideOverlayContent, isRect, isUrl, legacyMessageIdMap, lightenColor, mergeProps, mergeRefs, messageIds, onDropOrPaste, parseColor, safeSpreadProps, useCollator, useDateFormatter, useDevice, useDragAndDrop, useEditable, useEditor, useEditorContext, useFilter, useFocusRing, useFocusVisible, useFrameDimensions, useI18n, useId, useImage, useInteractionModality, useIntersectionObserver, useIsFirstRender, useKeyboard, useListData, useLiveInteractionModality, useLocalStorage, useLocale, useMutationObserver, useNumberFormatter, useObjectRef, usePointProximity, usePortalContainer, usePreventFocus, useResizeObserver, useTableDragAndDrop, useTextSelection, useUndoRedo, useUserPreferences };
12805
+ export type { AccordionItemProps, AccordionProps, ActionButtonProps, ActionGroupProps, ActionIconButtonProps, ActionableProps, ActiveMarks, AlertDialogProps, AudioPlayerProps, AutocompleteProps, AvatarProps, BlockProps, BoundaryAxis, BoxProps, BreadcrumbProps, BreadcrumbsProps, ButtonSelectProps, CalendarHeaderVariant, CalendarProps, CalendarSize, CellProps, CheckboxProps, CodeProps, ColorInputProps, ColorPreset, ColorSwatchPickerProps, ColorSwatchProps, ColumnProps, ComboBoxProps, CommandArgs, CommandName, CreateMessageFormatterOptions, DateFieldPickerType, DateFieldProps, DateFormatProps, Device, DeviceProviderProps, DialogProps, DialogTitleProps, DisclosureProps, DomNodeRendererProps, DrawerProps, EditableProps, EditorCoreOptions, EditorHandle, EditorProps, EditorProviderProps, EditorState, EditorStyle, FileInputProps, FileListItem, FileListItemTag, FileListProps, FileUploaderProps, FocusableProps, FrameProviderProps, FreehandCanvasProps, GridListProps, GroupProps, HorizontalBoundaryBehavior, I18nProviderProps, I18nResult, IconColorInputProps, IconComponentProps$1 as IconComponentProps, IconProps, IconSelectProps, IconSliderProps, ImageDropZoneProps, ImageGalleryProps, ImageProps, ImperativePanelGroupHandle, ImperativePanelHandle, InlineAlertProps, IntersectionObserverOptions, KbdProps, Key, LinkProps, ListBoxProps, ListHandle$1 as ListHandle, ListOption, MarkName, MarkdownProps, MenuItem, MenuProps, MessageDescriptor, MessageFormatProps, MessageFormatter, MessageId, MessageIssue, MessageIssueCode, ModalContentProps, ModalProps, ModelPoint, ModelRange, NumberFormatProps, NumberInputProps, PaginationProps, PanelGroupProps, PanelProps, PanelResizeHandleProps, PointPickerContentProps, PointPickerDisplayProps, PointPickerProps, PopoverContentHandle, PopoverContentProps, PopoverProps, PopoverTriggerProps, PortalProps, PressEvent, PreviewProps, ProgressBarProps, ProgressSpinnerProps, RadioGroupProps, RangeCalendarProps, ReactAriaIncompatibleKey, ReactionProps, Rect, ResizeObserverOptions, RichTextEditorDoc, RichTextEditorInline, RichTextEditorLink, RichTextEditorMention, RichTextEditorMentionInput, RichTextEditorParagraph, RichTextEditorText, RowProps, SVGRProps, SafeDOMAttributes, ScrollControlButtonProps, SearchInputProps, SelectOptions, SelectProps, SelectionState, SeparatorProps, SetValue, SkeletonProps, SliderProps, StatusCardProps, StepperItem, StepperProps, StylingProps, SwitchProps, TabItemProps, TableBodyProps, TableHeaderProps, TableProps, TabsProps, TagGroupProps, TagProps, TagVariant, TaggedPaginationProps, TextInputProps, TextProps, TextSelectionProps, ThemeProviderProps, TimeFieldProps, ToastProps, ToggleButtonProps, ToggleIconButtonProps, ToolbarProps, TooltipProps, TreeItemRenderState, TreeListItem, TreeViewProps, UNSAFE_ListBoxProps, UseEditableOptions, UseEditorOptions, UseTableDragAndDropOptions, ValueMarkKey, VirtualizerProps };