@cube-dev/ui-kit 0.201.0 → 0.203.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 (721) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +56 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  5. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  8. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  9. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  10. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  11. package/dist/_internal/hooks/use-warn.js +1 -1
  12. package/dist/components/Block.js +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +2 -1
  17. package/dist/components/HiddenInput.js.map +1 -1
  18. package/dist/components/Root.js +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.js +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/actions-run.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider/Divider.d.ts +22 -0
  57. package/dist/components/content/Divider/Divider.js +159 -0
  58. package/dist/components/content/Divider/Divider.js.map +1 -0
  59. package/dist/components/content/Footer.js +1 -1
  60. package/dist/components/content/Header.js +1 -1
  61. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  62. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.js +1 -1
  96. package/dist/components/content/TextItem/TextItem.js +1 -1
  97. package/dist/components/content/Title.js +1 -1
  98. package/dist/components/content/Tree/Tree.js +39 -14
  99. package/dist/components/content/Tree/Tree.js.map +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +8 -7
  101. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  102. package/dist/components/content/Tree/checked-keys.js +158 -0
  103. package/dist/components/content/Tree/checked-keys.js.map +1 -0
  104. package/dist/components/content/Tree/rowId.js +16 -0
  105. package/dist/components/content/Tree/rowId.js.map +1 -0
  106. package/dist/components/content/Tree/styled.js +1 -1
  107. package/dist/components/content/Tree/tree-index.js +10 -2
  108. package/dist/components/content/Tree/tree-index.js.map +1 -1
  109. package/dist/components/content/Tree/types.d.ts +21 -1
  110. package/dist/components/content/Tree/use-checkbox-tree.js +17 -123
  111. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  112. package/dist/components/content/Tree/use-load-data.js +1 -1
  113. package/dist/components/content/highlightText.js +1 -1
  114. package/dist/components/content/use-auto-tooltip.js +1 -1
  115. package/dist/components/data/DataTable/DataTable.js +1 -1
  116. package/dist/components/data/ItemTable/ItemTable.js +233 -178
  117. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  118. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  119. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  120. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  121. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  122. package/dist/components/data/ItemTable/index.d.ts +2 -2
  123. package/dist/components/data/ItemTable/item-table-sections.js +68 -0
  124. package/dist/components/data/ItemTable/item-table-sections.js.map +1 -0
  125. package/dist/components/data/ItemTable/types.d.ts +12 -0
  126. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  127. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  128. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  129. package/dist/components/data/ItemTable/use-item-table-selection.js +31 -27
  130. package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
  131. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  132. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  133. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  134. package/dist/components/data/TableBase/RowCollection.js +1 -1
  135. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  136. package/dist/components/data/TableBase/TableRow.js +1 -1
  137. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  138. package/dist/components/data/TableBase/TableView.d.ts +1 -0
  139. package/dist/components/data/TableBase/TableView.js +86 -21
  140. package/dist/components/data/TableBase/TableView.js.map +1 -1
  141. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  142. package/dist/components/data/TableBase/column-header.js +1 -1
  143. package/dist/components/data/TableBase/column-menu.js +1 -1
  144. package/dist/components/data/TableBase/column-styles.js +1 -1
  145. package/dist/components/data/TableBase/column-tint.js +1 -1
  146. package/dist/components/data/TableBase/row-menu.js +1 -1
  147. package/dist/components/data/TableBase/styled.js +25 -1
  148. package/dist/components/data/TableBase/styled.js.map +1 -1
  149. package/dist/components/data/TableBase/table-body-sections.d.ts +3 -0
  150. package/dist/components/data/TableBase/table-body-sections.js +30 -0
  151. package/dist/components/data/TableBase/table-body-sections.js.map +1 -0
  152. package/dist/components/data/TableBase/table-tree.js +1 -1
  153. package/dist/components/data/TableBase/types.js +1 -1
  154. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  155. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  156. package/dist/components/data/TableBase/use-column-order.js +1 -1
  157. package/dist/components/data/TableBase/use-column-window.js +1 -1
  158. package/dist/components/data/TableBase/use-container-width.js +1 -1
  159. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  160. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  161. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  162. package/dist/components/data/TableBase/use-table-search.js +1 -1
  163. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  164. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  165. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  166. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  167. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  168. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  169. package/dist/components/data/index.d.ts +2 -2
  170. package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
  171. package/dist/components/fields/Checkbox/Checkbox.js +21 -10
  172. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  173. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
  174. package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
  175. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  176. package/dist/components/fields/Checkbox/context.js +1 -1
  177. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -2
  178. package/dist/components/fields/ColorInput/ColorInput.js +5 -3
  179. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  180. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
  181. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
  182. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  183. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  184. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -2
  185. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
  186. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  187. package/dist/components/fields/ComboBox/ComboBox.d.ts +7 -5
  188. package/dist/components/fields/ComboBox/ComboBox.js +704 -639
  189. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  190. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  191. package/dist/components/fields/CommandTextArea/CommandTextArea.js +5 -4
  192. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  193. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  194. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  195. package/dist/components/fields/DatePicker/DateInput.d.ts +3 -2
  196. package/dist/components/fields/DatePicker/DateInput.js +6 -5
  197. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  198. package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
  199. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  200. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
  201. package/dist/components/fields/DatePicker/DatePicker.js +84 -173
  202. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  203. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  204. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  205. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  206. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  207. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
  208. package/dist/components/fields/DatePicker/DateRangePicker.js +116 -204
  209. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  210. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
  211. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +288 -434
  212. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  213. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  214. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +3 -2
  215. package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
  216. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  217. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  218. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -2
  219. package/dist/components/fields/DatePicker/TimeInput.js +7 -6
  220. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  221. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  222. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  223. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  224. package/dist/components/fields/DatePicker/period.js +1 -1
  225. package/dist/components/fields/DatePicker/props.js +1 -1
  226. package/dist/components/fields/DatePicker/utils.js +1 -1
  227. package/dist/components/fields/FileInput/FileInput.d.ts +3 -2
  228. package/dist/components/fields/FileInput/FileInput.js +71 -100
  229. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  230. package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
  231. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  232. package/dist/components/fields/FilterListBox/styled.js +66 -0
  233. package/dist/components/fields/FilterListBox/styled.js.map +1 -0
  234. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
  235. package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
  236. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  237. package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
  238. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
  239. package/dist/components/fields/Input/Input.js +1 -1
  240. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  241. package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
  242. package/dist/components/fields/ListBox/ListBox.js +7 -10
  243. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  244. package/dist/components/fields/ListBox/optionId.js +1 -1
  245. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  246. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  247. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  248. package/dist/components/fields/NumberInput/NumberInput.js +40 -21
  249. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  250. package/dist/components/fields/NumberInput/StepButton.js +52 -37
  251. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  252. package/dist/components/fields/PasswordInput/PasswordInput.js +5 -3
  253. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  254. package/dist/components/fields/Picker/Picker.d.ts +9 -3
  255. package/dist/components/fields/Picker/Picker.js +12 -11
  256. package/dist/components/fields/Picker/Picker.js.map +1 -1
  257. package/dist/components/fields/RadioGroup/Radio.js +152 -154
  258. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  259. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
  260. package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
  261. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  262. package/dist/components/fields/RadioGroup/context.js +1 -1
  263. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  264. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
  265. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
  266. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  267. package/dist/components/fields/SearchInput/SearchInput.js +52 -48
  268. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  269. package/dist/components/fields/Select/Select.d.ts +3 -2
  270. package/dist/components/fields/Select/Select.js +8 -10
  271. package/dist/components/fields/Select/Select.js.map +1 -1
  272. package/dist/components/fields/Slider/Gradation.js +1 -1
  273. package/dist/components/fields/Slider/HueSlider.js +1 -1
  274. package/dist/components/fields/Slider/RangeSlider.js +19 -26
  275. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  276. package/dist/components/fields/Slider/Slider.js +51 -58
  277. package/dist/components/fields/Slider/Slider.js.map +1 -1
  278. package/dist/components/fields/Slider/SliderBase.js +61 -60
  279. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  280. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  281. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  282. package/dist/components/fields/Slider/elements.js +1 -1
  283. package/dist/components/fields/Slider/index.js +1 -1
  284. package/dist/components/fields/Slider/types.d.ts +3 -3
  285. package/dist/components/fields/Switch/Switch.d.ts +12 -2
  286. package/dist/components/fields/Switch/Switch.js +97 -165
  287. package/dist/components/fields/Switch/Switch.js.map +1 -1
  288. package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
  289. package/dist/components/fields/TagInput/TagInput.js +18 -13
  290. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  291. package/dist/components/fields/TagInput/TagList.js +1 -1
  292. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  293. package/dist/components/fields/TagInput/useTagError.js +1 -1
  294. package/dist/components/fields/TextArea/TextArea.js +5 -3
  295. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  296. package/dist/components/fields/TextInput/TextInput.js +5 -3
  297. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  298. package/dist/components/fields/TextInput/TextInputBase.d.ts +25 -4
  299. package/dist/components/fields/TextInput/TextInputBase.js +214 -106
  300. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  301. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  302. package/dist/components/fields/TextInput/index.d.ts +2 -2
  303. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  304. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  305. package/dist/components/fields/TriggerActions.js +1 -1
  306. package/dist/components/fields/color/ColorPanel.js +1 -1
  307. package/dist/components/fields/color/channels.js +1 -1
  308. package/dist/components/fields/color/color.js +1 -1
  309. package/dist/components/fields/color/context.js +1 -1
  310. package/dist/components/fields/index.d.ts +2 -2
  311. package/dist/components/fields/option-origin-press.js +1 -1
  312. package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
  313. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  314. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  315. package/dist/components/form/Form/Field.js +1 -1
  316. package/dist/components/form/Form/Form.js +1 -1
  317. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  318. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  319. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  320. package/dist/components/form/Form/SubmitError.js +1 -1
  321. package/dist/components/form/Form/backend.js +1 -1
  322. package/dist/components/form/Form/index.js +1 -1
  323. package/dist/components/form/Form/modern/actions.js +1 -1
  324. package/dist/components/form/Form/modern/context.js +1 -1
  325. package/dist/components/form/Form/modern/controller.js +1 -1
  326. package/dist/components/form/Form/modern/field-binding.js +1 -1
  327. package/dist/components/form/Form/modern/field.js +1 -1
  328. package/dist/components/form/Form/modern/react.js +1 -1
  329. package/dist/components/form/Form/modern/store.js +1 -1
  330. package/dist/components/form/Form/modern/validation.js +1 -1
  331. package/dist/components/form/Form/modern/values.js +1 -1
  332. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  333. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  334. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  335. package/dist/components/form/Form/use-field/use-field.js +1 -1
  336. package/dist/components/form/Form/use-form.js +1 -1
  337. package/dist/components/form/Form/validation.js +1 -1
  338. package/dist/components/form/Label.js +1 -1
  339. package/dist/components/form/field-chrome.js +1 -1
  340. package/dist/components/form/field-chrome.js.map +1 -1
  341. package/dist/components/form/field-layout.d.ts +20 -0
  342. package/dist/components/form/field-layout.js +114 -0
  343. package/dist/components/form/field-layout.js.map +1 -0
  344. package/dist/components/form/index.d.ts +2 -1
  345. package/dist/components/form/legacy-tooltip.js +15 -2
  346. package/dist/components/form/legacy-tooltip.js.map +1 -1
  347. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  348. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  349. package/dist/components/form/validation/use-validation-props.js +1 -1
  350. package/dist/components/form/wrapper.js +6 -2
  351. package/dist/components/form/wrapper.js.map +1 -1
  352. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  353. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  354. package/dist/components/layout/Flex.js +1 -1
  355. package/dist/components/layout/Flow.js +1 -1
  356. package/dist/components/layout/Grid.js +1 -1
  357. package/dist/components/layout/Panel.js +1 -1
  358. package/dist/components/layout/Prefix.js +1 -1
  359. package/dist/components/layout/ResizablePanel.js +1 -1
  360. package/dist/components/layout/Space.js +1 -1
  361. package/dist/components/layout/Suffix.js +1 -1
  362. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  363. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  364. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  365. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  366. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  367. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  368. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  369. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  370. package/dist/components/navigation/Tabs/Tabs.js +7 -3
  371. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  372. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  373. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  374. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  375. package/dist/components/navigation/Tabs/styled.js +18 -18
  376. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  377. package/dist/components/navigation/Tabs/types.js +1 -1
  378. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  379. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  380. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  381. package/dist/components/other/Calendar/Calendar.js +1 -1
  382. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  383. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  384. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  385. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  386. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  387. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  388. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  389. package/dist/components/other/Calendar/styled.js +1 -1
  390. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  391. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  392. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  393. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  394. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  395. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  396. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  397. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  398. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  399. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  400. package/dist/components/overlays/Dialog/context.js +1 -1
  401. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  402. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  403. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  404. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  405. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  406. package/dist/components/overlays/Modal/Modal.js +1 -1
  407. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  408. package/dist/components/overlays/Modal/Overlay.js +1 -1
  409. package/dist/components/overlays/Modal/Popover.js +1 -1
  410. package/dist/components/overlays/Modal/Tray.js +1 -1
  411. package/dist/components/overlays/Modal/Underlay.js +1 -1
  412. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  413. package/dist/components/overlays/Notifications/Notification.js +1 -1
  414. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  415. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  416. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  417. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  418. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  419. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  420. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  421. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  422. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  423. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  424. package/dist/components/overlays/Notifications/index.js +1 -1
  425. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  426. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  427. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  428. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  429. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  430. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  431. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  432. package/dist/components/overlays/Toast/index.js +1 -1
  433. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  434. package/dist/components/overlays/Toast/useToast.js +1 -1
  435. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  436. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  437. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  438. package/dist/components/overlays/Tooltip/context.js +1 -1
  439. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  440. package/dist/components/portal/Portal.js +1 -1
  441. package/dist/components/portal/PortalProvider.js +1 -1
  442. package/dist/components/portal/usePortal.js +1 -1
  443. package/dist/components/shared/DraggableCollection.js +1 -1
  444. package/dist/components/shared/InvalidIcon.js +1 -1
  445. package/dist/components/shared/ValidIcon.js +1 -1
  446. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  447. package/dist/components/status/Spin/Cube.js +1 -1
  448. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  449. package/dist/components/status/Spin/Spin.js +1 -1
  450. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  451. package/dist/data/item-themes.js +1 -1
  452. package/dist/data/themes.js +1 -1
  453. package/dist/eslint-plugin/defaults.generated.js +25 -1
  454. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  455. package/dist/eslint-plugin/index.js +1 -1
  456. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  457. package/dist/i18n/I18nProvider.js +1 -1
  458. package/dist/i18n/createFormatter.js +1 -1
  459. package/dist/i18n/index.js +1 -1
  460. package/dist/i18n/instance.js +1 -1
  461. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  462. package/dist/i18n/locales/en-US/uikit.js +1 -1
  463. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  464. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  465. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  466. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  467. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  468. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  469. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  470. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  471. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  472. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  473. package/dist/i18n/locales.js +1 -1
  474. package/dist/i18n/namespace.js +1 -1
  475. package/dist/i18n/useFormatter.js +1 -1
  476. package/dist/i18n/useI18n.js +1 -1
  477. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  478. package/dist/icons/AdjustmentsIcon.js +1 -1
  479. package/dist/icons/AiIcon.js +1 -1
  480. package/dist/icons/AreaChartIcon.js +1 -1
  481. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  482. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  483. package/dist/icons/BackwardIcon.js +1 -1
  484. package/dist/icons/BarChartIcon.js +1 -1
  485. package/dist/icons/BellFilledIcon.js +1 -1
  486. package/dist/icons/BellIcon.js +1 -1
  487. package/dist/icons/BooleanIcon.js +1 -1
  488. package/dist/icons/CalendarEditIcon.js +1 -1
  489. package/dist/icons/CalendarIcon.js +1 -1
  490. package/dist/icons/CaretDownIcon.js +1 -1
  491. package/dist/icons/CaretUpIcon.js +1 -1
  492. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  493. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  494. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  495. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  496. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  497. package/dist/icons/ChartBarLineIcon.js +1 -1
  498. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  499. package/dist/icons/ChartBarStackedIcon.js +1 -1
  500. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  501. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  502. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  503. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  504. package/dist/icons/ChartBubbleIcon.js +1 -1
  505. package/dist/icons/ChartDonut2Icon.js +1 -1
  506. package/dist/icons/ChartFunnelIcon.js +1 -1
  507. package/dist/icons/ChartHeatmapIcon.js +1 -1
  508. package/dist/icons/ChartKPIIcon.js +1 -1
  509. package/dist/icons/ChartPie2Icon.js +1 -1
  510. package/dist/icons/ChartScatterIcon.js +1 -1
  511. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  512. package/dist/icons/CheckCircleIcon.js +1 -1
  513. package/dist/icons/CheckIcon.js +1 -1
  514. package/dist/icons/CircleFilledIcon.js +1 -1
  515. package/dist/icons/ClearIcon.js +1 -1
  516. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  517. package/dist/icons/CloseCircleIcon.js +1 -1
  518. package/dist/icons/CloseIcon.js +1 -1
  519. package/dist/icons/CodeIcon.js +1 -1
  520. package/dist/icons/ColumnTotalIcon.js +1 -1
  521. package/dist/icons/CopyIcon.js +1 -1
  522. package/dist/icons/CountIcon.js +1 -1
  523. package/dist/icons/CubeIcon.js +1 -1
  524. package/dist/icons/CubePauseIcon.js +1 -1
  525. package/dist/icons/CubePlayIcon.js +1 -1
  526. package/dist/icons/CurrencyDollarIcon.js +1 -1
  527. package/dist/icons/DangerIcon.js +1 -1
  528. package/dist/icons/DashboardIcon.js +1 -1
  529. package/dist/icons/DatabaseIcon.js +1 -1
  530. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  531. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  532. package/dist/icons/DirectionIcon.js +1 -1
  533. package/dist/icons/DonutIcon.js +1 -1
  534. package/dist/icons/DownIcon.js +1 -1
  535. package/dist/icons/EditIcon.js +1 -1
  536. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  537. package/dist/icons/ExclamationCircleIcon.js +1 -1
  538. package/dist/icons/ExclamationIcon.js +1 -1
  539. package/dist/icons/EyeIcon.js +1 -1
  540. package/dist/icons/EyeInvisibleIcon.js +1 -1
  541. package/dist/icons/FilterIcon.js +1 -1
  542. package/dist/icons/FolderFilledIcon.js +1 -1
  543. package/dist/icons/FolderIcon.js +1 -1
  544. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  545. package/dist/icons/FolderOpenIcon.js +1 -1
  546. package/dist/icons/ForwardIcon.js +1 -1
  547. package/dist/icons/GripVerticalIcon.js +1 -1
  548. package/dist/icons/HierarchyIcon.js +1 -1
  549. package/dist/icons/HierarchyOpenIcon.js +1 -1
  550. package/dist/icons/Icon.js +1 -1
  551. package/dist/icons/InfoCircleIcon.js +1 -1
  552. package/dist/icons/InfoIcon.js +1 -1
  553. package/dist/icons/KeyIcon.js +1 -1
  554. package/dist/icons/LeftIcon.js +1 -1
  555. package/dist/icons/LineChartIcon.js +1 -1
  556. package/dist/icons/LoadingIcon.js +1 -1
  557. package/dist/icons/LockFilledIcon.js +1 -1
  558. package/dist/icons/LockIcon.js +1 -1
  559. package/dist/icons/MoreIcon.js +1 -1
  560. package/dist/icons/NotAllowedIcon.js +1 -1
  561. package/dist/icons/Number123Icon.js +1 -1
  562. package/dist/icons/NumberIcon.js +1 -1
  563. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  564. package/dist/icons/PauseCircleIcon.js +1 -1
  565. package/dist/icons/PauseIcon.js +1 -1
  566. package/dist/icons/PercentageIcon.js +1 -1
  567. package/dist/icons/PieChartIcon.js +1 -1
  568. package/dist/icons/PipetteIcon.js +1 -1
  569. package/dist/icons/PlayCircleIcon.js +1 -1
  570. package/dist/icons/PlayIcon.js +1 -1
  571. package/dist/icons/PlusIcon.js +1 -1
  572. package/dist/icons/ProgressBarIcon.js +1 -1
  573. package/dist/icons/ReloadIcon.js +1 -1
  574. package/dist/icons/ReportIcon.js +1 -1
  575. package/dist/icons/ReturnIcon.js +1 -1
  576. package/dist/icons/RightIcon.js +1 -1
  577. package/dist/icons/RowTotalsIcon.js +1 -1
  578. package/dist/icons/SchemeIcon.js +1 -1
  579. package/dist/icons/SearchIcon.js +1 -1
  580. package/dist/icons/SemanticQueryIcon.js +1 -1
  581. package/dist/icons/SettingsIcon.js +1 -1
  582. package/dist/icons/ShieldFilledIcon.js +1 -1
  583. package/dist/icons/ShieldIcon.js +1 -1
  584. package/dist/icons/SlashIcon.js +1 -1
  585. package/dist/icons/SparklesIcon.js +1 -1
  586. package/dist/icons/SqlIcon.js +1 -1
  587. package/dist/icons/StatsIcon.js +1 -1
  588. package/dist/icons/StopIcon.js +1 -1
  589. package/dist/icons/StringIcon.js +1 -1
  590. package/dist/icons/SubtotalsIcon.js +1 -1
  591. package/dist/icons/SwitchIcon.js +1 -1
  592. package/dist/icons/TableIcon.js +1 -1
  593. package/dist/icons/ThumbsDownIcon.js +1 -1
  594. package/dist/icons/ThumbsUpIcon.js +1 -1
  595. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  596. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  597. package/dist/icons/ThunderboltIcon.js +1 -1
  598. package/dist/icons/TimeIcon.js +1 -1
  599. package/dist/icons/TrashIcon.js +1 -1
  600. package/dist/icons/UnlockIcon.js +1 -1
  601. package/dist/icons/UpIcon.js +1 -1
  602. package/dist/icons/UserGroupIcon.js +1 -1
  603. package/dist/icons/UserIcon.js +1 -1
  604. package/dist/icons/UserLockIcon.js +1 -1
  605. package/dist/icons/ViewIcon.js +1 -1
  606. package/dist/icons/WarningFilledIcon.js +1 -1
  607. package/dist/icons/WarningIcon.js +1 -1
  608. package/dist/icons/wrap-icon.js +1 -1
  609. package/dist/index.d.ts +5 -4
  610. package/dist/index.js +4 -4
  611. package/dist/index.js.map +1 -1
  612. package/dist/probe/canonicalize.js +1 -1
  613. package/dist/probe/css.js +1 -1
  614. package/dist/probe/index.js +1 -1
  615. package/dist/provider.d.ts +5 -0
  616. package/dist/provider.js +19 -7
  617. package/dist/provider.js.map +1 -1
  618. package/dist/providers/TrackingProvider.js +1 -1
  619. package/dist/providers/navigation-url.js +1 -1
  620. package/dist/providers/navigationAdapter.default.js +1 -1
  621. package/dist/providers/use-navigation.js +1 -1
  622. package/dist/shared/form.d.ts +3 -1
  623. package/dist/tokens/all-tokens.js +1 -1
  624. package/dist/tokens/base.js +1 -1
  625. package/dist/tokens/color-seed.js +1 -1
  626. package/dist/tokens/color-theme.js +1 -1
  627. package/dist/tokens/colors.js +1 -1
  628. package/dist/tokens/layout.js +1 -1
  629. package/dist/tokens/lazy-styles.js +1 -1
  630. package/dist/tokens/legacy-color.js +1 -1
  631. package/dist/tokens/palette-config.js +1 -1
  632. package/dist/tokens/palette.js +1 -1
  633. package/dist/tokens/resolve.js +1 -1
  634. package/dist/tokens/shadows.js +1 -1
  635. package/dist/tokens/sizes.js +1 -1
  636. package/dist/tokens/spacing.js +1 -1
  637. package/dist/tokens/typography.js +1 -1
  638. package/dist/utils/ResizeSensor.js +1 -1
  639. package/dist/utils/colors.js +1 -1
  640. package/dist/utils/dotize.js +1 -1
  641. package/dist/utils/is-dev-env.js +1 -1
  642. package/dist/utils/modules.js +1 -1
  643. package/dist/utils/promise.js +1 -1
  644. package/dist/utils/raf.js +1 -1
  645. package/dist/utils/random.js +1 -1
  646. package/dist/utils/range.js +1 -1
  647. package/dist/utils/react/RenderCache.js +1 -1
  648. package/dist/utils/react/Slots.js +1 -1
  649. package/dist/utils/react/chain.js +1 -1
  650. package/dist/utils/react/disabledProps.js +29 -2
  651. package/dist/utils/react/disabledProps.js.map +1 -1
  652. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  653. package/dist/utils/react/index.js +1 -1
  654. package/dist/utils/react/interactions.js +1 -1
  655. package/dist/utils/react/isTextOnly.js +1 -1
  656. package/dist/utils/react/mapProps.js +1 -1
  657. package/dist/utils/react/mergeProps.js +1 -1
  658. package/dist/utils/react/nullableValue.js +1 -1
  659. package/dist/utils/react/overlayKeyPropagation.js +44 -7
  660. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  661. package/dist/utils/react/programmaticFocus.js +1 -1
  662. package/dist/utils/react/resolveIcon.js +1 -1
  663. package/dist/utils/react/sharedStore.js +1 -1
  664. package/dist/utils/react/useBufferedValue.js +1 -1
  665. package/dist/utils/react/useCombinedRefs.js +1 -1
  666. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  667. package/dist/utils/react/useEventBus.js +1 -1
  668. package/dist/utils/react/useId.js +1 -1
  669. package/dist/utils/react/useIsDarwin.js +1 -1
  670. package/dist/utils/react/useKeySymbols.js +1 -1
  671. package/dist/utils/react/useLayoutEffect.js +1 -1
  672. package/dist/utils/react/useLocalStorage.js +1 -1
  673. package/dist/utils/react/useMergeStyles.js +1 -1
  674. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  675. package/dist/utils/react/usePopoverSync.js +1 -1
  676. package/dist/utils/react/useQaProps.js +1 -1
  677. package/dist/utils/react/useScheme.js +1 -1
  678. package/dist/utils/react/useViewportSize.js +1 -1
  679. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  680. package/dist/utils/selection.js +1 -1
  681. package/dist/utils/styles.js +1 -1
  682. package/dist/utils/tree.js +1 -1
  683. package/dist/utils/warnings.js +1 -1
  684. package/dist/version.js +2 -2
  685. package/docs/CreateComponent.md +1 -1
  686. package/docs/FieldProperties.md +29 -7
  687. package/docs/Usage.md +3 -0
  688. package/docs/components/content/Divider.md +103 -21
  689. package/docs/components/content/Tree.md +5 -4
  690. package/docs/components/data/ItemTable.md +25 -0
  691. package/docs/components/fields/Checkbox.md +7 -8
  692. package/docs/components/fields/ColorInput.md +11 -13
  693. package/docs/components/fields/ColorPicker.md +2 -2
  694. package/docs/components/fields/ColorSwatchGroup.md +2 -3
  695. package/docs/components/fields/ComboBox.md +9 -7
  696. package/docs/components/fields/CommandTextArea.md +4 -5
  697. package/docs/components/fields/DatePicker.md +1 -4
  698. package/docs/components/fields/FileInput.md +1 -5
  699. package/docs/components/fields/FilterListBox.md +0 -3
  700. package/docs/components/fields/FilterPicker.md +68 -5
  701. package/docs/components/fields/HueSlider.md +1 -3
  702. package/docs/components/fields/ListBox.md +0 -3
  703. package/docs/components/fields/NumberInput.md +9 -6
  704. package/docs/components/fields/PasswordInput.md +9 -8
  705. package/docs/components/fields/PeriodPicker.md +0 -4
  706. package/docs/components/fields/Picker.md +2 -4
  707. package/docs/components/fields/RadioGroup.md +4 -5
  708. package/docs/components/fields/SearchComboBox.md +2 -4
  709. package/docs/components/fields/SearchInput.md +16 -4
  710. package/docs/components/fields/Select.md +0 -3
  711. package/docs/components/fields/Slider.md +0 -2
  712. package/docs/components/fields/Switch.md +16 -3
  713. package/docs/components/fields/TagInput.md +3 -6
  714. package/docs/components/fields/TextArea.md +10 -8
  715. package/docs/components/fields/TextInput.md +52 -10
  716. package/docs/components/navigation/Tabs.md +47 -0
  717. package/docs/components/overlays/Tooltip.md +1 -1
  718. package/package.json +4 -2
  719. package/dist/components/content/Divider.d.ts +0 -7
  720. package/dist/components/content/Divider.js +0 -105
  721. package/dist/components/content/Divider.js.map +0 -1
