@cube-dev/ui-kit 0.200.1 → 0.202.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 (717) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +50 -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.d.ts +2 -1
  97. package/dist/components/content/TextItem/TextItem.js +134 -69
  98. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  99. package/dist/components/content/Title.js +1 -1
  100. package/dist/components/content/Tree/Tree.js +39 -14
  101. package/dist/components/content/Tree/Tree.js.map +1 -1
  102. package/dist/components/content/Tree/TreeNode.js +8 -7
  103. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  104. package/dist/components/content/Tree/checked-keys.js +158 -0
  105. package/dist/components/content/Tree/checked-keys.js.map +1 -0
  106. package/dist/components/content/Tree/rowId.js +16 -0
  107. package/dist/components/content/Tree/rowId.js.map +1 -0
  108. package/dist/components/content/Tree/styled.js +1 -1
  109. package/dist/components/content/Tree/tree-index.js +10 -2
  110. package/dist/components/content/Tree/tree-index.js.map +1 -1
  111. package/dist/components/content/Tree/types.d.ts +21 -1
  112. package/dist/components/content/Tree/use-checkbox-tree.js +17 -123
  113. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  114. package/dist/components/content/Tree/use-load-data.js +1 -1
  115. package/dist/components/content/highlightText.js +1 -1
  116. package/dist/components/content/use-auto-tooltip.js +1 -1
  117. package/dist/components/data/DataTable/DataTable.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTable.js +94 -66
  119. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  120. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  121. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  122. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  123. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  127. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  128. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  129. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  130. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  131. package/dist/components/data/TableBase/RowCollection.js +1 -1
  132. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  133. package/dist/components/data/TableBase/TableRow.js +1 -1
  134. package/dist/components/data/TableBase/TableRowLink.js +88 -0
  135. package/dist/components/data/TableBase/TableRowLink.js.map +1 -0
  136. package/dist/components/data/TableBase/TableView.js +317 -69
  137. package/dist/components/data/TableBase/TableView.js.map +1 -1
  138. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  139. package/dist/components/data/TableBase/column-header.js +1 -1
  140. package/dist/components/data/TableBase/column-menu.js +1 -1
  141. package/dist/components/data/TableBase/column-styles.js +1 -1
  142. package/dist/components/data/TableBase/column-tint.js +1 -1
  143. package/dist/components/data/TableBase/row-menu.js +1 -1
  144. package/dist/components/data/TableBase/styled.js +33 -22
  145. package/dist/components/data/TableBase/styled.js.map +1 -1
  146. package/dist/components/data/TableBase/table-tree.js +1 -1
  147. package/dist/components/data/TableBase/types.d.ts +2 -1
  148. package/dist/components/data/TableBase/types.js +1 -1
  149. package/dist/components/data/TableBase/types.js.map +1 -1
  150. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  151. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  152. package/dist/components/data/TableBase/use-column-order.js +1 -1
  153. package/dist/components/data/TableBase/use-column-window.js +1 -1
  154. package/dist/components/data/TableBase/use-container-width.js +1 -1
  155. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  156. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  157. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  158. package/dist/components/data/TableBase/use-table-search.js +1 -1
  159. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  160. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  161. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  162. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  163. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  164. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  165. package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
  166. package/dist/components/fields/Checkbox/Checkbox.js +21 -10
  167. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  168. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
  169. package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
  170. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  171. package/dist/components/fields/Checkbox/context.js +1 -1
  172. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -2
  173. package/dist/components/fields/ColorInput/ColorInput.js +5 -3
  174. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  175. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
  176. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
  177. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  178. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  179. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -2
  180. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
  181. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  182. package/dist/components/fields/ComboBox/ComboBox.d.ts +6 -4
  183. package/dist/components/fields/ComboBox/ComboBox.js +601 -574
  184. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  185. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  186. package/dist/components/fields/CommandTextArea/CommandTextArea.js +5 -4
  187. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  188. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  189. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  190. package/dist/components/fields/DatePicker/DateInput.d.ts +3 -2
  191. package/dist/components/fields/DatePicker/DateInput.js +7 -5
  192. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  193. package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
  194. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  195. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
  196. package/dist/components/fields/DatePicker/DatePicker.js +85 -173
  197. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  198. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  199. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  200. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  201. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  202. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
  203. package/dist/components/fields/DatePicker/DateRangePicker.js +117 -204
  204. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  205. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
  206. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +289 -434
  207. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  208. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  209. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +3 -2
  210. package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
  211. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  212. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  213. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -2
  214. package/dist/components/fields/DatePicker/TimeInput.js +7 -5
  215. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  216. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  217. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  218. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  219. package/dist/components/fields/DatePicker/period.js +1 -1
  220. package/dist/components/fields/DatePicker/props.js +1 -1
  221. package/dist/components/fields/DatePicker/utils.js +1 -1
  222. package/dist/components/fields/FileInput/FileInput.d.ts +3 -2
  223. package/dist/components/fields/FileInput/FileInput.js +114 -141
  224. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  225. package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
  226. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  227. package/dist/components/fields/FilterListBox/styled.js +66 -0
  228. package/dist/components/fields/FilterListBox/styled.js.map +1 -0
  229. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
  230. package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
  231. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  232. package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
  233. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
  234. package/dist/components/fields/Input/Input.js +1 -1
  235. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  236. package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
  237. package/dist/components/fields/ListBox/ListBox.js +7 -10
  238. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  239. package/dist/components/fields/ListBox/optionId.js +1 -1
  240. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  241. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  242. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  243. package/dist/components/fields/NumberInput/NumberInput.js +5 -3
  244. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  245. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  246. package/dist/components/fields/PasswordInput/PasswordInput.js +5 -3
  247. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  248. package/dist/components/fields/Picker/Picker.d.ts +9 -3
  249. package/dist/components/fields/Picker/Picker.js +12 -11
  250. package/dist/components/fields/Picker/Picker.js.map +1 -1
  251. package/dist/components/fields/RadioGroup/Radio.js +152 -154
  252. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  253. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
  254. package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
  255. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  256. package/dist/components/fields/RadioGroup/context.js +1 -1
  257. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  258. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
  259. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
  260. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  261. package/dist/components/fields/SearchInput/SearchInput.js +52 -48
  262. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  263. package/dist/components/fields/Select/Select.d.ts +3 -2
  264. package/dist/components/fields/Select/Select.js +8 -10
  265. package/dist/components/fields/Select/Select.js.map +1 -1
  266. package/dist/components/fields/Slider/Gradation.js +1 -1
  267. package/dist/components/fields/Slider/HueSlider.js +1 -1
  268. package/dist/components/fields/Slider/RangeSlider.js +19 -26
  269. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  270. package/dist/components/fields/Slider/Slider.js +51 -58
  271. package/dist/components/fields/Slider/Slider.js.map +1 -1
  272. package/dist/components/fields/Slider/SliderBase.js +61 -60
  273. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  274. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  275. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  276. package/dist/components/fields/Slider/elements.js +1 -1
  277. package/dist/components/fields/Slider/index.js +1 -1
  278. package/dist/components/fields/Slider/types.d.ts +3 -2
  279. package/dist/components/fields/Switch/Switch.d.ts +12 -2
  280. package/dist/components/fields/Switch/Switch.js +97 -165
  281. package/dist/components/fields/Switch/Switch.js.map +1 -1
  282. package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
  283. package/dist/components/fields/TagInput/TagInput.js +18 -13
  284. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  285. package/dist/components/fields/TagInput/TagList.js +1 -1
  286. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  287. package/dist/components/fields/TagInput/useTagError.js +1 -1
  288. package/dist/components/fields/TextArea/TextArea.js +5 -3
  289. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  290. package/dist/components/fields/TextInput/TextInput.js +5 -3
  291. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  292. package/dist/components/fields/TextInput/TextInputBase.d.ts +15 -4
  293. package/dist/components/fields/TextInput/TextInputBase.js +200 -104
  294. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  295. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  296. package/dist/components/fields/TextInput/index.d.ts +2 -2
  297. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  298. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  299. package/dist/components/fields/TriggerActions.js +1 -1
  300. package/dist/components/fields/color/ColorPanel.js +1 -1
  301. package/dist/components/fields/color/channels.js +1 -1
  302. package/dist/components/fields/color/color.js +1 -1
  303. package/dist/components/fields/color/context.js +1 -1
  304. package/dist/components/fields/index.d.ts +2 -2
  305. package/dist/components/fields/option-origin-press.js +1 -1
  306. package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
  307. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  308. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  309. package/dist/components/form/Form/Field.js +1 -1
  310. package/dist/components/form/Form/Form.js +1 -1
  311. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  312. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  313. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  314. package/dist/components/form/Form/SubmitError.js +1 -1
  315. package/dist/components/form/Form/backend.js +1 -1
  316. package/dist/components/form/Form/index.js +1 -1
  317. package/dist/components/form/Form/modern/actions.js +1 -1
  318. package/dist/components/form/Form/modern/context.js +1 -1
  319. package/dist/components/form/Form/modern/controller.js +1 -1
  320. package/dist/components/form/Form/modern/field-binding.js +1 -1
  321. package/dist/components/form/Form/modern/field.js +1 -1
  322. package/dist/components/form/Form/modern/react.js +1 -1
  323. package/dist/components/form/Form/modern/store.js +1 -1
  324. package/dist/components/form/Form/modern/validation.js +1 -1
  325. package/dist/components/form/Form/modern/values.js +1 -1
  326. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  327. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  328. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  329. package/dist/components/form/Form/use-field/use-field.js +1 -1
  330. package/dist/components/form/Form/use-form.js +1 -1
  331. package/dist/components/form/Form/validation.js +1 -1
  332. package/dist/components/form/Label.js +1 -1
  333. package/dist/components/form/field-chrome.js +1 -1
  334. package/dist/components/form/field-chrome.js.map +1 -1
  335. package/dist/components/form/field-layout.d.ts +10 -0
  336. package/dist/components/form/field-layout.js +96 -0
  337. package/dist/components/form/field-layout.js.map +1 -0
  338. package/dist/components/form/index.d.ts +2 -1
  339. package/dist/components/form/legacy-tooltip.js +15 -2
  340. package/dist/components/form/legacy-tooltip.js.map +1 -1
  341. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  342. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  343. package/dist/components/form/validation/use-validation-props.js +1 -1
  344. package/dist/components/form/wrapper.js +6 -2
  345. package/dist/components/form/wrapper.js.map +1 -1
  346. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  347. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  348. package/dist/components/layout/Flex.js +1 -1
  349. package/dist/components/layout/Flow.js +1 -1
  350. package/dist/components/layout/Grid.js +1 -1
  351. package/dist/components/layout/Panel.js +1 -1
  352. package/dist/components/layout/Prefix.js +1 -1
  353. package/dist/components/layout/ResizablePanel.js +1 -1
  354. package/dist/components/layout/Space.js +1 -1
  355. package/dist/components/layout/Suffix.js +1 -1
  356. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  357. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  358. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  359. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  360. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  361. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  362. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  363. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  364. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  365. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  366. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  367. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  368. package/dist/components/navigation/Tabs/styled.js +2 -1
  369. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  370. package/dist/components/navigation/Tabs/types.js +1 -1
  371. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  372. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  373. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  374. package/dist/components/other/Calendar/Calendar.js +1 -1
  375. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  376. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  377. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  378. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  379. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  380. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  381. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  382. package/dist/components/other/Calendar/styled.js +1 -1
  383. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  384. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  385. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  386. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  387. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  388. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  389. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  390. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  391. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  392. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  393. package/dist/components/overlays/Dialog/context.js +1 -1
  394. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  395. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  396. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  397. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  398. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  399. package/dist/components/overlays/Modal/Modal.js +1 -1
  400. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  401. package/dist/components/overlays/Modal/Overlay.js +1 -1
  402. package/dist/components/overlays/Modal/Popover.js +1 -1
  403. package/dist/components/overlays/Modal/Tray.js +1 -1
  404. package/dist/components/overlays/Modal/Underlay.js +1 -1
  405. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  406. package/dist/components/overlays/Notifications/Notification.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  408. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  409. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  410. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  411. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  412. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  413. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  414. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  415. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  416. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  417. package/dist/components/overlays/Notifications/index.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  419. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  420. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  422. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  423. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  424. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +1 -1
  428. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  429. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  430. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  431. package/dist/components/overlays/Tooltip/context.js +1 -1
  432. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  433. package/dist/components/portal/Portal.js +1 -1
  434. package/dist/components/portal/PortalProvider.js +1 -1
  435. package/dist/components/portal/usePortal.js +1 -1
  436. package/dist/components/shared/DraggableCollection.js +1 -1
  437. package/dist/components/shared/InvalidIcon.js +1 -1
  438. package/dist/components/shared/ValidIcon.js +1 -1
  439. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  440. package/dist/components/status/Spin/Cube.js +1 -1
  441. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  442. package/dist/components/status/Spin/Spin.js +1 -1
  443. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  444. package/dist/data/item-themes.js +116 -116
  445. package/dist/data/item-themes.js.map +1 -1
  446. package/dist/data/themes.js +1 -1
  447. package/dist/eslint-plugin/defaults.generated.js +1 -1
  448. package/dist/eslint-plugin/index.js +1 -1
  449. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  450. package/dist/i18n/I18nProvider.js +1 -1
  451. package/dist/i18n/createFormatter.js +1 -1
  452. package/dist/i18n/index.js +1 -1
  453. package/dist/i18n/instance.js +1 -1
  454. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  455. package/dist/i18n/locales/en-US/uikit.js +1 -1
  456. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  457. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  458. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  459. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  460. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  461. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  462. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  463. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  464. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  465. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  466. package/dist/i18n/locales.js +1 -1
  467. package/dist/i18n/namespace.js +1 -1
  468. package/dist/i18n/useFormatter.js +1 -1
  469. package/dist/i18n/useI18n.js +1 -1
  470. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  471. package/dist/icons/AdjustmentsIcon.js +1 -1
  472. package/dist/icons/AiIcon.js +1 -1
  473. package/dist/icons/AreaChartIcon.js +1 -1
  474. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  475. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  476. package/dist/icons/BackwardIcon.js +1 -1
  477. package/dist/icons/BarChartIcon.js +1 -1
  478. package/dist/icons/BellFilledIcon.js +1 -1
  479. package/dist/icons/BellIcon.js +1 -1
  480. package/dist/icons/BooleanIcon.js +1 -1
  481. package/dist/icons/CalendarEditIcon.js +1 -1
  482. package/dist/icons/CalendarIcon.js +1 -1
  483. package/dist/icons/CaretDownIcon.js +1 -1
  484. package/dist/icons/CaretUpIcon.js +1 -1
  485. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  486. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  487. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  489. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  490. package/dist/icons/ChartBarLineIcon.js +1 -1
  491. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarStackedIcon.js +1 -1
  493. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  495. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  496. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  497. package/dist/icons/ChartBubbleIcon.js +1 -1
  498. package/dist/icons/ChartDonut2Icon.js +1 -1
  499. package/dist/icons/ChartFunnelIcon.js +1 -1
  500. package/dist/icons/ChartHeatmapIcon.js +1 -1
  501. package/dist/icons/ChartKPIIcon.js +1 -1
  502. package/dist/icons/ChartPie2Icon.js +1 -1
  503. package/dist/icons/ChartScatterIcon.js +1 -1
  504. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  505. package/dist/icons/CheckCircleIcon.js +1 -1
  506. package/dist/icons/CheckIcon.js +1 -1
  507. package/dist/icons/CircleFilledIcon.js +1 -1
  508. package/dist/icons/ClearIcon.js +1 -1
  509. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  510. package/dist/icons/CloseCircleIcon.js +1 -1
  511. package/dist/icons/CloseIcon.js +1 -1
  512. package/dist/icons/CodeIcon.js +1 -1
  513. package/dist/icons/ColumnTotalIcon.js +1 -1
  514. package/dist/icons/CopyIcon.js +1 -1
  515. package/dist/icons/CountIcon.js +1 -1
  516. package/dist/icons/CubeIcon.js +1 -1
  517. package/dist/icons/CubePauseIcon.js +1 -1
  518. package/dist/icons/CubePlayIcon.js +1 -1
  519. package/dist/icons/CurrencyDollarIcon.js +1 -1
  520. package/dist/icons/DangerIcon.js +1 -1
  521. package/dist/icons/DashboardIcon.js +1 -1
  522. package/dist/icons/DatabaseIcon.js +1 -1
  523. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  524. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  525. package/dist/icons/DirectionIcon.js +1 -1
  526. package/dist/icons/DonutIcon.js +1 -1
  527. package/dist/icons/DownIcon.js +1 -1
  528. package/dist/icons/EditIcon.js +1 -1
  529. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  530. package/dist/icons/ExclamationCircleIcon.js +1 -1
  531. package/dist/icons/ExclamationIcon.js +1 -1
  532. package/dist/icons/EyeIcon.js +1 -1
  533. package/dist/icons/EyeInvisibleIcon.js +1 -1
  534. package/dist/icons/FilterIcon.js +1 -1
  535. package/dist/icons/FolderFilledIcon.js +1 -1
  536. package/dist/icons/FolderIcon.js +1 -1
  537. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  538. package/dist/icons/FolderOpenIcon.js +1 -1
  539. package/dist/icons/ForwardIcon.js +1 -1
  540. package/dist/icons/GripVerticalIcon.js +1 -1
  541. package/dist/icons/HierarchyIcon.js +1 -1
  542. package/dist/icons/HierarchyOpenIcon.js +1 -1
  543. package/dist/icons/Icon.js +1 -1
  544. package/dist/icons/InfoCircleIcon.js +1 -1
  545. package/dist/icons/InfoIcon.js +1 -1
  546. package/dist/icons/KeyIcon.js +1 -1
  547. package/dist/icons/LeftIcon.js +1 -1
  548. package/dist/icons/LineChartIcon.js +1 -1
  549. package/dist/icons/LoadingIcon.js +1 -1
  550. package/dist/icons/LockFilledIcon.js +1 -1
  551. package/dist/icons/LockIcon.js +1 -1
  552. package/dist/icons/MoreIcon.js +1 -1
  553. package/dist/icons/NotAllowedIcon.js +1 -1
  554. package/dist/icons/Number123Icon.js +1 -1
  555. package/dist/icons/NumberIcon.js +1 -1
  556. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  557. package/dist/icons/PauseCircleIcon.js +1 -1
  558. package/dist/icons/PauseIcon.js +1 -1
  559. package/dist/icons/PercentageIcon.js +1 -1
  560. package/dist/icons/PieChartIcon.js +1 -1
  561. package/dist/icons/PipetteIcon.js +1 -1
  562. package/dist/icons/PlayCircleIcon.js +1 -1
  563. package/dist/icons/PlayIcon.js +1 -1
  564. package/dist/icons/PlusIcon.js +1 -1
  565. package/dist/icons/ProgressBarIcon.js +1 -1
  566. package/dist/icons/ReloadIcon.js +1 -1
  567. package/dist/icons/ReportIcon.js +1 -1
  568. package/dist/icons/ReturnIcon.js +1 -1
  569. package/dist/icons/RightIcon.js +1 -1
  570. package/dist/icons/RowTotalsIcon.js +1 -1
  571. package/dist/icons/SchemeIcon.js +1 -1
  572. package/dist/icons/SearchIcon.js +1 -1
  573. package/dist/icons/SemanticQueryIcon.js +1 -1
  574. package/dist/icons/SettingsIcon.js +1 -1
  575. package/dist/icons/ShieldFilledIcon.js +1 -1
  576. package/dist/icons/ShieldIcon.js +1 -1
  577. package/dist/icons/SlashIcon.js +1 -1
  578. package/dist/icons/SparklesIcon.js +1 -1
  579. package/dist/icons/SqlIcon.js +1 -1
  580. package/dist/icons/StatsIcon.js +1 -1
  581. package/dist/icons/StopIcon.js +1 -1
  582. package/dist/icons/StringIcon.js +1 -1
  583. package/dist/icons/SubtotalsIcon.js +1 -1
  584. package/dist/icons/SwitchIcon.js +1 -1
  585. package/dist/icons/TableIcon.js +1 -1
  586. package/dist/icons/ThumbsDownIcon.js +1 -1
  587. package/dist/icons/ThumbsUpIcon.js +1 -1
  588. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  589. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  590. package/dist/icons/ThunderboltIcon.js +1 -1
  591. package/dist/icons/TimeIcon.js +1 -1
  592. package/dist/icons/TrashIcon.js +1 -1
  593. package/dist/icons/UnlockIcon.js +1 -1
  594. package/dist/icons/UpIcon.js +1 -1
  595. package/dist/icons/UserGroupIcon.js +1 -1
  596. package/dist/icons/UserIcon.js +1 -1
  597. package/dist/icons/UserLockIcon.js +1 -1
  598. package/dist/icons/ViewIcon.js +1 -1
  599. package/dist/icons/WarningFilledIcon.js +1 -1
  600. package/dist/icons/WarningIcon.js +1 -1
  601. package/dist/icons/wrap-icon.js +1 -1
  602. package/dist/index.d.ts +4 -3
  603. package/dist/index.js +4 -4
  604. package/dist/index.js.map +1 -1
  605. package/dist/probe/canonicalize.js +1 -1
  606. package/dist/probe/css.js +1 -1
  607. package/dist/probe/index.js +1 -1
  608. package/dist/provider.d.ts +5 -0
  609. package/dist/provider.js +19 -7
  610. package/dist/provider.js.map +1 -1
  611. package/dist/providers/TrackingProvider.js +1 -1
  612. package/dist/providers/navigation-url.js +1 -1
  613. package/dist/providers/navigationAdapter.default.js +1 -1
  614. package/dist/providers/use-navigation.js +1 -1
  615. package/dist/shared/form.d.ts +3 -1
  616. package/dist/tokens/all-tokens.js +1 -1
  617. package/dist/tokens/base.js +1 -1
  618. package/dist/tokens/color-seed.js +1 -1
  619. package/dist/tokens/color-theme.js +1 -1
  620. package/dist/tokens/colors.js +1 -1
  621. package/dist/tokens/layout.js +1 -1
  622. package/dist/tokens/lazy-styles.js +1 -1
  623. package/dist/tokens/legacy-color.js +1 -1
  624. package/dist/tokens/palette-config.js +1 -1
  625. package/dist/tokens/palette.js +4 -4
  626. package/dist/tokens/palette.js.map +1 -1
  627. package/dist/tokens/resolve.js +1 -1
  628. package/dist/tokens/shadows.js +1 -1
  629. package/dist/tokens/sizes.js +1 -1
  630. package/dist/tokens/spacing.js +1 -1
  631. package/dist/tokens/typography.js +1 -1
  632. package/dist/utils/ResizeSensor.js +1 -1
  633. package/dist/utils/colors.js +1 -1
  634. package/dist/utils/dotize.js +1 -1
  635. package/dist/utils/is-dev-env.js +1 -1
  636. package/dist/utils/modules.js +1 -1
  637. package/dist/utils/promise.js +1 -1
  638. package/dist/utils/raf.js +1 -1
  639. package/dist/utils/random.js +1 -1
  640. package/dist/utils/range.js +1 -1
  641. package/dist/utils/react/RenderCache.js +1 -1
  642. package/dist/utils/react/Slots.js +1 -1
  643. package/dist/utils/react/chain.js +1 -1
  644. package/dist/utils/react/disabledProps.js +29 -2
  645. package/dist/utils/react/disabledProps.js.map +1 -1
  646. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  647. package/dist/utils/react/index.js +1 -1
  648. package/dist/utils/react/interactions.js +1 -1
  649. package/dist/utils/react/isTextOnly.js +1 -1
  650. package/dist/utils/react/mapProps.js +1 -1
  651. package/dist/utils/react/mergeProps.js +1 -1
  652. package/dist/utils/react/nullableValue.js +1 -1
  653. package/dist/utils/react/overlayKeyPropagation.js +44 -7
  654. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  655. package/dist/utils/react/programmaticFocus.js +1 -1
  656. package/dist/utils/react/resolveIcon.js +1 -1
  657. package/dist/utils/react/sharedStore.js +1 -1
  658. package/dist/utils/react/useBufferedValue.js +1 -1
  659. package/dist/utils/react/useCombinedRefs.js +1 -1
  660. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  661. package/dist/utils/react/useEventBus.js +1 -1
  662. package/dist/utils/react/useId.js +1 -1
  663. package/dist/utils/react/useIsDarwin.js +1 -1
  664. package/dist/utils/react/useKeySymbols.js +1 -1
  665. package/dist/utils/react/useLayoutEffect.js +1 -1
  666. package/dist/utils/react/useLocalStorage.js +1 -1
  667. package/dist/utils/react/useMergeStyles.js +1 -1
  668. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  669. package/dist/utils/react/usePopoverSync.js +1 -1
  670. package/dist/utils/react/useQaProps.js +1 -1
  671. package/dist/utils/react/useScheme.js +1 -1
  672. package/dist/utils/react/useViewportSize.js +1 -1
  673. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  674. package/dist/utils/selection.js +1 -1
  675. package/dist/utils/styles.js +1 -1
  676. package/dist/utils/tree.js +1 -1
  677. package/dist/utils/warnings.js +1 -1
  678. package/dist/version.js +3 -3
  679. package/docs/CreateComponent.md +1 -1
  680. package/docs/FieldProperties.md +17 -7
  681. package/docs/Usage.md +3 -0
  682. package/docs/components/content/Divider.md +103 -21
  683. package/docs/components/content/Tree.md +5 -4
  684. package/docs/components/data/ItemTable.md +9 -1
  685. package/docs/components/fields/Checkbox.md +7 -8
  686. package/docs/components/fields/ColorInput.md +11 -13
  687. package/docs/components/fields/ColorPicker.md +2 -2
  688. package/docs/components/fields/ColorSwatchGroup.md +2 -3
  689. package/docs/components/fields/ComboBox.md +2 -4
  690. package/docs/components/fields/CommandTextArea.md +3 -5
  691. package/docs/components/fields/DatePicker.md +1 -4
  692. package/docs/components/fields/FileInput.md +1 -5
  693. package/docs/components/fields/FilterListBox.md +0 -3
  694. package/docs/components/fields/FilterPicker.md +68 -5
  695. package/docs/components/fields/HueSlider.md +1 -2
  696. package/docs/components/fields/ListBox.md +0 -3
  697. package/docs/components/fields/NumberInput.md +5 -6
  698. package/docs/components/fields/PasswordInput.md +7 -8
  699. package/docs/components/fields/PeriodPicker.md +0 -4
  700. package/docs/components/fields/Picker.md +2 -4
  701. package/docs/components/fields/RadioGroup.md +4 -5
  702. package/docs/components/fields/SearchComboBox.md +2 -4
  703. package/docs/components/fields/SearchInput.md +3 -4
  704. package/docs/components/fields/Select.md +0 -3
  705. package/docs/components/fields/Slider.md +0 -1
  706. package/docs/components/fields/Switch.md +16 -3
  707. package/docs/components/fields/TagInput.md +3 -6
  708. package/docs/components/fields/TextArea.md +9 -8
  709. package/docs/components/fields/TextInput.md +39 -10
  710. package/docs/components/overlays/Tooltip.md +1 -1
  711. package/docs/tasty/ai-agents.md +1 -1
  712. package/docs/tasty/react-api.md +1 -1
  713. package/docs/tasty/styles.md +37 -3
  714. package/package.json +6 -4
  715. package/dist/components/content/Divider.d.ts +0 -7
  716. package/dist/components/content/Divider.js +0 -105
  717. package/dist/components/content/Divider.js.map +0 -1
