@cube-dev/ui-kit 0.201.0 → 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 (702) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +38 -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 +1 -1
  117. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  119. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  120. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  121. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  123. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  127. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  128. package/dist/components/data/TableBase/RowCollection.js +1 -1
  129. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  130. package/dist/components/data/TableBase/TableRow.js +1 -1
  131. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  132. package/dist/components/data/TableBase/TableView.js +1 -1
  133. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  134. package/dist/components/data/TableBase/column-header.js +1 -1
  135. package/dist/components/data/TableBase/column-menu.js +1 -1
  136. package/dist/components/data/TableBase/column-styles.js +1 -1
  137. package/dist/components/data/TableBase/column-tint.js +1 -1
  138. package/dist/components/data/TableBase/row-menu.js +1 -1
  139. package/dist/components/data/TableBase/styled.js +1 -1
  140. package/dist/components/data/TableBase/table-tree.js +1 -1
  141. package/dist/components/data/TableBase/types.js +1 -1
  142. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  143. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  144. package/dist/components/data/TableBase/use-column-order.js +1 -1
  145. package/dist/components/data/TableBase/use-column-window.js +1 -1
  146. package/dist/components/data/TableBase/use-container-width.js +1 -1
  147. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  148. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  149. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  150. package/dist/components/data/TableBase/use-table-search.js +1 -1
  151. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  152. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  153. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  154. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  155. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  156. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  157. package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
  158. package/dist/components/fields/Checkbox/Checkbox.js +21 -10
  159. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  160. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
  161. package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
  162. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  163. package/dist/components/fields/Checkbox/context.js +1 -1
  164. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -2
  165. package/dist/components/fields/ColorInput/ColorInput.js +5 -3
  166. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  167. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
  168. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
  169. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  170. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  171. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -2
  172. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
  173. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  174. package/dist/components/fields/ComboBox/ComboBox.d.ts +6 -4
  175. package/dist/components/fields/ComboBox/ComboBox.js +601 -574
  176. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  177. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  178. package/dist/components/fields/CommandTextArea/CommandTextArea.js +5 -4
  179. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  180. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  181. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  182. package/dist/components/fields/DatePicker/DateInput.d.ts +3 -2
  183. package/dist/components/fields/DatePicker/DateInput.js +7 -5
  184. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  185. package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
  186. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  187. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
  188. package/dist/components/fields/DatePicker/DatePicker.js +85 -173
  189. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  190. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  191. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  192. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  193. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  194. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
  195. package/dist/components/fields/DatePicker/DateRangePicker.js +117 -204
  196. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  197. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
  198. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +289 -434
  199. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  200. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  201. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +3 -2
  202. package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
  203. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  204. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  205. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -2
  206. package/dist/components/fields/DatePicker/TimeInput.js +7 -5
  207. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  208. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  209. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  210. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  211. package/dist/components/fields/DatePicker/period.js +1 -1
  212. package/dist/components/fields/DatePicker/props.js +1 -1
  213. package/dist/components/fields/DatePicker/utils.js +1 -1
  214. package/dist/components/fields/FileInput/FileInput.d.ts +3 -2
  215. package/dist/components/fields/FileInput/FileInput.js +114 -141
  216. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  217. package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
  218. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  219. package/dist/components/fields/FilterListBox/styled.js +66 -0
  220. package/dist/components/fields/FilterListBox/styled.js.map +1 -0
  221. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
  222. package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
  223. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  224. package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
  225. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
  226. package/dist/components/fields/Input/Input.js +1 -1
  227. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  228. package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
  229. package/dist/components/fields/ListBox/ListBox.js +7 -10
  230. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  231. package/dist/components/fields/ListBox/optionId.js +1 -1
  232. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  233. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  234. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  235. package/dist/components/fields/NumberInput/NumberInput.js +5 -3
  236. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  237. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  238. package/dist/components/fields/PasswordInput/PasswordInput.js +5 -3
  239. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  240. package/dist/components/fields/Picker/Picker.d.ts +9 -3
  241. package/dist/components/fields/Picker/Picker.js +12 -11
  242. package/dist/components/fields/Picker/Picker.js.map +1 -1
  243. package/dist/components/fields/RadioGroup/Radio.js +152 -154
  244. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  245. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
  246. package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
  247. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  248. package/dist/components/fields/RadioGroup/context.js +1 -1
  249. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  250. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
  251. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
  252. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  253. package/dist/components/fields/SearchInput/SearchInput.js +52 -48
  254. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  255. package/dist/components/fields/Select/Select.d.ts +3 -2
  256. package/dist/components/fields/Select/Select.js +8 -10
  257. package/dist/components/fields/Select/Select.js.map +1 -1
  258. package/dist/components/fields/Slider/Gradation.js +1 -1
  259. package/dist/components/fields/Slider/HueSlider.js +1 -1
  260. package/dist/components/fields/Slider/RangeSlider.js +19 -26
  261. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  262. package/dist/components/fields/Slider/Slider.js +51 -58
  263. package/dist/components/fields/Slider/Slider.js.map +1 -1
  264. package/dist/components/fields/Slider/SliderBase.js +61 -60
  265. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  266. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  267. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  268. package/dist/components/fields/Slider/elements.js +1 -1
  269. package/dist/components/fields/Slider/index.js +1 -1
  270. package/dist/components/fields/Slider/types.d.ts +3 -2
  271. package/dist/components/fields/Switch/Switch.d.ts +12 -2
  272. package/dist/components/fields/Switch/Switch.js +97 -165
  273. package/dist/components/fields/Switch/Switch.js.map +1 -1
  274. package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
  275. package/dist/components/fields/TagInput/TagInput.js +18 -13
  276. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  277. package/dist/components/fields/TagInput/TagList.js +1 -1
  278. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  279. package/dist/components/fields/TagInput/useTagError.js +1 -1
  280. package/dist/components/fields/TextArea/TextArea.js +5 -3
  281. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  282. package/dist/components/fields/TextInput/TextInput.js +5 -3
  283. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  284. package/dist/components/fields/TextInput/TextInputBase.d.ts +15 -4
  285. package/dist/components/fields/TextInput/TextInputBase.js +200 -104
  286. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  287. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  288. package/dist/components/fields/TextInput/index.d.ts +2 -2
  289. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  290. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  291. package/dist/components/fields/TriggerActions.js +1 -1
  292. package/dist/components/fields/color/ColorPanel.js +1 -1
  293. package/dist/components/fields/color/channels.js +1 -1
  294. package/dist/components/fields/color/color.js +1 -1
  295. package/dist/components/fields/color/context.js +1 -1
  296. package/dist/components/fields/index.d.ts +2 -2
  297. package/dist/components/fields/option-origin-press.js +1 -1
  298. package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
  299. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  300. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  301. package/dist/components/form/Form/Field.js +1 -1
  302. package/dist/components/form/Form/Form.js +1 -1
  303. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  304. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  305. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  306. package/dist/components/form/Form/SubmitError.js +1 -1
  307. package/dist/components/form/Form/backend.js +1 -1
  308. package/dist/components/form/Form/index.js +1 -1
  309. package/dist/components/form/Form/modern/actions.js +1 -1
  310. package/dist/components/form/Form/modern/context.js +1 -1
  311. package/dist/components/form/Form/modern/controller.js +1 -1
  312. package/dist/components/form/Form/modern/field-binding.js +1 -1
  313. package/dist/components/form/Form/modern/field.js +1 -1
  314. package/dist/components/form/Form/modern/react.js +1 -1
  315. package/dist/components/form/Form/modern/store.js +1 -1
  316. package/dist/components/form/Form/modern/validation.js +1 -1
  317. package/dist/components/form/Form/modern/values.js +1 -1
  318. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  319. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  320. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  321. package/dist/components/form/Form/use-field/use-field.js +1 -1
  322. package/dist/components/form/Form/use-form.js +1 -1
  323. package/dist/components/form/Form/validation.js +1 -1
  324. package/dist/components/form/Label.js +1 -1
  325. package/dist/components/form/field-chrome.js +1 -1
  326. package/dist/components/form/field-chrome.js.map +1 -1
  327. package/dist/components/form/field-layout.d.ts +10 -0
  328. package/dist/components/form/field-layout.js +96 -0
  329. package/dist/components/form/field-layout.js.map +1 -0
  330. package/dist/components/form/index.d.ts +2 -1
  331. package/dist/components/form/legacy-tooltip.js +15 -2
  332. package/dist/components/form/legacy-tooltip.js.map +1 -1
  333. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  334. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  335. package/dist/components/form/validation/use-validation-props.js +1 -1
  336. package/dist/components/form/wrapper.js +6 -2
  337. package/dist/components/form/wrapper.js.map +1 -1
  338. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  339. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  340. package/dist/components/layout/Flex.js +1 -1
  341. package/dist/components/layout/Flow.js +1 -1
  342. package/dist/components/layout/Grid.js +1 -1
  343. package/dist/components/layout/Panel.js +1 -1
  344. package/dist/components/layout/Prefix.js +1 -1
  345. package/dist/components/layout/ResizablePanel.js +1 -1
  346. package/dist/components/layout/Space.js +1 -1
  347. package/dist/components/layout/Suffix.js +1 -1
  348. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  349. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  350. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  351. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  352. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  353. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  354. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  355. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  356. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  357. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  358. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  359. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  360. package/dist/components/navigation/Tabs/styled.js +1 -1
  361. package/dist/components/navigation/Tabs/types.js +1 -1
  362. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  363. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  364. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  365. package/dist/components/other/Calendar/Calendar.js +1 -1
  366. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  367. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  368. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  369. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  370. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  371. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  372. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  373. package/dist/components/other/Calendar/styled.js +1 -1
  374. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  375. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  376. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  377. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  378. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  379. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  380. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  381. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  382. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  383. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  384. package/dist/components/overlays/Dialog/context.js +1 -1
  385. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  386. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  387. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  388. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  389. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  390. package/dist/components/overlays/Modal/Modal.js +1 -1
  391. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  392. package/dist/components/overlays/Modal/Overlay.js +1 -1
  393. package/dist/components/overlays/Modal/Popover.js +1 -1
  394. package/dist/components/overlays/Modal/Tray.js +1 -1
  395. package/dist/components/overlays/Modal/Underlay.js +1 -1
  396. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  397. package/dist/components/overlays/Notifications/Notification.js +1 -1
  398. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  399. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  400. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  401. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  402. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  403. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  404. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  405. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  406. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  407. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  408. package/dist/components/overlays/Notifications/index.js +1 -1
  409. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  410. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  411. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  412. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  413. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  414. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  415. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  416. package/dist/components/overlays/Toast/index.js +1 -1
  417. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  418. package/dist/components/overlays/Toast/useToast.js +1 -1
  419. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  420. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  421. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  422. package/dist/components/overlays/Tooltip/context.js +1 -1
  423. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  424. package/dist/components/portal/Portal.js +1 -1
  425. package/dist/components/portal/PortalProvider.js +1 -1
  426. package/dist/components/portal/usePortal.js +1 -1
  427. package/dist/components/shared/DraggableCollection.js +1 -1
  428. package/dist/components/shared/InvalidIcon.js +1 -1
  429. package/dist/components/shared/ValidIcon.js +1 -1
  430. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  431. package/dist/components/status/Spin/Cube.js +1 -1
  432. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  433. package/dist/components/status/Spin/Spin.js +1 -1
  434. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  435. package/dist/data/item-themes.js +1 -1
  436. package/dist/data/themes.js +1 -1
  437. package/dist/eslint-plugin/defaults.generated.js +1 -1
  438. package/dist/eslint-plugin/index.js +1 -1
  439. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  440. package/dist/i18n/I18nProvider.js +1 -1
  441. package/dist/i18n/createFormatter.js +1 -1
  442. package/dist/i18n/index.js +1 -1
  443. package/dist/i18n/instance.js +1 -1
  444. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  445. package/dist/i18n/locales/en-US/uikit.js +1 -1
  446. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  447. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  448. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  449. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  450. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  451. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  452. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  453. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  454. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  455. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  456. package/dist/i18n/locales.js +1 -1
  457. package/dist/i18n/namespace.js +1 -1
  458. package/dist/i18n/useFormatter.js +1 -1
  459. package/dist/i18n/useI18n.js +1 -1
  460. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  461. package/dist/icons/AdjustmentsIcon.js +1 -1
  462. package/dist/icons/AiIcon.js +1 -1
  463. package/dist/icons/AreaChartIcon.js +1 -1
  464. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  465. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  466. package/dist/icons/BackwardIcon.js +1 -1
  467. package/dist/icons/BarChartIcon.js +1 -1
  468. package/dist/icons/BellFilledIcon.js +1 -1
  469. package/dist/icons/BellIcon.js +1 -1
  470. package/dist/icons/BooleanIcon.js +1 -1
  471. package/dist/icons/CalendarEditIcon.js +1 -1
  472. package/dist/icons/CalendarIcon.js +1 -1
  473. package/dist/icons/CaretDownIcon.js +1 -1
  474. package/dist/icons/CaretUpIcon.js +1 -1
  475. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  476. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  477. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  478. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  479. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  480. package/dist/icons/ChartBarLineIcon.js +1 -1
  481. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  482. package/dist/icons/ChartBarStackedIcon.js +1 -1
  483. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  484. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  485. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  486. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  487. package/dist/icons/ChartBubbleIcon.js +1 -1
  488. package/dist/icons/ChartDonut2Icon.js +1 -1
  489. package/dist/icons/ChartFunnelIcon.js +1 -1
  490. package/dist/icons/ChartHeatmapIcon.js +1 -1
  491. package/dist/icons/ChartKPIIcon.js +1 -1
  492. package/dist/icons/ChartPie2Icon.js +1 -1
  493. package/dist/icons/ChartScatterIcon.js +1 -1
  494. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  495. package/dist/icons/CheckCircleIcon.js +1 -1
  496. package/dist/icons/CheckIcon.js +1 -1
  497. package/dist/icons/CircleFilledIcon.js +1 -1
  498. package/dist/icons/ClearIcon.js +1 -1
  499. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  500. package/dist/icons/CloseCircleIcon.js +1 -1
  501. package/dist/icons/CloseIcon.js +1 -1
  502. package/dist/icons/CodeIcon.js +1 -1
  503. package/dist/icons/ColumnTotalIcon.js +1 -1
  504. package/dist/icons/CopyIcon.js +1 -1
  505. package/dist/icons/CountIcon.js +1 -1
  506. package/dist/icons/CubeIcon.js +1 -1
  507. package/dist/icons/CubePauseIcon.js +1 -1
  508. package/dist/icons/CubePlayIcon.js +1 -1
  509. package/dist/icons/CurrencyDollarIcon.js +1 -1
  510. package/dist/icons/DangerIcon.js +1 -1
  511. package/dist/icons/DashboardIcon.js +1 -1
  512. package/dist/icons/DatabaseIcon.js +1 -1
  513. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  514. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  515. package/dist/icons/DirectionIcon.js +1 -1
  516. package/dist/icons/DonutIcon.js +1 -1
  517. package/dist/icons/DownIcon.js +1 -1
  518. package/dist/icons/EditIcon.js +1 -1
  519. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  520. package/dist/icons/ExclamationCircleIcon.js +1 -1
  521. package/dist/icons/ExclamationIcon.js +1 -1
  522. package/dist/icons/EyeIcon.js +1 -1
  523. package/dist/icons/EyeInvisibleIcon.js +1 -1
  524. package/dist/icons/FilterIcon.js +1 -1
  525. package/dist/icons/FolderFilledIcon.js +1 -1
  526. package/dist/icons/FolderIcon.js +1 -1
  527. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  528. package/dist/icons/FolderOpenIcon.js +1 -1
  529. package/dist/icons/ForwardIcon.js +1 -1
  530. package/dist/icons/GripVerticalIcon.js +1 -1
  531. package/dist/icons/HierarchyIcon.js +1 -1
  532. package/dist/icons/HierarchyOpenIcon.js +1 -1
  533. package/dist/icons/Icon.js +1 -1
  534. package/dist/icons/InfoCircleIcon.js +1 -1
  535. package/dist/icons/InfoIcon.js +1 -1
  536. package/dist/icons/KeyIcon.js +1 -1
  537. package/dist/icons/LeftIcon.js +1 -1
  538. package/dist/icons/LineChartIcon.js +1 -1
  539. package/dist/icons/LoadingIcon.js +1 -1
  540. package/dist/icons/LockFilledIcon.js +1 -1
  541. package/dist/icons/LockIcon.js +1 -1
  542. package/dist/icons/MoreIcon.js +1 -1
  543. package/dist/icons/NotAllowedIcon.js +1 -1
  544. package/dist/icons/Number123Icon.js +1 -1
  545. package/dist/icons/NumberIcon.js +1 -1
  546. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  547. package/dist/icons/PauseCircleIcon.js +1 -1
  548. package/dist/icons/PauseIcon.js +1 -1
  549. package/dist/icons/PercentageIcon.js +1 -1
  550. package/dist/icons/PieChartIcon.js +1 -1
  551. package/dist/icons/PipetteIcon.js +1 -1
  552. package/dist/icons/PlayCircleIcon.js +1 -1
  553. package/dist/icons/PlayIcon.js +1 -1
  554. package/dist/icons/PlusIcon.js +1 -1
  555. package/dist/icons/ProgressBarIcon.js +1 -1
  556. package/dist/icons/ReloadIcon.js +1 -1
  557. package/dist/icons/ReportIcon.js +1 -1
  558. package/dist/icons/ReturnIcon.js +1 -1
  559. package/dist/icons/RightIcon.js +1 -1
  560. package/dist/icons/RowTotalsIcon.js +1 -1
  561. package/dist/icons/SchemeIcon.js +1 -1
  562. package/dist/icons/SearchIcon.js +1 -1
  563. package/dist/icons/SemanticQueryIcon.js +1 -1
  564. package/dist/icons/SettingsIcon.js +1 -1
  565. package/dist/icons/ShieldFilledIcon.js +1 -1
  566. package/dist/icons/ShieldIcon.js +1 -1
  567. package/dist/icons/SlashIcon.js +1 -1
  568. package/dist/icons/SparklesIcon.js +1 -1
  569. package/dist/icons/SqlIcon.js +1 -1
  570. package/dist/icons/StatsIcon.js +1 -1
  571. package/dist/icons/StopIcon.js +1 -1
  572. package/dist/icons/StringIcon.js +1 -1
  573. package/dist/icons/SubtotalsIcon.js +1 -1
  574. package/dist/icons/SwitchIcon.js +1 -1
  575. package/dist/icons/TableIcon.js +1 -1
  576. package/dist/icons/ThumbsDownIcon.js +1 -1
  577. package/dist/icons/ThumbsUpIcon.js +1 -1
  578. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  579. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  580. package/dist/icons/ThunderboltIcon.js +1 -1
  581. package/dist/icons/TimeIcon.js +1 -1
  582. package/dist/icons/TrashIcon.js +1 -1
  583. package/dist/icons/UnlockIcon.js +1 -1
  584. package/dist/icons/UpIcon.js +1 -1
  585. package/dist/icons/UserGroupIcon.js +1 -1
  586. package/dist/icons/UserIcon.js +1 -1
  587. package/dist/icons/UserLockIcon.js +1 -1
  588. package/dist/icons/ViewIcon.js +1 -1
  589. package/dist/icons/WarningFilledIcon.js +1 -1
  590. package/dist/icons/WarningIcon.js +1 -1
  591. package/dist/icons/wrap-icon.js +1 -1
  592. package/dist/index.d.ts +4 -3
  593. package/dist/index.js +4 -4
  594. package/dist/index.js.map +1 -1
  595. package/dist/probe/canonicalize.js +1 -1
  596. package/dist/probe/css.js +1 -1
  597. package/dist/probe/index.js +1 -1
  598. package/dist/provider.d.ts +5 -0
  599. package/dist/provider.js +19 -7
  600. package/dist/provider.js.map +1 -1
  601. package/dist/providers/TrackingProvider.js +1 -1
  602. package/dist/providers/navigation-url.js +1 -1
  603. package/dist/providers/navigationAdapter.default.js +1 -1
  604. package/dist/providers/use-navigation.js +1 -1
  605. package/dist/shared/form.d.ts +3 -1
  606. package/dist/tokens/all-tokens.js +1 -1
  607. package/dist/tokens/base.js +1 -1
  608. package/dist/tokens/color-seed.js +1 -1
  609. package/dist/tokens/color-theme.js +1 -1
  610. package/dist/tokens/colors.js +1 -1
  611. package/dist/tokens/layout.js +1 -1
  612. package/dist/tokens/lazy-styles.js +1 -1
  613. package/dist/tokens/legacy-color.js +1 -1
  614. package/dist/tokens/palette-config.js +1 -1
  615. package/dist/tokens/palette.js +1 -1
  616. package/dist/tokens/resolve.js +1 -1
  617. package/dist/tokens/shadows.js +1 -1
  618. package/dist/tokens/sizes.js +1 -1
  619. package/dist/tokens/spacing.js +1 -1
  620. package/dist/tokens/typography.js +1 -1
  621. package/dist/utils/ResizeSensor.js +1 -1
  622. package/dist/utils/colors.js +1 -1
  623. package/dist/utils/dotize.js +1 -1
  624. package/dist/utils/is-dev-env.js +1 -1
  625. package/dist/utils/modules.js +1 -1
  626. package/dist/utils/promise.js +1 -1
  627. package/dist/utils/raf.js +1 -1
  628. package/dist/utils/random.js +1 -1
  629. package/dist/utils/range.js +1 -1
  630. package/dist/utils/react/RenderCache.js +1 -1
  631. package/dist/utils/react/Slots.js +1 -1
  632. package/dist/utils/react/chain.js +1 -1
  633. package/dist/utils/react/disabledProps.js +29 -2
  634. package/dist/utils/react/disabledProps.js.map +1 -1
  635. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  636. package/dist/utils/react/index.js +1 -1
  637. package/dist/utils/react/interactions.js +1 -1
  638. package/dist/utils/react/isTextOnly.js +1 -1
  639. package/dist/utils/react/mapProps.js +1 -1
  640. package/dist/utils/react/mergeProps.js +1 -1
  641. package/dist/utils/react/nullableValue.js +1 -1
  642. package/dist/utils/react/overlayKeyPropagation.js +44 -7
  643. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  644. package/dist/utils/react/programmaticFocus.js +1 -1
  645. package/dist/utils/react/resolveIcon.js +1 -1
  646. package/dist/utils/react/sharedStore.js +1 -1
  647. package/dist/utils/react/useBufferedValue.js +1 -1
  648. package/dist/utils/react/useCombinedRefs.js +1 -1
  649. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  650. package/dist/utils/react/useEventBus.js +1 -1
  651. package/dist/utils/react/useId.js +1 -1
  652. package/dist/utils/react/useIsDarwin.js +1 -1
  653. package/dist/utils/react/useKeySymbols.js +1 -1
  654. package/dist/utils/react/useLayoutEffect.js +1 -1
  655. package/dist/utils/react/useLocalStorage.js +1 -1
  656. package/dist/utils/react/useMergeStyles.js +1 -1
  657. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  658. package/dist/utils/react/usePopoverSync.js +1 -1
  659. package/dist/utils/react/useQaProps.js +1 -1
  660. package/dist/utils/react/useScheme.js +1 -1
  661. package/dist/utils/react/useViewportSize.js +1 -1
  662. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  663. package/dist/utils/selection.js +1 -1
  664. package/dist/utils/styles.js +1 -1
  665. package/dist/utils/tree.js +1 -1
  666. package/dist/utils/warnings.js +1 -1
  667. package/dist/version.js +2 -2
  668. package/docs/CreateComponent.md +1 -1
  669. package/docs/FieldProperties.md +17 -7
  670. package/docs/Usage.md +3 -0
  671. package/docs/components/content/Divider.md +103 -21
  672. package/docs/components/content/Tree.md +5 -4
  673. package/docs/components/fields/Checkbox.md +7 -8
  674. package/docs/components/fields/ColorInput.md +11 -13
  675. package/docs/components/fields/ColorPicker.md +2 -2
  676. package/docs/components/fields/ColorSwatchGroup.md +2 -3
  677. package/docs/components/fields/ComboBox.md +2 -4
  678. package/docs/components/fields/CommandTextArea.md +3 -5
  679. package/docs/components/fields/DatePicker.md +1 -4
  680. package/docs/components/fields/FileInput.md +1 -5
  681. package/docs/components/fields/FilterListBox.md +0 -3
  682. package/docs/components/fields/FilterPicker.md +68 -5
  683. package/docs/components/fields/HueSlider.md +1 -2
  684. package/docs/components/fields/ListBox.md +0 -3
  685. package/docs/components/fields/NumberInput.md +5 -6
  686. package/docs/components/fields/PasswordInput.md +7 -8
  687. package/docs/components/fields/PeriodPicker.md +0 -4
  688. package/docs/components/fields/Picker.md +2 -4
  689. package/docs/components/fields/RadioGroup.md +4 -5
  690. package/docs/components/fields/SearchComboBox.md +2 -4
  691. package/docs/components/fields/SearchInput.md +3 -4
  692. package/docs/components/fields/Select.md +0 -3
  693. package/docs/components/fields/Slider.md +0 -1
  694. package/docs/components/fields/Switch.md +16 -3
  695. package/docs/components/fields/TagInput.md +3 -6
  696. package/docs/components/fields/TextArea.md +9 -8
  697. package/docs/components/fields/TextInput.md +39 -10
  698. package/docs/components/overlays/Tooltip.md +1 -1
  699. package/package.json +4 -2
  700. package/dist/components/content/Divider.d.ts +0 -7
  701. package/dist/components/content/Divider.js +0 -105
  702. package/dist/components/content/Divider.js.map +0 -1