@@ -22,6 +22,8 @@ Use `DataTable` instead when a _cell_ is the unit of interest — query results,
22
22
  - **`columns`** `CubeItemTableColumn<T>[]` — Column definitions. See below.
23
23
  - **`rowKey`** `string` (default: `'id'`) — Property used as the row key.
24
24
  - **`getRowKey`** `(row: T, index: number) => Key` — Wins over `rowKey`.
25
+ - **`sections`** `readonly CubeItemTableSection[]` — Ordered `{ key, title }` captions for a flat list. Empty sections are omitted. Requires `getSectionKey`.
26
+ - **`getSectionKey`** `(row: T) => Key` — Assigns every displayed record to a declared section key.
25
27
  - **`getRowChildren`** `(row: T) => readonly T[] | undefined` — Enables tree mode. `data` then contains top-level rows and children are read recursively.
26
28
  - **`treeColumnKey`** `string` — Column containing indentation and the disclosure control. Defaults to the first visible data column.
27
29
  - **`expandedKeys`** `Key[]` — Controlled expanded rows.
@@ -201,6 +203,7 @@ Customizes the root frame. Every internal part of the table is a **sub-element**
201
203
  - `TreeContent`, `TreeToggle`, `TreeValue` — indentation, disclosure/leaf placeholder, and the consumer-rendered value in the tree column
