@cube-dev/ui-kit 0.0.0-canary-36c17b9 → 0.0.0-canary-6538ecd

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 (608) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.d.ts +0 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/actions-run.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  51. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  52. package/dist/components/content/Divider.js +1 -1
  53. package/dist/components/content/Footer.js +1 -1
  54. package/dist/components/content/Header.js +1 -1
  55. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  56. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  58. package/dist/components/content/Item/Item.js +1 -1
  59. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  60. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  61. package/dist/components/content/Layout/GridLayout.js +1 -1
  62. package/dist/components/content/Layout/Layout.js +1 -1
  63. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  64. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  65. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  66. package/dist/components/content/Layout/LayoutContent.js +1 -1
  67. package/dist/components/content/Layout/LayoutContext.js +1 -1
  68. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  69. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  70. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  71. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutPane.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  75. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  76. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  77. package/dist/components/content/Layout/index.js +1 -1
  78. package/dist/components/content/Layout/utils.js +1 -1
  79. package/dist/components/content/Paragraph.js +1 -1
  80. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  81. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  82. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  83. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  84. package/dist/components/content/Result/Result.js +1 -1
  85. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  86. package/dist/components/content/Tag/Tag.js +1 -1
  87. package/dist/components/content/Text.js +1 -1
  88. package/dist/components/content/TextItem/TextItem.js +1 -1
  89. package/dist/components/content/Title.js +1 -1
  90. package/dist/components/content/Tree/Tree.js +1 -1
  91. package/dist/components/content/Tree/TreeNode.js +1 -1
  92. package/dist/components/content/Tree/styled.js +1 -1
  93. package/dist/components/content/Tree/tree-index.js +1 -1
  94. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  95. package/dist/components/content/Tree/use-load-data.js +1 -1
  96. package/dist/components/content/highlightText.js +1 -1
  97. package/dist/components/content/use-auto-tooltip.js +1 -1
  98. package/dist/components/data/DataTable/DataTable.js +1 -1
  99. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  100. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  104. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  105. package/dist/components/data/TableBase/RowCollection.js +1 -1
  106. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  107. package/dist/components/data/TableBase/TableRow.js +1 -1
  108. package/dist/components/data/TableBase/TableView.js +1 -1
  109. package/dist/components/data/TableBase/column-menu.js +1 -1
  110. package/dist/components/data/TableBase/column-tint.js +1 -1
  111. package/dist/components/data/TableBase/row-menu.js +1 -1
  112. package/dist/components/data/TableBase/styled.d.ts +1 -2
  113. package/dist/components/data/TableBase/styled.js +1 -1
  114. package/dist/components/data/TableBase/table-tree.js +1 -1
  115. package/dist/components/data/TableBase/types.js +1 -1
  116. package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
  117. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  118. package/dist/components/data/TableBase/use-column-order.js +1 -1
  119. package/dist/components/data/TableBase/use-container-width.js +1 -1
  120. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  121. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  122. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  123. package/dist/components/data/TableBase/use-table-search.js +1 -1
  124. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  125. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  126. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  127. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  128. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  129. package/dist/components/fields/Checkbox/Checkbox.d.ts +2 -0
  130. package/dist/components/fields/Checkbox/Checkbox.js +4 -5
  131. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  132. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  133. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  134. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  135. package/dist/components/fields/Checkbox/context.js +1 -1
  136. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  137. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  138. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  139. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  140. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  141. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  142. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  143. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  144. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -1
  145. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  147. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -1
  149. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  152. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  153. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  154. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  155. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -1
  156. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  157. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  158. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -1
  159. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  161. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  162. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +1 -1
  163. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  164. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  165. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  166. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -1
  167. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  168. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  169. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  171. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  172. package/dist/components/fields/DatePicker/period.js +1 -1
  173. package/dist/components/fields/DatePicker/props.js +1 -1
  174. package/dist/components/fields/DatePicker/utils.js +1 -1
  175. package/dist/components/fields/FileInput/FileInput.d.ts +2 -0
  176. package/dist/components/fields/FileInput/FileInput.js +4 -4
  177. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  178. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  179. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  180. package/dist/components/fields/Input/Input.js +1 -1
  181. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  182. package/dist/components/fields/ListBox/ListBox.js +1 -1
  183. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  184. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
  185. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  186. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  187. package/dist/components/fields/NumberInput/NumberInput.d.ts +1 -1
  188. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  189. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  190. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  191. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  192. package/dist/components/fields/Picker/Picker.js +1 -1
  193. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  194. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +1 -1
  195. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  196. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  197. package/dist/components/fields/RadioGroup/context.js +1 -1
  198. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  199. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  200. package/dist/components/fields/Select/Select.d.ts +1 -1
  201. package/dist/components/fields/Select/Select.js +1 -1
  202. package/dist/components/fields/Select/Select.js.map +1 -1
  203. package/dist/components/fields/Slider/Gradation.js +1 -1
  204. package/dist/components/fields/Slider/HueSlider.js +1 -1
  205. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  206. package/dist/components/fields/Slider/Slider.js +1 -1
  207. package/dist/components/fields/Slider/SliderBase.js +1 -1
  208. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  209. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  210. package/dist/components/fields/Slider/elements.js +1 -1
  211. package/dist/components/fields/Slider/index.js +1 -1
  212. package/dist/components/fields/Slider/types.d.ts +1 -1
  213. package/dist/components/fields/Switch/Switch.d.ts +2 -0
  214. package/dist/components/fields/Switch/Switch.js +1 -1
  215. package/dist/components/fields/Switch/Switch.js.map +1 -1
  216. package/dist/components/fields/TextArea/TextArea.js +1 -1
  217. package/dist/components/fields/TextInput/TextInput.js +1 -1
  218. package/dist/components/fields/TextInput/TextInputBase.d.ts +1 -1
  219. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  220. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  221. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  222. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  223. package/dist/components/fields/TriggerActions.js +1 -1
  224. package/dist/components/fields/color/ColorPanel.js +1 -1
  225. package/dist/components/fields/color/channels.js +1 -1
  226. package/dist/components/fields/color/color.js +1 -1
  227. package/dist/components/fields/color/context.js +1 -1
  228. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  229. package/dist/components/form/Form/Field.d.ts +2 -0
  230. package/dist/components/form/Form/Field.js +1 -1
  231. package/dist/components/form/Form/Field.js.map +1 -1
  232. package/dist/components/form/Form/Form.js +1 -1
  233. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  234. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  235. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  236. package/dist/components/form/Form/SubmitError.js +1 -1
  237. package/dist/components/form/Form/backend.js +1 -1
  238. package/dist/components/form/Form/index.js +1 -1
  239. package/dist/components/form/Form/modern/actions.js +1 -1
  240. package/dist/components/form/Form/modern/context.d.ts +0 -1
  241. package/dist/components/form/Form/modern/context.js +1 -1
  242. package/dist/components/form/Form/modern/controller.js +1 -1
  243. package/dist/components/form/Form/modern/field-binding.js +1 -1
  244. package/dist/components/form/Form/modern/field.js +1 -1
  245. package/dist/components/form/Form/modern/react.js +1 -1
  246. package/dist/components/form/Form/modern/store.js +1 -1
  247. package/dist/components/form/Form/modern/validation.js +1 -1
  248. package/dist/components/form/Form/modern/values.js +1 -1
  249. package/dist/components/form/Form/use-field/use-field-binding.js +10 -5
  250. package/dist/components/form/Form/use-field/use-field-binding.js.map +1 -1
  251. package/dist/components/form/Form/use-field/use-field-props.d.ts +3 -1
  252. package/dist/components/form/Form/use-field/use-field-props.js +7 -3
  253. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  254. package/dist/components/form/Form/use-field/use-field.d.ts +3 -1
  255. package/dist/components/form/Form/use-field/use-field.js +1 -1
  256. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  257. package/dist/components/form/Form/use-form.js +1 -1
  258. package/dist/components/form/Form/validation.js +1 -1
  259. package/dist/components/form/Label.js +1 -1
  260. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  261. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  262. package/dist/components/form/validation/use-validation-props.js +1 -1
  263. package/dist/components/form/wrapper.js +1 -1
  264. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  265. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  266. package/dist/components/layout/Board/Board.js +1 -1
  267. package/dist/components/layout/Board/BoardProvider.js +1 -1
  268. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  269. package/dist/components/layout/Board/Widget.js +1 -1
  270. package/dist/components/layout/Board/WidgetHost.js +1 -1
  271. package/dist/components/layout/Board/board-context.js +1 -1
  272. package/dist/components/layout/Board/board-store.js +1 -1
  273. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  274. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  275. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  276. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  277. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  278. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  279. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  280. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  281. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  282. package/dist/components/layout/Board/index.js +1 -1
  283. package/dist/components/layout/Board/responsive-utils.js +1 -1
  284. package/dist/components/layout/Board/use-board-layout.js +1 -1
  285. package/dist/components/layout/Board/use-board-registry.js +1 -1
  286. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  287. package/dist/components/layout/Board/use-board-selection.js +1 -1
  288. package/dist/components/layout/Flex.js +1 -1
  289. package/dist/components/layout/Flow.js +1 -1
  290. package/dist/components/layout/Grid.js +1 -1
  291. package/dist/components/layout/Panel.js +1 -1
  292. package/dist/components/layout/Prefix.js +1 -1
  293. package/dist/components/layout/ResizablePanel.js +1 -1
  294. package/dist/components/layout/Space.js +1 -1
  295. package/dist/components/layout/Suffix.js +1 -1
  296. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  297. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  298. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  299. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  300. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  301. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  302. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  303. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  304. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  305. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  306. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  307. package/dist/components/navigation/Tabs/styled.js +1 -1
  308. package/dist/components/navigation/Tabs/types.js +1 -1
  309. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  310. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  311. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  312. package/dist/components/other/Calendar/Calendar.js +1 -1
  313. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  314. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  315. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  316. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  317. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  318. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  319. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  320. package/dist/components/other/Calendar/styled.js +1 -1
  321. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  322. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  323. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  324. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  325. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  326. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  327. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  328. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  329. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  330. package/dist/components/overlays/Dialog/context.js +1 -1
  331. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  332. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  333. package/dist/components/overlays/Modal/Modal.js +1 -1
  334. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  335. package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
  336. package/dist/components/overlays/Modal/Overlay.js +1 -1
  337. package/dist/components/overlays/Modal/Popover.js +1 -1
  338. package/dist/components/overlays/Modal/Tray.js +1 -1
  339. package/dist/components/overlays/Modal/Underlay.js +1 -1
  340. package/dist/components/overlays/Modal/types.d.ts +0 -1
  341. package/dist/components/overlays/Notifications/Notification.js +1 -1
  342. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  343. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  344. package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
  345. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  346. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  347. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  348. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  349. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  350. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  351. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  352. package/dist/components/overlays/Notifications/index.js +1 -1
  353. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  354. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  355. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  356. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  357. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  358. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  359. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  360. package/dist/components/overlays/Toast/index.js +1 -1
  361. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  362. package/dist/components/overlays/Toast/useToast.js +1 -1
  363. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  364. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  365. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  366. package/dist/components/overlays/Tooltip/context.js +1 -1
  367. package/dist/components/portal/Portal.js +1 -1
  368. package/dist/components/portal/PortalProvider.js +1 -1
  369. package/dist/components/portal/index.d.ts +0 -1
  370. package/dist/components/portal/usePortal.js +1 -1
  371. package/dist/components/shared/DraggableCollection.js +1 -1
  372. package/dist/components/shared/InvalidIcon.js +1 -1
  373. package/dist/components/shared/ValidIcon.js +1 -1
  374. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  375. package/dist/components/status/Spin/Cube.js +1 -1
  376. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  377. package/dist/components/status/Spin/Spin.js +1 -1
  378. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  379. package/dist/data/item-themes.js +1 -1
  380. package/dist/data/themes.js +1 -1
  381. package/dist/eslint-plugin/defaults.generated.js +1 -1
  382. package/dist/eslint-plugin/index.js +1 -1
  383. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  384. package/dist/i18n/I18nProvider.js +1 -1
  385. package/dist/i18n/createFormatter.js +1 -1
  386. package/dist/i18n/index.js +1 -1
  387. package/dist/i18n/instance.js +1 -1
  388. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  389. package/dist/i18n/locales/en-US/uikit.js +1 -1
  390. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  391. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  392. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  393. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  394. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  395. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  396. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  397. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  398. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  399. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  400. package/dist/i18n/locales.js +1 -1
  401. package/dist/i18n/useFormatter.js +1 -1
  402. package/dist/i18n/useI18n.js +1 -1
  403. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  404. package/dist/icons/AdjustmentsIcon.js +1 -1
  405. package/dist/icons/AiIcon.js +1 -1
  406. package/dist/icons/AreaChartIcon.js +1 -1
  407. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  408. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  409. package/dist/icons/BackwardIcon.js +1 -1
  410. package/dist/icons/BarChartIcon.js +1 -1
  411. package/dist/icons/BellFilledIcon.js +1 -1
  412. package/dist/icons/BellIcon.js +1 -1
  413. package/dist/icons/BooleanIcon.js +1 -1
  414. package/dist/icons/CalendarEditIcon.js +1 -1
  415. package/dist/icons/CalendarIcon.js +1 -1
  416. package/dist/icons/CaretDownIcon.js +1 -1
  417. package/dist/icons/CaretUpIcon.js +1 -1
  418. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  419. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  420. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  421. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  422. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  423. package/dist/icons/ChartBarLineIcon.js +1 -1
  424. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  425. package/dist/icons/ChartBarStackedIcon.js +1 -1
  426. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  427. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  428. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  429. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  430. package/dist/icons/ChartBubbleIcon.js +1 -1
  431. package/dist/icons/ChartDonut2Icon.js +1 -1
  432. package/dist/icons/ChartFunnelIcon.js +1 -1
  433. package/dist/icons/ChartHeatmapIcon.js +1 -1
  434. package/dist/icons/ChartKPIIcon.js +1 -1
  435. package/dist/icons/ChartPie2Icon.js +1 -1
  436. package/dist/icons/ChartScatterIcon.js +1 -1
  437. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  438. package/dist/icons/CheckCircleIcon.js +1 -1
  439. package/dist/icons/CheckIcon.js +1 -1
  440. package/dist/icons/CircleFilledIcon.js +1 -1
  441. package/dist/icons/ClearIcon.js +1 -1
  442. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  443. package/dist/icons/CloseCircleIcon.js +1 -1
  444. package/dist/icons/CloseIcon.js +1 -1
  445. package/dist/icons/CodeIcon.js +1 -1
  446. package/dist/icons/ColumnTotalIcon.js +1 -1
  447. package/dist/icons/CopyIcon.js +1 -1
  448. package/dist/icons/CountIcon.js +1 -1
  449. package/dist/icons/CubeIcon.js +1 -1
  450. package/dist/icons/CubePauseIcon.js +1 -1
  451. package/dist/icons/CubePlayIcon.js +1 -1
  452. package/dist/icons/CurrencyDollarIcon.js +1 -1
  453. package/dist/icons/DangerIcon.js +1 -1
  454. package/dist/icons/DashboardIcon.js +1 -1
  455. package/dist/icons/DatabaseIcon.js +1 -1
  456. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  457. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  458. package/dist/icons/DirectionIcon.js +1 -1
  459. package/dist/icons/DonutIcon.js +1 -1
  460. package/dist/icons/DownIcon.js +1 -1
  461. package/dist/icons/EditIcon.js +1 -1
  462. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  463. package/dist/icons/ExclamationCircleIcon.js +1 -1
  464. package/dist/icons/ExclamationIcon.js +1 -1
  465. package/dist/icons/EyeIcon.js +1 -1
  466. package/dist/icons/EyeInvisibleIcon.js +1 -1
  467. package/dist/icons/FilterIcon.js +1 -1
  468. package/dist/icons/FolderFilledIcon.js +1 -1
  469. package/dist/icons/FolderIcon.js +1 -1
  470. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  471. package/dist/icons/FolderOpenIcon.js +1 -1
  472. package/dist/icons/ForwardIcon.js +1 -1
  473. package/dist/icons/GripVerticalIcon.js +1 -1
  474. package/dist/icons/HierarchyIcon.js +1 -1
  475. package/dist/icons/HierarchyOpenIcon.js +1 -1
  476. package/dist/icons/Icon.js +1 -1
  477. package/dist/icons/InfoCircleIcon.js +1 -1
  478. package/dist/icons/InfoIcon.js +1 -1
  479. package/dist/icons/KeyIcon.js +1 -1
  480. package/dist/icons/LeftIcon.js +1 -1
  481. package/dist/icons/LineChartIcon.js +1 -1
  482. package/dist/icons/LoadingIcon.js +1 -1
  483. package/dist/icons/LockFilledIcon.js +1 -1
  484. package/dist/icons/LockIcon.js +1 -1
  485. package/dist/icons/MoreIcon.js +1 -1
  486. package/dist/icons/NotAllowedIcon.js +1 -1
  487. package/dist/icons/Number123Icon.js +1 -1
  488. package/dist/icons/NumberIcon.js +1 -1
  489. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  490. package/dist/icons/PauseCircleIcon.js +1 -1
  491. package/dist/icons/PauseIcon.js +1 -1
  492. package/dist/icons/PercentageIcon.js +1 -1
  493. package/dist/icons/PieChartIcon.js +1 -1
  494. package/dist/icons/PipetteIcon.js +1 -1
  495. package/dist/icons/PlayCircleIcon.js +1 -1
  496. package/dist/icons/PlayIcon.js +1 -1
  497. package/dist/icons/PlusIcon.js +1 -1
  498. package/dist/icons/ProgressBarIcon.js +1 -1
  499. package/dist/icons/ReloadIcon.js +1 -1
  500. package/dist/icons/ReportIcon.js +1 -1
  501. package/dist/icons/ReturnIcon.js +1 -1
  502. package/dist/icons/RightIcon.js +1 -1
  503. package/dist/icons/RowTotalsIcon.js +1 -1
  504. package/dist/icons/SchemeIcon.js +1 -1
  505. package/dist/icons/SearchIcon.js +1 -1
  506. package/dist/icons/SemanticQueryIcon.js +1 -1
  507. package/dist/icons/SettingsIcon.js +1 -1
  508. package/dist/icons/ShieldFilledIcon.js +1 -1
  509. package/dist/icons/ShieldIcon.js +1 -1
  510. package/dist/icons/SlashIcon.js +1 -1
  511. package/dist/icons/SparklesIcon.js +1 -1
  512. package/dist/icons/SqlIcon.js +1 -1
  513. package/dist/icons/StatsIcon.js +1 -1
  514. package/dist/icons/StopIcon.js +1 -1
  515. package/dist/icons/StringIcon.js +1 -1
  516. package/dist/icons/SubtotalsIcon.js +1 -1
  517. package/dist/icons/SwitchIcon.js +1 -1
  518. package/dist/icons/TableIcon.js +1 -1
  519. package/dist/icons/ThumbsDownIcon.js +1 -1
  520. package/dist/icons/ThumbsUpIcon.js +1 -1
  521. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  522. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  523. package/dist/icons/ThunderboltIcon.js +1 -1
  524. package/dist/icons/TimeIcon.js +1 -1
  525. package/dist/icons/TrashIcon.js +1 -1
  526. package/dist/icons/UnlockIcon.js +1 -1
  527. package/dist/icons/UpIcon.js +1 -1
  528. package/dist/icons/UserGroupIcon.js +1 -1
  529. package/dist/icons/UserIcon.js +1 -1
  530. package/dist/icons/UserLockIcon.js +1 -1
  531. package/dist/icons/ViewIcon.js +1 -1
  532. package/dist/icons/WarningFilledIcon.js +1 -1
  533. package/dist/icons/WarningIcon.js +1 -1
  534. package/dist/icons/wrap-icon.js +1 -1
  535. package/dist/index.js +1 -1
  536. package/dist/probe/canonicalize.js +1 -1
  537. package/dist/probe/css.js +1 -1
  538. package/dist/probe/index.js +1 -1
  539. package/dist/provider.js +1 -1
  540. package/dist/providers/TrackingProvider.js +1 -1
  541. package/dist/providers/navigationAdapter.default.js +1 -1
  542. package/dist/shared/form.d.ts +2 -2
  543. package/dist/tokens/all-tokens.js +1 -1
  544. package/dist/tokens/base.js +1 -1
  545. package/dist/tokens/color-seed.js +1 -1
  546. package/dist/tokens/color-theme.js +1 -1
  547. package/dist/tokens/colors.js +1 -1
  548. package/dist/tokens/layout.js +1 -1
  549. package/dist/tokens/lazy-styles.js +1 -1
  550. package/dist/tokens/legacy-color.js +1 -1
  551. package/dist/tokens/palette-config.js +1 -1
  552. package/dist/tokens/palette.js +1 -1
  553. package/dist/tokens/resolve.js +1 -1
  554. package/dist/tokens/shadows.js +1 -1
  555. package/dist/tokens/sizes.js +1 -1
  556. package/dist/tokens/spacing.js +1 -1
  557. package/dist/tokens/typography.js +1 -1
  558. package/dist/utils/ResizeSensor.js +1 -1
  559. package/dist/utils/colors.js +1 -1
  560. package/dist/utils/dotize.js +1 -1
  561. package/dist/utils/is-dev-env.js +1 -1
  562. package/dist/utils/modules.js +1 -1
  563. package/dist/utils/promise.js +1 -1
  564. package/dist/utils/raf.js +1 -1
  565. package/dist/utils/random.js +1 -1
  566. package/dist/utils/range.js +1 -1
  567. package/dist/utils/react/RenderCache.js +1 -1
  568. package/dist/utils/react/Slots.js +1 -1
  569. package/dist/utils/react/chain.js +1 -1
  570. package/dist/utils/react/disabledProps.js +1 -1
  571. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  572. package/dist/utils/react/index.js +1 -1
  573. package/dist/utils/react/interactions.js +1 -1
  574. package/dist/utils/react/isTextOnly.js +1 -1
  575. package/dist/utils/react/mapProps.js +1 -1
  576. package/dist/utils/react/mergeProps.js +1 -1
  577. package/dist/utils/react/nullableValue.js +1 -1
  578. package/dist/utils/react/resolveIcon.js +1 -1
  579. package/dist/utils/react/sharedStore.js +1 -1
  580. package/dist/utils/react/useBufferedValue.js +1 -1
  581. package/dist/utils/react/useCombinedRefs.js +1 -1
  582. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  583. package/dist/utils/react/useEventBus.js +1 -1
  584. package/dist/utils/react/useId.js +1 -1
  585. package/dist/utils/react/useIsDarwin.js +1 -1
  586. package/dist/utils/react/useKeySymbols.js +1 -1
  587. package/dist/utils/react/useLayoutEffect.js +1 -1
  588. package/dist/utils/react/useLocalStorage.js +1 -1
  589. package/dist/utils/react/useMergeStyles.js +1 -1
  590. package/dist/utils/react/usePopoverSync.js +1 -1
  591. package/dist/utils/react/useQaProps.js +1 -1
  592. package/dist/utils/react/useScheme.js +1 -1
  593. package/dist/utils/react/useViewportSize.js +1 -1
  594. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  595. package/dist/utils/selection.js +1 -1
  596. package/dist/utils/styles.js +1 -1
  597. package/dist/utils/tree.js +1 -1
  598. package/dist/utils/warnings.js +1 -1
  599. package/dist/version.js +2 -2
  600. package/docs/FieldProperties.md +5 -4
  601. package/docs/Usage.md +3 -3
  602. package/docs/components/form/Form.md +3 -1
  603. package/docs/components/form/ModernForm.md +10 -9
  604. package/docs/modern-form-guide.md +10 -9
  605. package/docs/modern-form-migration.md +1 -1
  606. package/package.json +1 -1
  607. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
  608. package/dist/components/portal/PortalProvider.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/disabledProps.ts