@@ -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
@@ -51,7 +52,7 @@ A number input component that allows users to enter numeric values and increment
51
52
  - `Home` / `End` set the value to `minValue` / `maxValue`, when those are set
52
53
  - `Enter` commits the typed number, firing `onChange` when the value changed
53
54
 
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.
55
+ 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
56
 
56
57
  ```jsx
57
58
  <NumberInput
@@ -64,7 +65,7 @@ Because they run first, `e.preventDefault()` in `onKeyDown` cannot cancel them:
64
65
  />
65
66
  ```
66
67
 
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()`.
68
+ 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
69
 
69
70
  ### Base Properties
70
71
 
@@ -78,7 +79,7 @@ Supports all [Field properties](../../FieldProperties.md)
78
79
 
79
80
  #### styles
80
81
 
81
- Customizes the root element of the component.
82
+ Styles the input element. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
82
83
 
83
84
  **Sub-elements:**
84
85
 
@@ -97,11 +98,8 @@ Customizes the input element itself.
97
98
 
98
99
  These properties allow direct style application without using the `styles` prop:
99
100
 
100
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
101
101
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
102
102
  - **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
103
 
106
104
  ### Modifiers
107
105
 
@@ -109,6 +107,7 @@ The `mods` prop accepts the following modifiers you can override:
109
107
 
110
108
  - **`focused`** `boolean` — Forces focus ring appearance.
111
109
  - **`disabled`** `boolean` — Forces disabled appearance.
110
+ - **`readonly`** `boolean` — Set while `isReadOnly`: a recessed fill and a softer border, except in high contrast, and no hover state.
112
111
  - **`invalid`** `boolean` — Forces invalid state styling.
113
112
  - **`valid`** `boolean` — Forces valid state styling.
114
113
  - **`hovered`** `boolean` — Forces hover appearance.
@@ -23,6 +23,7 @@ A password input is a specialized text field that masks user input to protect se
23
23
  - **`icon`** — Icon element rendered before the input
24
24
  - **`prefix`** — Input decoration before the main input
25
25
  - **`suffix`** — Input decoration after the main input (before toggle button)
26
+ - **`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.
26
27
  - **`suffixPosition`** `'before' | 'after'` (default: `after`) — Position of suffix relative to validation/loading icons
