@cube-dev/ui-kit 0.178.0 → 0.180.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 (742) hide show
  1. package/dist/CHANGELOG.md +73 -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 +218 -0
  27. package/dist/components/actions/ItemActionsWrapper.js.map +1 -0
  28. package/dist/components/actions/ItemButton/ItemButton.d.ts +11 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +25 -143
  30. package/dist/components/actions/ItemButton/ItemButton.js.map +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/MenuItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuSection.js +1 -1
  35. package/dist/components/actions/Menu/MenuTrigger.js +3 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js.map +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 +34 -0
  42. package/dist/components/actions/actions-run.js.map +1 -0
  43. package/dist/components/actions/index.js +1 -1
  44. package/dist/components/actions/use-action.js +1 -1
  45. package/dist/components/actions/use-anchored-menu.js +1 -1
  46. package/dist/components/actions/use-context-menu.js +1 -1
  47. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  48. package/dist/components/content/Alert/Alert.js +1 -1
  49. package/dist/components/content/Alert/use-alert.js +1 -1
  50. package/dist/components/content/Avatar/Avatar.js +1 -1
  51. package/dist/components/content/Badge/Badge.js +1 -1
  52. package/dist/components/content/Card/Card.js +1 -1
  53. package/dist/components/content/Content.js +1 -1
  54. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  55. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  56. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  57. package/dist/components/content/Divider.js +1 -1
  58. package/dist/components/content/Footer.js +1 -1
  59. package/dist/components/content/Header.js +1 -1
  60. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  61. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  62. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  63. package/dist/components/content/Item/Item.js +5 -5
  64. package/dist/components/content/Item/Item.js.map +1 -1
  65. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  66. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  67. package/dist/components/content/Layout/GridLayout.js +1 -1
  68. package/dist/components/content/Layout/Layout.js +1 -1
  69. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  70. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  71. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  72. package/dist/components/content/Layout/LayoutContent.js +1 -1
  73. package/dist/components/content/Layout/LayoutContext.js +1 -1
  74. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  75. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  76. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  77. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  78. package/dist/components/content/Layout/LayoutPane.js +1 -1
  79. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  81. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  82. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  83. package/dist/components/content/Layout/index.js +1 -1
  84. package/dist/components/content/Layout/utils.js +1 -1
  85. package/dist/components/content/Paragraph.js +1 -1
  86. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  87. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  88. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  89. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  90. package/dist/components/content/Result/Result.js +1 -1
  91. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  92. package/dist/components/content/Tag/Tag.js +1 -1
  93. package/dist/components/content/Text.d.ts +14 -14
  94. package/dist/components/content/Text.js +1 -1
  95. package/dist/components/content/TextItem/TextItem.js +1 -1
  96. package/dist/components/content/Title.js +1 -1
  97. package/dist/components/content/Tree/Tree.js +1 -1
  98. package/dist/components/content/Tree/TreeNode.js +1 -1
  99. package/dist/components/content/Tree/styled.js +1 -1
  100. package/dist/components/content/Tree/tree-index.js +1 -1
  101. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  102. package/dist/components/content/Tree/use-load-data.js +1 -1
  103. package/dist/components/content/highlightText.js +1 -1
  104. package/dist/components/content/use-auto-tooltip.js +1 -1
  105. package/dist/components/data/DataTable/DataTable.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  109. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  111. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  112. package/dist/components/data/TableBase/RowCollection.js +1 -1
  113. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  114. package/dist/components/data/TableBase/TableRow.js +1 -1
  115. package/dist/components/data/TableBase/TableView.js +1 -1
  116. package/dist/components/data/TableBase/column-menu.js +1 -1
  117. package/dist/components/data/TableBase/column-tint.js +1 -1
  118. package/dist/components/data/TableBase/row-menu.js +1 -1
  119. package/dist/components/data/TableBase/styled.js +1 -1
  120. package/dist/components/data/TableBase/table-tree.js +1 -1
  121. package/dist/components/data/TableBase/types.js +1 -1
  122. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  123. package/dist/components/data/TableBase/use-column-order.js +1 -1
  124. package/dist/components/data/TableBase/use-container-width.js +1 -1
  125. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  126. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  127. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  128. package/dist/components/data/TableBase/use-table-search.js +1 -1
  129. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  130. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  131. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  132. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  133. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  134. package/dist/components/fields/Checkbox/Checkbox.d.ts +7 -0
  135. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  136. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  137. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  138. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -3
  139. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  140. package/dist/components/fields/Checkbox/context.js +1 -1
  141. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  142. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  143. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  144. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  145. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  146. package/dist/components/fields/CommandTextArea/CommandTextArea.js +2 -2
  147. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  148. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  149. package/dist/components/fields/CommandTextArea/caretPosition.js.map +1 -1
  150. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  151. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -1
  152. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  153. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  154. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  155. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -1
  156. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  157. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  158. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  159. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  160. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  161. package/dist/components/fields/DatePicker/DatePickerInput.js.map +1 -1
  162. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  163. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -1
  164. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  165. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  166. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -1
  167. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  168. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  169. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +1 -1
  171. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  172. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  173. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -1
  175. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  176. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  177. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  178. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  179. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  180. package/dist/components/fields/DatePicker/period.js +1 -1
  181. package/dist/components/fields/DatePicker/props.js +1 -1
  182. package/dist/components/fields/DatePicker/utils.js +1 -1
  183. package/dist/components/fields/FileInput/FileInput.d.ts +2 -0
  184. package/dist/components/fields/FileInput/FileInput.js +1 -1
  185. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  186. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  187. package/dist/components/fields/FilterPicker/FilterPicker.js +18 -27
  188. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  189. package/dist/components/fields/Input/Input.js +1 -1
  190. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  191. package/dist/components/fields/ListBox/ListBox.js +1 -1
  192. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  193. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  194. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  195. package/dist/components/fields/NumberInput/NumberInput.d.ts +1 -1
  196. package/dist/components/fields/NumberInput/NumberInput.js +3 -3
  197. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  198. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  199. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  200. package/dist/components/fields/Picker/Picker.js +18 -27
  201. package/dist/components/fields/Picker/Picker.js.map +1 -1
  202. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  203. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -1
  204. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  205. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  206. package/dist/components/fields/RadioGroup/context.js +1 -1
  207. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  208. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  209. package/dist/components/fields/Select/Select.js +53 -55
  210. package/dist/components/fields/Select/Select.js.map +1 -1
  211. package/dist/components/fields/Slider/Gradation.js +1 -1
  212. package/dist/components/fields/Slider/HueSlider.js +1 -1
  213. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  214. package/dist/components/fields/Slider/Slider.js +1 -1
  215. package/dist/components/fields/Slider/SliderBase.js +2 -2
  216. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  217. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  218. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  219. package/dist/components/fields/Slider/elements.js +1 -1
  220. package/dist/components/fields/Slider/index.js +1 -1
  221. package/dist/components/fields/Slider/types.d.ts +1 -1
  222. package/dist/components/fields/Switch/Switch.d.ts +2 -0
  223. package/dist/components/fields/Switch/Switch.js +1 -1
  224. package/dist/components/fields/Switch/Switch.js.map +1 -1
  225. package/dist/components/fields/TextArea/TextArea.js +1 -1
  226. package/dist/components/fields/TextInput/TextInput.js +1 -1
  227. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -1
  228. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  229. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  230. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  231. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  232. package/dist/components/fields/TriggerActions.js +5 -56
  233. package/dist/components/fields/TriggerActions.js.map +1 -1
  234. package/dist/components/fields/color/ColorPanel.js +1 -1
  235. package/dist/components/fields/color/channels.js +1 -1
  236. package/dist/components/fields/color/color.js +1 -1
  237. package/dist/components/fields/color/context.js +1 -1
  238. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  239. package/dist/components/form/Form/Field.js +1 -1
  240. package/dist/components/form/Form/Form.d.ts +38 -2
  241. package/dist/components/form/Form/Form.js +86 -16
  242. package/dist/components/form/Form/Form.js.map +1 -1
  243. package/dist/components/form/Form/ModernFormRoot.d.ts +19 -0
  244. package/dist/components/form/Form/ModernFormRoot.js +108 -0
  245. package/dist/components/form/Form/ModernFormRoot.js.map +1 -0
  246. package/dist/components/form/Form/ResetButton/ResetButton.d.ts +2 -1
  247. package/dist/components/form/Form/ResetButton/ResetButton.js +17 -2
  248. package/dist/components/form/Form/ResetButton/ResetButton.js.map +1 -1
  249. package/dist/components/form/Form/SubmitButton/SubmitButton.d.ts +2 -1
  250. package/dist/components/form/Form/SubmitButton/SubmitButton.js +17 -2
  251. package/dist/components/form/Form/SubmitButton/SubmitButton.js.map +1 -1
  252. package/dist/components/form/Form/SubmitError.js +26 -3
  253. package/dist/components/form/Form/SubmitError.js.map +1 -1
  254. package/dist/components/form/Form/backend.d.ts +25 -0
  255. package/dist/components/form/Form/backend.js +30 -0
  256. package/dist/components/form/Form/backend.js.map +1 -0
  257. package/dist/components/form/Form/index.d.ts +18 -4
  258. package/dist/components/form/Form/index.js +8 -2
  259. package/dist/components/form/Form/index.js.map +1 -1
  260. package/dist/components/form/Form/modern/actions.js +41 -0
  261. package/dist/components/form/Form/modern/actions.js.map +1 -0
  262. package/dist/components/form/Form/modern/context.d.ts +9 -0
  263. package/dist/components/form/Form/modern/context.js +14 -0
  264. package/dist/components/form/Form/modern/context.js.map +1 -0
  265. package/dist/components/form/Form/modern/controller.d.ts +23 -0
  266. package/dist/components/form/Form/modern/controller.js +48 -0
  267. package/dist/components/form/Form/modern/controller.js.map +1 -0
  268. package/dist/components/form/Form/modern/field-binding.js +41 -0
  269. package/dist/components/form/Form/modern/field-binding.js.map +1 -0
  270. package/dist/components/form/Form/modern/path-types.d.ts +12 -0
  271. package/dist/components/form/Form/modern/react.d.ts +21 -0
  272. package/dist/components/form/Form/modern/react.js +27 -0
  273. package/dist/components/form/Form/modern/react.js.map +1 -0
  274. package/dist/components/form/Form/modern/store.js +813 -0
  275. package/dist/components/form/Form/modern/store.js.map +1 -0
  276. package/dist/components/form/Form/modern/types.d.ts +173 -0
  277. package/dist/components/form/Form/modern/validation.d.ts +27 -0
  278. package/dist/components/form/Form/modern/validation.js +41 -0
  279. package/dist/components/form/Form/modern/validation.js.map +1 -0
  280. package/dist/components/form/Form/modern/values.d.ts +7 -0
  281. package/dist/components/form/Form/modern/values.js +144 -0
  282. package/dist/components/form/Form/modern/values.js.map +1 -0
  283. package/dist/components/form/Form/use-field/types.d.ts +4 -1
  284. package/dist/components/form/Form/use-field/use-field-binding.js +93 -0
  285. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -0
  286. package/dist/components/form/Form/use-field/use-field-props.d.ts +12 -1
  287. package/dist/components/form/Form/use-field/use-field-props.js +67 -50
  288. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  289. package/dist/components/form/Form/use-field/use-field.d.ts +6 -0
  290. package/dist/components/form/Form/use-field/use-field.js +47 -22
  291. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  292. package/dist/components/form/Form/use-form.d.ts +4 -1
  293. package/dist/components/form/Form/use-form.js +9 -5
  294. package/dist/components/form/Form/use-form.js.map +1 -1
  295. package/dist/components/form/Form/validation.js +2 -2
  296. package/dist/components/form/Label.js +1 -1
  297. package/dist/components/form/index.d.ts +8 -1
  298. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  299. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  300. package/dist/components/form/validation/use-validation-props.js +1 -1
  301. package/dist/components/form/wrapper.js +1 -1
  302. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  303. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  304. package/dist/components/layout/Board/Board.js +1 -1
  305. package/dist/components/layout/Board/BoardProvider.js +1 -1
  306. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  307. package/dist/components/layout/Board/Widget.js +1 -1
  308. package/dist/components/layout/Board/WidgetHost.js +1 -1
  309. package/dist/components/layout/Board/board-context.js +1 -1
  310. package/dist/components/layout/Board/board-store.js +1 -1
  311. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  312. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  313. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  314. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  315. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  316. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  317. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  318. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  319. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  320. package/dist/components/layout/Board/index.js +1 -1
  321. package/dist/components/layout/Board/responsive-utils.js +1 -1
  322. package/dist/components/layout/Board/use-board-layout.js +1 -1
  323. package/dist/components/layout/Board/use-board-registry.js +1 -1
  324. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  325. package/dist/components/layout/Board/use-board-selection.js +1 -1
  326. package/dist/components/layout/Flex.js +1 -1
  327. package/dist/components/layout/Flow.js +1 -1
  328. package/dist/components/layout/Grid.js +1 -1
  329. package/dist/components/layout/Panel.js +1 -1
  330. package/dist/components/layout/Prefix.js +1 -1
  331. package/dist/components/layout/ResizablePanel.js +1 -1
  332. package/dist/components/layout/Space.js +1 -1
  333. package/dist/components/layout/Suffix.js +1 -1
  334. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  335. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  336. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  337. package/dist/components/navigation/Tabs/TabButton.js +36 -40
  338. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  339. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  340. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  341. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  342. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  343. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  344. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  345. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  346. package/dist/components/navigation/Tabs/styled.js +1 -29
  347. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  348. package/dist/components/navigation/Tabs/types.js +1 -1
  349. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  350. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  351. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  352. package/dist/components/other/Calendar/Calendar.js +1 -1
  353. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  354. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  355. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  356. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  357. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  358. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  359. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  360. package/dist/components/other/Calendar/styled.js +1 -1
  361. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  362. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  363. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  364. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  365. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  366. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  367. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  368. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  369. package/dist/components/overlays/Dialog/DialogTrigger.js +4 -2
  370. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  371. package/dist/components/overlays/Dialog/context.js +1 -1
  372. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  373. package/dist/components/overlays/Modal/Modal.js +1 -1
  374. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  375. package/dist/components/overlays/Modal/Overlay.js +1 -1
  376. package/dist/components/overlays/Modal/Popover.js +1 -1
  377. package/dist/components/overlays/Modal/Tray.js +1 -1
  378. package/dist/components/overlays/Modal/Underlay.js +1 -1
  379. package/dist/components/overlays/Notifications/Notification.js +1 -1
  380. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  381. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  382. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  383. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  384. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  385. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  386. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  387. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  388. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  389. package/dist/components/overlays/Notifications/index.js +1 -1
  390. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  391. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  392. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  393. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  394. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  395. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  396. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  397. package/dist/components/overlays/Toast/index.js +1 -1
  398. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  399. package/dist/components/overlays/Toast/useToast.js +1 -1
  400. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  401. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  402. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  403. package/dist/components/overlays/Tooltip/context.js +1 -1
  404. package/dist/components/portal/Portal.js +1 -1
  405. package/dist/components/portal/PortalProvider.js +1 -1
  406. package/dist/components/portal/usePortal.js +1 -1
  407. package/dist/components/shared/DraggableCollection.js +1 -1
  408. package/dist/components/shared/InvalidIcon.js +1 -1
  409. package/dist/components/shared/ValidIcon.js +1 -1
  410. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  411. package/dist/components/status/Spin/Cube.js +1 -1
  412. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  413. package/dist/components/status/Spin/Spin.js +1 -1
  414. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  415. package/dist/data/item-themes.js +25 -6
  416. package/dist/data/item-themes.js.map +1 -1
  417. package/dist/data/themes.js +1 -1
  418. package/dist/eslint-plugin/defaults.generated.js +1 -1
  419. package/dist/eslint-plugin/index.js +1 -1
  420. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  421. package/dist/i18n/I18nProvider.js +1 -1
  422. package/dist/i18n/createFormatter.js +1 -1
  423. package/dist/i18n/index.js +1 -1
  424. package/dist/i18n/instance.js +1 -1
  425. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  426. package/dist/i18n/locales/en-US/uikit.js +1 -1
  427. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  428. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  429. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  430. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  431. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  432. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  433. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  434. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  435. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  436. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  437. package/dist/i18n/locales.js +1 -1
  438. package/dist/i18n/useFormatter.js +1 -1
  439. package/dist/i18n/useI18n.js +1 -1
  440. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  441. package/dist/icons/AdjustmentsIcon.js +1 -1
  442. package/dist/icons/AiIcon.js +1 -1
  443. package/dist/icons/AreaChartIcon.js +1 -1
  444. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  445. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  446. package/dist/icons/BackwardIcon.js +1 -1
  447. package/dist/icons/BarChartIcon.js +1 -1
  448. package/dist/icons/BellFilledIcon.js +1 -1
  449. package/dist/icons/BellIcon.js +1 -1
  450. package/dist/icons/BooleanIcon.js +1 -1
  451. package/dist/icons/CalendarEditIcon.js +1 -1
  452. package/dist/icons/CalendarIcon.js +1 -1
  453. package/dist/icons/CaretDownIcon.js +1 -1
  454. package/dist/icons/CaretUpIcon.js +1 -1
  455. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  456. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  457. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  458. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  459. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  460. package/dist/icons/ChartBarLineIcon.js +1 -1
  461. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  462. package/dist/icons/ChartBarStackedIcon.js +1 -1
  463. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  464. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  465. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  466. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  467. package/dist/icons/ChartBubbleIcon.js +1 -1
  468. package/dist/icons/ChartDonut2Icon.js +1 -1
  469. package/dist/icons/ChartFunnelIcon.js +1 -1
  470. package/dist/icons/ChartHeatmapIcon.js +1 -1
  471. package/dist/icons/ChartKPIIcon.js +1 -1
  472. package/dist/icons/ChartPie2Icon.js +1 -1
  473. package/dist/icons/ChartScatterIcon.js +1 -1
  474. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  475. package/dist/icons/CheckCircleIcon.js +1 -1
  476. package/dist/icons/CheckIcon.js +1 -1
  477. package/dist/icons/CircleFilledIcon.js +1 -1
  478. package/dist/icons/ClearIcon.js +1 -1
  479. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  480. package/dist/icons/CloseCircleIcon.js +1 -1
  481. package/dist/icons/CloseIcon.js +1 -1
  482. package/dist/icons/CodeIcon.js +1 -1
  483. package/dist/icons/ColumnTotalIcon.js +1 -1
  484. package/dist/icons/CopyIcon.js +1 -1
  485. package/dist/icons/CountIcon.js +1 -1
  486. package/dist/icons/CubeIcon.js +1 -1
  487. package/dist/icons/CubePauseIcon.js +1 -1
  488. package/dist/icons/CubePlayIcon.js +1 -1
  489. package/dist/icons/CurrencyDollarIcon.js +1 -1
  490. package/dist/icons/DangerIcon.js +1 -1
  491. package/dist/icons/DashboardIcon.js +1 -1
  492. package/dist/icons/DatabaseIcon.js +1 -1
  493. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  494. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  495. package/dist/icons/DirectionIcon.js +1 -1
  496. package/dist/icons/DonutIcon.js +1 -1
  497. package/dist/icons/DownIcon.js +1 -1
  498. package/dist/icons/EditIcon.js +1 -1
  499. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  500. package/dist/icons/ExclamationCircleIcon.js +1 -1
  501. package/dist/icons/ExclamationIcon.js +1 -1
  502. package/dist/icons/EyeIcon.js +1 -1
  503. package/dist/icons/EyeInvisibleIcon.js +1 -1
  504. package/dist/icons/FilterIcon.js +1 -1
  505. package/dist/icons/FolderFilledIcon.js +1 -1
  506. package/dist/icons/FolderIcon.js +1 -1
  507. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  508. package/dist/icons/FolderOpenIcon.js +1 -1
  509. package/dist/icons/ForwardIcon.js +1 -1
  510. package/dist/icons/GripVerticalIcon.js +1 -1
  511. package/dist/icons/HierarchyIcon.js +1 -1
  512. package/dist/icons/HierarchyOpenIcon.js +1 -1
  513. package/dist/icons/Icon.js +1 -1
  514. package/dist/icons/InfoCircleIcon.js +1 -1
  515. package/dist/icons/InfoIcon.js +1 -1
  516. package/dist/icons/KeyIcon.js +1 -1
  517. package/dist/icons/LeftIcon.js +1 -1
  518. package/dist/icons/LineChartIcon.js +1 -1
  519. package/dist/icons/LoadingIcon.js +1 -1
  520. package/dist/icons/LockFilledIcon.js +1 -1
  521. package/dist/icons/LockIcon.js +1 -1
  522. package/dist/icons/MoreIcon.js +1 -1
  523. package/dist/icons/NotAllowedIcon.js +1 -1
  524. package/dist/icons/Number123Icon.js +1 -1
  525. package/dist/icons/NumberIcon.js +1 -1
  526. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  527. package/dist/icons/PauseCircleIcon.js +1 -1
  528. package/dist/icons/PauseIcon.js +1 -1
  529. package/dist/icons/PercentageIcon.js +1 -1
  530. package/dist/icons/PieChartIcon.js +1 -1
  531. package/dist/icons/PipetteIcon.js +1 -1
  532. package/dist/icons/PlayCircleIcon.js +1 -1
  533. package/dist/icons/PlayIcon.js +1 -1
  534. package/dist/icons/PlusIcon.js +1 -1
  535. package/dist/icons/ProgressBarIcon.js +1 -1
  536. package/dist/icons/ReloadIcon.js +1 -1
  537. package/dist/icons/ReportIcon.js +1 -1
  538. package/dist/icons/ReturnIcon.js +1 -1
  539. package/dist/icons/RightIcon.js +1 -1
  540. package/dist/icons/RowTotalsIcon.js +1 -1
  541. package/dist/icons/SchemeIcon.js +1 -1
  542. package/dist/icons/SearchIcon.js +1 -1
  543. package/dist/icons/SemanticQueryIcon.js +1 -1
  544. package/dist/icons/SettingsIcon.js +1 -1
  545. package/dist/icons/ShieldFilledIcon.js +1 -1
  546. package/dist/icons/ShieldIcon.js +1 -1
  547. package/dist/icons/SlashIcon.js +1 -1
  548. package/dist/icons/SparklesIcon.js +1 -1
  549. package/dist/icons/SqlIcon.js +1 -1
  550. package/dist/icons/StatsIcon.js +1 -1
  551. package/dist/icons/StopIcon.js +1 -1
  552. package/dist/icons/StringIcon.js +1 -1
  553. package/dist/icons/SubtotalsIcon.js +1 -1
  554. package/dist/icons/SwitchIcon.js +1 -1
  555. package/dist/icons/TableIcon.js +1 -1
  556. package/dist/icons/ThumbsDownIcon.js +1 -1
  557. package/dist/icons/ThumbsUpIcon.js +1 -1
  558. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  559. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  560. package/dist/icons/ThunderboltIcon.js +1 -1
  561. package/dist/icons/TimeIcon.js +1 -1
  562. package/dist/icons/TrashIcon.js +1 -1
  563. package/dist/icons/UnlockIcon.js +1 -1
  564. package/dist/icons/UpIcon.js +1 -1
  565. package/dist/icons/UserGroupIcon.js +1 -1
  566. package/dist/icons/UserIcon.js +1 -1
  567. package/dist/icons/UserLockIcon.js +1 -1
  568. package/dist/icons/ViewIcon.js +1 -1
  569. package/dist/icons/WarningFilledIcon.js +1 -1
  570. package/dist/icons/WarningIcon.js +1 -1
  571. package/dist/icons/wrap-icon.js +1 -1
  572. package/dist/index.d.ts +10 -3
  573. package/dist/index.js +3 -3
  574. package/dist/probe/canonicalize.js +1 -1
  575. package/dist/probe/css.js +1 -1
  576. package/dist/probe/index.js +1 -1
  577. package/dist/provider.js +1 -1
  578. package/dist/providers/TrackingProvider.js +1 -1
  579. package/dist/providers/navigationAdapter.default.js +1 -1
  580. package/dist/shared/form.d.ts +16 -2
  581. package/dist/shared/index.d.ts +1 -1
  582. package/dist/tokens/all-tokens.js +1 -1
  583. package/dist/tokens/base.js +1 -1
  584. package/dist/tokens/color-seed.js +1 -1
  585. package/dist/tokens/color-theme.js +1 -1
  586. package/dist/tokens/colors.js +1 -1
  587. package/dist/tokens/layout.js +1 -1
  588. package/dist/tokens/lazy-styles.js +1 -1
  589. package/dist/tokens/legacy-color.js +1 -1
  590. package/dist/tokens/palette-config.js +1 -1
  591. package/dist/tokens/palette.js +1 -1
  592. package/dist/tokens/resolve.js +1 -1
  593. package/dist/tokens/shadows.js +1 -1
  594. package/dist/tokens/sizes.js +1 -1
  595. package/dist/tokens/spacing.js +1 -1
  596. package/dist/tokens/typography.js +1 -1
  597. package/dist/utils/ResizeSensor.js +1 -1
  598. package/dist/utils/colors.js +1 -1
  599. package/dist/utils/dotize.js +50 -0
  600. package/dist/utils/dotize.js.map +1 -0
  601. package/dist/utils/is-dev-env.js +1 -1
  602. package/dist/utils/modules.js +1 -1
  603. package/dist/utils/promise.js +1 -1
  604. package/dist/utils/raf.js +1 -1
  605. package/dist/utils/random.js +1 -1
  606. package/dist/utils/range.js +1 -1
  607. package/dist/utils/react/RenderCache.js +1 -1
  608. package/dist/utils/react/Slots.js +1 -1
  609. package/dist/utils/react/chain.js +1 -1
  610. package/dist/utils/react/disabledProps.js +1 -1
  611. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  612. package/dist/utils/react/index.js +1 -1
  613. package/dist/utils/react/interactions.js +1 -1
  614. package/dist/utils/react/isTextOnly.js +1 -1
  615. package/dist/utils/react/mapProps.js +1 -1
  616. package/dist/utils/react/mergeProps.js +1 -1
  617. package/dist/utils/react/nullableValue.js +1 -1
  618. package/dist/utils/react/resolveIcon.js +1 -1
  619. package/dist/utils/react/sharedStore.js +1 -1
  620. package/dist/utils/react/useBufferedValue.js +1 -1
  621. package/dist/utils/react/useCombinedRefs.js +1 -1
  622. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  623. package/dist/utils/react/useEventBus.js +1 -1
  624. package/dist/utils/react/useId.js +1 -1
  625. package/dist/utils/react/useIsDarwin.js +1 -1
  626. package/dist/utils/react/useKeySymbols.js +1 -1
  627. package/dist/utils/react/useLayoutEffect.js +1 -1
  628. package/dist/utils/react/useLocalStorage.js +1 -1
  629. package/dist/utils/react/useMergeStyles.js +1 -1
  630. package/dist/utils/react/usePopoverSync.js +1 -1
  631. package/dist/utils/react/useQaProps.js +1 -1
  632. package/dist/utils/react/useScheme.js +1 -1
  633. package/dist/utils/react/useViewportSize.js +1 -1
  634. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  635. package/dist/utils/selection.js +1 -1
  636. package/dist/utils/styles.js +1 -1
  637. package/dist/utils/tree.js +1 -1
  638. package/dist/utils/warnings.js +1 -1
  639. package/dist/version.js +3 -3
  640. package/docs/CreateComponent.md +4 -0
  641. package/docs/Usage.md +2 -0
  642. package/docs/components/Block.md +3 -3
  643. package/docs/components/CollectionItem.md +3 -3
  644. package/docs/components/GridProvider.md +3 -3
  645. package/docs/components/Root.md +1 -1
  646. package/docs/components/actions/Action.md +3 -3
  647. package/docs/components/actions/Banner.md +3 -3
  648. package/docs/components/actions/Button.md +3 -3
  649. package/docs/components/actions/ButtonGroup.md +3 -3
  650. package/docs/components/actions/ButtonSplit.md +3 -3
  651. package/docs/components/actions/CommandMenu.md +3 -3
  652. package/docs/components/actions/ItemAction.md +3 -1
  653. package/docs/components/actions/ItemButton.md +15 -1
  654. package/docs/components/actions/Link.md +3 -3
  655. package/docs/components/actions/Menu.md +3 -3
  656. package/docs/components/actions/MenuTrigger.md +3 -3
  657. package/docs/components/actions/SubMenuTrigger.md +3 -3
  658. package/docs/components/actions/use-anchored-menu.md +3 -3
  659. package/docs/components/actions/use-context-menu.md +3 -3
  660. package/docs/components/content/ActiveZone.md +3 -3
  661. package/docs/components/content/Alert.md +3 -3
  662. package/docs/components/content/Avatar.md +3 -3
  663. package/docs/components/content/Card.md +3 -3
  664. package/docs/components/content/Content.md +3 -3
  665. package/docs/components/content/CopyPasteBlock.md +1 -1
  666. package/docs/components/content/CopySnippet.md +3 -3
  667. package/docs/components/content/Disclosure.md +3 -3
  668. package/docs/components/content/Divider.md +3 -3
  669. package/docs/components/content/Footer.md +3 -3
  670. package/docs/components/content/Header.md +3 -3
  671. package/docs/components/content/HotKeys.md +3 -3
  672. package/docs/components/content/InlineInput.md +3 -3
  673. package/docs/components/content/Item.md +3 -3
  674. package/docs/components/content/Layout.md +3 -3
  675. package/docs/components/content/Paragraph.md +3 -3
  676. package/docs/components/content/Placeholder.md +3 -3
  677. package/docs/components/content/Result.md +3 -3
  678. package/docs/components/content/Skeleton.md +3 -3
  679. package/docs/components/content/Title.md +3 -3
  680. package/docs/components/content/Tree.md +3 -3
  681. package/docs/components/data/DataTable.md +3 -3
  682. package/docs/components/data/ItemTable.md +3 -3
  683. package/docs/components/fields/Checkbox.md +3 -3
  684. package/docs/components/fields/ColorInput.md +3 -3
  685. package/docs/components/fields/ColorPicker.md +3 -3
  686. package/docs/components/fields/ColorSwatch.md +3 -3
  687. package/docs/components/fields/ColorSwatchGroup.md +3 -3
  688. package/docs/components/fields/ComboBox.md +3 -3
  689. package/docs/components/fields/CommandTextArea.md +3 -3
  690. package/docs/components/fields/DatePicker.md +3 -3
  691. package/docs/components/fields/FileInput.md +3 -3
  692. package/docs/components/fields/FilterListBox.md +3 -3
  693. package/docs/components/fields/FilterPicker.md +13 -3
  694. package/docs/components/fields/HueSlider.md +3 -3
  695. package/docs/components/fields/ListBox.md +3 -3
  696. package/docs/components/fields/NumberInput.md +3 -3
  697. package/docs/components/fields/PasswordInput.md +3 -3
  698. package/docs/components/fields/PeriodPicker.md +3 -3
  699. package/docs/components/fields/Picker.md +13 -3
  700. package/docs/components/fields/RadioGroup.md +3 -3
  701. package/docs/components/fields/SearchComboBox.md +3 -3
  702. package/docs/components/fields/SearchInput.md +3 -3
  703. package/docs/components/fields/Select.md +13 -3
  704. package/docs/components/fields/Slider.md +3 -3
  705. package/docs/components/fields/Switch.md +3 -3
  706. package/docs/components/fields/TextArea.md +3 -3
  707. package/docs/components/fields/TextInput.md +3 -3
  708. package/docs/components/fields/TextInputMapper.md +3 -3
  709. package/docs/components/form/Field.md +3 -3
  710. package/docs/components/form/Form.md +54 -4
  711. package/docs/components/layout/Board.md +3 -3
  712. package/docs/components/layout/Flex.md +3 -3
  713. package/docs/components/layout/Flow.md +3 -3
  714. package/docs/components/layout/Grid.md +3 -3
  715. package/docs/components/layout/Panel.md +3 -3
  716. package/docs/components/layout/Prefix.md +3 -3
  717. package/docs/components/layout/ResizablePanel.md +3 -3
  718. package/docs/components/layout/Space.md +3 -3
  719. package/docs/components/layout/Suffix.md +3 -3
  720. package/docs/components/navigation/Pagination.md +3 -3
  721. package/docs/components/navigation/Tabs.md +3 -3
  722. package/docs/components/organisms/StatsCard.md +3 -3
  723. package/docs/components/overlays/AlertDialog.md +3 -3
  724. package/docs/components/overlays/Dialog.md +2 -2
  725. package/docs/components/overlays/DialogContainer.md +2 -2
  726. package/docs/components/overlays/DialogForm.md +2 -2
  727. package/docs/components/overlays/DialogTrigger.md +2 -2
  728. package/docs/components/overlays/Tooltip.md +3 -3
  729. package/docs/components/overlays/TooltipProvider.md +3 -3
  730. package/docs/components/overlays/TooltipTrigger.md +3 -3
  731. package/docs/components/status/LoadingAnimation.md +3 -3
  732. package/docs/components/status/Spin.md +3 -3
  733. package/docs/modern-form-migration.md +104 -0
  734. package/docs/modern-form-typecheck.md +35 -0
  735. package/docs/tasty/ai-agents.md +8 -3
  736. package/docs/tasty/debug.md +2 -5
  737. package/docs/tasty/methodology.md +3 -3
  738. package/docs/tasty/pipeline.md +3 -0
  739. package/docs/tasty/runtime-benchmarks.md +105 -68
  740. package/docs/tasty/ssr.md +1 -1
  741. package/docs/tasty/styles.md +43 -11
  742. package/package.json +13 -4