@@ -1,28 +1,44 @@
1
1
  # Divider
2
2
 
3
- A horizontal separator. Can be a simple line or include centered text with lines on both sides.
3
+ A line that separates content. It is horizontal by default and vertical with `orientation="vertical"`, and it can show text, such as "or", between two lines. Built on React Aria's `useSeparator`.
4
4
 
5
5
  ## When to Use
6
6
 
7
7
  - Separating sections of content
8
- - Dividing list items or form sections
9
- - "Or" or other labels between content blocks
8
+ - Separating the items of a toolbar or an action row (vertical)
9
+ - "Or" or another label between two blocks of content
10
10
 
11
- ## Properties
11
+ ## Component
12
12
 
13
- - **`children`** `ReactNode` — Optional text to display centered between two lines
13
+ ---
14
14
 
15
- ### Style Defaults
15
+ ### Properties
16
16
 
17
- - `display` — `block` (switches to `grid` when text is present)
18
- - `height` — `1bw` (switches to `auto` when text is present)
19
- - `fill` — `#border` (switches to `none` when text is present)
20
- - `preset` — `c1`
21
- - `gridArea` — `divider`
17
+ - **`children`** `ReactNode` — Text shown between two lines. It also names the separator for screen readers, unless `aria-label` or `aria-labelledby` names it. Screen readers get it only as that name, so keep it to text: a link or button in it would be unreachable.
18
+ - **`orientation`** `'horizontal' | 'vertical'` (default: `'horizontal'`) — The direction of the line. A vertical divider stretches to the height of its flex or grid row, even when the row centers its items. Elsewhere, or to make it shorter, give it a `height`.
22
19
 