27
28
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
28
29
  - **`autoComplete`** `string` — HTML [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) token that tells the browser what to autofill (`current-password`, `new-password`, `off`, …). The lowercase `autocomplete` alias is deprecated.
@@ -36,9 +37,11 @@ A password input is a specialized text field that masks user input to protect se
36
37
 
37
38
  #### Keyboard Events
38
39
 
39
- `onKeyDown` and `onKeyUp` are attached to the `<input>` by React Aria's `useTextField`. PasswordInput has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels only what the browser would do with the key, such as typing the character or submitting a surrounding form on `Enter`. The visibility toggle is a separate button and never sees the input's keys.
40
+ `onKeyDown` and `onKeyUp` are attached to the `<input>` by React Aria's `useTextField`. PasswordInput has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels what the browser would do with the key, such as typing the character or submitting a surrounding form on `Enter`. The visibility toggle is a separate button and never sees the input's keys.
40
41
 
41
- The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` the key stops at the input: React Aria stops its propagation after your handler. A parent's `onKeyDown` no longer sees it, and neither does a surrounding `Dialog`, so `Escape` stops closing it. Call `e.continuePropagation()` for the keys that should travel on:
42
+ The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` React Aria stops the key's propagation after your handler: a parent's `onKeyDown` no longer sees it. Call `e.continuePropagation()` for the keys that should travel on.
43
+
44
+ `Escape` and `Tab` are the exception, as in every field: they go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`. When your handler acts on one, call `e.preventDefault()` and it stays at the input. To sign in on `Enter`:
42
45
 
43
46
  ```jsx