@@ -77,9 +77,9 @@ Customizes the color swatch shown inside the input.
77
77
  These properties allow direct style application without using the `styles` prop:
78
78
 
79
79
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
80
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
81
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
82
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
80
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
81
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
82
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
83
83
  - **Color:** `color`, `fill`, `fade`, `image`
84
84
 
85
85
  ### Modifiers
@@ -64,9 +64,9 @@ Customizes the color swatch.
64
64
 
65
65
  These properties allow direct style application without using the `styles` prop:
66
66
 
67
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
68
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
69
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
67
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
68
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
69
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
70
70
 
71
71
  ### Modifiers
72
72
 
@@ -34,9 +34,9 @@ Customizes the swatch itself. `width` and `height` set here win over both the `s
34
34
  These properties allow direct style application without using the `styles` prop:
35
35
 
36
36
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
37
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
38
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
39
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
37
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
38
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
39
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
40
40
 
41
41
  ### Modifiers
42
42
 
@@ -47,9 +47,9 @@ Customizes an individual swatch.
47
47
 
48
48
  These properties allow direct style application without using the `styles` prop:
49
49
 
50
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
51
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
52
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
50
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
51
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
52
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
53
53
 
54
54
  ### Style Props on the group
55
55
 
@@ -128,9 +128,9 @@ Customizes section heading elements within grouped options.
128
128
  These properties allow direct style application without using the `styles` prop:
129
129
 
130
130
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
131
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
132
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
133
- - **Block:** `border`, `radius`, `shadow`, `outline`
131
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
132
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
133
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
134
134
  - **Color:** `color`, `fill`, `fade`, `image`
135
135
 
136
136
  ### Modifiers
@@ -65,9 +65,9 @@ Supports all [Field properties](../../FieldProperties.md) (`label`, `name`, `isR
65
65
  These properties allow direct style application without using the `styles` prop:
66
66
 
67
67
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
68
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
69
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
70
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
68
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
69
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
70
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
71
71
  - **Color:** `color`, `fill`, `fade`, `image`
72
72
 
73
73
  ## Examples
@@ -78,9 +78,9 @@ Customizes the calendar trigger button.
78
78
  These properties allow direct style application without using the `styles` prop:
79
79
 
80
80
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
81
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
82
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
83
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
81
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
82
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
83
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
84
84
  - **Color:** `color`, `fill`, `fade`, `image`
85
85
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
86
86
 
@@ -52,9 +52,9 @@ Customizes the root element of the component.
52
52
  These properties allow direct style application without using the `styles` prop:
53
53
 
54
54
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
55
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
56
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
57
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
55
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
56
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
57
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
58
58
  - **Color:** `color`, `fill`, `fade`, `image`
59
59
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
60
60
 
@@ -137,9 +137,9 @@ Customizes the footer area when footer prop is provided.
137
137
  These properties allow direct style application without using the `styles` prop:
138
138
 
139
139
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
140
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
141
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
142
- - **Block:** `border`, `radius`, `shadow`, `outline`
140
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
141
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
142
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
143
143
  - **Color:** `color`, `fill`, `fade`, `image`
144
144
 
145
145
  ### Modifiers
