@cube-dev/ui-kit 0.202.0 → 0.203.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (626) hide show
  1. package/dist/CHANGELOG.md +18 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/actions-run.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +1 -1
  60. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  61. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  62. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  78. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  79. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  80. package/dist/components/content/Layout/index.js +1 -1
  81. package/dist/components/content/Layout/utils.js +1 -1
  82. package/dist/components/content/Paragraph.js +1 -1
  83. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  84. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  85. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  86. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  87. package/dist/components/content/Result/Result.js +1 -1
  88. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  89. package/dist/components/content/Tag/Tag.js +1 -1
  90. package/dist/components/content/Text.js +1 -1
  91. package/dist/components/content/TextItem/TextItem.js +1 -1
  92. package/dist/components/content/Title.js +1 -1
  93. package/dist/components/content/Tree/Tree.js +1 -1
  94. package/dist/components/content/Tree/TreeNode.js +1 -1
  95. package/dist/components/content/Tree/checked-keys.js +1 -1
  96. package/dist/components/content/Tree/rowId.js +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +1 -1
  103. package/dist/components/data/DataTable/DataTable.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTable.js +233 -178
  105. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  106. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  110. package/dist/components/data/ItemTable/index.d.ts +2 -2
  111. package/dist/components/data/ItemTable/item-table-sections.js +68 -0
  112. package/dist/components/data/ItemTable/item-table-sections.js.map +1 -0
  113. package/dist/components/data/ItemTable/types.d.ts +12 -0
  114. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  115. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  116. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  117. package/dist/components/data/ItemTable/use-item-table-selection.js +31 -27
  118. package/dist/components/data/ItemTable/use-item-table-selection.js.map +1 -1
  119. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  120. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  121. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  122. package/dist/components/data/TableBase/RowCollection.js +1 -1
  123. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  124. package/dist/components/data/TableBase/TableRow.js +1 -1
  125. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  126. package/dist/components/data/TableBase/TableView.d.ts +1 -0
  127. package/dist/components/data/TableBase/TableView.js +86 -21
  128. package/dist/components/data/TableBase/TableView.js.map +1 -1
  129. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  130. package/dist/components/data/TableBase/column-header.js +1 -1
  131. package/dist/components/data/TableBase/column-menu.js +1 -1
  132. package/dist/components/data/TableBase/column-styles.js +1 -1
  133. package/dist/components/data/TableBase/column-tint.js +1 -1
  134. package/dist/components/data/TableBase/row-menu.js +1 -1
  135. package/dist/components/data/TableBase/styled.js +25 -1
  136. package/dist/components/data/TableBase/styled.js.map +1 -1
  137. package/dist/components/data/TableBase/table-body-sections.d.ts +3 -0
  138. package/dist/components/data/TableBase/table-body-sections.js +30 -0
  139. package/dist/components/data/TableBase/table-body-sections.js.map +1 -0
  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/data/index.d.ts +2 -2
  158. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  159. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  160. package/dist/components/fields/Checkbox/context.js +1 -1
  161. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  162. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  163. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  164. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  165. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -1
  166. package/dist/components/fields/ComboBox/ComboBox.js +382 -344
  167. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  168. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  169. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  170. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  171. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  172. package/dist/components/fields/DatePicker/DateInput.js +3 -4
  173. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  174. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  175. package/dist/components/fields/DatePicker/DatePicker.js +3 -4
  176. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  177. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  178. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  179. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  180. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  181. package/dist/components/fields/DatePicker/DateRangePicker.js +3 -4
  182. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  183. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +3 -4
  184. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  185. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  186. package/dist/components/fields/DatePicker/PeriodPicker.js +3 -3
  187. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  188. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  189. package/dist/components/fields/DatePicker/TimeInput.js +4 -5
  190. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  191. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  192. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  193. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  194. package/dist/components/fields/DatePicker/period.js +1 -1
  195. package/dist/components/fields/DatePicker/props.js +1 -1
  196. package/dist/components/fields/DatePicker/utils.js +1 -1
  197. package/dist/components/fields/FileInput/FileInput.js +77 -79
  198. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  199. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  200. package/dist/components/fields/FilterListBox/styled.js +1 -1
  201. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  202. package/dist/components/fields/FilterPicker/FilterTree.js +1 -1
  203. package/dist/components/fields/Input/Input.js +1 -1
  204. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  205. package/dist/components/fields/ListBox/ListBox.js +1 -1
  206. package/dist/components/fields/ListBox/optionId.js +1 -1
  207. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  208. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  209. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  210. package/dist/components/fields/NumberInput/NumberInput.js +36 -19
  211. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  212. package/dist/components/fields/NumberInput/StepButton.js +52 -37
  213. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  214. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  215. package/dist/components/fields/Picker/Picker.js +1 -1
  216. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  217. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  218. package/dist/components/fields/RadioGroup/context.js +1 -1
  219. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  220. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  221. package/dist/components/fields/Select/Select.js +1 -1
  222. package/dist/components/fields/Slider/Gradation.js +1 -1
  223. package/dist/components/fields/Slider/HueSlider.js +1 -1
  224. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  225. package/dist/components/fields/Slider/Slider.js +1 -1
  226. package/dist/components/fields/Slider/SliderBase.js +1 -1
  227. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  228. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  229. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  230. package/dist/components/fields/Slider/elements.js +1 -1
  231. package/dist/components/fields/Slider/index.js +1 -1
  232. package/dist/components/fields/Slider/types.d.ts +0 -1
  233. package/dist/components/fields/Switch/Switch.js +1 -1
  234. package/dist/components/fields/TagInput/TagInput.js +1 -1
  235. package/dist/components/fields/TagInput/TagList.js +1 -1
  236. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  237. package/dist/components/fields/TagInput/useTagError.js +1 -1
  238. package/dist/components/fields/TextArea/TextArea.js +1 -1
  239. package/dist/components/fields/TextInput/TextInput.js +1 -1
  240. package/dist/components/fields/TextInput/TextInputBase.d.ts +10 -0
  241. package/dist/components/fields/TextInput/TextInputBase.js +67 -55
  242. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  243. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  244. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  245. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  246. package/dist/components/fields/TriggerActions.js +1 -1
  247. package/dist/components/fields/color/ColorPanel.js +1 -1
  248. package/dist/components/fields/color/channels.js +1 -1
  249. package/dist/components/fields/color/color.js +1 -1
  250. package/dist/components/fields/color/context.js +1 -1
  251. package/dist/components/fields/option-origin-press.js +1 -1
  252. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  253. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  254. package/dist/components/form/Form/Field.js +1 -1
  255. package/dist/components/form/Form/Form.js +1 -1
  256. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  257. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  258. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  259. package/dist/components/form/Form/SubmitError.js +1 -1
  260. package/dist/components/form/Form/backend.js +1 -1
  261. package/dist/components/form/Form/index.js +1 -1
  262. package/dist/components/form/Form/modern/actions.js +1 -1
  263. package/dist/components/form/Form/modern/context.js +1 -1
  264. package/dist/components/form/Form/modern/controller.js +1 -1
  265. package/dist/components/form/Form/modern/field-binding.js +1 -1
  266. package/dist/components/form/Form/modern/field.js +1 -1
  267. package/dist/components/form/Form/modern/react.js +1 -1
  268. package/dist/components/form/Form/modern/store.js +1 -1
  269. package/dist/components/form/Form/modern/validation.js +1 -1
  270. package/dist/components/form/Form/modern/values.js +1 -1
  271. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  272. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  273. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  274. package/dist/components/form/Form/use-field/use-field.js +1 -1
  275. package/dist/components/form/Form/use-form.js +1 -1
  276. package/dist/components/form/Form/validation.js +1 -1
  277. package/dist/components/form/Label.js +1 -1
  278. package/dist/components/form/field-chrome.js +1 -1
  279. package/dist/components/form/field-layout.d.ts +12 -2
  280. package/dist/components/form/field-layout.js +29 -11
  281. package/dist/components/form/field-layout.js.map +1 -1
  282. package/dist/components/form/legacy-tooltip.js +1 -1
  283. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  284. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  285. package/dist/components/form/validation/use-validation-props.js +1 -1
  286. package/dist/components/form/wrapper.js +1 -1
  287. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  288. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  289. package/dist/components/layout/Flex.js +1 -1
  290. package/dist/components/layout/Flow.js +1 -1
  291. package/dist/components/layout/Grid.js +1 -1
  292. package/dist/components/layout/Panel.js +1 -1
  293. package/dist/components/layout/Prefix.js +1 -1
  294. package/dist/components/layout/ResizablePanel.js +1 -1
  295. package/dist/components/layout/Space.js +1 -1
  296. package/dist/components/layout/Suffix.js +1 -1
  297. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  298. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  299. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  300. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  301. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  302. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  303. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  304. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  305. package/dist/components/navigation/Tabs/Tabs.js +7 -3
  306. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  307. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  308. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  309. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  310. package/dist/components/navigation/Tabs/styled.js +18 -18
  311. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  312. package/dist/components/navigation/Tabs/types.js +1 -1
  313. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  314. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  315. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  316. package/dist/components/other/Calendar/Calendar.js +1 -1
  317. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  318. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  319. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  320. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  321. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  322. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  323. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  324. package/dist/components/other/Calendar/styled.js +1 -1
  325. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  326. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  327. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  328. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  329. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  330. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  331. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  332. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  333. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  334. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  335. package/dist/components/overlays/Dialog/context.js +1 -1
  336. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  337. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  338. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  339. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  340. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  341. package/dist/components/overlays/Modal/Modal.js +1 -1
  342. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  343. package/dist/components/overlays/Modal/Overlay.js +1 -1
  344. package/dist/components/overlays/Modal/Popover.js +1 -1
  345. package/dist/components/overlays/Modal/Tray.js +1 -1
  346. package/dist/components/overlays/Modal/Underlay.js +1 -1
  347. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  348. package/dist/components/overlays/Notifications/Notification.js +1 -1
  349. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  350. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  351. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  352. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  353. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  354. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  355. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  356. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  357. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  358. package/dist/components/overlays/Notifications/index.js +1 -1
  359. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  360. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  361. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  362. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  363. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  364. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  365. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  366. package/dist/components/overlays/Toast/index.js +1 -1
  367. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  368. package/dist/components/overlays/Toast/useToast.js +1 -1
  369. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  370. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  371. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  372. package/dist/components/overlays/Tooltip/context.js +1 -1
  373. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  374. package/dist/components/portal/Portal.js +1 -1
  375. package/dist/components/portal/PortalProvider.js +1 -1
  376. package/dist/components/portal/usePortal.js +1 -1
  377. package/dist/components/shared/DraggableCollection.js +1 -1
  378. package/dist/components/shared/InvalidIcon.js +1 -1
  379. package/dist/components/shared/ValidIcon.js +1 -1
  380. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  381. package/dist/components/status/Spin/Cube.js +1 -1
  382. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  383. package/dist/components/status/Spin/Spin.js +1 -1
  384. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  385. package/dist/data/item-themes.js +1 -1
  386. package/dist/data/themes.js +1 -1
  387. package/dist/eslint-plugin/defaults.generated.js +25 -1
  388. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  389. package/dist/eslint-plugin/index.js +1 -1
  390. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  391. package/dist/i18n/I18nProvider.js +1 -1
  392. package/dist/i18n/createFormatter.js +1 -1
  393. package/dist/i18n/index.js +1 -1
  394. package/dist/i18n/instance.js +1 -1
  395. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  396. package/dist/i18n/locales/en-US/uikit.js +1 -1
  397. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  398. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  399. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  400. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  401. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  402. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  403. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  404. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  405. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  406. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  407. package/dist/i18n/locales.js +1 -1
  408. package/dist/i18n/namespace.js +1 -1
  409. package/dist/i18n/useFormatter.js +1 -1
  410. package/dist/i18n/useI18n.js +1 -1
  411. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  412. package/dist/icons/AdjustmentsIcon.js +1 -1
  413. package/dist/icons/AiIcon.js +1 -1
  414. package/dist/icons/AreaChartIcon.js +1 -1
  415. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  416. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  417. package/dist/icons/BackwardIcon.js +1 -1
  418. package/dist/icons/BarChartIcon.js +1 -1
  419. package/dist/icons/BellFilledIcon.js +1 -1
  420. package/dist/icons/BellIcon.js +1 -1
  421. package/dist/icons/BooleanIcon.js +1 -1
  422. package/dist/icons/CalendarEditIcon.js +1 -1
  423. package/dist/icons/CalendarIcon.js +1 -1
  424. package/dist/icons/CaretDownIcon.js +1 -1
  425. package/dist/icons/CaretUpIcon.js +1 -1
  426. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  427. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  428. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  429. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  430. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  431. package/dist/icons/ChartBarLineIcon.js +1 -1
  432. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  433. package/dist/icons/ChartBarStackedIcon.js +1 -1
  434. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  435. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  436. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  437. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  438. package/dist/icons/ChartBubbleIcon.js +1 -1
  439. package/dist/icons/ChartDonut2Icon.js +1 -1
  440. package/dist/icons/ChartFunnelIcon.js +1 -1
  441. package/dist/icons/ChartHeatmapIcon.js +1 -1
  442. package/dist/icons/ChartKPIIcon.js +1 -1
  443. package/dist/icons/ChartPie2Icon.js +1 -1
  444. package/dist/icons/ChartScatterIcon.js +1 -1
  445. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  446. package/dist/icons/CheckCircleIcon.js +1 -1
  447. package/dist/icons/CheckIcon.js +1 -1
  448. package/dist/icons/CircleFilledIcon.js +1 -1
  449. package/dist/icons/ClearIcon.js +1 -1
  450. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  451. package/dist/icons/CloseCircleIcon.js +1 -1
  452. package/dist/icons/CloseIcon.js +1 -1
  453. package/dist/icons/CodeIcon.js +1 -1
  454. package/dist/icons/ColumnTotalIcon.js +1 -1
  455. package/dist/icons/CopyIcon.js +1 -1
  456. package/dist/icons/CountIcon.js +1 -1
  457. package/dist/icons/CubeIcon.js +1 -1
  458. package/dist/icons/CubePauseIcon.js +1 -1
  459. package/dist/icons/CubePlayIcon.js +1 -1
  460. package/dist/icons/CurrencyDollarIcon.js +1 -1
  461. package/dist/icons/DangerIcon.js +1 -1
  462. package/dist/icons/DashboardIcon.js +1 -1
  463. package/dist/icons/DatabaseIcon.js +1 -1
  464. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  465. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  466. package/dist/icons/DirectionIcon.js +1 -1
  467. package/dist/icons/DonutIcon.js +1 -1
  468. package/dist/icons/DownIcon.js +1 -1
  469. package/dist/icons/EditIcon.js +1 -1
  470. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  471. package/dist/icons/ExclamationCircleIcon.js +1 -1
  472. package/dist/icons/ExclamationIcon.js +1 -1
  473. package/dist/icons/EyeIcon.js +1 -1
  474. package/dist/icons/EyeInvisibleIcon.js +1 -1
  475. package/dist/icons/FilterIcon.js +1 -1
  476. package/dist/icons/FolderFilledIcon.js +1 -1
  477. package/dist/icons/FolderIcon.js +1 -1
  478. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  479. package/dist/icons/FolderOpenIcon.js +1 -1
  480. package/dist/icons/ForwardIcon.js +1 -1
  481. package/dist/icons/GripVerticalIcon.js +1 -1
  482. package/dist/icons/HierarchyIcon.js +1 -1
  483. package/dist/icons/HierarchyOpenIcon.js +1 -1
  484. package/dist/icons/Icon.js +1 -1
  485. package/dist/icons/InfoCircleIcon.js +1 -1
  486. package/dist/icons/InfoIcon.js +1 -1
  487. package/dist/icons/KeyIcon.js +1 -1
  488. package/dist/icons/LeftIcon.js +1 -1
  489. package/dist/icons/LineChartIcon.js +1 -1
  490. package/dist/icons/LoadingIcon.js +1 -1
  491. package/dist/icons/LockFilledIcon.js +1 -1
  492. package/dist/icons/LockIcon.js +1 -1
  493. package/dist/icons/MoreIcon.js +1 -1
  494. package/dist/icons/NotAllowedIcon.js +1 -1
  495. package/dist/icons/Number123Icon.js +1 -1
  496. package/dist/icons/NumberIcon.js +1 -1
  497. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  498. package/dist/icons/PauseCircleIcon.js +1 -1
  499. package/dist/icons/PauseIcon.js +1 -1
  500. package/dist/icons/PercentageIcon.js +1 -1
  501. package/dist/icons/PieChartIcon.js +1 -1
  502. package/dist/icons/PipetteIcon.js +1 -1
  503. package/dist/icons/PlayCircleIcon.js +1 -1
  504. package/dist/icons/PlayIcon.js +1 -1
  505. package/dist/icons/PlusIcon.js +1 -1
  506. package/dist/icons/ProgressBarIcon.js +1 -1
  507. package/dist/icons/ReloadIcon.js +1 -1
  508. package/dist/icons/ReportIcon.js +1 -1
  509. package/dist/icons/ReturnIcon.js +1 -1
  510. package/dist/icons/RightIcon.js +1 -1
  511. package/dist/icons/RowTotalsIcon.js +1 -1
  512. package/dist/icons/SchemeIcon.js +1 -1
  513. package/dist/icons/SearchIcon.js +1 -1
  514. package/dist/icons/SemanticQueryIcon.js +1 -1
  515. package/dist/icons/SettingsIcon.js +1 -1
  516. package/dist/icons/ShieldFilledIcon.js +1 -1
  517. package/dist/icons/ShieldIcon.js +1 -1
  518. package/dist/icons/SlashIcon.js +1 -1
  519. package/dist/icons/SparklesIcon.js +1 -1
  520. package/dist/icons/SqlIcon.js +1 -1
  521. package/dist/icons/StatsIcon.js +1 -1
  522. package/dist/icons/StopIcon.js +1 -1
  523. package/dist/icons/StringIcon.js +1 -1
  524. package/dist/icons/SubtotalsIcon.js +1 -1
  525. package/dist/icons/SwitchIcon.js +1 -1
  526. package/dist/icons/TableIcon.js +1 -1
  527. package/dist/icons/ThumbsDownIcon.js +1 -1
  528. package/dist/icons/ThumbsUpIcon.js +1 -1
  529. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  530. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  531. package/dist/icons/ThunderboltIcon.js +1 -1
  532. package/dist/icons/TimeIcon.js +1 -1
  533. package/dist/icons/TrashIcon.js +1 -1
  534. package/dist/icons/UnlockIcon.js +1 -1
  535. package/dist/icons/UpIcon.js +1 -1
  536. package/dist/icons/UserGroupIcon.js +1 -1
  537. package/dist/icons/UserIcon.js +1 -1
  538. package/dist/icons/UserLockIcon.js +1 -1
  539. package/dist/icons/ViewIcon.js +1 -1
  540. package/dist/icons/WarningFilledIcon.js +1 -1
  541. package/dist/icons/WarningIcon.js +1 -1
  542. package/dist/icons/wrap-icon.js +1 -1
  543. package/dist/index.d.ts +2 -2
  544. package/dist/index.js +1 -1
  545. package/dist/probe/canonicalize.js +1 -1
  546. package/dist/probe/css.js +1 -1
  547. package/dist/probe/index.js +1 -1
  548. package/dist/provider.js +1 -1
  549. package/dist/providers/TrackingProvider.js +1 -1
  550. package/dist/providers/navigation-url.js +1 -1
  551. package/dist/providers/navigationAdapter.default.js +1 -1
  552. package/dist/providers/use-navigation.js +1 -1
  553. package/dist/tokens/all-tokens.js +1 -1
  554. package/dist/tokens/base.js +1 -1
  555. package/dist/tokens/color-seed.js +1 -1
  556. package/dist/tokens/color-theme.js +1 -1
  557. package/dist/tokens/colors.js +1 -1
  558. package/dist/tokens/layout.js +1 -1
  559. package/dist/tokens/lazy-styles.js +1 -1
  560. package/dist/tokens/legacy-color.js +1 -1
  561. package/dist/tokens/palette-config.js +1 -1
  562. package/dist/tokens/palette.js +1 -1
  563. package/dist/tokens/resolve.js +1 -1
  564. package/dist/tokens/shadows.js +1 -1
  565. package/dist/tokens/sizes.js +1 -1
  566. package/dist/tokens/spacing.js +1 -1
  567. package/dist/tokens/typography.js +1 -1
  568. package/dist/utils/ResizeSensor.js +1 -1
  569. package/dist/utils/colors.js +1 -1
  570. package/dist/utils/dotize.js +1 -1
  571. package/dist/utils/is-dev-env.js +1 -1
  572. package/dist/utils/modules.js +1 -1
  573. package/dist/utils/promise.js +1 -1
  574. package/dist/utils/raf.js +1 -1
  575. package/dist/utils/random.js +1 -1
  576. package/dist/utils/range.js +1 -1
  577. package/dist/utils/react/RenderCache.js +1 -1
  578. package/dist/utils/react/Slots.js +1 -1
  579. package/dist/utils/react/chain.js +1 -1
  580. package/dist/utils/react/disabledProps.js +1 -1
  581. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  582. package/dist/utils/react/index.js +1 -1
  583. package/dist/utils/react/interactions.js +1 -1
  584. package/dist/utils/react/isTextOnly.js +1 -1
  585. package/dist/utils/react/mapProps.js +1 -1
  586. package/dist/utils/react/mergeProps.js +1 -1
  587. package/dist/utils/react/nullableValue.js +1 -1
  588. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  589. package/dist/utils/react/programmaticFocus.js +1 -1
  590. package/dist/utils/react/resolveIcon.js +1 -1
  591. package/dist/utils/react/sharedStore.js +1 -1
  592. package/dist/utils/react/useBufferedValue.js +1 -1
  593. package/dist/utils/react/useCombinedRefs.js +1 -1
  594. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  595. package/dist/utils/react/useEventBus.js +1 -1
  596. package/dist/utils/react/useId.js +1 -1
  597. package/dist/utils/react/useIsDarwin.js +1 -1
  598. package/dist/utils/react/useKeySymbols.js +1 -1
  599. package/dist/utils/react/useLayoutEffect.js +1 -1
  600. package/dist/utils/react/useLocalStorage.js +1 -1
  601. package/dist/utils/react/useMergeStyles.js +1 -1
  602. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  603. package/dist/utils/react/usePopoverSync.js +1 -1
  604. package/dist/utils/react/useQaProps.js +1 -1
  605. package/dist/utils/react/useScheme.js +1 -1
  606. package/dist/utils/react/useViewportSize.js +1 -1
  607. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  608. package/dist/utils/selection.js +1 -1
  609. package/dist/utils/styles.js +1 -1
  610. package/dist/utils/tree.js +1 -1
  611. package/dist/utils/warnings.js +1 -1
  612. package/dist/version.js +2 -2
  613. package/docs/FieldProperties.md +16 -4
  614. package/docs/Usage.md +1 -1
  615. package/docs/components/data/ItemTable.md +25 -0
  616. package/docs/components/fields/ComboBox.md +8 -4
  617. package/docs/components/fields/CommandTextArea.md +1 -0
  618. package/docs/components/fields/HueSlider.md +0 -1
  619. package/docs/components/fields/NumberInput.md +4 -0
  620. package/docs/components/fields/PasswordInput.md +2 -0
  621. package/docs/components/fields/SearchInput.md +13 -0
  622. package/docs/components/fields/Slider.md +0 -1
  623. package/docs/components/fields/TextArea.md +1 -0
  624. package/docs/components/fields/TextInput.md +14 -1
  625. package/docs/components/navigation/Tabs.md +47 -0
  626. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/range.ts