44
47
  <PasswordInput
@@ -47,14 +50,12 @@ The handler receives React Aria's keyboard event rather than a plain React one,
47
50
  if (e.key === 'Enter') {
48
51
  e.preventDefault(); // keep a surrounding form from submitting
49
52
  signIn();
50
- } else {
51
- e.continuePropagation(); // let Escape still close a Dialog
52
53
  }
53
54
  }}
54
55
  />
55
56
  ```
56
57
 
57
- The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler.
58
+ The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler. In all of them, a prevented `Escape` or `Tab` stays at the input.
58
59
 
59
60
  ### Base Properties
60
61
 
@@ -86,11 +87,8 @@ Customizes the password input field specifically.
86
87
 
87
88
  These properties allow direct style application without using the `styles` prop:
88
89
 
89
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
90
90
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
91
91
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
92
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
93
- - **Color:** `color`, `fill`, `fade`, `image`
94
92
 
95
93
  ### Modifiers
96
94
 
@@ -98,6 +96,7 @@ The `mods` property accepts the following modifiers you can override:
98
96
 
99
97
  - **`focused`** `boolean` — Whether the input has focus
100
98
  - **`disabled`** `boolean` — Whether the password input is disabled
99
+ - **`readonly`** `boolean` — Whether the password input is read-only: a recessed fill and a softer border, except in high contrast, and no hover state
101
100
  - **`invalid`** `boolean` — Whether the password input has validation errors
102
101
  - **`valid`** `boolean` — Whether the password input is valid
103
102
  - **`hovered`** `boolean` — Whether the password input is being hovered
@@ -63,12 +63,8 @@ Supports all [Field properties](../../FieldProperties.md)
63
63
 
64
64
  These properties allow direct style application without using the `styles` prop:
65
65
 
66
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
67
66
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
68
67
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
69
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
70
- - **Color:** `color`, `fill`, `fade`, `image`
71
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
72
68
 
73
69
  ## Examples
74
70
 
@@ -59,7 +59,8 @@ Choose a different component when the interaction has another shape:
59
59
  - **`listBoxStyles`** `Styles` — Custom styles for the ListBox within the popover
60
60
  - **`popoverStyles`** `Styles` — Custom styles for the popover container
61
61
  - **`triggerStyles`** `Styles` — Custom styles for the trigger button
62
- - **`triggerTooltip`** `string | TooltipProps` — Tooltip for the trigger button (separate from `labelTooltip`)
62
+ - **`tooltip`** `string | TooltipProps` — Tooltip for the trigger button (separate from `labelTooltip`)
63
+ - **`triggerTooltip`** `string | TooltipProps` — _(deprecated)_ Use `tooltip`.
63
64
  - **`triggerDescription`** `string` — Description for the trigger button (separate from field description)
64
65
  - **`shouldFlip`** `boolean` — Whether to flip the popover placement when it overflows
65
66
  - **`placement`** `Placement` (default: `bottom start`) — Placement of the popover relative to the anchor, as a React Aria placement string (e.g. `'bottom start'`, `'top end'`)
@@ -144,11 +145,8 @@ Customizes the footer area when `footer` prop is provided.
144
145
 
145
146
  These properties allow direct style application without using the `styles` prop:
146
147
 
147
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
148
148
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
149
149
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
150
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
151
- - **Color:** `color`, `fill`, `fade`, `image`
152
150
 
153
151
  ### Modifiers
154
152
 
@@ -56,7 +56,7 @@ A `button`- or `tabs`-type radio renders an [Item](../content/Item.md), so it ta
56
56
  - **`description`**, **`descriptionPlacement`**, **`descriptionProps`** — Secondary line, placed `inline` (default) or `block`
57
57
  - **`tooltip`** — Tooltip content, or `true` to show one only when the label is truncated. A button radio defaults to `true`; its label truncates only when the radio gets less room than it (an explicit `width`, say), and never with a `block` description, which keeps the label at full width. A classic radio's label wraps instead of truncating, so it shows a tooltip only when given content. Either way a disabled option still shows its tooltip — a good place to say why it is unavailable. Tooltips open on hover and when the option takes keyboard focus, and describe its input to screen readers. A disabled option whose tooltip can open stays focusable for that reason: it is marked `aria-disabled` rather than natively disabled, so a plain `<form>` submits it when it is selected, and it stays unselectable (see [Keyboard Navigation](#keyboard-navigation)). The info badge next to the group's label is the group's `labelTooltip`
58
58
  - **`hotkeys`**, **`keyboardShortcutProps`** — Keyboard shortcut that selects the option, rendered as a hint
59
- - **`isLoading`**, **`loadingSlot`** — Replaces a slot with a spinner and disables the option
59
+ - **`isLoading`**, **`loadingSlot`** — Replaces a slot with a spinner and disables the option, unless the radio itself sets `isDisabled={false}`
60
60
  - **`highlight`**, **`highlightCaseSensitive`**, **`highlightStyles`** — Highlights a substring of the label
61
61
  - **`level`** — Heading level for the label when `buttonType` is `card` or `header`
62
62
  - **`labelRef`** — Ref to the label element
@@ -91,12 +91,8 @@ Customizes the radio group container specifically.
91
91
 
92
92
  These properties allow direct style application without using the `styles` prop:
93
93
 
94
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
95
94
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
96
95
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
97
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
98
- - **Color:** `color`, `fill`, `fade`, `image`
99
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
100
96
 
101
97
  ### Modifiers
102
98
 
@@ -106,6 +102,9 @@ The `mods` property accepts the following modifiers you can override:
106
102
  - **`tabs`** `boolean` — Whether the radio group uses tabs styling
107
103
  - **`inside-form`** `boolean` — Whether the radio group is inside a form field
108
104
  - **`side-label`** `boolean` — Whether the label is positioned at the side
105
+ - **`fill-width`** `boolean` — Set when the group's style props size its field's width (`width`, `inlineSize`, `flex*`); the group then fills it
106
+
107
+ Each `Radio` carries **`readonly`** while its group is `isReadOnly`. A classic radio then shows a recessed circle with a dark dot instead of the brand color; a button or tabs radio keeps its look. Neither takes a hover state.
109
108
 
110
109
  ## Variants
111
110
 
@@ -46,7 +46,7 @@ Choose a different component when the interaction has another outcome:
46
46
  - **`onOpenChange`** `(isOpen: boolean) => void` — Fired when the popover opens or closes
47
47
  - **`onFocus`** `() => void` — Fired when focus enters the component
48
48
  - **`onBlur`** `() => void` — Fired when focus leaves the component
49
- - **`onKeyDown`** `(e: KeyboardEvent) => void` — Fired when a key is pressed on the input, before the component's own key handling. Call `e.preventDefault()` to skip that handling for the key: a prevented `Enter` selects nothing and does not call `onSubmit`, a prevented `ArrowDown` does not open the popover. The event is React Aria's keyboard event, whose propagation stops at the input unless the handler calls `e.continuePropagation()`
49
+ - **`onKeyDown`** `(e: KeyboardEvent) => void` — Fired when a key is pressed on the input, before the component's own key handling. Call `e.preventDefault()` to skip that handling for the key: a prevented `Enter` selects nothing and does not call `onSubmit`, a prevented `ArrowDown` does not open the popover. The event is React Aria's keyboard event. `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`, unless SearchComboBox acts on them or the handler prevents them. It acts on `Escape` while the list is open or the input has text: it closes the list, or clears the text, or, when `isClearable` is off, keeps the browser from clearing it, so the `Escape` that closes the dialog is the one pressed with the input empty. Other keys stop at the input unless the handler calls `e.continuePropagation()`
50
50
  - **`prefix`** `ReactNode` — Content rendered before the input
51
51
  - **`suffix`** `ReactNode` — Content rendered after the input
52
52
  - **`suffixPosition`** `'before' | 'after'` (default: `before`) — Position of suffix relative to status icons
@@ -115,11 +115,8 @@ Customizes section heading elements within grouped suggestions.
115
115
 
116
116
  These properties allow direct style application without using the `styles` prop:
117
117
 
118
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
119
118
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
120
119
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
121
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
122
- - **Color:** `color`, `fill`, `fade`, `image`
123
120
 
124
121
  ### Modifiers
125
122
 
@@ -128,6 +125,7 @@ The `mods` property accepts the following modifiers you can override:
128
125
  - **`invalid`** `boolean` — Applied when validation state is invalid
129
126
  - **`valid`** `boolean` — Applied when validation state is valid
130
127
  - **`disabled`** `boolean` — Applied when the component is disabled
128
+ - **`readonly`** `boolean` — Applied when the component is read-only: a recessed fill and a softer border, except in high contrast
131
129
  - **`focused`** `boolean` — Applied when the input has focus
132
130
  - **`loading`** `boolean` — Applied when the loading indicator is visible
133
131
  - **`prefix`** `boolean` — Applied when prefix content is present
@@ -23,6 +23,7 @@ A search input provides a specialized text field for search functionality, featu
23
23
  - **`icon`** `ReactElement` — Icon element rendered before the input (default: search icon)
24
24
  - **`prefix`** `ReactNode` — Content rendered before the input
25
25
  - **`suffix`** — Input decoration after the main input (before clear button)
26
+ - **`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. While it is open, the first `Escape` closes it and leaves the text; the next one clears it
26
27
  - **`suffixPosition`** `'before' | 'after'` (default: `after`) — Position of suffix relative to validation/loading state icons