@@ -152,9 +152,9 @@ Customizes the footer area when footer prop is provided.
152
152
  These properties allow direct style application without using the `styles` prop:
153
153
 
154
154
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
155
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
156
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
157
- - **Block:** `border`, `radius`, `shadow`, `outline`
155
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
156
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
157
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
158
158
  - **Color:** `color`, `fill`, `fade`, `image`
159
159
 
160
160
  ### Modifiers
@@ -368,6 +368,16 @@ Use `actions` to add your own controls inside the trigger. They render to the le
368
368
 
369
369
  Actions follow the trigger's disabled state but not `isReadOnly` — a read-only field can still host an action that does not change the value, so pass `isDisabled` yourself for one that does. Pressing an action neither opens nor closes the popover, and works while the popover is open.
370
370
 
371
+ #### Where the trailing controls live
372
+
373
+ Your actions, the clear button and the caret share one run, rendered **outside** the trigger `<button>` and laid over its trailing end — the same layout `ItemButton` uses for a row's actions. The clear button is therefore a real sibling of the trigger rather than a `<button>` nested inside one, and the run reserves its width so nothing overlaps the label.
374
+
375
+ The caret is in that run too, and still opens the popover: the run is transparent to the pointer and only its interactive children take presses, so a press on the caret — or anywhere in the run's padding — hit-tests through to the trigger underneath.
376
+
377
+ `rightIcon` is the one thing that stays in its own slot, because it accepts a render function resolved against the trigger's modifiers and is what a caller's `RightIcon` styles target. Passing it replaces the built-in caret exactly as before; if you pass `actions` as well, they render after it.
378
+
379
+ The run is rendered whether or not it has anything in it, so the trigger's markup does not change shape as a clear button appears or a spinner replaces the caret. `rightIcon={null}` empties it — the caret moves into the `rightIcon` slot and nothing takes its place — and an empty run reserves nothing, so an icon-only trigger stays square.
380
+
371
381
  ```jsx
372
382
  const DEFAULT_KEY = 'apple';
373
383
 
@@ -68,9 +68,9 @@ Custom tokens for the thumb element (e.g., `#slider-thumb` for fill color). The
68
68
 