3
3
  function range(count) {
4
4
  return Array.from({ length: count }, (_, i) => i);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
  //#region src/utils/react/RenderCache.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { Children, cloneElement, createContext, useContext } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  //#region src/utils/react/disabledProps.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * @deprecated Declare a ref prop on a generic component, or preserve an
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { useLayoutEffect } from "./useLayoutEffect.js";
4
4
  import { mergeProps } from "./mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
  //#region src/utils/react/isTextOnly.ts
4
4
  function isTextOnly(children) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props, emptyValue = "") {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v), emptyValue);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/overlayKeyPropagation.ts
3
3
  /**
4
4
  * Keys whose final handling belongs to the overlay around a control, not to
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/programmaticFocus.ts
3
3
  /**
4
4
  * Telling focus the user moved from focus a component moved for them.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { isDevEnv } from "../is-dev-env.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
  //#region src/utils/react/useBufferedValue.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useRef } from "react";
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import "react/compiler-runtime";
4
4
  import { useEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  //#region src/utils/react/useKeySymbols.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
  //#region src/utils/react/useLayoutEffect.tsx
4
4
  const useLayoutEffect$1 = typeof window !== "undefined" ? React$1.useLayoutEffect : React$1.useEffect;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
  //#region src/utils/react/useMergeStyles.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { getEventTarget, nodeContains } from "@react-aria/utils";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useContext, useEffect, useEffectEvent, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { useSyncExternalStore } from "react";
3
3
  //#region src/utils/react/useScheme.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useState } from "react";
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { Fragment, isValidElement } from "react";
3
3
  //#region src/utils/react/wrapNodeIfPlain.ts
4
4
  function wrapNodeIfPlain(children, render) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { isSelector, mergeStyles } from "@tenphi/tasty";
3
3
  //#region src/utils/styles.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  import { isDevEnvOrTest } from "./is-dev-env.js";
3
3
  //#region src/utils/warnings.ts
4
4
  const SUGGESTED_PROP_MAP = {
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.202.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.203.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.202.0";
3
+ const VERSION = "0.203.0";
4
4
  const TASTY_VERSION = "3.15.0";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -53,19 +53,30 @@ The field wrapper stays in place when a description or message appears or disapp
53
53
 
54
54
  An input's style props (`width`, `height`, `flex*`, `gridArea`, `margin`, `inset`, `position`, …) place and size its outer element: the field wrapper when it renders, the input itself otherwise. Adding a label never changes where they apply. When they size a wrapped field, the input stretches to fill it as it would in a grid cell of that size. Inputs with a fixed or capped size keep it: `Checkbox` and `Switch` their content width, single-line inputs and a vertical `Slider` their height. A side label's column is part of the width, and a split label keeps the input at its content width.
55
55
 
56
- `styles` always styles the input and `fieldStyles` always styles the wrapper. To size them apart, use a style prop for the field and `styles` for the input:
56
+ `width` is the space an input takes in the layout, label included. `controlWidth` is the control's own width: it sizes the element `width` sizes when the input renders bare, in every label position. On a bare input, with no label, description or form binding, the two reach the same element, so use `width` there; `controlWidth` wins when both are set. Beside a side label, `controlWidth` sizes the control alone, fixed, capped or following its value, however long the label is in a given language:
57
57
 
58
58
  ```jsx
59
59
  // The field is 40x wide, label column included; the input fills it.
60
60
  <TextInput label="Name" labelPosition="side" width="40x" />
61
61
 
62
+ // The select is 100px wide beside its label.
63
+ <Select label="Limit" labelPosition="side" controlWidth="100px">…</Select>
64
+
65
+ // The select fills the space beside its label, up to 30x.
66
+ <Select label="Compare with" labelPosition="side" controlWidth="max 30x">…</Select>
67
+
68
+ // The select follows its value, up to 30x.
69
+ <Select label="Compare with" labelPosition="side" controlWidth="initial max-content 30x">…</Select>
70
+
62
71
  // The field is 40x wide; the input inside it stays 20x.
63
- <TextInput label="Name" width="40x" styles={{ width: '20x' }} />
72
+ <TextInput label="Name" width="40x" controlWidth="20x" />
64
73
  ```
65
74
 
66
- A style prop wins over `fieldStyles` for the same key. `fieldStyles` keeps working for everything else, but it never makes the input fill the field. Field-level inputs take only these style props; restyle the input through `styles` and its part props (`inputStyles`, `triggerStyles`, …).
75
+ In a `Form`, a side label's column is the Form's `labelWidth` (25x by default) plus 1x, so the control starts `labelWidth` + 1x from the field's edge and is `controlWidth` wide. `controlWidth` wins over `styles.width`. `styles` always styles the input and `fieldStyles` always styles the wrapper: keep `styles` for restyling the input itself.
76
+
77
+ A style prop wins over `fieldStyles` for the same key. `fieldStyles` keeps working for everything else, but it never makes the input fill the field. Field-level inputs take only these style props and `controlWidth`; restyle the input through `styles` and its part props (`inputStyles`, `triggerStyles`, …).
67
78
 
68
- A state map on a style prop resolves against the element it lands on, which is the wrapper on a labelled field. Use media, container or root states there, not the input's own states such as `focused`. `className`, `style`, `qa` and `ref` never move to the wrapper.
79
+ A state map on a style prop resolves against the element it lands on, which is the wrapper on a labelled field. Use media, container or root states there, not the input's own states such as `focused`. A state map on `controlWidth` resolves against the control. `className`, `style`, `qa` and `ref` never move to the wrapper.
69
80
 
70
81
  Fields without labels no longer reserve an empty side or split label column. If a row should intentionally align with neighbouring side labels, add `fieldStyles={{ padding: '$full-label-width left' }}`. For a nameless legacy `Form.Item`, put that padding on the item's `styles` instead; it owns the wrapper. Remove deprecated `forceField` when migrating these rows.
71
82
 
@@ -123,6 +134,7 @@ Fields without labels no longer reserve an empty side or split label column. If
123
134
 
124
135
  ## Styling
125
136
 
137
+ - **`controlWidth`** `Styles['width']` — The control's own width, in every label position: the element `width` sizes when the input renders bare. Beside a side label it sizes the control alone. It wins over `width` on a bare input and over `styles.width`; see _Field sizing and alignment_.
126
138
  - **`fieldStyles`** `Styles` — Tasty styles for the field wrapper. A style prop for the same key wins over it.
127
139
  - **`messageStyles`** `Styles` — Tasty styles for the message/error text.
128
140
 
package/docs/Usage.md CHANGED
@@ -415,7 +415,7 @@ The package's `tasty.config.ts` lists the other components as `protectedComponen
415
415
  - style props other than the ones that place or size the component (`width`, `height`, `gridArea`, `margin`, `inset`, …). Containers (`Card`, `Panel`, `ResizablePanel`, `Content`, `Header`, `Footer`, and `Layout` and `GridLayout` with their sub-components) also keep the ones that lay out their content: `padding`, `gap`, `flow`, `place*`, `align*`, `justify*`, `grid*`, `overflow` and `scrollbar`. Root `styles` that sets only allowed props passes too;
416
416
  - `tasty()` wrappers that restyle a protected component, and wrappers of those wrappers.
417
417
 
418
- On an input, the style props that place or size it act on its outer element: the field wrapper when it renders (see [Field properties](./FieldProperties.md)), the input itself otherwise. Its `styles` always style the input, so a root `styles` that only sizes it passes the rule but sizes the input inside the field, not the field. Input components take no other style props.
418
+ On an input, the style props that place or size it act on its outer element: the field wrapper when it renders (see [Field properties](./FieldProperties.md)), the input itself otherwise. Its `styles` always style the input, so a root `styles` that only sizes it passes the rule but sizes the input inside the field, not the field. To size the input alone, beside a side label for example, use its `controlWidth` prop. Input components take no other style props.
419
419
 
420
420
  A component's own prop that shares a name with a style passes, such as a field's `direction` and `filter`, a text field's `resize`, `ColorSwatch`'s `color` or `AlertDialog`'s `content`.
421
421
 
@@ -22,6 +22,8 @@ Use `DataTable` instead when a _cell_ is the unit of interest — query results,
22
22
  - **`columns`** `CubeItemTableColumn<T>[]` — Column definitions. See below.
23
23
  - **`rowKey`** `string` (default: `'id'`) — Property used as the row key.
24
24
  - **`getRowKey`** `(row: T, index: number) => Key` — Wins over `rowKey`.
25
+ - **`sections`** `readonly CubeItemTableSection[]` — Ordered `{ key, title }` captions for a flat list. Empty sections are omitted. Requires `getSectionKey`.
26
+ - **`getSectionKey`** `(row: T) => Key` — Assigns every displayed record to a declared section key.
25
27
  - **`getRowChildren`** `(row: T) => readonly T[] | undefined` — Enables tree mode. `data` then contains top-level rows and children are read recursively.
26
28
  - **`treeColumnKey`** `string` — Column containing indentation and the disclosure control. Defaults to the first visible data column.
27
29
  - **`expandedKeys`** `Key[]` — Controlled expanded rows.
@@ -201,6 +203,7 @@ Customizes the root frame. Every internal part of the table is a **sub-element**
201
203
  - `TreeContent`, `TreeToggle`, `TreeValue` — indentation, disclosure/leaf placeholder, and the consumer-rendered value in the tree column
202
204
  - `SortIndicator` — the sort arrow, inside the header `Item`'s suffix
203
205
  - `Foot`, `FootRow`, `FootCell` — pinned totals
206
+ - `SectionRow`, `SectionCell`, `SectionContent`, `SectionLabel` — full-width list section captions, separate from record hover/selection styles; labels stay visible while scrolling horizontally
204
207
  - `StateContent` — the empty / no-results / error content
205
208
 
206
209
  ```jsx
@@ -579,6 +582,28 @@ Deliberately distinct, and not interchangeable:
579
582
 
580
583
  Unselectable rows are excluded from every scope. Pressing the header checkbox while everything in scope is selected clears the **whole** selection, not just the scope — leaving keys selected on other pages behind an unchecked-looking box is how people delete things they did not mean to.
581
584
 
585
+ ### Section Headers
586
+
587
+ Use `sections` to divide a flat list into labeled zones while sharing its column headers, column widths and scroll area:
588
+
589
+ ```jsx
590
+ <ItemTable
591
+ data={items}
592
+ columns={columns}
593
+ sections={[
594
+ { key: 'favorites', title: 'Favorites' },
595
+ { key: 'other', title: 'Other items' },
596
+ ]}
597
+ getSectionKey={(item) => item.isFavorite ? 'favorites' : 'other'}
598
+ />
599
+ ```
600
+
601
+ The array defines section order. Client sorting applies within each section; clearing the sort restores source order within each section. Search filters records, then empty sections disappear. Captions do not consume page slots or affect footer counts, selection, bulk actions, links or row actions. A section continuing onto another client page repeats its caption there. Keyboard row navigation skips captions, and virtualization measures them separately from records. Accessible captions are structural grid rows, so `aria-rowcount` and document-absolute row indices include them; pagination summaries still count records only. Sectioned records keep keys resolved from their source positions, including when `getRowKey` uses its index argument.
602
+
603
+ `title` accepts a React node. Captions scroll with the list and can be customized with `styles.SectionCell` and `styles.SectionRow`. For example, `styles={{ SectionCell: { preset: 't3m' } }}` changes their typography without changing column headers or record cells.
604
+
605
+ This first version applies to flat tables with client, infinite or no pagination. Infinite mode groups the currently loaded records; the caller still owns loading. Tree mode, row drag/drop and server pagination keep their existing behavior and ignore section props with a development warning. These modes need hierarchy, drop-boundary or unseen-section metadata that ordinary captions do not provide. Missing paired props, duplicate section keys or a displayed record returning an undeclared key also warn and fall back to the ordinary list, preserving all records.
606
+
582
607
  ### Row Links and Row Actions
583
608
 
584
609
  `rowLink` turns the row-header cell into a stretched anchor covering the whole row:
@@ -28,7 +28,7 @@ A combobox component that combines a text input with a dropdown list, allowing u
28
28
  - **`defaultSelectedKey`** `string` — The key of the initially selected item (uncontrolled)
29
29
  - **`allowsCustomValue`** `boolean` (default: `false`) — Whether the combo box allows custom values to be entered
30
30
  - **`shouldCommitOnBlur`** `boolean` (default: `true`) — Whether to commit custom value on blur in allowsCustomValue mode. When `false`, blur discards the uncommitted text
31
- - **`clearOnBlur`** `boolean` (default: `false`) — Whether to clear selection and input on blur when the text names no selectable item (only applies to non-custom-value mode)
31
+ - **`clearOnBlur`** `boolean` (default: `false`) — Whether to clear selection and input on blur, or on `Enter` with the popover closed, when the text names no selectable item (only applies to non-custom-value mode)
32
32
  - **`isClearable`** `boolean` (default: `false`) — Whether the combo box is clearable using ESC keyboard button or clear button inside the input
33
33
  - **`sortSelectedToTop`** `boolean` (default: `true when items provided, false otherwise`) — Whether to sort selected item to the top when popover opens (only works with items prop)
34
34
  - **`popoverTrigger`** `'focus' | 'input' | 'manual'` (default: `input`) — When the list opens on its own, see **popoverTrigger** below
@@ -56,7 +56,7 @@ A combobox component that combines a text input with a dropdown list, allowing u
56
56
 
57
57
  #### Notable Properties
58
58
 
59
- **onKeyDown** - Runs before ComboBox's own key handling, listed under [Keyboard Navigation](#keyboard-navigation). Calling `e.preventDefault()` takes the key over: ComboBox skips its handling for that event, so a prevented `ArrowDown` does not open the popover or move focus, and a prevented `Enter` does not select the focused option or commit a custom value. Without `preventDefault()` the built-in handling runs as usual after your handler. The event is React Aria's keyboard event (`KeyboardEvent` from `@react-types/shared`). `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`, unless ComboBox acts on them or you prevent them: `Escape` that closes the list or clears the value stops at the input, and so does an `Escape` or `Tab` you prevent. Other keys stop at the input unless you call `e.continuePropagation()`.
59
+ **onKeyDown** - Runs before ComboBox's own key handling, listed under [Keyboard Navigation](#keyboard-navigation). Calling `e.preventDefault()` takes the key over: ComboBox skips its handling for that event, so a prevented `ArrowDown` does not open the popover or move focus, and a prevented `Enter` does not select the focused option, settle the typed text or commit a custom value. Without `preventDefault()` the built-in handling runs as usual after your handler. The event is React Aria's keyboard event (`KeyboardEvent` from `@react-types/shared`). `Escape` and `Tab` go on to ancestors, so a surrounding `Dialog` still closes on `Escape` and moves focus on `Tab`, unless ComboBox acts on them or you prevent them: `Escape` that closes the list or clears the value stops at the input, and so does an `Escape` or `Tab` you prevent. Other keys stop at the input unless you call `e.continuePropagation()`.
60
60
 
61
61
  ```jsx
62
62
  <ComboBox
@@ -102,6 +102,8 @@ const [selectedKey, setSelectedKey] = useState(null);
102
102
  </ComboBox>;
103
103
  ```
104
104
 
105
+ Without `allowsCustomValue`, the built-in `Enter` on a closed popover settles text that matches an option, or names the selection, as blur does, then lets the form submit (see `Enter` under [Keyboard Navigation](#keyboard-navigation)). A handler that prevents it leaves the text unsettled until blur.
106
+
105
107
  **defaultInputValue** - Sets the initial input value in uncontrolled mode. This is useful when you want to display a specific text in the input field on mount without selecting any option. When both `defaultInputValue` and `defaultSelectedKey` are provided, `defaultInputValue` takes priority. The value can be changed by the user and is not enforced after initial render.
106
108
 
107
109
  **sortSelectedToTop** - When using the `items` prop (data-driven mode), the selected item will automatically appear at the top of the list when the popover opens. This is enabled by default when using `items`, but disabled when using JSX children. Set to `false` to maintain the original order.
@@ -112,7 +114,7 @@ const [selectedKey, setSelectedKey] = useState(null);
112
114
 
113
115
  **isReadOnly** - The list doesn't open, from the chevron, the arrow keys, a press in the input or focus, and neither keys nor blur change the value or the text. The clear button is hidden.
114
116
 
115
- **clearOnBlur** - When `true`, text that names no selectable item clears both the selection and the input when the input loses focus. When `false` (default), the input reverts to showing the current selection, and empty text still clears it. Only applies to non-custom-value mode. Useful for search-like scenarios where you want to reset after each interaction.
117
+ **clearOnBlur** - When `true`, text that names no selectable item clears both the selection and the input when the input loses focus, or on `Enter` with the popover closed. When `false` (default), the input reverts to showing the current selection, and empty text still clears it. Only applies to non-custom-value mode. Useful for search-like scenarios where you want to reset after each interaction.
116
118
 
117
119
  **Blur** - Without `allowsCustomValue`, leaving the input selects the item the text names exactly, or else the only item it still matches, unless that item is in `disabledKeys`. The exact match follows the filter's rules for case, accents and locale. Among items sharing the label, the selected one wins, then the first enabled one. Empty text clears the selection. Other text reverts to the selection, or clears with `clearOnBlur`; a disabled item that is already selected stays selected. Blur reports only what it changes: leaving a field without editing it calls neither `onSelectionChange` nor `onInputChange`.
118
120
 
@@ -572,7 +574,7 @@ const [selectedKey, setSelectedKey] = useState(null);
572
574
  - `Tab` - Moves focus to/from the combobox input and closes the popover. The chevron and clear buttons are not Tab stops
573
575
  - `ArrowDown` - Opens popover (if closed) or moves focus to next option
574
576
  - `ArrowUp` - Opens popover (if closed) or moves focus to previous option
575
- - `Enter` - Selects the focused option and closes popover. Pressed right after typing, it picks the first match. With `allowsCustomValue` and the popover closed, commits the typed text. Ignored while an input method (IME) is composing text
577
+ - `Enter` - Selects the focused option and closes popover. With the popover open, pressed right after typing, it picks the first match. With the popover closed and without `allowsCustomValue`, settles the typed text as leaving the input does (see **Blur**) and lets a surrounding form submit the result; text that matches no option and does not name the selection, or no text, clears the selection instead and does not submit. With `allowsCustomValue` and the popover closed, commits the typed text. Ignored while an input method (IME) is composing text
576
578
  - `Escape` - Closes popover (if open) or clears input (if clearable and popover closed); otherwise it goes on, so a surrounding dialog closes
577
579
  - `Home` - Moves focus to the first option (when popover is open)
578
580
  - `End` - Moves focus to the last option (when popover is open)
@@ -718,6 +720,8 @@ An `onKeyDown` handler runs before all of these and can skip any of them for a k
718
720
 
719
721
  This component supports all [Field properties](../../FieldProperties.md) when used within a Form. It integrates seamlessly with the form validation system and supports both controlled and uncontrolled modes.
720
722
 
723
+ When the browser submits the form itself, as a plain `<form>` or a Form with `action` does,, `name` submits the selected key through a hidden input, not the label the input shows. With `allowsCustomValue` that is the committed text. Nothing selected submits an empty string, and a disabled ComboBox submits nothing.
724
+
721
725
  ### Form Example
722
726
 
723
727
  ```jsx
@@ -37,6 +37,7 @@ Choose a different component when the interaction has another outcome:
37
37
  - **`autoSize`** `boolean` (default: `false`) — Resize to fit content.
38
38
  - **`rows`** `number` (default: `3`) — Visible rows.
39
39
  - **`maxRows`** `number` (default: `10`) — Max visible rows when `autoSize` is true.
40
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
40
41
  - **`tooltip`** `string | TooltipProviderProps` — The input's own tooltip, opened on hover over the field box and on keyboard focus. It closes on the first key, so it never covers the suggestions. See [TextInput](./TextInput.md#with-a-tooltip) for the behaviour
41
42
 
42
43
  Each option's value is the **literal string to insert**. For commands, set the item's `textValue` (and `key`) to the full `/clear` — the slash is part of both the active token and the inserted value, so `/cle` becomes `/clear ` with no duplication. This decouples insertion from the trigger, so non-command autocomplete (e.g. a `@mention` resolving to `@john`) works the same way.
@@ -21,7 +21,6 @@ The HueSlider component allows users to select a hue value (0-359 degrees) from
21
21
  - **`orientation`** `'horizontal' | 'vertical'` (default: `horizontal`) — The orientation of the slider
22
22
  - **`gradation`** `string[]` — Labels to display at gradation marks along the slider track
23
23
  - **`formatOptions`** `Intl.NumberFormatOptions` — Options for formatting the displayed value label
24
- - **`inputWidth`** `string` — Width of the slider input area
25
24
  - **`showValueLabel`** `boolean` (default: `true`) — Whether to show the current value label
26
25
  - **`getValueLabel`** — Function to format the value label
27
26
  - **`onChange`** `function` — Callback fired when the hue value changes
@@ -31,6 +31,7 @@ A number input component that allows users to enter numeric values and increment
31
31
  - **`step`** `number` — Amount to increment or decrement the value
32
32
  - **`formatOptions`** `Intl.NumberFormatOptions` — Options for formatting the displayed number value
33
33
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
34
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
34
35
  - **`autoComplete`** `string` (default: `off`) — HTML [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) token that tells the browser what to autofill (`cc-number`, `one-time-code`, …). A number field opts out of autofill by default.
35
36
  - **`isWheelDisabled`** `boolean` — Whether scrolling the mouse wheel changes the value
36
37
  - **`decrementAriaLabel`** `string` — Custom aria-label for the decrement button, in place of the translated "Decrease {label}"
@@ -113,6 +114,7 @@ The `mods` prop accepts the following modifiers you can override:
113
114
  - **`hovered`** `boolean` — Forces hover appearance.
114
115
  - **`prefix`** `boolean` — Indicates presence of prefix content.
115
116
  - **`suffix`** `boolean` — Indicates presence of suffix content.
117
+ - **`shape`** `'default' | 'plain'` — Set from `shape`: `plain` drops the radius, and the border colour at rest.
116
118
 
117
119
  ## Variants
118
120
 
@@ -214,6 +216,8 @@ A unit sits between the number and the steppers. Pass `suffixPosition="after"` t
214
216
 
215
217
  This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
216
218
 
219
+ When the browser submits the form itself, as a plain `<form>` or a Form with `action` does,, `name` submits the number through a hidden input: `1234.5`, not the formatted `1,234.5` the input shows. An empty field submits an empty string, and a disabled NumberInput submits nothing.
220
+
217
221
  ## Suggested Improvements
218
222
 
219
223
  - Provide `maxValue`/`minValue` indicator with value range
@@ -26,6 +26,7 @@ A password input is a specialized text field that masks user input to protect se
26
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.
27
27
  - **`suffixPosition`** `'before' | 'after'` (default: `after`) — Position of suffix relative to validation/loading icons
28
28
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
29
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
29
30
  - **`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.
30
31
  - **`inputProps`** `Props` — Direct props passed to the native input element, merged over the props React Aria generates: a key you set wins, and event handlers are chained rather than replaced. The explicit `isDisabled`, `maxLength`, `minLength`, `autoFocus` and `autoComplete` props win over the same attributes in `inputProps` when they are set; one left unset keeps the `inputProps` value
31
32
  - **`wrapperProps`** `Props` — Direct props passed to the input wrapper element
@@ -101,6 +102,7 @@ The `mods` property accepts the following modifiers you can override:
101
102
  - **`valid`** `boolean` — Whether the password input is valid
102
103
  - **`hovered`** `boolean` — Whether the password input is being hovered
103
104
  - **`inside-form`** `boolean` — Whether the password input is inside a form field
105
+ - **`shape`** `'default' | 'plain'` — Set from `shape`: `plain` drops the radius, and the border colour at rest.
104
106
 
105
107
  ## Variants
106
108
 
@@ -27,6 +27,7 @@ A search input provides a specialized text field for search functionality, featu
27
27
  - **`suffixPosition`** `'before' | 'after'` (default: `after`) — Position of suffix relative to validation/loading state icons
28
28
  - **`isClearable`** `boolean` (default: `false`) — Whether the search input shows a clear button while it has text. `Escape` clears the input either way
29
29
  - **`size`** `'small' | 'medium' | 'large'` (default: `medium`) — Input size
30
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
30
31
  - **`autoComplete`** `string` — HTML [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) token that tells the browser what to autofill (`off` to suppress autofill on a filter field). The lowercase `autocomplete` alias is deprecated.
31
32
  - **`inputProps`** `Props` — Direct props passed to the native input element, merged over the props React Aria generates: a key you set wins, and event handlers are chained rather than replaced
32
33
  - **`wrapperProps`** `Props` — Direct props passed to the input wrapper element
@@ -81,6 +82,7 @@ The `mods` property accepts the following modifiers you can override:
81
82
  - **`valid`** `boolean` — Whether the search input is valid
82
83
  - **`hovered`** `boolean` — Whether the search input is being hovered
83
84
  - **`inside-form`** `boolean` — Whether the search input is inside a form field
85
+ - **`shape`** `'default' | 'plain'` — Set from `shape`: `plain` drops the radius, and the border colour at rest.
84
86
 
85
87
  ## Variants
86
88
 
@@ -90,6 +92,17 @@ The `mods` property accepts the following modifiers you can override:
90
92
  - `medium` - Standard size
91
93
  - `large` - Emphasized size for prominent search functionality
92
94
 
95
+ ### Shapes
96
+
97
+ - `default` - A rounded field box with a border
98
+ - `plain` - A square field box with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. The border still marks focus and validity.
99
+
100
+ ```jsx
101
+ <Block styles={{ border: 'bottom', fill: '#surface' }}>
102
+ <SearchInput shape="plain" width="100%" aria-label="Search models" placeholder="Search models" />
103
+ </Block>
104
+ ```
105
+
93
106
  ## Examples
94
107
 
95
108
  ### Basic Usage
@@ -39,7 +39,6 @@ Pass `isValid` or `isInvalid` to tint the track fill and the thumb.
39
39
  - **`showValueLabel`** `boolean` — Whether the value label is displayed (defaults to `true` when `label` is present)
40
40
  - **`getValueLabel`** `(value: number) => string` — Custom function to format the value label
41
41
  - **`formatOptions`** `Intl.NumberFormatOptions` — Number format options for the value label display
42
- - **`inputWidth`** `string` — Width of the input area
43
42
  - **`trackStyles`** `Styles` — Custom styles for the track element
44
43
  - **`thumbStyles`** `Styles` — Custom styles for the thumb element
45
44
  - **`thumbTokens`** `Tokens` — Custom tokens for the thumb element (e.g., `#slider-thumb` for fill color)
@@ -45,6 +45,7 @@ These properties allow direct style application without using the `styles` prop:
45
45
  - **`suffixPosition`** `'before' | 'after'` (default: `'before'`) — Position of suffix relative to validation/loading state icons
46
46
  - **`resize`** `string` — CSS resize value (e.g. `'vertical'`, `'none'`)
47
47
  - **`size`** `'small' | 'medium' | 'large'` (default: `'medium'`) — Input size
48
+ - **`shape`** `'default' | 'plain'` (default: `default`) — Shape of the field box. `plain` is square with no border at rest, for a field set flush in a container that draws its edges, such as a toolbar or a panel header. Its border keeps its width and shows on focus and in a valid or invalid state, so nothing shifts
48
49
  - **`autoComplete`** `string` — HTML [`autocomplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) token that tells the browser what to autofill (`street-address`, `off`, …). The lowercase `autocomplete` alias is deprecated.
49
50
  - **`maxLength`** `number` — Maximum number of characters allowed
50
51
  - **`minLength`** `number` — Minimum number of characters required