27
28
  - **`isClearable`** `boolean` (default: `false`) — Whether the search input shows a clear button while it has text. `Escape` clears the input either way
28
29
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
@@ -66,11 +67,8 @@ Customizes the search input field specifically.
66
67
 
67
68
  These properties allow direct style application without using the `styles` prop:
68
69
 
69
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
70
70
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
71
71
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
72
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
73
- - **Color:** `color`, `fill`, `fade`, `image`
74
72
 
75
73
  ### Modifiers
76
74
 
@@ -78,6 +76,7 @@ The `mods` property accepts the following modifiers you can override:
78
76
 
79
77
  - **`focused`** `boolean` — Whether the input has focus
80
78
  - **`disabled`** `boolean` — Whether the search input is disabled
79
+ - **`readonly`** `boolean` — Whether the search input is read-only: a recessed fill and a softer border, except in high contrast, and no hover state
81
80
  - **`invalid`** `boolean` — Whether the search input has validation errors
82
81
  - **`valid`** `boolean` — Whether the search input is valid
83
82
  - **`hovered`** `boolean` — Whether the search input is being hovered
@@ -181,7 +180,7 @@ const [searchValue, setSearchValue] = useState('');
181
180
  ### Keyboard Navigation
182
181
 
183
182
  - `Tab` - Moves focus to the search input. The clear button is skipped: it is not in the `Tab` order