69
69
  These properties allow direct style application without using the `styles` prop:
70
70
 
71
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
72
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
73
- - **Block:** `border`, `radius`, `shadow`, `outline`
71
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
72
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
73
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
74
74
 
75
75
  ### Modifiers
76
76
 
@@ -104,9 +104,9 @@ Customizes the footer area when footer prop is provided.
104
104
  These properties allow direct style application without using the `styles` prop:
105
105
 
106
106
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
107
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
108
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
109
- - **Block:** `border`, `radius`, `shadow`, `outline`
107
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
108
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
109
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
110
110
  - **Color:** `color`, `fill`, `fade`, `image`
111
111
 
112
112
  ### Modifiers
@@ -71,9 +71,9 @@ Customizes the input element itself.
71
71
  These properties allow direct style application without using the `styles` prop:
72
72
 
73
73
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
74
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
75
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
76
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
74
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
75
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
76
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
77
77
  - **Color:** `color`, `fill`, `fade`, `image`
78
78
 
79
79
  ### Modifiers
@@ -63,9 +63,9 @@ Customizes the password input field specifically.
63
63
  These properties allow direct style application without using the `styles` prop:
64
64
 
65
65
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
66
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
67
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
68
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
66
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
67
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
68
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
69
69
  - **Color:** `color`, `fill`, `fade`, `image`