202
204
  - `SortIndicator` — the sort arrow, inside the header `Item`'s suffix
203
205
  - `Foot`, `FootRow`, `FootCell` — pinned totals
206
+ - `SectionRow`, `SectionCell`, `SectionContent`, `SectionLabel` — full-width list section captions, separate from record hover/selection styles; labels stay visible while scrolling horizontally
204
207
  - `StateContent` — the empty / no-results / error content
205
208
 
206
209
  ```jsx
@@ -579,6 +582,28 @@ Deliberately distinct, and not interchangeable:
579
582
 
580
583
  Unselectable rows are excluded from every scope. Pressing the header checkbox while everything in scope is selected clears the **whole** selection, not just the scope — leaving keys selected on other pages behind an unchecked-looking box is how people delete things they did not mean to.
581
584
 
585
+ ### Section Headers
586
+
587
+ Use `sections` to divide a flat list into labeled zones while sharing its column headers, column widths and scroll area:
588
+
589
+ ```jsx
590
+ <ItemTable
591
+ data={items}
592
+ columns={columns}
593
+ sections={[
594
+ { key: 'favorites', title: 'Favorites' },
595
+ { key: 'other', title: 'Other items' },
596
+ ]}
597
+ getSectionKey={(item) => item.isFavorite ? 'favorites' : 'other'}
598
+ />
599
+ ```
600
+
601
+ The array defines section order. Client sorting applies within each section; clearing the sort restores source order within each section. Search filters records, then empty sections disappear. Captions do not consume page slots or affect footer counts, selection, bulk actions, links or row actions. A section continuing onto another client page repeats its caption there. Keyboard row navigation skips captions, and virtualization measures them separately from records. Accessible captions are structural grid rows, so `aria-rowcount` and document-absolute row indices include them; pagination summaries still count records only. Sectioned records keep keys resolved from their source positions, including when `getRowKey` uses its index argument.
602
+
603
+ `title` accepts a React node. Captions scroll with the list and can be customized with `styles.SectionCell` and `styles.SectionRow`. For example, `styles={{ SectionCell: { preset: 't3m' } }}` changes their typography without changing column headers or record cells.
604
+
605
+ This first version applies to flat tables with client, infinite or no pagination. Infinite mode groups the currently loaded records; the caller still owns loading. Tree mode, row drag/drop and server pagination keep their existing behavior and ignore section props with a development warning. These modes need hierarchy, drop-boundary or unseen-section metadata that ordinary captions do not provide. Missing paired props, duplicate section keys or a displayed record returning an undeclared key also warn and fall back to the ordinary list, preserving all records.
606
+
582
607
  ### Row Links and Row Actions
583
608
 
584
609
  `rowLink` turns the row-header cell into a stretched anchor covering the whole row:
@@ -24,7 +24,7 @@ Checkboxes allow users to select multiple items from a list of individual items,
24
24
  - **`onChange`** `function` — Callback fired when the checkbox value changes
25
25
  - **`onFocus`** `function` — Callback fired when the checkbox receives focus
26
26
  - **`onBlur`** `function` — Callback fired when the checkbox loses focus
27
- - **`tooltip`** `string | TooltipProviderProps` — Tooltip shown on hover over the box and its inline label, in or out of a group, including while disabled. A string, or `TooltipProvider` props such as `title` and `placement`. It also opens when the checkbox takes keyboard focus, and describes its input to screen readers. The info badge next to a field label is `labelTooltip`
27
+ - **`tooltip`** `string | TooltipProviderProps` — Tooltip shown on hover over the box and its inline label, in or out of a group, including while disabled. A string, or `TooltipProvider` props such as `title` and `placement`. It also opens when the checkbox takes keyboard focus, and describes its input to screen readers. A disabled checkbox with a tooltip stays in the Tab order, marked `aria-disabled` rather than natively disabled, so the keyboard reaches the tooltip too, and a plain `<form>` submits it when it is checked. The info badge next to a field label is `labelTooltip`
28
28
 
29
29
  ### Base Properties
30
30
 
@@ -50,12 +50,8 @@ Customizes the checkbox input element specifically.
50
50
 
51
51
  These properties allow direct style application without using the `styles` prop:
52
52
 
53
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
54
53
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
55
54
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
56
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
57
- - **Color:** `color`, `fill`, `fade`, `image`
58
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
59
55
 
60
56
  ### Modifiers
61
57
 
@@ -66,6 +62,7 @@ The `mods` property accepts the following modifiers you can override:
66
62
  - **`invalid`** `boolean` — Whether the checkbox has validation errors
67
63
  - **`valid`** `boolean` — Whether the checkbox is valid
68
64
  - **`disabled`** `boolean` — Whether the checkbox is disabled
65
+ - **`readonly`** `boolean` — Whether the checkbox is read-only, on its own or through its group: a recessed box with a dark check instead of the brand fill, and no hover state
69
66
  - **`hovered`** `boolean` — Whether the checkbox is being hovered
70
67
  - **`focused`** `boolean` — Whether the checkbox has focus
71
68
  - **`side-label`** `boolean` — Whether the label is positioned to the side
@@ -105,7 +102,7 @@ The `mods` property accepts the following modifiers you can override:
105
102
 
106
103
  ### With a Tooltip
107
104
 
108
- A disabled checkbox still shows its tooltip, which makes it a good place to say why the option is unavailable.
105
+ A disabled checkbox still shows its tooltip, which makes it a good place to say why the option is unavailable. While it has a tooltip, it stays focusable and is marked `aria-disabled` instead of natively disabled, so keyboard users can read the reason too; `Space` and clicks still change nothing. Without a tooltip, a disabled checkbox is natively disabled and `Tab` skips it.
109
106
 
110
107
  ```jsx