184
- - `Escape` - Clears the search input and calls `onClear`, whether or not `isClearable` is set, as in a native search field. With the input already empty, `Escape` is left to the surrounding UI, so a `Dialog` closes on the next press
183
+ - `Escape` - Clears the search input and calls `onClear`, whether or not `isClearable` is set, as in a native search field. With the input already empty, `Escape` is left to the surrounding UI, so a `Dialog` closes on the next press. An `onKeyDown` that prevents it keeps it at the input, as in every field; one that doesn't leaves `Escape` and `Tab` going on to the surrounding UI
185
184
  - `Enter` - Submits search or triggers onSubmit callback
186
185
  - All standard text input keyboard shortcuts work for text entry
187
186
 
@@ -161,11 +161,8 @@ Customizes individual option items in the dropdown.
161
161
 
162
162
  These properties allow direct style application without using the `styles` prop:
163
163
 
164
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
165
164
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
166
165
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
167
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
168
- - **Color:** `color`, `fill`, `fade`, `image`
169
166
 
170
167
  ### Modifiers
171
168
 
@@ -10,7 +10,6 @@ These properties allow direct style application without using the `styles` prop:
10
10
 
11
11
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
12
12
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
13
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
14
13
 
15
14
  ## Examples
16
15
 
@@ -20,6 +20,7 @@ A switch allows users to toggle between two states: on and off. It provides imme
20
20
  - **`isSelected`** `boolean` (default: `false`) — Whether the switch is selected (controlled)
21
21
  - **`defaultSelected`** `boolean` (default: `false`) — Whether the switch is selected by default (uncontrolled)
22
22
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Switch size
23
+ - **`tooltip`** `string | TooltipProviderProps` — Tooltip shown on hover over the switch and its inline label, including while disabled. A string, or `TooltipProvider` props such as `title` and `placement`. It also opens when the switch takes keyboard focus, and describes its input to screen readers. A disabled switch 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 on. The info badge next to a field label is `labelTooltip`
23
24
  - **`onChange`** — Callback fired when the switch value changes
24
25
  - **`onFocus`** — Callback fired when the switch receives focus
25
26
  - **`onBlur`** — Callback fired when the switch loses focus
@@ -58,7 +59,6 @@ These properties allow direct style application without using the `styles` prop:
58
59
 
59
60
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
60
61
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
61
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
62
62
 
63
63
  ### Modifiers
64
64
 
@@ -66,6 +66,7 @@ The `mods` property accepts the following modifiers you can override:
66
66
 
67
67
  - **`checked`** `boolean` — Whether the switch is in the "on" state
68
68
  - **`disabled`** `boolean` — Whether the switch is disabled
69
+ - **`readonly`** `boolean` — Whether the switch is read-only: a recessed track with a dark thumb instead of the brand fill, and no hover state
69
70
  - **`invalid`** `boolean` — Whether the switch has validation errors
70
71
  - **`valid`** `boolean` — Whether the switch is valid
71
72
  - **`focused`** `boolean` — Whether the switch has focus
@@ -109,6 +110,18 @@ Keep the label the same in both states. The switch announces its own on/off stat
109
110
 
110
111
  ### Disabled State
111
112
 
113
+ ### With a Tooltip
114
+
115
+ A disabled switch still shows its tooltip, which makes it a good place to say why it can't be changed. 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 switch is natively disabled and `Tab` skips it.
116
+
117
+ ```jsx
118
+ <Switch isDisabled tooltip="Add a schedule to turn this on">
119
+ Run on schedule
120
+ </Switch>
121
+ ```
122
+
123
+ Prefer `tooltip` to wrapping the switch in `TooltipProvider`: while disabled, a switch takes no trigger props from a wrapper, so that tooltip never opens.
124
+
112
125
  ### Loading State
113
126
 
114
127
  ### All States Overview
@@ -117,9 +130,9 @@ Keep the label the same in both states. The switch announces its own on/off stat
117
130
 
118
131
  ### Keyboard Navigation
119
132
 
120
- - `Tab` - Moves focus to the switch
133
+ - `Tab` - Moves focus to the switch. A disabled switch takes focus only while it has a `tooltip`, which then opens
121
134
  - `Space` - Toggles the switch state
122
- - `Enter` does not toggle the switch. Inside a form with a submit button, the browser submits the form instead.
135
+ - `Enter` does not toggle the switch. Inside a form with a submit button, the browser submits the form instead, unless the switch is disabled.
123
136
 
124
137
  ### Screen Reader Support
125
138
 
@@ -53,7 +53,7 @@ A multi-value field. The user types a value into a single-line input and commits
53
53
  - **`onOpenChange`** `(isOpen: boolean) => void` — Called when the suggestions popover opens or closes
54
54
  - **`onFocus`** `() => void` — Called when focus enters the component: the input, a chip or the popover
55
55
  - **`onBlur`** `() => void` — Called when focus leaves the component entirely, after the typed text is committed and before the press that moved focus is handled, so a Save click sees the new value
56
- - **`onKeyDown`** `(e: KeyboardEvent) => void` — Called when a key is pressed in the input, before the component handles it. Call `e.preventDefault()` to stop the built-in handling
56
+ - **`onKeyDown`** `(e: KeyboardEvent) => void` — Called when a key is pressed in the input, before the component handles it. Call `e.preventDefault()` to stop the built-in handling. `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`, unless TagInput acts on them or you prevent them
57
57
  - **`inputRef`**, **`wrapperRef`**, **`popoverRef`**, **`listBoxRef`** `RefObject` — Refs to the input, the bordered input box, the popover and its listbox. The forwarded `ref` points at the root, which holds the input and the chips