23
20
  ### Base Properties
24
21
 
25
- Supports [Base properties](../../BaseProperties.md).
22
+ Supports [Base properties](../../BaseProperties.md). A divider's `qa` defaults to `Divider`.
23
+
24
+ ### Styling Properties
25
+
26
+ #### styles
27
+
28
+ Customizes the root element. Without text, the root is the line itself.
29
+
30
+ **Sub-elements:**
31
+
32
+ - `Line` - Each of the two lines around the text.
33
+
34
+ ### Style Defaults
35
+
36
+ - `fill` — `#border`; `none` with text, where the `Line` sub-elements carry the color
37
+ - `height` — `1bw` when horizontal without text
38
+ - `width` — `1bw` when vertical without text
39
+ - `margin` — `0`
40
+ - `preset` — `c1`
41
+ - `display` — `block`; `grid` with text
26
42
 
27
43
  ### Style Properties
28
44
 
@@ -31,21 +47,87 @@ These properties allow direct style application without using the `styles` prop:
31
47
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
32
48
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
33
49
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
34
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
50
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
35
51
  - **Color:** `color`, `fill`, `fade`, `image`
36
- - **Text:** `textTransform`, `fontWeight`, `fontStyle`
37
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
38
52
 
39
- ## Examples
53
+ ### Modifiers
40
54
 