111
108
  <Checkbox isDisabled tooltip="Available on the Team plan">
@@ -113,6 +110,8 @@ A disabled checkbox still shows its tooltip, which makes it a good place to say
113
110
  </Checkbox>
114
111
  ```
115
112
 
113
+ Prefer `tooltip` to wrapping the checkbox in `TooltipProvider`: while disabled, a checkbox takes no trigger props from a wrapper, so that tooltip never opens.
114
+
116
115
  ### With Validation
117
116
 
118
117
  ```jsx
@@ -139,9 +138,9 @@ A disabled checkbox still shows its tooltip, which makes it a good place to say
139
138
 
140
139
  ### Keyboard Navigation
141
140
 
142
- - `Tab` - Moves focus to the checkbox
141
+ - `Tab` - Moves focus to the checkbox. A disabled checkbox takes focus only while it has a `tooltip`, which then opens
143
142
  - `Space` - Toggles the checkbox state
144
- - `Enter` does not toggle the checkbox. Inside a form with a submit button, the browser submits the form instead.
143
+ - `Enter` does not toggle the checkbox. Inside a form with a submit button, the browser submits the form instead, unless the checkbox is disabled.
145
144
 
146
145
  ### Screen Reader Support
147
146
 
@@ -78,25 +78,23 @@ Customizes the color swatch shown inside the input.
78
78
 