70
70
 
71
71
  ### Modifiers
@@ -62,9 +62,9 @@ Supports all [Field properties](../../FieldProperties.md)
62
62
  These properties allow direct style application without using the `styles` prop:
63
63
 
64
64
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
65
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
66
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
67
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
65
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
66
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
67
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
68
68
  - **Color:** `color`, `fill`, `fade`, `image`
69
69
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
70
70
 
@@ -141,9 +141,9 @@ Customizes the footer area when `footer` prop is provided.
141
141
  These properties allow direct style application without using the `styles` prop:
142
142
 
143
143
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
144
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
145
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
146
- - **Block:** `border`, `radius`, `shadow`, `outline`
144
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
145
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
146
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
147
147
  - **Color:** `color`, `fill`, `fade`, `image`
148
148
 
149
149
  ### Modifiers
@@ -396,6 +396,16 @@ Use `actions` to add your own controls inside the trigger. They render to the le
396
396
 
397
397
  Actions follow the trigger's disabled state but not `isReadOnly` — a read-only field can still host an action that does not change the value, so pass `isDisabled` yourself for one that does. Pressing an action neither opens nor closes the popover, and works while the popover is open.
398
398
 
399
+ #### Where the trailing controls live
400
+
401
+ Your actions, the clear button and the caret share one run, rendered **outside** the trigger `<button>` and laid over its trailing end — the same layout `ItemButton` uses for a row's actions. The clear button is therefore a real sibling of the trigger rather than a `<button>` nested inside one, and the run reserves its width so nothing overlaps the label.
402
+
403
+ The caret is in that run too, and still opens the popover: the run is transparent to the pointer and only its interactive children take presses, so a press on the caret — or anywhere in the run's padding — hit-tests through to the trigger underneath.
404
+
405
+ `rightIcon` is the one thing that stays in its own slot, because it accepts a render function resolved against the trigger's modifiers and is what a caller's `RightIcon` styles target. Passing it replaces the built-in caret exactly as before; if you pass `actions` as well, they render after it.
406
+
407
+ The run is rendered whether or not it has anything in it, so the trigger's markup does not change shape as a clear button appears or a spinner replaces the caret. `rightIcon={null}` empties it — the caret moves into the `rightIcon` slot and nothing takes its place — and an empty run reserves nothing, so an icon-only trigger stays square.
408
+
399
409
  ```jsx
400
410
  const DEFAULT_KEY = 'apple';
401
411
 
@@ -92,9 +92,9 @@ Customizes the radio group container specifically.
92
92
  These properties allow direct style application without using the `styles` prop:
93
93
 
94
94
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
95
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
96
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
97
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
95
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
96
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
97
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
98
98
  - **Color:** `color`, `fill`, `fade`, `image`
99
99
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
100
100
 
@@ -115,9 +115,9 @@ Customizes section heading elements within grouped suggestions.
115
115
  These properties allow direct style application without using the `styles` prop:
116
116
 
117
117
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
118
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
119
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
120
- - **Block:** `border`, `radius`, `shadow`, `outline`
118
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
119
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
120
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
121
121
  - **Color:** `color`, `fill`, `fade`, `image`
122
122
 
123
123
  ### Modifiers
@@ -66,9 +66,9 @@ Customizes the search input field specifically.
66
66
  These properties allow direct style application without using the `styles` prop:
67
67
 
68
68
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
69
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
70
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
71
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
69
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
70
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
71
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
72
72
  - **Color:** `color`, `fill`, `fade`, `image`
73
73
 
74
74
  ### Modifiers
@@ -152,9 +152,9 @@ Customizes individual option items in the dropdown.
152
152
  These properties allow direct style application without using the `styles` prop:
153
153
 
154
154
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
155
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
156
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
157
- - **Block:** `border`, `radius`, `shadow`, `outline`
155
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
156
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
157
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
158
158
  - **Color:** `color`, `fill`, `fade`, `image`
159
159
 
160
160
  ### Modifiers
@@ -304,6 +304,16 @@ Groups related options together with an optional heading.
304
304
 
305
305
  ### With Custom Actions
306
306
 
307
+ #### Where the trailing controls live
308
+
309
+ Your actions, the clear button and the caret share one run, rendered **outside** the trigger `<button>` and laid over its trailing end — the same layout `ItemButton` uses for a row's actions. The clear button is therefore a real sibling of the trigger rather than a `<button>` nested inside one, and the run reserves its width so nothing overlaps the label.
310
+
311
+ The caret is in that run too, and still opens the popover: the run is transparent to the pointer and only its interactive children take presses, so a press on the caret — or anywhere in the run's padding — hit-tests through to the trigger underneath.
312
+
313
+ `rightIcon` is the one thing that stays in its own slot, because it accepts a render function resolved against the trigger's modifiers and is what a caller's `RightIcon` styles target. Passing it replaces the built-in caret exactly as before; if you pass `actions` as well, they render after it.
314
+
315
+ The run is rendered whether or not it has anything in it, so the trigger's markup does not change shape as a clear button appears or a spinner replaces the caret. `rightIcon={null}` empties it — the caret moves into the `rightIcon` slot and nothing takes its place — and an empty run reserves nothing, so an icon-only trigger stays square.
316
+
307
317
  ```jsx