41
- ```jsx
42
- <Divider />
55
+ The `mods` property accepts the following modifiers you can override:
43
56
 
44
- <Divider>or</Divider>
57
+ | Modifier | Type | Description |
58
+ | --- | --- | --- |
59
+ | text | `boolean` | The divider shows text between two lines |
60
+ | vertical | `boolean` | The divider is vertical |
61
+ | sized | `boolean` | It has a `height` or `blockSize` of its own, so a vertical divider follows the row's alignment instead of stretching |
62
+
63
+ ## Examples
64
+
65
+ ### Between sections
45
66
 
46
- <Flow gap="1x">
67
+ ```jsx
68
+ <Space flow="column" gap="1x">
47
69
  <Paragraph>Section 1</Paragraph>
48
70
  <Divider />
49
71
  <Paragraph>Section 2</Paragraph>
50
- </Flow>
72
+ </Space>
73
+ ```
74
+
75
+ ### Spacing
76
+
77
+ ```jsx
78
+ <Divider margin="1x 0" />
79
+ ```
80
+
81
+ ### With text
82
+
83
+ ```jsx
84
+ <Divider>or</Divider>
85
+ ```
86
+
87
+ ### Vertical, in a row of actions
88
+
89
+ ```jsx
90
+ <Space placeItems="center" gap="1.5x">
91
+ <Button>Edit</Button>
92
+ <Divider orientation="vertical" />
93
+ <Button>Delete</Button>
94
+ </Space>
95
+ ```
96
+
97
+ A vertical divider takes the height of its row in a flex or grid container. Give it a `height` when it should be shorter, or when its container is a plain block. A divider with a height follows the row's alignment, so it stays centered in a row that centers its items. A `min max` range counts as a height too; add `alignSelf="stretch"` to stretch within it:
98
+
99
+ ```jsx
100
+ <Space placeItems="center" gap="1.5x">
101
+ <Button>Edit</Button>
102
+ <Divider orientation="vertical" height="3x" />
103
+ <Button>Delete</Button>
104
+ </Space>
51
105
  ```
106
+
107
+ A vertical divider with text needs a row about `8x` tall or more. In a shorter row the lines shrink to nothing and only the text is left.
108
+
109
+ ## Accessibility
110
+
111
+ ### Screen Reader Support
112
+
113
+ - A horizontal divider without text is an `<hr>`, which screen readers announce as a separator.
114
+ - A vertical divider, or one with text, is a `div` with `role="separator"`. A vertical one carries `aria-orientation="vertical"`.
115
+ - ARIA treats a separator's content as presentational, so a text divider is named by its text through `aria-labelledby`: its accessible name is its text, and the text is hidden from screen readers so it is not read a second time. An `aria-label` or `aria-labelledby` you pass replaces that name.
116
+
117
+ ## Best Practices
118
+
119
+ 1. **Do**: put spacing on the divider or its container
120
+
121
+ ```jsx
122
+ <Divider margin="2x 0" />
123
+ ```
124
+
125
+ 2. **Don't**: draw a separator with a bordered empty element; it is invisible to screen readers
126
+
127
+ ```jsx
128
+ <Block styles={{ border: 'top' }} />
129
+ ```
130
+
131
+ ## Related Components
132
+
133
+ - [Space](../layout/Space.md) - Lays out the content a divider separates
@@ -25,8 +25,8 @@ The component's data shape (`treeData`) and the public callback shape are design
25
25
  - **`defaultExpandedKeys`** `string[]` — Default expanded keys (uncontrolled).
26
26
  - **`expandedKeys`** `string[]` — Controlled expanded keys.
27
27
  - **`autoExpandParent`** `boolean` (default: `false`) — Auto-expand parents of currently expanded keys. Useful for filtering.
28
- - **`defaultCheckedKeys`** `string[]` — Default checked keys (uncontrolled).
29
- - **`checkedKeys`** `string[] | { checked: string[]; halfChecked?: string[] }` — Controlled checked keys. Pass the object form to receive the same shape back from `onCheck`.
28
+ - **`defaultCheckedKeys`** `string[]` — Default checked keys (uncontrolled). A parent key checks its whole subtree, as in AntD.
29
+ - **`checkedKeys`** `string[] | { checked: string[]; halfChecked?: string[] }` — Controlled checked keys. In the array form, a parent key checks its whole subtree, as in AntD. Pass the object form to receive the same shape back from `onCheck`; it is taken as given.
30
30
  - **`defaultSelectedKeys`** `string[]` — Default selected keys (uncontrolled).
31
31
  - **`selectedKeys`** `string[]` — Controlled selected keys.
32
32
  - **`height`** `number` — Fixed height in pixels. When omitted, the tree fills the available vertical space and scrolls internally.
@@ -53,6 +53,7 @@ The component's data shape (`treeData`) and the public callback shape are design
53
53
 
54
54
  - **`key`** `string` — Unique identifier of the node.
55
55
  - **`title`** `ReactNode` — Visible label.
56
+ - **`textValue`** `string` — Plain-text label, for a `title` that is not a string. It names the row's checkbox and is what `FilterPicker`'s tree mode searches and summarises.
56
57
  - **`children`** `CubeTreeNodeData[]` — Children. Pass `undefined` together with `isLeaf={false}` for lazy nodes.
57
58
  - **`isLeaf`** `boolean` — Force leaf rendering (no expand toggle, no `loadData` call).
58
59
  - **`isDisabled`** `boolean` — Disable interactions on this row (focus / select / expand / check).
@@ -200,7 +201,7 @@ Pass the matching keys via `expandedKeys` and set `autoExpandParent` to keep the
200
201
 
201
202
  ### Per-node Disabling
202
203
 
203
- Disable the entire row, just the checkbox, or hide the checkbox via node-level flags.
204
+ Disable the entire row, just the checkbox, or hide the checkbox via node-level flags. Such a node with no eligible nodes below it keeps its own checked state. Above eligible nodes, its state follows them, and the cascade passes through it: checking its parent checks the eligible nodes below it.
204
205
 
205
206
  ```jsx