58
58
  - **`mods`** `Record<string, boolean>` — Modifiers for the bordered input box, see [Modifiers](#modifiers)
59
59
 
@@ -90,7 +90,7 @@ A standalone TagInput renders field chrome by default, so refused values show th
90
90
 
91
91
  #### styles
92
92
 
93
- Customizes the root element, a column holding the input box and the chips.
93
+ Styles the input element, a column holding the input box and the chips. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
94
94
 
95
95
  #### wrapperStyles
96
96
 
@@ -144,12 +144,8 @@ Customizes option section headings.
144
144
 
145
145
  These properties allow direct style application without using the `styles` prop:
146
146
 
147
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
148
147
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
149
148
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
150
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
151
- - **Color:** `color`, `fill`, `fade`, `image`
152
- - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
153
149
 
154
150
  ### Modifiers
155
151
 
@@ -157,6 +153,7 @@ The `mods` prop accepts the following modifiers for the bordered input box:
157
153
 
158
154
  - **`focused`** `boolean` — Forces focus ring appearance.
159
155
  - **`disabled`** `boolean` — Forces disabled appearance.
156
+ - **`readonly`** `boolean` — Set while `isReadOnly`: a recessed fill and a softer border, except in high contrast.
160
157
  - **`invalid`** `boolean` — Forces invalid state styling.
161
158
  - **`valid`** `boolean` — Forces valid state styling.
162
159
  - **`prefix`** `boolean` — Indicates presence of prefix content.
@@ -18,11 +18,8 @@ The TextArea component is a multi-line text input that allows users to enter and
18
18
 
19
19
  These properties allow direct style application without using the `styles` prop:
20
20
 
21
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
22
21
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
23
22
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
24
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
25
- - **Color:** `color`, `fill`, `fade`, `image`
26
23
 
27
24
  ## Variants
28
25
 
@@ -44,6 +41,7 @@ These properties allow direct style application without using the `styles` prop:
44
41
  - **`icon`** `ReactElement` — Icon element rendered before the input
45
42
  - **`prefix`** `ReactNode` — Input decoration before the main input
46
43
  - **`suffix`** `ReactNode` — Input decoration after the main input
44
+ - **`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.
47
45
  - **`suffixPosition`** `'before' | 'after'` (default: `'before'`) — Position of suffix relative to validation/loading state icons
48
46
  - **`resize`** `string` — CSS resize value (e.g. `'vertical'`, `'none'`)
49
47
  - **`size`** `'small' | 'medium' | 'large'` (default: `'medium'`) — Input size
@@ -65,9 +63,11 @@ These properties allow direct style application without using the `styles` prop:
65
63
 
66
64
  ### Keyboard Events
67
65
 
68
- `onKeyDown` and `onKeyUp` are attached to the `<textarea>` by React Aria's `useTextField`. TextArea has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels only what the browser would do with the key, such as inserting a newline on `Enter`.
66
+ `onKeyDown` and `onKeyUp` are attached to the `<textarea>` by React Aria's `useTextField`. TextArea has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels what the browser would do with the key, such as inserting a newline on `Enter`.
69
67
 
70
- The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` the key stops at the textarea: React Aria stops its propagation after your handler. A parent's `onKeyDown` no longer sees it, and neither does a surrounding `Dialog`, so `Escape` stops closing it. Call `e.continuePropagation()` for the keys that should travel on:
68
+ The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` React Aria stops the key's propagation after your handler: a parent's `onKeyDown` no longer sees it. Call `e.continuePropagation()` for the keys that should travel on.
69
+
70
+ `Escape` and `Tab` are the exception, as in every field: they go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`. When your handler acts on one, call `e.preventDefault()` and it stays at the textarea:
71
71
 
72
72
  ```jsx
73
73
  <TextArea
@@ -76,14 +76,15 @@ The handler receives React Aria's keyboard event rather than a plain React one,
76
76
  if (e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {
77
77
  e.preventDefault(); // no newline
78
78
  send();
79
- } else {
80
- e.continuePropagation(); // let Escape still close a Dialog
79
+ } else if (e.key === 'Escape' && isEditing) {
80
+ e.preventDefault(); // keep a surrounding Dialog open
81
+ cancelEdit();
81
82
  }
82
83
  }}
83
84
  />
84
85
  ```
85
86
 
86
- The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler.
87
+ The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler. In all of them, a prevented `Escape` or `Tab` stays at the input.
87
88
 
88
89
  ### Base Properties
89
90
 
@@ -24,6 +24,7 @@ A text input component that allows users to input custom text entries with a key
24
24
  - **`prefix`** — Input decoration before the main input
25
25
  - **`suffix`** — Input decoration after the main input
26
26
  - **`suffixPosition`** `'before' | 'after'` (default: `before`) — Position of suffix relative to validation/loading state icons
27
+ - **`tooltip`** `string | TooltipProviderProps` — The input's own tooltip, a short hint about the value. It opens on hover over the field box and on keyboard focus, and describes the input. A string, or `TooltipProvider` props such as `title` and `placement` (`top` by default). A disabled input with a tooltip stays in the Tab order, marked `aria-disabled` and read-only rather than natively disabled, so the keyboard reaches the tooltip too. The info badge next to a field label is `labelTooltip`. See [With a Tooltip](#with-a-tooltip)
27
28
  - **`type`** `'text' | 'password' | 'email' | 'url' | 'tel' | 'search'` (default: `text`) — Input type
28
29
  - **`multiLine`** `boolean` (default: `false`) — Whether the input is multiline (textarea)
29
30
  - **`rows`** `number` — Number of visible rows for multiline input
@@ -45,9 +46,11 @@ A text input component that allows users to input custom text entries with a key
45
46
 
46
47
  #### Keyboard Events
47
48
 
48
- `onKeyDown` and `onKeyUp` are attached to the `<input>` by React Aria's `useTextField`. TextInput has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels only what the browser would do with the key, such as typing the character or submitting a surrounding form on `Enter`.
49
+ `onKeyDown` and `onKeyUp` are attached to the `<input>` by React Aria's `useTextField`. TextInput has no key handling of its own, so the handler simply receives the event: `e.preventDefault()` cancels what the browser would do with the key, such as typing the character or submitting a surrounding form on `Enter`.
49
50
 
50
- The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` the key stops at the input: React Aria stops its propagation after your handler. A parent's `onKeyDown` no longer sees it, and neither does a surrounding `Dialog`, so `Escape` stops closing it. Call `e.continuePropagation()` for the keys that should travel on:
51
+ The handler receives React Aria's keyboard event rather than a plain React one, and once you pass `onKeyDown` React Aria stops the key's propagation after your handler: a parent's `onKeyDown` no longer sees it. Call `e.continuePropagation()` for the keys that should travel on.
52
+
53
+ `Escape` and `Tab` are the exception, as in every field: they go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`. When your handler acts on one, call `e.preventDefault()` and it stays at the input:
51
54
 
52
55
  ```jsx
53
56
  <TextInput
@@ -56,14 +59,15 @@ The handler receives React Aria's keyboard event rather than a plain React one,
56
59
  if (e.key === 'Enter') {
57
60
  e.preventDefault(); // keep a surrounding form from submitting
58
61
  commit();
59
- } else {
60
- e.continuePropagation(); // let Escape still close a Dialog
62
+ } else if (e.key === 'Escape') {
63
+ e.preventDefault(); // keep a surrounding Dialog open
64
+ revert();
61
65
  }
62
66
  }}
63
67
  />
64
68
  ```
65
69
 
66
- The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler.
70
+ The fields that do handle keys themselves (`ComboBox`, `SearchComboBox`, `TagInput`, `CommandTextArea`) run your `onKeyDown` first and skip their own handling for a key you prevent. `NumberInput` is the exception: React Aria runs its stepping and `Enter` commit before your handler. In all of them, a prevented `Escape` or `Tab` stays at the input.
67
71
 
68
72
  ### Base Properties
69
73
 
@@ -77,7 +81,7 @@ Supports all [Field properties](../../FieldProperties.md)
77
81
 
78
82
  #### styles
79
83
 
80
- Customizes the root element of the component.
84
+ Styles the input element. Its style props place and size the field: see [Field properties](../../FieldProperties.md).
81
85
 
82
86
  **Sub-elements:**
83
87
 
@@ -100,11 +104,8 @@ Additional HTML props passed to the input wrapper container.
100
104
 
101
105
  These properties allow direct style application without using the `styles` prop:
102
106
 
103
- - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
104
107
  - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
105
108
  - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
106
- - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
107
- - **Color:** `color`, `fill`, `fade`, `image`
108
109
 
109
110
  ### Modifiers
110
111
 
@@ -113,6 +114,7 @@ The `mods` prop accepts the following modifiers you can override:
113
114
  - **`focused`** `boolean` — Forces focus ring appearance.
114
115
  - **`hovered`** `boolean` — Forces hover appearance.
115
116
  - **`disabled`** `boolean` — Forces disabled appearance.
117
+ - **`readonly`** `boolean` — Set while `isReadOnly`: a recessed fill and a softer border, except in high contrast, and no hover state.
116
118
  - **`invalid`** `boolean` — Forces invalid state styling.
117
119
  - **`valid`** `boolean` — Forces valid state styling.
118
120
  - **`loadable`** `boolean` — Set when a `loadingIndicator` is given. The loading icon itself follows `isLoading`, which has no modifier.
@@ -162,6 +164,33 @@ import { IconMail } from '@tabler/icons-react';
162
164
  />
163
165
  ```
164
166
 
167
+ ### With a Tooltip
168
+
169
+ `tooltip` gives an input without a visible label a short hint, such as what an empty value means or why the field is disabled. It is anchored to the field box, prefix and suffix included, so it never covers the text being typed.
170
+
171
+ ```jsx
172
+ <TextInput aria-label="Axis minimum" placeholder="Auto" tooltip="Empty is the lowest value in the data" />
173
+ ```
174
+
175
+ | When | What happens |
176
+ | --- | --- |
177
+ | The pointer hovers the field box | Opens after the tooltip delay |
178
+ | `Tab` moves focus to the input | Opens at once |
179
+ | A click or tap into the input | Doesn't open, and an open one closes: the user is about to type |
180
+ | Any key on the input | Closes until the next hover or keyboard focus |
181
+ | `Escape` while it is open | Closes the tooltip only. The key goes no further, so it doesn't clear a `SearchInput` or close a surrounding dialog |
182
+ | The input loses focus, or the pointer leaves | Closes |
183
+
184
+ A disabled field still shows its tooltip, which makes it the place to say why it can't be changed. While it has a tooltip it stays focusable, marked `aria-disabled` and read-only instead of natively disabled, so keyboard users can read the reason too. It takes no text, `NumberInput` doesn't step, `Enter` submits nothing, and a click on it or on its label doesn't focus it, as with a natively disabled field. Screen readers announce it as disabled and read-only. Not being natively disabled, its value is part of a plain `<form>`'s submitted data; ui-kit's `Form` is not affected. Without a tooltip, a disabled input is natively disabled and `Tab` skips it.
185
+
186
+ ```jsx
187
+ <NumberInput isDisabled aria-label="Font size" tooltip="Turn data labels on to change this" />
188
+ ```
189
+
190
+ Keep the tooltip a hint. It is never the field's name (give the input a `label` or `aria-label`), an error (`errorMessage`) or anything the user needs to fill the field in (`description`): touch users never see it. When keyboard users must learn why a field can't be edited and a tooltip is not enough, show it as a `description`, or use `isReadOnly`. Prefer `tooltip` to wrapping the input in `TooltipProvider`: a disabled input takes no trigger props from a wrapper, so that tooltip never opens.
191
+
192
+ To switch the tooltip off and on while the input can have focus, keep `tooltip` set with a non-empty `title` and toggle its `isDisabled` (`tooltip={{ title, isDisabled: !isEmpty }}`). Setting and clearing `tooltip`, or emptying its `title`, remounts the field box, and the input loses focus mid-typing.
193
+
165
194
  ### Multiline Text Area
166
195
 
167
196
  ```jsx
@@ -188,7 +217,7 @@ import { IconMail } from '@tabler/icons-react';
188
217
 
189
218
  ### Keyboard Navigation
190
219
 
191
- - `Tab` – Moves focus to the input field
220
+ - `Tab` – Moves focus to the input field. A disabled field takes focus only while it has a `tooltip`, which then opens
192
221
  - `Shift + Tab` – Moves focus away from the input
193
222
  - Standard text editing shortcuts (Ctrl+A, Ctrl+C, etc.)
194
223
 
@@ -222,7 +222,7 @@ Show a tooltip only when certain conditions are met. Empty content (`null`, `und
222
222
  </TooltipProvider>
223
223
  ```
224
224
 
225
- A disabled `Button` receives neither hover nor focus, so a `TooltipProvider` around it never opens. Give the button its own `tooltip` instead; it then stays hoverable and focusable while disabled:
225
+ A disabled `Button` receives neither hover nor focus, so a `TooltipProvider` around it never opens. Give the button its own `tooltip` instead; it then stays hoverable and focusable while disabled. The same goes for `Checkbox`, `Switch`, `Radio` and the text inputs (`TextInput`, `NumberInput` and the rest), which take a `tooltip` of their own:
226
226
 
227
227
  ```jsx
228
228
  <Button isDisabled={hasError} tooltip={hasError ? 'Fix errors first' : undefined}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.201.0",
3
+ "version": "0.202.0",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -115,6 +115,7 @@
115
115
  "@vitest/browser": "^5.0.5",
116
116
  "@vitest/browser-playwright": "^5.0.5",
117
117
  "@vitest/coverage-v8": "^5.0.5",
118
+ "axe-core": "4.14.0",
118
119
  "babel-plugin-react-compiler": "1.0.0",
119
120
  "best-effort-json-parser": "^1.2.1",
120
121
  "bytes": "^3.1.2",
@@ -190,7 +191,7 @@
190
191
  "chromatic:report": "node scripts/chromatic-report.mjs",
191
192
  "chromatic:check": "node scripts/chromatic-report.mjs --check",
192
193
  "chromatic:duplicates": "node scripts/chromatic-duplicates.mjs",
193
- "size": "size-limit",
194
+ "size": "size-limit && node scripts/bundle-deps.mjs",
194
195
  "clear": "pnpm clear:dist && rimraf ./storybook-docs ./storybook-static ./node_modules/.cache",
195
196
  "clear:dist": "rimraf ./dist",
196
197
  "release": "pnpm build && pnpm check:react-package && changeset publish --provenance",
@@ -200,6 +201,7 @@
200
201
  "diagnostics:compiler": "node scripts/compiler/report.mjs",
201
202
  "diagnostics:form": "node scripts/form-diagnostics.mjs",
202
203
  "diagnostics:complexity": "node scripts/complexity-report.mjs",
204
+ "diagnostics:a11y": "node scripts/a11y-diagnostics.mjs",
203
205
  "update-tasty": "pnpm add @tenphi/tasty@${npm_config_version:-latest} --save-exact",
204
206
  "update-glaze": "pnpm add @tenphi/glaze@${npm_config_version:-latest} --save-exact",
205
207
  "test:form-compiled": "vitest run --config vitest.form-compiled.config.ts",
@@ -1,7 +0,0 @@
1
-
2
- import { BaseProps, OuterStyleProps } from "@tenphi/tasty";
3
- //#region src/components/content/Divider.d.ts
4
- export interface CubeDividerProps extends BaseProps, OuterStyleProps {}
5
- export declare const Divider: import("react").ForwardRefExoticComponent<CubeDividerProps & import("react").RefAttributes<unknown>>;
6
- //#endregion
7
- //# sourceMappingURL=Divider.d.ts.map