79
79
  These properties allow direct style application without using the `styles` prop:
80
80
 
81
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
82
81
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
83
82
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
84
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
85
- - **Color:** `color`, `fill`, `fade`, `image`
86
83
 
87
84
  ### Modifiers
88
85
 
89
86
  The `mods` property accepts the following modifiers you can override:
90
87
 
91
- | Modifier | Type | Description |
92
- | ---------- | --------- | ---------------------------------- |
93
- | `focused` | `boolean` | The text input has focus |
94
- | `hovered` | `boolean` | The pointer is over the input |
95
- | `disabled` | `boolean` | The picker is disabled |
96
- | `valid` | `boolean` | The field is in the valid state |
97
- | `invalid` | `boolean` | The field is in the invalid state |
98
- | `prefix` | `boolean` | A prefix (the swatch) is rendered |
99
- | `suffix` | `boolean` | A suffix (the trigger) is rendered |
88
+ | Modifier | Type | Description |
89
+ | --- | --- | --- |
90
+ | `focused` | `boolean` | The text input has focus |
91
+ | `hovered` | `boolean` | The pointer is over the input |
92
+ | `disabled` | `boolean` | The picker is disabled |
93
+ | `readonly` | `boolean` | The picker is read-only: a recessed fill and a softer border, except in high contrast, no hover state |
94
+ | `valid` | `boolean` | The field is in the valid state |
95
+ | `invalid` | `boolean` | The field is in the invalid state |
96
+ | `prefix` | `boolean` | A prefix (the swatch) is rendered |
97
+ | `suffix` | `boolean` | A suffix (the trigger) is rendered |
100
98
 
101
99
  The swatch carries its own `empty` modifier while there is no color to show.
102
100
 
@@ -196,7 +194,7 @@ const [color, setColor] = useState('okhst(264 80% 60%)');
196
194
  - `Tab` — moves focus to the text input, then to the popover trigger
197
195
  - `Enter` — commits and normalizes the typed color without leaving the field
198
196
  - `Space` / `Enter` on the trigger — opens the popover
199
- - `Escape` — closes the popover
197
+ - `Escape` — closes the popover. In the text input it closes a surrounding `Dialog`, as in other fields
200
198
  - `Left` / `Right`, `Home` / `End` on a channel slider — moves that channel
201
199
  - `Left` / `Right` on the space switcher — moves between HST, LCH and RGB
202
200
 
@@ -28,7 +28,8 @@ Use [ColorInput](./ColorInput.md) instead when the color has to be readable and
28
28
  - **`type`** `CubeItemProps['type']` (default: `outline`) — Visual type of the trigger
29
29
  - **`theme`** `CubeItemProps['theme']` (default: `default`) — Theme of the trigger
30
30
  - **`size`** `CubeItemProps['size']` — Size of the trigger
31
- - **`triggerTooltip`** `CubeItemProps['tooltip']` — Tooltip for the trigger, separate from `labelTooltip`
31
+ - **`tooltip`** `CubeItemProps['tooltip']` — Tooltip for the trigger, separate from `labelTooltip`
32
+ - **`triggerTooltip`** `CubeItemProps['tooltip']` — _(deprecated)_ Use `tooltip`.
32
33
  - **`swatches`** `Array<string | { color: string; label?: string }>` — Colors to offer under the editor, as a [ColorSwatchGroup](./ColorSwatchGroup.md)
33
34
  - **`swatchColumns`** `number` — How many swatches per row. Defaults to a single row
34
35
  - **`isOpen`** `boolean` — Whether the popover is open (controlled)
@@ -68,7 +69,6 @@ These properties allow direct style application without using the `styles` prop:
68
69
 
69
70
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
70
71
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
71
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
72
72
 
73
73
  ### Modifiers
74
74
 
@@ -49,11 +49,10 @@ These properties allow direct style application without using the `styles` prop:
49
49
 
50
50
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
51
51
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
52
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
53
52
 
54
- ### Style Props on the group
53
+ ### Styling the group
55
54
 
56
- `ColorSwatchGroup` and `ColorPicker` both take the outer and block style props, so `radius`, `border`, `padding` and `shadow` work directly on them.
55
+ `ColorSwatchGroup` and `ColorPicker` take only the style props above, which place and size their outer element. Give the group its `radius`, `border`, `padding` or `shadow` through `styles`.
57
56
 
58
57
  ### Modifiers
59
58
 
@@ -28,7 +28,7 @@ A combobox component that combines a text input with a dropdown list, allowing u
28
28
  - **`defaultSelectedKey`** `string` — The key of the initially selected item (uncontrolled)
29
29
  - **`allowsCustomValue`** `boolean` (default: `false`) — Whether the combo box allows custom values to be entered
30
30
  - **`shouldCommitOnBlur`** `boolean` (default: `true`) — Whether to commit custom value on blur in allowsCustomValue mode. When `false`, blur discards the uncommitted text
31
- - **`clearOnBlur`** `boolean` (default: `false`) — Whether to clear selection and input on blur when the text names no selectable item (only applies to non-custom-value mode)
31
+ - **`clearOnBlur`** `boolean` (default: `false`) — Whether to clear selection and input on blur, or on `Enter` with the popover closed, when the text names no selectable item (only applies to non-custom-value mode)
32
32
  - **`isClearable`** `boolean` (default: `false`) — Whether the combo box is clearable using ESC keyboard button or clear button inside the input
33
33
  - **`sortSelectedToTop`** `boolean` (default: `true when items provided, false otherwise`) — Whether to sort selected item to the top when popover opens (only works with items prop)
34
34
  - **`popoverTrigger`** `'focus' | 'input' | 'manual'` (default: `input`) — When the list opens on its own, see **popoverTrigger** below
@@ -56,7 +56,7 @@ A combobox component that combines a text input with a dropdown list, allowing u
56
56
 
57
57
  #### Notable Properties
58
58
 
59
- **onKeyDown** - Runs before ComboBox's own key handling, listed under [Keyboard Navigation](#keyboard-navigation). Calling `e.preventDefault()` takes the key over: ComboBox skips its handling for that event, so a prevented `ArrowDown` does not open the popover or move focus, and a prevented `Enter` does not select the focused option or commit a custom value. Without `preventDefault()` the built-in handling runs as usual after your handler. The event is React Aria's keyboard event (`KeyboardEvent` from `@react-types/shared`). `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and keeps `Tab` inside, unless ComboBox acts on them: `Escape` that closes the list or clears the value stops at the input. Other keys stop at the input unless you call `e.continuePropagation()`.
59
+ **onKeyDown** - Runs before ComboBox's own key handling, listed under [Keyboard Navigation](#keyboard-navigation). Calling `e.preventDefault()` takes the key over: ComboBox skips its handling for that event, so a prevented `ArrowDown` does not open the popover or move focus, and a prevented `Enter` does not select the focused option, settle the typed text or commit a custom value. Without `preventDefault()` the built-in handling runs as usual after your handler. The event is React Aria's keyboard event (`KeyboardEvent` from `@react-types/shared`). `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`, unless ComboBox acts on them or you prevent them: `Escape` that closes the list or clears the value stops at the input, and so does an `Escape` or `Tab` you prevent. Other keys stop at the input unless you call `e.continuePropagation()`.
60
60
 
61
61
  ```jsx
62
62
  <ComboBox
@@ -102,6 +102,8 @@ const [selectedKey, setSelectedKey] = useState(null);
102
102
  </ComboBox>;