206
207
  const data = [
@@ -268,7 +269,7 @@ Tree implements the [`treegrid` ARIA pattern](https://www.w3.org/WAI/ARIA/apg/pa
268
269
  ### Screen Reader Support
269
270
 
270
271
  - Each row reports `aria-level`, `aria-posinset` and `aria-setsize`. Expandable rows also report `aria-expanded`, including a lazy row (`isLeaf: false`) whose children have not loaded yet.
271
- - When `isCheckable` is enabled, the row carries `aria-checked` (`true`, `false`, or `mixed` for the indeterminate state).
272
+ - When `isCheckable` is enabled, each row's checkbox carries the checked state (`checked`, `not checked`, or `mixed` for the indeterminate state), named by the node's `textValue` or string `title`. The row itself takes no `aria-checked`, which `row` does not support; it has `data-checked` and `data-indeterminate` for tests.
272
273
  - Disabled rows expose `aria-disabled="true"`.
273
274
 
274
275
  ### ARIA Properties
@@ -212,7 +212,7 @@ const Compact = tasty(ItemTable, {
212
212
  });
213
213
  ```
214
214
 
215
- Rows publish their paint as inherited custom properties — `#row-base`, `#row-overlay`, `#row-text` and `$dim` — which cells consume. That is what lets a pinned (and therefore opaque) cell match its row's state without duplicating the state matrix.
215
+ Rows publish their paint as inherited custom properties — `#row-base`, `#row-overlay`, `$row-overlay-weight`, `#row-text` and `$dim` — which cells consume. `#row-overlay` is an opaque color that cells mix into `#row-base` at `$row-overlay-weight` (a percentage), so each cell paints one solid background color. That is what lets a pinned (and therefore opaque) cell match its row's state without duplicating the state matrix.
216
216
 
217
217
  Geometry runs through tokens too: `$row-height`, `$header-height`, `$cell-padding-x` (16px) and `$cell-padding-y`. Height lives on the **cells**, not the `<tr>` — table layout ignores `min-height` on a row and sizes it from its cells instead.
218
218
 
@@ -591,12 +591,18 @@ Unselectable rows are excluded from every scope. Pressing the header checkbox wh
591
591
  />
592
592
  ```
593
593
 
594
+ When no visible column is marked `isRowHeader`, a table with `rowLink` uses its first visible data column eligible for the row header. Set `isRowHeader={false}` on a column to exclude it from that default. Selection and action columns do not affect the choice. If no data column is eligible, the table renders no row links.
595
+
594
596
  Because it is a real `<a href>`, ⌘-click, middle-click and "Open in new tab" all work natively — none of which an `onClick` handler can give you. The anchor sits below the cells' own content in the stacking order, so a button or `⋮` trigger inside a cell still takes its own clicks, and its accessible name comes from the row-header cell rather than being announced as "link".
595
597
 
596
598
  The row-header cell is styled as a link — `#purple-text` at weight 600, matching the kit's `Link`, with an underline while the row is hovered. The anchor itself is invisible, so without that the row would give no sign that it navigates.
597
599
 
598
600
  `onRowAction` is the non-navigational alternative — Enter, or a click that did not land on a control inside a cell. Use one or the other, not both.
599
601
 
602
+ Flat tables with row links, row actions or exposed row menus have a resting body-row tab stop. Up/Down move between interactive rows, Home/End move to the first/last, and Enter activates the focused row's link or action. Down from a focused column header enters the body. Disabled rows are skipped; making a row unselectable only disables its checkbox. In-cell controls keep their own keys and Tab behavior. Reorderable rows retain their drag shortcuts.
603
+
604
+ Keyboard focus emphasizes the row background, including selected rows, matching the kit's list items. Controls inside a row keep their own focus appearance.
605
+
600
606
  ### Row Menu
601
607
 
602
608
  `rowMenu` supplies `Menu.Item` children, and `rowContextMenu` decides where they are exposed. The split is deliberate: `rowMenu` alone renders nothing, so a row never grows a `⋮` nobody asked for.
@@ -624,6 +630,8 @@ The row-header cell is styled as a link — `#purple-text` at weight 600, matchi
624
630
 
625
631
  A row whose resolver returns `null` gets no trigger, and right-clicking it falls through to the browser's own context menu — more useful than an empty popover.
626
632
 
633
+ From a focused flat row, Tab reaches its visible `⋮` trigger; Shift+F10 opens its context menu, including in `'context-only'` mode. Closing restores the opening row or control, or a surviving neighbor if the row was removed. A menu action that focuses another control keeps that focus.
634
+
627
635
  ### Bulk Actions
628
636
 
629
637
  `bulkActions` implies `selectionMode="multiple"` — a bulk action with no way to select rows is a contradiction, not a configuration.
@@ -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
 
@@ -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 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
@@ -182,11 +182,8 @@ Customizes section heading elements within grouped options.
182
182
 
183
183
  These properties allow direct style application without using the `styles` prop:
184
184
 
185
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
186
185
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
187
186
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
188
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
189
- - **Color:** `color`, `fill`, `fade`, `image`
190
187
 
191
188
  ### Modifiers
192
189
 
@@ -195,6 +192,7 @@ The `mods` property accepts the following modifiers you can override:
195
192
  - **`invalid`** `boolean` — Applied when validation state is invalid
196
193
  - **`valid`** `boolean` — Applied when validation state is valid
197
194
  - **`disabled`** `boolean` — Applied when the combobox is disabled
195
+ - **`readonly`** `boolean` — Applied when the combobox is read-only: a recessed fill and a softer border, except in high contrast
198
196
  - **`focused`** `boolean` — Applied when the input has focus
199
197
  - **`loading`** `boolean` — Applied when the combobox is in loading state
200
198
  - **`prefix`** `boolean` — Applied when prefix content is present
@@ -37,6 +37,7 @@ 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
+ - **`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
41
 
41
42
  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
43
 
@@ -67,11 +68,8 @@ Supports all [Field properties](../../FieldProperties.md) (`label`, `name`, `isR
67
68
 
68
69
  These properties allow direct style application without using the `styles` prop:
69
70
 
70
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
71
71
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
72
72
  - **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
73
 
76
74
  ## Examples
77
75
 
@@ -115,8 +113,8 @@ These properties allow direct style application without using the `styles` prop:
115
113
  - `Tab` — Moves focus into / out of the textarea.
116
114
  - `ArrowUp` / `ArrowDown` — Move the highlighted option (only while the popover is open; otherwise moves the caret).
117
115
  - `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.
116
+ - `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.
117
+ - `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
118
 
121
119
  ### Screen Reader Support
122
120
 
@@ -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