308
318
  const DEFAULT_KEY = 'blue';
309
319
 
@@ -8,9 +8,9 @@ The Slider component allows users to select a numeric value from a range by drag
8
8
 
9
9
  These properties allow direct style application without using the `styles` prop:
10
10
 
11
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
12
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
13
- - **Block:** `border`, `radius`, `shadow`, `outline`
11
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
12
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
13
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`
14
14
 
15
15
  ## Examples
16
16
 
@@ -54,9 +54,9 @@ Customizes the field wrapper element when the switch is used with labels or vali
54
54
 
55
55
  These properties allow direct style application without using the `styles` prop:
56
56
 
57
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
58
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
59
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
57
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
58
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
59
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
60
60
 
61
61
  ### Modifiers
62
62
 
@@ -19,9 +19,9 @@ The TextArea component is a multi-line text input that allows users to enter and
19
19
  These properties allow direct style application without using the `styles` prop:
20
20
 
21
21
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
22
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
23
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
24
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
22
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
23
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
24
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
25
25
  - **Color:** `color`, `fill`, `fade`, `image`
26
26
 
27
27
  ## Variants
@@ -76,9 +76,9 @@ Additional HTML props passed to the input wrapper container.
76
76
  These properties allow direct style application without using the `styles` prop:
77
77
 
78
78
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
79
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
80
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
81
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
79
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
80
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
81
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
82
82
  - **Color:** `color`, `fill`, `fade`, `image`
83
83
 
84
84
  ### Modifiers
@@ -60,9 +60,9 @@ The TextInputMapper component follows WAI-ARIA guidelines:
60
60
  These properties allow direct style application without using the `styles` prop:
61
61
 
62
62
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
63
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
64
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
65
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
63
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
64
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
65
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
66
66
  - **Color:** `color`, `fill`, `fade`, `image`
67
67
  - **Text:** `textTransform`, `fontWeight`, `fontStyle`
68
68
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
@@ -65,9 +65,9 @@ Customizes the field label specifically.
65
65
  These properties allow direct style application without using the `styles` prop:
66
66
 
67
67
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
68
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
69
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
70
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
68
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
69
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
70
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
71
71
  - **Color:** `color`, `fill`, `fade`, `image`
72
72
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
73
73
 
@@ -4,6 +4,56 @@ Forms allow users to enter data that can be submitted while providing alignment
4
4
 
5
5
  The form system is inspired by AntD Forms and [rc-field-form](https://field-form-react-component.vercel.app/) with a similar API.
6
6
 
7
+ ## Modern controller and subscriptions (migration preview)
8
+
9
+ The [per-form migration guide](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) covers backend selection, rollback, active versus retained values, async defaults, and custom controls. Its [public API examples](https://github.com/cube-js/cube-ui-kit/blob/main/typecheck/consumer/modern-form-examples.tsx) compile against the built package declarations. Existing legacy forms need no API changes when upgrading.
10
+
11
+ `Form.useForm()` and forms without an explicit modern controller continue to use the legacy backend described below. `Form.useController<T>()` creates a stable modern controller with immutable snapshots. Its initial options are captured once: changing `defaultValues` or callbacks in a later options object does not reconfigure it. Use `reset({ values })`, `setDefaultValues()`, or `adoptDefaultValues()` for later data.
12
+
13
+ ```tsx
14
+ function AmountPreview() {
15
+ const form = Form.useController({ defaultValues: { amount: 10 } });
16
+
17
+ return (
18
+ <Form form={form}>
19
+ <NumberInput name="amount" label="Amount" />
20
+ <button type="button" onClick={() => form.setValue('amount', 20)}>
21
+ Set amount
22
+ </button>
23
+ <Form.Subscribe selector={(state) => state.values.amount}>
24
+ {(amount) => <output>{String(amount)}</output>}
25
+ </Form.Subscribe>
26
+ </Form>
27
+ );
28
+ }
29
+ ```
30
+
31
+ The creator does not subscribe its owner. `Form.useSelector(form, selector, { isEqual })` subscribes the calling component; `Form.Subscribe` subscribes only its render-prop subtree. Equality defaults to `Object.is`. Selectors and equality functions must be pure. Use an `isEqual` function when returning a fresh object and equivalent results should retain their identity. Controller, selector, and equality changes are supported without stale subscriptions.
32
+
33
+ `Form.Subscribe` accepts `form`, `selector`, optional `isEqual`, and a `children(selected)` render function. Omit `form` to use the surrounding modern root; an explicit controller takes precedence, while explicit `form={undefined}` detaches and reports a missing-controller error. `Form.useControllerContext<T>()` reads a modern root explicitly. These context APIs reject legacy roots, missing roots, and `FormScopeMask`; an explicit modern controller can still be used outside a root.
34
+
35
+ Use selectors for render-time state. `getValue`, `getValues`, `getActiveValues`, `getFieldSnapshot`, and `getSnapshot` are imperative reads; `subscribe` supports imperative observers. `values` contains retained data and `activeValues` contains registered fields. Commands include `setValue`, `setValues`, `batch`, `touch`, the defaults/reset commands, and explicit field/submit error setters. String paths are literal names; tuples such as `['rows', 0, 'amount']` address nested data. `setValue` accepts `{ source, touch, notify, validate }`; programmatic changes do not touch or notify `onValuesChange` unless requested, while user changes do both by default. The creation-time `onValuesChange(values, change)` callback receives retained values and `{ names, source, kind }`.
36
+
37
+ Named UI Kit inputs bind to the modern controller automatically; `<TextInput name="email" form={form} />` also works outside a root. Inputs subscribe only to their own value, errors, and validation status. Custom controls use `useFieldProps` and `wrapWithField`; `Form.Item` stays legacy-only. Controller values and defaults win over field defaults, including explicit `undefined` and `null`. Duplicate fields share a value but receive unique accessible ids. Groups register once and keep their options detached.
38
+
39
+ `getValue` and `setValue` infer value types for known literal keys, nested tuples, and array indices without enumerating every path in the model. Unknown or dynamic paths use `unknown`; strings containing dots remain literal keys. Use an explicit `Form.useController<Model>()` model when defaults are partial or narrower than the intended values. `FormValueAtPath<Model, Path>` exports the same lookup type. The modern declaration surface requires TypeScript 5.4 or newer.
40
+
41
+ Removing a field removes it from `activeValues` immediately and retains its value by default. Use `preserve={false}` to remove its retained value after cleanup; the baseline remains available to reset. Changing a name or controller releases the old registration. Explicit `form={undefined}` detaches an input. `Form.Submit`, `Form.Reset`, and `Form.SubmitError` subscribe to modern state. Modern roots reject `defaultValues`; seed the creator or use a defaults command. Legacy wrappers such as `DialogForm` keep legacy-only types.
42
+
43
+ ### Modern validation and submission
44
+
45
+ Use `rules`, `isRequired`, `validateTrigger`, and `validationDelay` on named inputs. Modern validators receive `(rule, value, { name, signal, getValue, getValues })` and return an error message (including a ReactNode), or throw/reject; `undefined`, `null`, and an empty string mean success. The abort signal lets a validator cancel its own network work. Superseded validation settles with `stale: true` even if a validator ignores the signal, and late results cannot replace current errors.
46
+
47
+ `form.validate()` validates active fields immediately; `form.validate(['email'])` selects literal names and `form.validate([['users', 0, 'email']])` selects a nested path. `{ immediate: false }` honors field delays. `form.blur(name)` touches the field and runs an on-blur rule. No-rule fields become valid synchronously. The form is valid only when at least one field is active and every active field is valid. Existing errors stay visible during revalidation; an edit that does not revalidate clears them. `setValue` and `setValues` accept `validate: 'auto' | 'always' | 'never'`: auto revalidates on-change fields or fields showing errors. Once an on-blur field becomes valid, subsequent edits await its next blur.
48
+
49
+ `errorPolicy: 'first' | 'all'` controls rule-order errors (default `first`), on the creator or individual field. Equivalent inline rules do not restart validation: primitive rule values, RegExp source/flags, and function source text form the signature; messages do not. Supply a changing `rulesKey` when a validator captures a dependency that changes without changing its source text. The latest updated duplicate registration owns its rules and trigger.
50
+
51
+ `<Form onSubmit={save} onSubmitFailed={report} onValuesChange={changed}>` binds the current callbacks after commit. A callback changed to `undefined` falls back to the creator's initial callback. Unmount releases only that root's binding and cancels its pending submission. Use one owning root per controller; duplicate roots report a development error and the newest binding wins.
52
+
53
+ `form.submit()` validates and submits `activeValues`; `form.submit({ include: 'all' })` includes retained values deliberately. `onSubmit(values, { include, signal })` may return a promise. Concurrent submissions return `{ status: 'ignored', reason: 'submitting' }`; other results are `submitted`, `invalid` with an error map, `failed` with an error, or `stale` after cancellation. Validation failures call `onSubmitFailed` without setting `submitError`; submission failures set it. Submit start and reset clear `submitError`; ordinary edits keep it. Explicit error commands remain available. A modern root without `action` prevents navigation and routes submission to the controller. A native `action`/`method` form preserves browser submission and bypasses the controller pipeline.
54
+
55
+ For SSR, seed the controller with the same serializable `defaultValues` on server and client. Server rendering and initial hydration select the cached creation snapshot; after hydration, subscribers catch up to current client state. Prepare server data before creating the controller. Each mount owns a separate controller, and subscriptions clean up on unmount; Strict Mode effect replay does not dispose live controllers.
56
+
7
57
  ## When to Use
8
58
 
9
59
  - When collecting user information or input data
@@ -66,9 +116,9 @@ The Form component does not expose styled sub-elements via the `styles` prop. It
66
116
  These properties allow direct style application without using the `styles` prop:
67
117
 
68
118
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
69
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
70
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
71
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
119
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
120
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
121
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
72
122
  - **Color:** `color`, `fill`, `fade`, `image`
73
123
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
74
124
 
@@ -536,7 +586,7 @@ export function ConfirmDeletionDialogForm({ name, onSubmit, onDismiss }) {
536
586
  - `defaultValues` instead of `initialValues`
537
587
  - `onSubmit` can return a promise — the form and submit button show loading state until the promise resolves
538
588
  - Arrays inside form data are not supported
539
- - `preserve` property is not yet implemented
589
+ - `preserve` is supported by modern controllers; it remains unimplemented in the legacy backend
540
590
  - The `Field` component is a virtual wrapper (does not render a DOM element)
541
591
  - Nested properties are handled via field names with `.` dot notation
542
592
  - Does not support `validating` state (but validation rules can be async)
@@ -281,9 +281,9 @@ Supports [Base properties](../../BaseProperties.md).
281
281
  These properties allow direct style application without using the `styles` prop:
282
282
 
283
283
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
284
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `inset`, `position`, `scrollMargin`
285
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
286
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
284
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
285
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
286
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
287
287
  - **Color:** `color`, `fill`, `fade`, `image`
288
288
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
289
289
 
@@ -26,9 +26,9 @@ Supports [Base properties](../../BaseProperties.md).
26
26
  These properties allow direct style application without using the `styles` prop:
27
27
 
28
28
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
29
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
30
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
31
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
29
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
30
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
31
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
32
32
  - **Color:** `color`, `fill`, `fade`, `image`
33
33
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
34
34
 
@@ -26,9 +26,9 @@ Supports [Base properties](../../BaseProperties.md).
26
26
  These properties allow direct style application without using the `styles` prop:
27
27
 
28
28
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
29
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
30
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
31
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
29
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
30
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
31
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
32
32
  - **Color:** `color`, `fill`, `fade`, `image`
33
33
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
34
34
 
@@ -29,9 +29,9 @@ Supports [Base properties](../../BaseProperties.md).
29
29
  These properties allow direct style application without using the `styles` prop:
30
30
 
31
31
  - **Base:** `display`, `font`, `preset`, `hide`, `whiteSpace`, `opacity`, `transition`
32
- - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
33
- - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
34
- - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
32
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `blockMargin`, `inlineMargin`, `inset`, `blockInset`, `inlineInset`, `position`, `scrollMargin`, `blockScrollMargin`, `inlineScrollMargin`, `scrollPadding`, `blockScrollPadding`, `inlineScrollPadding`
33
+ - **Dimension:** `width`, `height`, `blockSize`, `inlineSize`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
34
+ - **Block:** `border`, `blockBorder`, `inlineBorder`, `radius`, `shadow`, `outline`, `padding`, `blockPadding`, `inlinePadding`, `overflow`, `scrollbar`, `textAlign`
35
35
  - **Color:** `color`, `fill`, `fade`, `image`
36
36
  - **Flow:** `flow`, `place`, `placeItems`, `placeContent`, `alignItems`, `alignContent`, `justifyItems`, `justifyContent`, `align`, `justify`, `gap`, `columnGap`, `rowGap`, `gridColumns`, `gridRows`, `gridTemplate`, `gridAreas`
37
37