3
3
  /**
4
4
  * Tags where `disabled` is a real HTML attribute. Browsers refuse to dispatch
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { getDisabledElementProps, omitActivationEventProps } from "./disabledProps.js";
4
4
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { isDevEnv } from "../is-dev-env.js";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useCallback, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { EventBusContext, useEventBus } from "./useEventBus.js";
3
3
  import { useCallback, useContext, useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useSyncExternalStore } from "react";
3
3
 
4
4
  //#region src/utils/react/useScheme.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  import { isDevEnvOrTest } from "./is-dev-env.js";
3
3
 
4
4
  //#region src/utils/warnings.ts
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-36c17b9 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-6538ecd | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.0.0-canary-36c17b9";
3
+ const VERSION = "0.0.0-canary-6538ecd";
4
4
  const TASTY_VERSION = "3.9.2";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -4,12 +4,12 @@ All input components in UI Kit (`TextInput`, `Select`, `ComboBox`, `Checkbox`, `
4
4
 
5
5
  When used inside a [Form](./components/form/Form.md), these properties are automatically inherited from the form context and can be overridden at the field level.
6
6
 
7
- For modern forms, follow the [use-case guide](./components/form/ModernForm.md). Put binding and validation options on `form.field(path, options)` and presentation props on the input. The prop reference below also covers `name` bindings for shared controls and legacy forms; these are alternatives to the typed descriptor, not additional required setup.
7
+ For modern forms, follow the [use-case guide](./components/form/ModernForm.md). Bind with `name` and put validation options on the input, or choose `field={form.field(path, options)}` for model-aware type checking and validator inference. Keep presentation props on the input. These binding styles are alternatives; descriptors are not required for nested data.
8
8
 
9
9
  ## Identity & Form Integration
10
10
 
11
11
  - **`field`** `FormField<Value>` — Typed modern binding created by `form.field(path, options)`. Supports nested paths and takes precedence over `form` and `name`. Built-in bindings accept `null` and `undefined` alongside their normal model value; display fallbacks do not replace stored nulls.
12
- - **`name`** `string` — Field name for form data binding when a descriptor is not supplied.
12
+ - **`name`** `string | readonly (string | number)[]` — Field name when a descriptor is not supplied. Modern forms accept literal strings or nested tuple paths, such as `['users', 0, 'email']`. Legacy forms accept strings only and retain dot notation.
13
13
  - **`form`** `CubeFormInstance | FormController<T>` — Legacy instance or modern controller. Automatically provided when inside a Form context. Pass it explicitly to link an input to a form it is not nested in, or to override the surrounding form.
14
14
  - **`defaultValue`** `any` — Initial field value. Modern controller values/defaults take precedence, including explicit `null` and `undefined`.
15
15
  - **`preserve`** `boolean` (modern default: `true`) — Retain the value after the last input for this field unmounts.
@@ -122,14 +122,15 @@ function ExampleForm() {
122
122
  return (
123
123
  <Form form={form}>
124
124
  <TextInput
125
- field={form.field('name', { rules: [{ min: 2 }] })}
125
+ name="name"
126
+ rules={[{ min: 2 }]}
126
127
  label="Full Name"
127
128
  description="As it appears on your ID"
128
129
  isRequired
129
130
  />
130
131
 
131
132
  <Select
132
- field={form.field('role')}
133
+ name="role"
133
134
  label="Role"
134
135
  tooltip="Your primary role in the organization"
135
136
  necessityIndicator="label"
package/docs/Usage.md CHANGED
@@ -458,7 +458,7 @@ DataTable also accepts nested column definitions for already-shaped pivot result
458
458
 
459
459
  ### Modern forms
460
460
 
461
- For a new modern form, create a typed controller, put defaults on the controller, and bind inputs with descriptors:
461
+ For a new modern form, create a typed controller, put defaults on the controller, and bind inputs with `name`. Modern names accept strings and nested tuples; `field` is an optional typed binding:
462
462
 
463
463
  ```tsx
464
464
  const form = Form.useController<{ email: string | null }>({
@@ -466,7 +466,7 @@ const form = Form.useController<{ email: string | null }>({
466
466
  });
467
467
 
468
468
  <Form form={form} onSubmit={(values, { signal }) => save(values, signal)}>
469
- <TextInput field={form.field('email')} label="Email" isRequired />
469
+ <TextInput name="email" label="Email" isRequired />
470
470
  <Form.SubmitError />
471
471
  <Form.Submit>Save</Form.Submit>
472
472
  </Form>
@@ -482,4 +482,4 @@ Inputs subscribe to their own values and errors. For other reactive UI, use `For
482
482
 
483
483
  ### Shared field integration
484
484
 
485
- Built-in inputs have field support; they do not need a `Field` wrapper. Modern descriptors and legacy `name` bindings both connect through `useFieldProps`. Custom controls use that hook and `wrapWithField`. [Field Properties](./FieldProperties.md) documents shared labels, validation, state, and presentation props.
485
+ Built-in inputs have field support; they do not need a `Field` wrapper. Modern `name` and `field` bindings, and legacy string `name` bindings, connect through `useFieldProps`. Custom controls use that hook and `wrapWithField`. [Field Properties](./FieldProperties.md) documents shared labels, validation, state, and presentation props.
@@ -14,7 +14,7 @@ function EmailForm() {
14
14
 
15
15
  return (
16
16
  <Form form={form} onSubmit={(values, { signal }) => save(values, signal)}>
17
- <TextInput field={form.field('email')} label="Email" isRequired />
17
+ <TextInput name="email" label="Email" isRequired />
18
18
  <Form.SubmitError />
19
19
  <Form.Submit>Save</Form.Submit>
20
20
  </Form>
@@ -22,6 +22,8 @@ function EmailForm() {
22
22
  }
23
23
  ```
24
24
 
25
+ `name` is sufficient to bind an input. Modern forms also accept `name={['user', 'email']}` for nested data; `field={form.field(path)}` is optional and adds model-aware type checking and validator inference.
26
+
25
27
  `Form.useForm()` and roots without a modern controller keep the legacy backend. Existing forms need no API changes when upgrading. Use the [migration checklist](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) before converting one; `DialogForm` and `Form.Item` still require legacy forms.
26
28
 
27
29
  **The reference and examples below describe the legacy backend.** Its instance methods, root `defaultValues`, and dot-separated paths do not apply to modern controllers. Shared layout and field presentation props work with both backends. See [Modern Form](./ModernForm.md) for modern defaults and commands.
@@ -1,6 +1,6 @@
1
1
  # Modern Form: choose the API for the job
2
2
 
3
- For a new modern form, start with `Form.useController<Model>()`, bind inputs with `field={form.field(path)}`, and submit through `<Form onSubmit={...}>` and `<Form.Submit>`. Add subscriptions only where other UI needs to read form state. The input components already subscribe to their own values and errors.
3
+ For a new modern form, start with `Form.useController<Model>()`, bind inputs with `name="email"` or a nested tuple such as `name={['user', 'email']}`, and submit through `<Form onSubmit={...}>` and `<Form.Submit>`. Add subscriptions only where other UI needs to read form state. The input components already subscribe to their own values and errors. `field={form.field(path)}` is an optional alternative when you want model-checked paths, input value compatibility checks, or inferred custom-validator types.
4
4
 
5
5
  Existing `Form.useForm()` forms and roots without a modern controller use the legacy backend. Follow the [migration checklist](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) when converting one. `DialogForm` still requires a legacy instance; do not pass a modern controller through a cast.
6
6
 
@@ -29,13 +29,12 @@ function ProfileForm({
29
29
  return (
30
30
  <Form form={form} onSubmit={(values, { signal }) => save(values, signal)}>
31
31
  <TextInput
32
- field={form.field('email', {
33
- rules: [{ type: 'email', message: 'Enter a valid email' }],
34
- })}
32
+ name="email"
33
+ rules={[{ type: 'email', message: 'Enter a valid email' }]}
35
34
  label="Email"
36
35
  isRequired
37
36
  />
38
- <Switch field={form.field('notifications')} label="Notifications" />
37
+ <Switch name="notifications" label="Notifications" />
39
38
  <Form.SubmitError />
40
39
  <Form.Submit>Save</Form.Submit>
41
40
  <Form.Reset>Reset</Form.Reset>
@@ -52,15 +51,17 @@ The model describes possible values, including API `null`s. A text input display
52
51
 
53
52
  | Concern | Start here | Use the alternative when… |
54
53
  | --- | --- | --- |
55
- | Connect an input | `field={form.field(path, options)}` | `name="email"` keeps a shared legacy/modern wrapper working. Names are not checked against the controller's model. |
54
+ | Connect an input | `name="email"` for a literal name, or `name={['user', 'email']}` for a nested modern path | `field={form.field(path, options)}` adds model-checked paths, input value compatibility, and validator inference. Neither binding requires the other. |
56
55
  | Locate the controller | Use the controller you created, or pass it as a prop | `Form.useControllerContext<Model>()` avoids prop threading in a descendant. It reads context without subscribing. |
57
- | Configure a field | Put `rules`, `validate`, dependencies, and retention on the descriptor | Input-level registration props support reusable controls with their own defaults and legacy callers. Avoid configuring the same option in both places. |
56
+ | Configure a field | With `name`, put `rules`, dependencies, and retention on the input | With `field`, put these options and typed `validate` on the descriptor. Avoid configuring the same option in both places. |
58
57
  | Present a field | Input props such as `label`, `description`, `isRequired` | `rules: [{ required: true }]` is useful when required validation needs a custom message or no visible required marker. |
59
58
  | Handle submit/change/failure | Callbacks on the owning `<Form>` | Hook callbacks let a controller own behavior independently of a root, or provide defaults to a wrapper. Choose one location per callback. |
60
59
  | Initialize values | Controller `defaultValues` | Field `defaultValue` supplies a fallback for a reusable field missing from the controller's data. |
61
60
 
62
61
  `Form.Submit`, `Form.Reset`, and `Form.SubmitError` are aliases of the exported `SubmitButton`, `ResetButton`, and `SubmitError` components. This guide uses the `Form.*` names consistently; importing a standalone name does not select a different implementation.
63
62
 
63
+ `name` uses the surrounding form, or an explicit `form={form}` outside it. Tuple names accept string and numeric segments and readonly arrays; inline tuples do not need memoization. Names are not checked against the surrounding controller's model because React context cannot infer its type. Tuple names require a modern controller; legacy forms retain string names and dot notation.
64
+
64
65
  A descriptor is pure configuration, so creating it inline is expected. It neither reads state nor registers a field; the mounted input registers after commit. It supplies the controller and path even outside the root, so adding `form` or `name` to the same input is unnecessary. If both are present, the descriptor wins. Descriptor options override only matching options they supply. In particular, descriptor `rules` or `validate` replaces input-level `rules`; put built-in rules and a custom validator together on the descriptor to run both.
65
66
 
66
67
  Controller values and defaults take precedence over field defaults, including explicit `null` and `undefined`. Root callbacks override the corresponding hook callback while mounted; omitted or undefined root callbacks fall back to the hook callback. Business callbacks update after every committed render. Defaults, `errorPolicy`, and diagnostic handlers are creation options; update values through commands and override error policy per field when needed.
@@ -171,7 +172,7 @@ Use `setValue(path, value)` for one path and `setValues(partial)` for several to
171
172
  | Validation case | Start here |
172
173
  | --- | --- |
173
174
  | Required field with a visible marker | Input `isRequired`; it adds required validation too. |
174
- | Email, length, range, pattern, or enum | Descriptor `rules` using the built-in constraints. |
175
+ | Email, length, range, pattern, or enum | Input `rules` using the built-in constraints, or descriptor `rules` when using `field`. |
175
176
  | Custom domain check | Descriptor `validate(value, context)` for an inferred field value and checked reads. |
176
177
  | Several custom rules or existing shared rule objects | `rules: [{ validator(rule, value, context) { ... } }]`; use `ModernValidationRule` for strict modern rule typing. |
177
178
  | Validation depends on another form value | `dependsOn: ['password']`, or nested tuples such as `dependsOn: [['account', 'password']]`. |
@@ -235,7 +236,7 @@ Unmounting the last input at a path removes it from `activeValues` immediately a
235
236
 
236
237
  For a wizard, validate a step before unmounting it and choose `submitValues="all"` if previous steps belong in the final payload. That does not revalidate unmounted steps. If final submission must validate every step against the latest data, keep the relevant inputs mounted or perform whole-payload validation explicitly. A form with no active fields is invalid.
237
238
 
238
- Bind nested leaves with tuples: `field={form.field(['rows', index, 'email'])}`. A string such as `'user.email'` is one literal key, not dot notation. Numeric indices and numeric string segments address the same path. Removing an array path does not shift the other indices. Registering a parent object makes its complete value active; register leaf paths when only selected children belong in the active payload. Known literal paths are typechecked; widened dynamic paths are supported. The declaration surface requires TypeScript 5.4 or newer.
239
+ Bind nested leaves directly with `name={['rows', index, 'email']}`. The optional typed equivalent is `field={form.field(['rows', index, 'email'])}`. A string such as `'user.email'` is one literal key, not dot notation. Numeric indices and numeric string segments address the same path. Removing an array path does not shift the other indices. Registering a parent object makes its complete value active; register leaf paths when only selected children belong in the active payload. Descriptor and controller-command literal paths are checked against the model; `name` accepts dynamic paths without those checks. The declaration surface requires TypeScript 5.4 or newer.
239
240
 
240
241
  `getValues()` / `state.values` contains all retained data; `getActiveValues()` / `state.activeValues` contains registered paths. Dirty/touched metadata includes retained fields, while validity concerns active fields.
241
242
 
@@ -1,6 +1,6 @@
1
1
  # Modern Form: choose the API for the job
2
2
 
3
- For a new modern form, start with `Form.useController<Model>()`, bind inputs with `field={form.field(path)}`, and submit through `<Form onSubmit={...}>` and `<Form.Submit>`. Add subscriptions only where other UI needs to read form state. The input components already subscribe to their own values and errors.
3
+ For a new modern form, start with `Form.useController<Model>()`, bind inputs with `name="email"` or a nested tuple such as `name={['user', 'email']}`, and submit through `<Form onSubmit={...}>` and `<Form.Submit>`. Add subscriptions only where other UI needs to read form state. The input components already subscribe to their own values and errors. `field={form.field(path)}` is an optional alternative when you want model-checked paths, input value compatibility checks, or inferred custom-validator types.
4
4
 
5
5
  Existing `Form.useForm()` forms and roots without a modern controller use the legacy backend. Follow the [migration checklist](https://github.com/cube-js/cube-ui-kit/blob/main/docs/modern-form-migration.md) when converting one. `DialogForm` still requires a legacy instance; do not pass a modern controller through a cast.
6
6
 
@@ -29,13 +29,12 @@ function ProfileForm({
29
29
  return (
30
30
  <Form form={form} onSubmit={(values, { signal }) => save(values, signal)}>
31
31
  <TextInput
32
- field={form.field('email', {
33
- rules: [{ type: 'email', message: 'Enter a valid email' }],
34
- })}
32
+ name="email"
33
+ rules={[{ type: 'email', message: 'Enter a valid email' }]}
35
34
  label="Email"
36
35
  isRequired
37
36
  />
38
- <Switch field={form.field('notifications')} label="Notifications" />
37
+ <Switch name="notifications" label="Notifications" />
39
38
  <Form.SubmitError />
40
39
  <Form.Submit>Save</Form.Submit>
41
40
  <Form.Reset>Reset</Form.Reset>
@@ -52,15 +51,17 @@ The model describes possible values, including API `null`s. A text input display
52
51
 
53
52
  | Concern | Start here | Use the alternative when… |
54
53
  | --- | --- | --- |
55
- | Connect an input | `field={form.field(path, options)}` | `name="email"` keeps a shared legacy/modern wrapper working. Names are not checked against the controller's model. |
54
+ | Connect an input | `name="email"` for a literal name, or `name={['user', 'email']}` for a nested modern path | `field={form.field(path, options)}` adds model-checked paths, input value compatibility, and validator inference. Neither binding requires the other. |
56
55
  | Locate the controller | Use the controller you created, or pass it as a prop | `Form.useControllerContext<Model>()` avoids prop threading in a descendant. It reads context without subscribing. |
57
- | Configure a field | Put `rules`, `validate`, dependencies, and retention on the descriptor | Input-level registration props support reusable controls with their own defaults and legacy callers. Avoid configuring the same option in both places. |
56
+ | Configure a field | With `name`, put `rules`, dependencies, and retention on the input | With `field`, put these options and typed `validate` on the descriptor. Avoid configuring the same option in both places. |
58
57
  | Present a field | Input props such as `label`, `description`, `isRequired` | `rules: [{ required: true }]` is useful when required validation needs a custom message or no visible required marker. |
59
58
  | Handle submit/change/failure | Callbacks on the owning `<Form>` | Hook callbacks let a controller own behavior independently of a root, or provide defaults to a wrapper. Choose one location per callback. |
60
59
  | Initialize values | Controller `defaultValues` | Field `defaultValue` supplies a fallback for a reusable field missing from the controller's data. |
61
60
 
62
61
  `Form.Submit`, `Form.Reset`, and `Form.SubmitError` are aliases of the exported `SubmitButton`, `ResetButton`, and `SubmitError` components. This guide uses the `Form.*` names consistently; importing a standalone name does not select a different implementation.
63
62
 
63
+ `name` uses the surrounding form, or an explicit `form={form}` outside it. Tuple names accept string and numeric segments and readonly arrays; inline tuples do not need memoization. Names are not checked against the surrounding controller's model because React context cannot infer its type. Tuple names require a modern controller; legacy forms retain string names and dot notation.
64
+
64
65
  A descriptor is pure configuration, so creating it inline is expected. It neither reads state nor registers a field; the mounted input registers after commit. It supplies the controller and path even outside the root, so adding `form` or `name` to the same input is unnecessary. If both are present, the descriptor wins. Descriptor options override only matching options they supply. In particular, descriptor `rules` or `validate` replaces input-level `rules`; put built-in rules and a custom validator together on the descriptor to run both.
65
66
 
66
67
  Controller values and defaults take precedence over field defaults, including explicit `null` and `undefined`. Root callbacks override the corresponding hook callback while mounted; omitted or undefined root callbacks fall back to the hook callback. Business callbacks update after every committed render. Defaults, `errorPolicy`, and diagnostic handlers are creation options; update values through commands and override error policy per field when needed.
@@ -171,7 +172,7 @@ Use `setValue(path, value)` for one path and `setValues(partial)` for several to
171
172
  | Validation case | Start here |
172
173
  | --- | --- |
173
174
  | Required field with a visible marker | Input `isRequired`; it adds required validation too. |
174
- | Email, length, range, pattern, or enum | Descriptor `rules` using the built-in constraints. |
175
+ | Email, length, range, pattern, or enum | Input `rules` using the built-in constraints, or descriptor `rules` when using `field`. |
175
176
  | Custom domain check | Descriptor `validate(value, context)` for an inferred field value and checked reads. |
176
177
  | Several custom rules or existing shared rule objects | `rules: [{ validator(rule, value, context) { ... } }]`; use `ModernValidationRule` for strict modern rule typing. |
177
178
  | Validation depends on another form value | `dependsOn: ['password']`, or nested tuples such as `dependsOn: [['account', 'password']]`. |
@@ -235,7 +236,7 @@ Unmounting the last input at a path removes it from `activeValues` immediately a
235
236
 
236
237
  For a wizard, validate a step before unmounting it and choose `submitValues="all"` if previous steps belong in the final payload. That does not revalidate unmounted steps. If final submission must validate every step against the latest data, keep the relevant inputs mounted or perform whole-payload validation explicitly. A form with no active fields is invalid.
237
238
 
238
- Bind nested leaves with tuples: `field={form.field(['rows', index, 'email'])}`. A string such as `'user.email'` is one literal key, not dot notation. Numeric indices and numeric string segments address the same path. Removing an array path does not shift the other indices. Registering a parent object makes its complete value active; register leaf paths when only selected children belong in the active payload. Known literal paths are typechecked; widened dynamic paths are supported. The declaration surface requires TypeScript 5.4 or newer.
239
+ Bind nested leaves directly with `name={['rows', index, 'email']}`. The optional typed equivalent is `field={form.field(['rows', index, 'email'])}`. A string such as `'user.email'` is one literal key, not dot notation. Numeric indices and numeric string segments address the same path. Removing an array path does not shift the other indices. Registering a parent object makes its complete value active; register leaf paths when only selected children belong in the active payload. Descriptor and controller-command literal paths are checked against the model; `name` accepts dynamic paths without those checks. The declaration surface requires TypeScript 5.4 or newer.
239
240
 
240
241
  `getValues()` / `state.values` contains all retained data; `getActiveValues()` / `state.activeValues` contains registered paths. Dirty/touched metadata includes retained fields, while validity concerns active fields.
241
242
 
@@ -39,7 +39,7 @@ The [Modern Form guide](modern-form-guide.md) is the reference for implementing
39
39
 
40
40
  | Area | Migration decision |
41
41
  | --- | --- |
42
- | Field bindings and paths | Prefer `field={form.field(path, options)}`. Strings are literal keys; convert legacy dot notation to tuples for nested data. Do not configure the same binding through `field`, `name`, and `form`. |
42
+ | Field bindings and paths | Use `name={path}` for ordinary binding or `field={form.field(path, options)}` for model-aware type checking. Strings are literal keys; convert legacy dot notation to tuple names for nested data. Do not configure the same binding through `field`, `name`, and `form`. |
43
43
  | Empty API values | Include `null` in the model where the API returns it. Built-in typed bindings display an empty state without rewriting the stored null. |
44
44
  | Render-time reads | Use `useValue`, `useFieldState`, or selectors. Imperative getters and the controller creator do not subscribe React. |
45
45
  | Late defaults | Defaults initialize once. Choose adoption to preserve edits, reset for a new editing session, or baseline-only updates deliberately. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-36c17b9",
3
+ "version": "0.0.0-canary-6538ecd",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -1,2 +0,0 @@
1
-
2
- import React, { RefObject } from "react";
@@ -1,2 +0,0 @@
1
-
2
- import { RefObject } from "react";