103
103
  ```
104
104
 
105
+ Without `allowsCustomValue`, the built-in `Enter` on a closed popover settles text that matches an option, or names the selection, as blur does, then lets the form submit (see `Enter` under [Keyboard Navigation](#keyboard-navigation)). A handler that prevents it leaves the text unsettled until blur.
106
+
105
107
  **defaultInputValue** - Sets the initial input value in uncontrolled mode. This is useful when you want to display a specific text in the input field on mount without selecting any option. When both `defaultInputValue` and `defaultSelectedKey` are provided, `defaultInputValue` takes priority. The value can be changed by the user and is not enforced after initial render.
106
108
 
107
109
  **sortSelectedToTop** - When using the `items` prop (data-driven mode), the selected item will automatically appear at the top of the list when the popover opens. This is enabled by default when using `items`, but disabled when using JSX children. Set to `false` to maintain the original order.
@@ -112,7 +114,7 @@ const [selectedKey, setSelectedKey] = useState(null);
112
114
 
113
115
  **isReadOnly** - The list doesn't open, from the chevron, the arrow keys, a press in the input or focus, and neither keys nor blur change the value or the text. The clear button is hidden.
114
116
 
115
- **clearOnBlur** - When `true`, text that names no selectable item clears both the selection and the input when the input loses focus. When `false` (default), the input reverts to showing the current selection, and empty text still clears it. Only applies to non-custom-value mode. Useful for search-like scenarios where you want to reset after each interaction.
117
+ **clearOnBlur** - When `true`, text that names no selectable item clears both the selection and the input when the input loses focus, or on `Enter` with the popover closed. When `false` (default), the input reverts to showing the current selection, and empty text still clears it. Only applies to non-custom-value mode. Useful for search-like scenarios where you want to reset after each interaction.
116
118
 
117
119
  **Blur** - Without `allowsCustomValue`, leaving the input selects the item the text names exactly, or else the only item it still matches, unless that item is in `disabledKeys`. The exact match follows the filter's rules for case, accents and locale. Among items sharing the label, the selected one wins, then the first enabled one. Empty text clears the selection. Other text reverts to the selection, or clears with `clearOnBlur`; a disabled item that is already selected stays selected. Blur reports only what it changes: leaving a field without editing it calls neither `onSelectionChange` nor `onInputChange`.
118
120
 
@@ -182,11 +184,8 @@ Customizes section heading elements within grouped options.
182
184
 
183
185
  These properties allow direct style application without using the `styles` prop:
184
186
 
185
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
186
187
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
187
188
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
188
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
189
- - **Color:** `color`, `fill`, `fade`, `image`
190
189
 
191
190
  ### Modifiers
192
191
 
@@ -195,6 +194,7 @@ The `mods` property accepts the following modifiers you can override:
195
194
  - **`invalid`** `boolean` — Applied when validation state is invalid
196
195
  - **`valid`** `boolean` — Applied when validation state is valid
197
196
  - **`disabled`** `boolean` — Applied when the combobox is disabled
197
+ - **`readonly`** `boolean` — Applied when the combobox is read-only: a recessed fill and a softer border, except in high contrast
198
198
  - **`focused`** `boolean` — Applied when the input has focus
199
199
  - **`loading`** `boolean` — Applied when the combobox is in loading state
200
200
  - **`prefix`** `boolean` — Applied when prefix content is present
@@ -574,7 +574,7 @@ const [selectedKey, setSelectedKey] = useState(null);
574
574
  - `Tab` - Moves focus to/from the combobox input and closes the popover. The chevron and clear buttons are not Tab stops
575
575
  - `ArrowDown` - Opens popover (if closed) or moves focus to next option
576
576
  - `ArrowUp` - Opens popover (if closed) or moves focus to previous option
577
- - `Enter` - Selects the focused option and closes popover. Pressed right after typing, it picks the first match. With `allowsCustomValue` and the popover closed, commits the typed text. Ignored while an input method (IME) is composing text
577
+ - `Enter` - Selects the focused option and closes popover. With the popover open, pressed right after typing, it picks the first match. With the popover closed and without `allowsCustomValue`, settles the typed text as leaving the input does (see **Blur**) and lets a surrounding form submit the result; text that matches no option and does not name the selection, or no text, clears the selection instead and does not submit. With `allowsCustomValue` and the popover closed, commits the typed text. Ignored while an input method (IME) is composing text
578
578
  - `Escape` - Closes popover (if open) or clears input (if clearable and popover closed); otherwise it goes on, so a surrounding dialog closes
579
579
  - `Home` - Moves focus to the first option (when popover is open)
580
580
  - `End` - Moves focus to the last option (when popover is open)
@@ -720,6 +720,8 @@ An `onKeyDown` handler runs before all of these and can skip any of them for a k
720
720
 
721
721
  This component supports all [Field properties](../../FieldProperties.md) when used within a Form. It integrates seamlessly with the form validation system and supports both controlled and uncontrolled modes.
722
722
 
723
+ When the browser submits the form itself, as a plain `<form>` or a Form with `action` does,, `name` submits the selected key through a hidden input, not the label the input shows. With `allowsCustomValue` that is the committed text. Nothing selected submits an empty string, and a disabled ComboBox submits nothing.
724
+
723
725
  ### Form Example
724
726
 
725
727
  ```jsx
@@ -37,6 +37,8 @@ Choose a different component when the interaction has another outcome:
37
37
  - **`autoSize`** `boolean` (default: `false`) — Resize to fit content.
38
38
  - **`rows`** `number` (default: `3`) — Visible rows.
39
39
  - **`maxRows`** `number` (default: `10`) — Max visible rows when `autoSize` is true.
40
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
41
+ - **`tooltip`** `string | TooltipProviderProps` — The input's own tooltip, opened on hover over the field box and on keyboard focus. It closes on the first key, so it never covers the suggestions. See [TextInput](./TextInput.md#with-a-tooltip) for the behaviour
40
42
 
41
43
  Each option's value is the **literal string to insert**. For commands, set the item's `textValue` (and `key`) to the full `/clear` — the slash is part of both the active token and the inserted value, so `/cle` becomes `/clear ` with no duplication. This decouples insertion from the trigger, so non-command autocomplete (e.g. a `@mention` resolving to `@john`) works the same way.
42
44
 
@@ -67,11 +69,8 @@ Supports all [Field properties](../../FieldProperties.md) (`label`, `name`, `isR
67
69
 
68
70
  These properties allow direct style application without using the `styles` prop:
69
71
 
70
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
71
72
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
72
73
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
73
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
74
- - **Color:** `color`, `fill`, `fade`, `image`
75
74
 
76
75
  ## Examples
77
76
 
@@ -115,8 +114,8 @@ These properties allow direct style application without using the `styles` prop:
115
114
  - `Tab` — Moves focus into / out of the textarea.
116
115
  - `ArrowUp` / `ArrowDown` — Move the highlighted option (only while the popover is open; otherwise moves the caret).
117
116
  - `Home` / `End` — Jump to the first / last option while open.
118
- - `Enter` / `Tab` — Insert the highlighted option while open; otherwise insert a newline / submit.
119
- - `Escape` — Close the popover without changing the text.
117
+ - `Enter` / `Tab` — Insert the highlighted option while open; otherwise insert a newline / submit. A `Tab` that inserts an option keeps focus in the textarea, inside a `Dialog` too.
118
+ - `Escape` — Close the popover without changing the text. With the popover closed, `Escape` goes on to a surrounding `Dialog` and closes it, unless your `onKeyDown` prevents it.
120
119
 
121
120
  ### Screen Reader Support
122
121
 
@@ -79,12 +79,8 @@ Customizes the calendar trigger button.
79
79
 
80
80
  These properties allow direct style application without using the `styles` prop:
81
81
 
82
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
83
82
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
84
83
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
85
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
86
- - **Color:** `color`, `fill`, `fade`, `image`
87
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
88
84
 
89
85
  ### Modifiers
90
86
 
@@ -93,6 +89,7 @@ The `mods` property accepts the following modifiers you can override:
93
89
  - **`opened`** `boolean` — Whether the calendar is open
94
90
  - **`focused`** `boolean` — Whether the input has focus
95
91
  - **`disabled`** `boolean` — Whether the date picker is disabled
92
+ - **`readonly`** `boolean` — Whether the date picker is read-only: a recessed fill and a softer border, except in high contrast
96
93
  - **`invalid`** `boolean` — Whether the date picker has validation errors
97
94
  - **`valid`** `boolean` — Whether the date picker is valid
98
95
  - **`hovered`** `boolean` — Whether the date picker is being hovered
@@ -38,7 +38,7 @@ Supports all [Field properties](../../FieldProperties.md)
38
38
 
39
39
  #### styles
40
40
 
41
- Customizes the root element of the component.
41
+ Styles the input element. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
42
42
 
43
43
  **Sub-elements:**
44
44
 
@@ -51,12 +51,8 @@ Customizes the root element of the component.
51
51
 
52
52
  These properties allow direct style application without using the `styles` prop:
53
53
 
54
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
55
54
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
56
55
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
57
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
58
- - **Color:** `color`, `fill`, `fade`, `image`
59
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
60
56
 
61
57
  ### Modifiers
62
58
 
@@ -137,11 +137,8 @@ Customizes the footer area when footer prop is provided.
137
137
 
138
138
  These properties allow direct style application without using the `styles` prop:
139
139
 
140
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
141
140
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
142
141
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
143
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
144
- - **Color:** `color`, `fill`, `fade`, `image`
145
142
 
146
143
  ### Modifiers
147
144
 
@@ -8,6 +8,7 @@ A button-triggered field for keeping one or more selected values from a **search
8
8
  - Users need a visible search field to find options
9
9
  - A compact button trigger is preferable to an always-visible input
10
10
  - Multiple selection, checkboxes, select-all, grouped options, or a custom trigger summary are needed
11
+ - The options form a tree, such as groups and their members, and parents should be checkable as a whole (`treeData`)
11
12
  - The selection should participate in form state and validation
12
13
 
13
14
  Choose a different component when the interaction has another shape:
@@ -57,7 +58,8 @@ Choose a different component when the interaction has another shape:
57
58
  - **`listBoxStyles`** `Styles` — Custom styles for the dropdown list container within the popover
58
59
  - **`popoverStyles`** `Styles` — Custom styles for the popover dialog that contains the FilterListBox
59
60
  - **`triggerStyles`** `Styles` — Custom styles for the trigger button element
60
- - **`triggerTooltip`** `string | TooltipProps` — Tooltip for the trigger button (separate from `labelTooltip`)
61
+ - **`tooltip`** `string | TooltipProps` — Tooltip for the trigger button (separate from `labelTooltip`)
62
+ - **`triggerTooltip`** `string | TooltipProps` — _(deprecated)_ Use `tooltip`.
61
63
  - **`triggerDescription`** `string` — Description for the trigger button (separate from field description)
62
64
  - **`prefix`** `ReactNode` — Content to show before the trigger button text
63
65
  - **`suffix`** `ReactNode` — Content to show after the trigger button text
@@ -78,6 +80,10 @@ Choose a different component when the interaction has another shape:
78
80
  - **`onClear`** `() => void` — Callback called when the clear button is pressed
79
81
  - **`actions`** `ReactNode` — Custom actions rendered inside the trigger, to the left of the built-in clear button and dropdown caret
80
82
  - **`onOpenChange`** `(isOpen: boolean) => void` — Callback called when the popover open state changes
83
+ - **`treeData`** `CubeTreeNodeData[]` — Tree-shaped options. The popover shows a checkable `Tree` in place of the list, and `items` and `children` are not used. Tree mode is always multiple selection, and the value is every fully checked key, parents included
84
+ - **`expandedKeys`** `string[]` — Expanded nodes in tree mode (controlled). A search expands nodes on its own and restores these when it clears
85
+ - **`defaultExpandedKeys`** `string[]` — Initially expanded nodes in tree mode (uncontrolled), read once when the picker mounts
86
+ - **`onExpand`** `(expandedKeys: string[]) => void` — Called when the user expands or collapses a node in tree mode, outside a search
81
87
  - **`isReorderable`** `boolean` (default: `false`) — Enable drag-and-drop item reordering in the dropdown list
82
88
  - **`onReorder`** `(newOrder: string[]) => void` — Callback when items are reordered via drag-and-drop or keyboard (Alt+Arrow)
83
89
 
@@ -155,11 +161,8 @@ Customizes the footer area when footer prop is provided.
155
161
 
156
162
  These properties allow direct style application without using the `styles` prop:
157
163
 
158
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
159
164
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
160
165
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
161
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
162
- - **Color:** `color`, `fill`, `fade`, `image`
163
166
 
164
167
  ### Modifiers
165
168
 
@@ -268,7 +271,7 @@ For dynamic content, use the `items` prop with a render function. Virtualization
268
271
 
269
272
  ### Dynamic Sections Pattern
270
273
 
271
- For hierarchical data with sections, use the `items` prop with nested render functions. Each section contains a `children` array of items.
274
+ For grouped options (sections), use the `items` prop with nested render functions. Each section contains a `children` array of items. Sections are one level of grouping; for a real tree, with parents that expand and check their children, see [Tree Options](#tree-options).
272
275
 
273
276
  ```jsx
274
277
  const categories = [
@@ -318,6 +321,8 @@ const categories = [
318
321
  - `single` - Allows selecting only one item at a time
319
322
  - `multiple` - Allows selecting multiple items
320
323
 
324
+ With `treeData`, the picker is always `multiple`.
325
+
321
326
  ### Button Types
322
327
 
323
328
  - `outline` - Default outlined button style; `mods={{ selected: true }}` adds a brand-tinted fill
@@ -524,6 +529,52 @@ const DEFAULT_KEY = 'apple';
524
529
  </FilterPicker>
525
530
  ```
526
531
 
532
+ ### Tree Options
533
+
534
+ Pass `treeData` to pick from a tree. The popover shows a checkable Tree under the same header, search and footer, and `items` and `children` are not used.
535
+
536
+ - **Value.** Tree mode is always multiple selection. `selectedKeys` is every fully checked key, parents included, in tree order. A parent key passed without its children checks its whole subtree.
537
+ - **Cascade.** Checking a parent checks its children, and a parent with only some of them checked is half-checked. The cascade runs over the whole tree, so unchecking a node during a search keeps the nodes the search hides as they were.
538
+ - **Search.** A node that matches keeps its whole subtree. The ancestors of deeper matches stay with only their matching branches, and every node with a match below it opens. This expansion belongs to the search: it starts over whenever the query changes, and clearing the search brings back the nodes the user had open. Nodes match on `textValue`, else on `title` when it is a string, else on `key`.
539
+ - **Summary.** The default trigger summary lists the topmost checked nodes: "Design" rather than "Design, Dieter Rams, Susan Kare". `renderSummary` receives every checked key, conducted over the tree and in tree order, as `onSelectionChange` reports them.
540
+ - **Disabling.** Disable a node with its own `isDisabled` or `isCheckboxDisabled`; `disabledKeys` does not apply. A disabled node's key in the value still checks its subtree, and Enter or Space on a row whose checkbox is disabled does nothing. The cascade passes through a disabled node: checking its parent checks the enabled nodes below it, and its own state follows them.
541
+ - **Expansion.** Uncontrolled expansion starts from `defaultExpandedKeys`, read once when the picker mounts, and is kept across opening and closing the popover. For nodes that arrive later, pass `expandedKeys`.
542
+ - **List-only props.** These apply to the flat list and have no effect with `treeData`: `items`, `children`, `disabledKeys`, `allowsCustomValue`, `showSelectAll`, `selectAllLabel`, `isCheckable`, `disallowEmptySelection`, `sortSelectedToTop`, `isReorderable`, `onReorder`, `onOptionClick`, `focusOnHover`, `listGap`, `listStyles`, `optionStyles`, `sectionStyles` and `headingStyles`.
543
+
544
+ ```jsx
545
+ const userGroups = [
546
+ {
547
+ key: 'engineering',
548
+ title: 'Engineering',
549
+ children: [
550
+ { key: 'engineering:ada', title: 'Ada Lovelace' },
551
+ { key: 'engineering:grace', title: 'Grace Hopper' },
552
+ ],
553
+ },
554
+ {
555
+ key: 'design',
556
+ title: 'Design',
557
+ children: [
558
+ { key: 'design:dieter', title: 'Dieter Rams' },
559
+ { key: 'design:susan', title: 'Susan Kare' },
560
+ ],
561
+ },
562
+ { key: 'contractors', title: 'Contractors', isLeaf: true },
563
+ ];
564
+
565
+ <FilterPicker
566
+ label="User groups"
567
+ placeholder="Select user groups..."
568
+ searchPlaceholder="Search groups and members..."
569
+ treeData={userGroups}
570
+ defaultSelectedKeys={['design', 'engineering:ada']}
571
+ defaultExpandedKeys={['engineering']}
572
+ onSelectionChange={(keys) => console.log(keys)}
573
+ />
574
+ ```
575
+
576
+ Keys must be unique across the whole tree. When one person belongs to several groups, give each occurrence its own key (`engineering:ada`, `support:ada`) and map the keys back to people in `onSelectionChange`.
577
+
527
578
  ### Loading Items
528
579
 
529
580
  Use `isLoadingItems` to indicate that items are currently being fetched. Unlike `isLoading`, the trigger stays enabled so users can still open the popover and interact with items that have already loaded. A loading spinner appears in the search input suffix.
@@ -606,6 +657,16 @@ const [keyOrder, setKeyOrder] = useState([
606
657
  - `Home/End` - Navigate to first/last option
607
658
  - `Alt+ArrowUp` / `Alt+ArrowDown` - Reorder the focused item (when `isReorderable`)
608
659
 
660
+ With `treeData`, focus stays in the search input and the keys drive the active row:
661
+
662
+ - `Arrow Up/Down` - Move the active row
663
+ - `Home/End`, `Page Up/Page Down` - Move the active row to the first or last row
664
+ - `Arrow Right` - Expands the active row, or moves to its first child when it is open. With text in the search, only when the caret is at the end
665
+ - `Arrow Left` - Collapses the active row, or moves to its parent. With text in the search, only when the caret is at the start
666
+ - `Space` - Toggles the active row while the search is empty; otherwise types a space
667
+ - `Enter` - Toggles the active row and closes the popover
668
+ - `Escape` - Clears the search, then closes the popover
669
+
609
670
  ### Screen Reader Support
610
671
 
611
672
  - Trigger button announces current selection state
@@ -622,6 +683,8 @@ const [keyOrder, setKeyOrder] = useState([
622
683
  - `aria-controls` - References the popover while it is open
623
684
  - `aria-describedby` - Associates help text and descriptions
624
685
 
686
+ In tree mode, the search input is a `combobox` with `aria-haspopup="tree"`, `aria-controls` naming the tree while it has rows, and `aria-activedescendant` naming the active row. Each row reports its level, position and expansion, and its checkbox reports checked, not checked or mixed. Nothing in the tree is a tab stop, so `Tab` moves from the search to the footer.
687
+
625
688
  ## Best Practices
626
689
 
627
690
  1. **Do**: Provide clear, descriptive labels for the trigger
@@ -21,7 +21,6 @@ The HueSlider component allows users to select a hue value (0-359 degrees) from
21
21
  - **`orientation`** `'horizontal' | 'vertical'` (default: `horizontal`) — The orientation of the slider
22
22
  - **`gradation`** `string[]` — Labels to display at gradation marks along the slider track
23
23
  - **`formatOptions`** `Intl.NumberFormatOptions` — Options for formatting the displayed value label
24
- - **`inputWidth`** `string` — Width of the slider input area
25
24
  - **`showValueLabel`** `boolean` (default: `true`) — Whether to show the current value label
26
25
  - **`getValueLabel`** — Function to format the value label
27
26
  - **`onChange`** `function` — Callback fired when the hue value changes
@@ -40,7 +39,7 @@ Supports all [Field properties](../../FieldProperties.md)
40
39
 
41
40
  #### styles
42
41
 
43
- Customizes the root element of the component.
42
+ Styles the input element. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
44
43
 
45
44
  **Sub-elements:**
46
45
 
@@ -70,7 +69,6 @@ These properties allow direct style application without using the `styles` prop:
70
69
 
71
70
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
72
71
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
73
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
74
72
 
75
73
  ### Modifiers
76
74
 
@@ -105,11 +105,8 @@ Customizes the footer area when footer prop is provided.
105
105
 
106
106
  These properties allow direct style application without using the `styles` prop:
107
107
 
108
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
109
108
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
110
109
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
111
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
112
- - **Color:** `color`, `fill`, `fade`, `image`
113
110
 
114
111
  ### Modifiers
115
112
 
@@ -22,6 +22,7 @@ A number input component that allows users to enter numeric values and increment
22
22
  - **`icon`** `ReactElement` — Icon element rendered before the input
23
23
  - **`prefix`** — Input decoration before the main input
24
24
  - **`suffix`** — Input decoration after the main input
25
+ - **`tooltip`** `string | TooltipProviderProps` — The input's own tooltip, opened on hover over the field box and on keyboard focus. A disabled input with a tooltip stays focusable, so the keyboard reaches it too. See [TextInput](./TextInput.md#with-a-tooltip) for the behaviour. A disabled number input with a tooltip doesn't step from the keys, the wheel or the steppers
25
26
  - **`suffixPosition`** `'before' | 'after'` (default: `before`) — Position of `suffix` relative to the stepper buttons. `before` keeps a unit next to the number (`40 px ⌃⌄`); `after` places the suffix after the steppers. The validation/loading icon always comes before both
26
27
  - **`actions`** `ReactNode` — Controls placed last, after the steppers and `suffix` whatever `suffixPosition` is
27
28
  - **`hideStepper`** `boolean` (default: `false`) — Whether to hide the stepper buttons
@@ -30,6 +31,7 @@ A number input component that allows users to enter numeric values and increment
30
31
  - **`step`** `number` — Amount to increment or decrement the value
31
32
  - **`formatOptions`** `Intl.NumberFormatOptions` — Options for formatting the displayed number value
32
33
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
34
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
33
35
  - **`autoComplete`** `string` (default: `off`) — HTML [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) token that tells the browser what to autofill (`cc-number`, `one-time-code`, …). A number field opts out of autofill by default.
34
36
  - **`isWheelDisabled`** `boolean` — Whether scrolling the mouse wheel changes the value
35
37
  - **`decrementAriaLabel`** `string` — Custom aria-label for the decrement button, in place of the translated "Decrease {label}"
@@ -51,7 +53,7 @@ A number input component that allows users to enter numeric values and increment
51
53
  - `Home` / `End` set the value to `minValue` / `maxValue`, when those are set
52
54
  - `Enter` commits the typed number, firing `onChange` when the value changed
53
55
 
54
- Because they run first, `e.preventDefault()` in `onKeyDown` cannot cancel them: it cancels only what the browser would do with the key, such as submitting a surrounding form on `Enter`. That makes NumberInput the exception among the fields with built-in key handling (`ComboBox`, `SearchComboBox`, `TagInput` and `CommandTextArea` run your handler first and skip their own handling for a key you prevent), and it is what makes an `Enter` handler work here: by the time it runs, the typed number is committed and any `onChange` for it has fired.
56
+ Because they run first, `e.preventDefault()` in `onKeyDown` cannot cancel them: it cancels what the browser would do with the key, such as submitting a surrounding form on `Enter`, and keeps an `Escape` or `Tab` at the input (below). That makes NumberInput the exception among the fields with built-in key handling (`ComboBox`, `SearchComboBox`, `TagInput` and `CommandTextArea` run your handler first and skip their own handling for a key you prevent), and it is what makes an `Enter` handler work here: by the time it runs, the typed number is committed and any `onChange` for it has fired.
55
57
 
56
58
  ```jsx
57
59
  <NumberInput
@@ -64,7 +66,7 @@ Because they run first, `e.preventDefault()` in `onKeyDown` cannot cancel them:
64
66
  />
65
67
  ```
66
68
 
67
- The handler receives React Aria's keyboard event rather than a plain React one. Keys other than `Enter` continue to ancestors as usual; `Enter` stops at the input unless you call `e.continuePropagation()`.
69
+ The handler receives React Aria's keyboard event rather than a plain React one. Keys other than `Enter` continue to ancestors as usual; `Enter` stops at the input unless you call `e.continuePropagation()`. As in every field, an `Escape` or `Tab` your handler prevents stays at the input, so a surrounding `Dialog` neither closes nor moves focus on it.
68
70
 
69
71
  ### Base Properties
70
72
 
@@ -78,7 +80,7 @@ Supports all [Field properties](../../FieldProperties.md)
78
80
 
79
81
  #### styles
80
82
 
81
- Customizes the root element of the component.
83
+ Styles the input element. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
82
84
 
83
85
  **Sub-elements:**
84
86
 
@@ -97,11 +99,8 @@ Customizes the input element itself.
97
99
 
98
100
  These properties allow direct style application without using the `styles` prop:
99
101
 
100
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
101
102
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
102
103
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
103
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
104
- - **Color:** `color`, `fill`, `fade`, `image`
105
104
 
106
105
  ### Modifiers
107
106
 
@@ -109,11 +108,13 @@ The `mods` prop accepts the following modifiers you can override:
109
108
 
110
109
  - **`focused`** `boolean` — Forces focus ring appearance.
111
110
  - **`disabled`** `boolean` — Forces disabled appearance.
111
+ - **`readonly`** `boolean` — Set while `isReadOnly`: a recessed fill and a softer border, except in high contrast, and no hover state.
112
112
  - **`invalid`** `boolean` — Forces invalid state styling.
113
113
  - **`valid`** `boolean` — Forces valid state styling.
114
114
  - **`hovered`** `boolean` — Forces hover appearance.
115
115
  - **`prefix`** `boolean` — Indicates presence of prefix content.
116
116
  - **`suffix`** `boolean` — Indicates presence of suffix content.
117
+ - **`shape`** `'default' | 'plain'` — Set from `shape`: `plain` drops the radius, and the border colour at rest.
117
118
 
118
119
  ## Variants
119
120
 
@@ -215,6 +216,8 @@ A unit sits between the number and the steppers. Pass `suffixPosition="after"` t
215
216
 
216
217
  This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
217
218
 
219
+ When the browser submits the form itself, as a plain `<form>` or a Form with `action` does,, `name` submits the number through a hidden input: `1234.5`, not the formatted `1,234.5` the input shows. An empty field submits an empty string, and a disabled NumberInput submits nothing.
220
+
218
221
  ## Suggested Improvements
219
222
 
220
223
  - Provide `maxValue`/`minValue` indicator with value range