@cube-dev/ui-kit 0.147.2 → 0.148.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 (563) hide show
  1. package/dist/CHANGELOG.md +22 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +24 -3
  14. package/dist/components/GlobalStyles.js.map +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +1 -1
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.js +1 -1
  20. package/dist/components/actions/Button/Button.js +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/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/InlineInput/InlineInput.js +1 -1
  57. package/dist/components/content/Item/Item.js +1 -1
  58. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  59. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  60. package/dist/components/content/Layout/GridLayout.js +1 -1
  61. package/dist/components/content/Layout/Layout.js +1 -1
  62. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  63. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  64. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  65. package/dist/components/content/Layout/LayoutContent.js +1 -1
  66. package/dist/components/content/Layout/LayoutContext.js +1 -1
  67. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  68. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  69. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  70. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  71. package/dist/components/content/Layout/LayoutPane.js +1 -1
  72. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  75. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  76. package/dist/components/content/Layout/index.js +1 -1
  77. package/dist/components/content/Layout/utils.js +1 -1
  78. package/dist/components/content/Paragraph.js +1 -1
  79. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  80. package/dist/components/content/PrismCode/PrismCode.d.ts +1 -0
  81. package/dist/components/content/PrismCode/PrismCode.js +2 -1
  82. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +1 -1
  88. package/dist/components/content/Text.js +1 -1
  89. package/dist/components/content/TextItem/TextItem.js +1 -1
  90. package/dist/components/content/Title.js +1 -1
  91. package/dist/components/content/Tree/Tree.js +1 -1
  92. package/dist/components/content/Tree/TreeNode.js +1 -1
  93. package/dist/components/content/Tree/styled.js +1 -1
  94. package/dist/components/content/Tree/tree-index.js +1 -1
  95. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  96. package/dist/components/content/Tree/use-load-data.js +1 -1
  97. package/dist/components/content/highlightText.js +1 -1
  98. package/dist/components/content/use-auto-tooltip.js +1 -1
  99. package/dist/components/fields/Checkbox/Checkbox.js +17 -17
  100. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  101. package/dist/components/fields/Checkbox/CheckboxGroup.js +5 -8
  102. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  103. package/dist/components/fields/Checkbox/context.js +1 -1
  104. package/dist/components/fields/ComboBox/ComboBox.d.ts +0 -2
  105. package/dist/components/fields/ComboBox/ComboBox.js +26 -23
  106. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  107. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -5
  108. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  109. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  110. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  111. package/dist/components/fields/DatePicker/DateInput.d.ts +1 -2
  112. package/dist/components/fields/DatePicker/DateInput.js +4 -7
  113. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  114. package/dist/components/fields/DatePicker/DateInputBase.js +21 -14
  115. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  116. package/dist/components/fields/DatePicker/DatePicker.d.ts +1 -2
  117. package/dist/components/fields/DatePicker/DatePicker.js +4 -7
  118. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  119. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  120. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  121. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  122. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  123. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +1 -2
  124. package/dist/components/fields/DatePicker/DateRangePicker.js +4 -7
  125. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  126. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +1 -2
  127. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +6 -8
  128. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  129. package/dist/components/fields/DatePicker/TimeInput.d.ts +1 -2
  130. package/dist/components/fields/DatePicker/TimeInput.js +4 -7
  131. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  132. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  133. package/dist/components/fields/DatePicker/props.js +1 -1
  134. package/dist/components/fields/DatePicker/utils.js +1 -1
  135. package/dist/components/fields/FileInput/FileInput.js +26 -7
  136. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  137. package/dist/components/fields/FilterListBox/FilterListBox.js +11 -11
  138. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  139. package/dist/components/fields/FilterPicker/FilterPicker.js +20 -10
  140. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  141. package/dist/components/fields/Input/Input.js +1 -1
  142. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  143. package/dist/components/fields/ListBox/ListBox.js +35 -27
  144. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  145. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  146. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  147. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  148. package/dist/components/fields/NumberInput/NumberInput.js +1 -3
  149. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  150. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  151. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -3
  152. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  153. package/dist/components/fields/Picker/Picker.js +20 -10
  154. package/dist/components/fields/Picker/Picker.js.map +1 -1
  155. package/dist/components/fields/RadioGroup/Radio.d.ts +0 -1
  156. package/dist/components/fields/RadioGroup/Radio.js +14 -8
  157. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  158. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +0 -1
  159. package/dist/components/fields/RadioGroup/RadioGroup.js +4 -7
  160. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  161. package/dist/components/fields/RadioGroup/context.js +1 -1
  162. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +0 -2
  163. package/dist/components/fields/SearchComboBox/SearchComboBox.js +21 -12
  164. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  165. package/dist/components/fields/SearchInput/SearchInput.d.ts +1 -1
  166. package/dist/components/fields/SearchInput/SearchInput.js +11 -4
  167. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  168. package/dist/components/fields/Select/Select.js +22 -22
  169. package/dist/components/fields/Select/Select.js.map +1 -1
  170. package/dist/components/fields/Slider/Gradation.js +1 -1
  171. package/dist/components/fields/Slider/HueSlider.js +1 -1
  172. package/dist/components/fields/Slider/RangeSlider.js +10 -4
  173. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  174. package/dist/components/fields/Slider/Slider.js +6 -2
  175. package/dist/components/fields/Slider/Slider.js.map +1 -1
  176. package/dist/components/fields/Slider/SliderBase.js +18 -8
  177. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  178. package/dist/components/fields/Slider/SliderThumb.js +11 -4
  179. package/dist/components/fields/Slider/SliderThumb.js.map +1 -1
  180. package/dist/components/fields/Slider/SliderTrack.js +15 -4
  181. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  182. package/dist/components/fields/Slider/elements.js +5 -1
  183. package/dist/components/fields/Slider/elements.js.map +1 -1
  184. package/dist/components/fields/Slider/index.js +1 -1
  185. package/dist/components/fields/Switch/Switch.js +11 -9
  186. package/dist/components/fields/Switch/Switch.js.map +1 -1
  187. package/dist/components/fields/TextArea/TextArea.js +1 -3
  188. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  189. package/dist/components/fields/TextInput/TextInput.js +1 -3
  190. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  191. package/dist/components/fields/TextInput/TextInputBase.js +29 -33
  192. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  193. package/dist/components/fields/TextInputMapper/TextInputMapper.d.ts +2 -0
  194. package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
  195. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  196. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +29 -2
  197. package/dist/components/form/FieldWrapper/FieldWrapper.js +11 -7
  198. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  199. package/dist/components/form/FieldWrapper/index.d.ts +1 -2
  200. package/dist/components/form/FieldWrapper/types.d.ts +2 -3
  201. package/dist/components/form/Form/Field.js +8 -5
  202. package/dist/components/form/Form/Field.js.map +1 -1
  203. package/dist/components/form/Form/Form.js +6 -4
  204. package/dist/components/form/Form/Form.js.map +1 -1
  205. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  206. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  207. package/dist/components/form/Form/SubmitError.js +1 -1
  208. package/dist/components/form/Form/index.js +1 -1
  209. package/dist/components/form/Form/use-field/types.d.ts +7 -5
  210. package/dist/components/form/Form/use-field/use-field-props.js +7 -1
  211. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  212. package/dist/components/form/Form/use-field/use-field.js +8 -6
  213. package/dist/components/form/Form/use-field/use-field.js.map +1 -1
  214. package/dist/components/form/Form/use-form.js +1 -1
  215. package/dist/components/form/Form/validation.js +1 -1
  216. package/dist/components/form/Label.d.ts +2 -3
  217. package/dist/components/form/Label.js +7 -4
  218. package/dist/components/form/Label.js.map +1 -1
  219. package/dist/components/form/index.d.ts +6 -3
  220. package/dist/components/form/validation/ValidationIndicator.d.ts +28 -0
  221. package/dist/components/form/validation/ValidationIndicator.js +37 -0
  222. package/dist/components/form/validation/ValidationIndicator.js.map +1 -0
  223. package/dist/components/form/validation/index.d.ts +4 -0
  224. package/dist/components/form/validation/resolve-validation-props.d.ts +51 -0
  225. package/dist/components/form/validation/resolve-validation-props.js +49 -0
  226. package/dist/components/form/validation/resolve-validation-props.js.map +1 -0
  227. package/dist/components/form/validation/use-validation-props.d.ts +16 -0
  228. package/dist/components/form/validation/use-validation-props.js +29 -0
  229. package/dist/components/form/validation/use-validation-props.js.map +1 -0
  230. package/dist/components/form/wrapper.d.ts +5 -1
  231. package/dist/components/form/wrapper.js +8 -3
  232. package/dist/components/form/wrapper.js.map +1 -1
  233. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  234. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  235. package/dist/components/layout/Board/Board.js +1 -1
  236. package/dist/components/layout/Board/BoardProvider.js +1 -1
  237. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  238. package/dist/components/layout/Board/Widget.js +1 -1
  239. package/dist/components/layout/Board/WidgetHost.js +1 -1
  240. package/dist/components/layout/Board/board-context.js +1 -1
  241. package/dist/components/layout/Board/board-store.js +1 -1
  242. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  243. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  244. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  245. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  246. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  247. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  248. package/dist/components/layout/Board/index.js +1 -1
  249. package/dist/components/layout/Board/responsive-utils.js +1 -1
  250. package/dist/components/layout/Board/use-board-layout.js +1 -1
  251. package/dist/components/layout/Board/use-board-registry.js +1 -1
  252. package/dist/components/layout/Flex.js +1 -1
  253. package/dist/components/layout/Flow.js +1 -1
  254. package/dist/components/layout/Grid.js +1 -1
  255. package/dist/components/layout/Panel.js +1 -1
  256. package/dist/components/layout/Prefix.js +1 -1
  257. package/dist/components/layout/ResizablePanel.js +1 -1
  258. package/dist/components/layout/Space.js +1 -1
  259. package/dist/components/layout/Suffix.js +1 -1
  260. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  261. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  262. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  263. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  264. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  265. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  266. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  267. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  268. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  269. package/dist/components/navigation/Tabs/styled.js +1 -1
  270. package/dist/components/navigation/Tabs/types.js +1 -1
  271. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  272. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  273. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  274. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  275. package/dist/components/other/Calendar/Calendar.js +1 -1
  276. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  277. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  278. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  279. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  280. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  281. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  282. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  283. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  284. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  285. package/dist/components/overlays/Dialog/DialogForm.js +4 -3
  286. package/dist/components/overlays/Dialog/DialogForm.js.map +1 -1
  287. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  288. package/dist/components/overlays/Dialog/context.js +1 -1
  289. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  290. package/dist/components/overlays/Modal/Modal.js +1 -1
  291. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  292. package/dist/components/overlays/Modal/Overlay.js +1 -1
  293. package/dist/components/overlays/Modal/Popover.js +1 -1
  294. package/dist/components/overlays/Modal/Tray.js +1 -1
  295. package/dist/components/overlays/Modal/Underlay.js +1 -1
  296. package/dist/components/overlays/Notifications/Notification.js +1 -1
  297. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  298. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  299. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  300. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  301. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  302. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  303. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  304. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  305. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  306. package/dist/components/overlays/Notifications/index.js +1 -1
  307. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  308. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  309. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  310. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  311. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  312. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  313. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  314. package/dist/components/overlays/Toast/index.js +1 -1
  315. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  316. package/dist/components/overlays/Toast/useToast.js +1 -1
  317. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  318. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  319. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  320. package/dist/components/overlays/Tooltip/context.js +1 -1
  321. package/dist/components/portal/Portal.js +1 -1
  322. package/dist/components/portal/PortalProvider.js +1 -1
  323. package/dist/components/portal/usePortal.js +1 -1
  324. package/dist/components/shared/DraggableCollection.js +1 -1
  325. package/dist/components/shared/InvalidIcon.js +1 -1
  326. package/dist/components/shared/ValidIcon.js +1 -1
  327. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  328. package/dist/components/status/Spin/Cube.js +1 -1
  329. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  330. package/dist/components/status/Spin/Spin.js +1 -1
  331. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  332. package/dist/data/item-themes.js +1 -1
  333. package/dist/data/themes.js +1 -1
  334. package/dist/i18n/I18nProvider.js +1 -1
  335. package/dist/i18n/createFormatter.js +1 -1
  336. package/dist/i18n/index.js +1 -1
  337. package/dist/i18n/instance.js +1 -1
  338. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  339. package/dist/i18n/locales/en-US/uikit.js +1 -1
  340. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  341. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  342. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  343. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  344. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  345. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  346. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  347. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  348. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  349. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  350. package/dist/i18n/locales.js +1 -1
  351. package/dist/i18n/useFormatter.js +1 -1
  352. package/dist/i18n/useI18n.js +1 -1
  353. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  354. package/dist/icons/AdjustmentsIcon.js +1 -1
  355. package/dist/icons/AiIcon.js +1 -1
  356. package/dist/icons/AreaChartIcon.js +1 -1
  357. package/dist/icons/BackwardIcon.js +1 -1
  358. package/dist/icons/BarChartIcon.js +1 -1
  359. package/dist/icons/BellFilledIcon.js +1 -1
  360. package/dist/icons/BellIcon.js +1 -1
  361. package/dist/icons/BooleanIcon.js +1 -1
  362. package/dist/icons/CalendarEditIcon.js +1 -1
  363. package/dist/icons/CalendarIcon.js +1 -1
  364. package/dist/icons/CaretDownIcon.js +1 -1
  365. package/dist/icons/CaretUpIcon.js +1 -1
  366. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  367. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  368. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  369. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  370. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  371. package/dist/icons/ChartBarLineIcon.js +1 -1
  372. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  373. package/dist/icons/ChartBarStackedIcon.js +1 -1
  374. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  375. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  376. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  377. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  378. package/dist/icons/ChartBubbleIcon.js +1 -1
  379. package/dist/icons/ChartDonut2Icon.js +1 -1
  380. package/dist/icons/ChartFunnelIcon.js +1 -1
  381. package/dist/icons/ChartHeatmapIcon.js +1 -1
  382. package/dist/icons/ChartKPIIcon.js +1 -1
  383. package/dist/icons/ChartPie2Icon.js +1 -1
  384. package/dist/icons/ChartScatterIcon.js +1 -1
  385. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  386. package/dist/icons/CheckCircleIcon.js +1 -1
  387. package/dist/icons/CheckIcon.js +1 -1
  388. package/dist/icons/CircleFilledIcon.js +1 -1
  389. package/dist/icons/ClearIcon.js +1 -1
  390. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  391. package/dist/icons/CloseCircleIcon.js +1 -1
  392. package/dist/icons/CloseIcon.js +1 -1
  393. package/dist/icons/CodeIcon.js +1 -1
  394. package/dist/icons/ColumnTotalIcon.js +1 -1
  395. package/dist/icons/CopyIcon.js +1 -1
  396. package/dist/icons/CountIcon.js +1 -1
  397. package/dist/icons/CubeIcon.js +1 -1
  398. package/dist/icons/CubePauseIcon.js +1 -1
  399. package/dist/icons/CubePlayIcon.js +1 -1
  400. package/dist/icons/CurrencyDollarIcon.js +1 -1
  401. package/dist/icons/DangerIcon.js +1 -1
  402. package/dist/icons/DashboardIcon.js +1 -1
  403. package/dist/icons/DatabaseIcon.js +1 -1
  404. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  405. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  406. package/dist/icons/DirectionIcon.js +1 -1
  407. package/dist/icons/DonutIcon.js +1 -1
  408. package/dist/icons/DownIcon.js +1 -1
  409. package/dist/icons/EditIcon.js +1 -1
  410. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  411. package/dist/icons/ExclamationCircleIcon.js +1 -1
  412. package/dist/icons/ExclamationIcon.js +1 -1
  413. package/dist/icons/EyeIcon.js +1 -1
  414. package/dist/icons/EyeInvisibleIcon.js +1 -1
  415. package/dist/icons/FilterIcon.js +1 -1
  416. package/dist/icons/FolderFilledIcon.js +1 -1
  417. package/dist/icons/FolderIcon.js +1 -1
  418. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  419. package/dist/icons/FolderOpenIcon.js +1 -1
  420. package/dist/icons/ForwardIcon.js +1 -1
  421. package/dist/icons/GripVerticalIcon.js +1 -1
  422. package/dist/icons/HierarchyIcon.js +1 -1
  423. package/dist/icons/HierarchyOpenIcon.js +1 -1
  424. package/dist/icons/Icon.js +1 -1
  425. package/dist/icons/InfoCircleIcon.js +1 -1
  426. package/dist/icons/InfoIcon.js +1 -1
  427. package/dist/icons/KeyIcon.js +1 -1
  428. package/dist/icons/LeftIcon.js +1 -1
  429. package/dist/icons/LineChartIcon.js +1 -1
  430. package/dist/icons/LoadingIcon.js +1 -1
  431. package/dist/icons/LockFilledIcon.js +1 -1
  432. package/dist/icons/LockIcon.js +1 -1
  433. package/dist/icons/MoreIcon.js +1 -1
  434. package/dist/icons/NotAllowedIcon.js +1 -1
  435. package/dist/icons/Number123Icon.js +1 -1
  436. package/dist/icons/NumberIcon.js +1 -1
  437. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  438. package/dist/icons/PauseCircleIcon.js +1 -1
  439. package/dist/icons/PauseIcon.js +1 -1
  440. package/dist/icons/PercentageIcon.js +1 -1
  441. package/dist/icons/PieChartIcon.js +1 -1
  442. package/dist/icons/PlayCircleIcon.js +1 -1
  443. package/dist/icons/PlayIcon.js +1 -1
  444. package/dist/icons/PlusIcon.js +1 -1
  445. package/dist/icons/ProgressBarIcon.js +1 -1
  446. package/dist/icons/ReloadIcon.js +1 -1
  447. package/dist/icons/ReportIcon.js +1 -1
  448. package/dist/icons/ReturnIcon.js +1 -1
  449. package/dist/icons/RightIcon.js +1 -1
  450. package/dist/icons/RowTotalsIcon.js +1 -1
  451. package/dist/icons/SchemeIcon.js +1 -1
  452. package/dist/icons/SearchIcon.js +1 -1
  453. package/dist/icons/SemanticQueryIcon.js +1 -1
  454. package/dist/icons/SettingsIcon.js +1 -1
  455. package/dist/icons/ShieldFilledIcon.js +1 -1
  456. package/dist/icons/ShieldIcon.js +1 -1
  457. package/dist/icons/SlashIcon.js +1 -1
  458. package/dist/icons/SparklesIcon.js +1 -1
  459. package/dist/icons/SqlIcon.js +1 -1
  460. package/dist/icons/StatsIcon.js +1 -1
  461. package/dist/icons/StopIcon.js +1 -1
  462. package/dist/icons/StringIcon.js +1 -1
  463. package/dist/icons/SubtotalsIcon.js +1 -1
  464. package/dist/icons/SwitchIcon.js +1 -1
  465. package/dist/icons/TableIcon.js +1 -1
  466. package/dist/icons/ThumbsDownIcon.js +1 -1
  467. package/dist/icons/ThumbsUpIcon.js +1 -1
  468. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  469. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  470. package/dist/icons/ThunderboltIcon.js +1 -1
  471. package/dist/icons/TimeIcon.js +1 -1
  472. package/dist/icons/TrashIcon.js +1 -1
  473. package/dist/icons/UnlockIcon.js +1 -1
  474. package/dist/icons/UpIcon.js +1 -1
  475. package/dist/icons/UserGroupIcon.js +1 -1
  476. package/dist/icons/UserIcon.js +1 -1
  477. package/dist/icons/UserLockIcon.js +1 -1
  478. package/dist/icons/ViewIcon.js +1 -1
  479. package/dist/icons/WarningFilledIcon.js +1 -1
  480. package/dist/icons/WarningIcon.js +1 -1
  481. package/dist/icons/wrap-icon.js +1 -1
  482. package/dist/index.d.ts +6 -4
  483. package/dist/index.js +5 -3
  484. package/dist/index.js.map +1 -1
  485. package/dist/provider.d.ts +2 -1
  486. package/dist/provider.js +6 -4
  487. package/dist/provider.js.map +1 -1
  488. package/dist/providers/TrackingProvider.js +1 -1
  489. package/dist/providers/navigationAdapter.default.js +1 -1
  490. package/dist/shared/form.d.ts +17 -4
  491. package/dist/shared/index.d.ts +1 -1
  492. package/dist/tokens/base.js +1 -1
  493. package/dist/tokens/colors.js +1 -1
  494. package/dist/tokens/index.js +1 -1
  495. package/dist/tokens/layout.js +1 -1
  496. package/dist/tokens/palette.js +1 -1
  497. package/dist/tokens/palette.js.map +1 -1
  498. package/dist/tokens/shadows.js +1 -1
  499. package/dist/tokens/sizes.js +1 -1
  500. package/dist/tokens/spacing.js +1 -1
  501. package/dist/tokens/typography.js +1 -1
  502. package/dist/utils/ResizeSensor.js +1 -1
  503. package/dist/utils/is-dev-env.js +1 -1
  504. package/dist/utils/modules.js +1 -1
  505. package/dist/utils/promise.js +1 -1
  506. package/dist/utils/raf.js +1 -1
  507. package/dist/utils/random.js +1 -1
  508. package/dist/utils/range.js +1 -1
  509. package/dist/utils/react/RenderCache.js +1 -1
  510. package/dist/utils/react/Slots.js +1 -1
  511. package/dist/utils/react/chain.js +1 -1
  512. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  513. package/dist/utils/react/index.js +1 -1
  514. package/dist/utils/react/interactions.js +1 -1
  515. package/dist/utils/react/isTextOnly.js +1 -1
  516. package/dist/utils/react/mapProps.js +1 -1
  517. package/dist/utils/react/mergeProps.js +1 -1
  518. package/dist/utils/react/nullableValue.js +1 -1
  519. package/dist/utils/react/resolveIcon.js +1 -1
  520. package/dist/utils/react/sharedStore.js +1 -1
  521. package/dist/utils/react/useCombinedRefs.js +1 -1
  522. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  523. package/dist/utils/react/useEventBus.js +1 -1
  524. package/dist/utils/react/useId.js +1 -1
  525. package/dist/utils/react/useIsDarwin.js +1 -1
  526. package/dist/utils/react/useKeySymbols.js +1 -1
  527. package/dist/utils/react/useLayoutEffect.js +1 -1
  528. package/dist/utils/react/useLocalStorage.js +1 -1
  529. package/dist/utils/react/useMergeStyles.js +1 -1
  530. package/dist/utils/react/usePopoverSync.js +1 -1
  531. package/dist/utils/react/useQaProps.js +1 -1
  532. package/dist/utils/react/useViewportSize.js +1 -1
  533. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  534. package/dist/utils/selection.js +1 -1
  535. package/dist/utils/styles.js +1 -1
  536. package/dist/utils/tree.js +1 -1
  537. package/dist/utils/warnings.js +1 -1
  538. package/dist/version.js +2 -2
  539. package/docs/FieldProperties.md +4 -2
  540. package/docs/Introduction.md +1 -1
  541. package/docs/components/content/CopySnippet.md +5 -0
  542. package/docs/components/content/PrismCode.md +2 -2
  543. package/docs/components/fields/Checkbox.md +1 -1
  544. package/docs/components/fields/CommandTextArea.md +1 -1
  545. package/docs/components/fields/DatePicker.md +1 -1
  546. package/docs/components/fields/FileInput.md +3 -1
  547. package/docs/components/fields/FilterListBox.md +2 -2
  548. package/docs/components/fields/ListBox.md +2 -2
  549. package/docs/components/fields/NumberInput.md +3 -3
  550. package/docs/components/fields/PasswordInput.md +3 -2
  551. package/docs/components/fields/Picker.md +5 -5
  552. package/docs/components/fields/SearchInput.md +5 -4
  553. package/docs/components/fields/Select.md +3 -3
  554. package/docs/components/fields/Slider.md +4 -0
  555. package/docs/components/fields/TextInput.md +3 -3
  556. package/docs/components/fields/TextInputMapper.md +5 -0
  557. package/docs/components/form/Field.md +10 -9
  558. package/docs/components/form/Form.md +3 -1
  559. package/docs/components/overlays/DialogForm.md +3 -1
  560. package/package.json +1 -1
  561. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.d.ts +0 -12
  562. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +0 -41
  563. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | 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.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.148.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.147.2";
3
+ const VERSION = "0.148.0";
4
4
  const TASTY_VERSION = "2.8.0";
5
5
  if (typeof window !== "undefined") {
6
6
  const version = VERSION;
@@ -7,7 +7,7 @@ When used inside a [Form](./components/form/Form.md), these properties are autom
7
7
  ## Identity & Form Integration
8
8
 
9
9
  - **`name`** `string` — Field name for form data binding. Required when used within a Form.
10
- - **`form`** `CubeFormInstance` — Form instance. Automatically provided when inside a Form context.
10
+ - **`form`** `CubeFormInstance` — Form instance. 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.
11
11
  - **`defaultValue`** `any` — Default value for the field in uncontrolled mode.
12
12
  - **`id`** `string` — Unique ID for the field element.
13
13
  - **`idPrefix`** `string` — ID prefix to avoid collisions between multiple forms.
@@ -35,7 +35,9 @@ When used inside a [Form](./components/form/Form.md), these properties are autom
35
35
  - **`isReadOnly`** `boolean` (default: `false`) — Whether the field can be focused but not changed.
36
36
  - **`isLoading`** `boolean` (default: `false`) — Whether to show a loading spinner and disable interactions.
37
37
  - **`isHidden`** `boolean` (default: `false`) — Whether the field is hidden.
38
- - **`validationState`** `'valid' | 'invalid'` — Visual validation state of the field.
38
+ - **`isInvalid`** `boolean` (default: `false`)Whether the field displays its invalid visual styling. Takes precedence over `isValid`.
39
+ - **`isValid`** `boolean` (default: `false`) — Whether the field displays its valid visual styling.
40
+ - **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead.
39
41
  - **`autoFocus`** `boolean` (default: `false`) — Whether the field should receive focus on render.
40
42
 
41
43
  ## Validation
@@ -93,7 +93,7 @@ All input components work seamlessly with the Form component:
93
93
 
94
94
  - **Built-in Field Support** - No wrapper components needed
95
95
  - **Automatic Validation** - Validation rules and error display
96
- - **Form-level Configuration** - Inherit settings like `labelPosition` and `validationState`
96
+ - **Form-level Configuration** - Inherit settings like `labelPosition` and `isReadOnly`
97
97
  - **Programmatic Control** - Use `Form.useForm()` for advanced form management
98
98
 
99
99
  ### Component Architecture
@@ -54,4 +54,9 @@ These properties allow direct style application without using the `styles` prop:
54
54
  language="json"
55
55
  multiline
56
56
  />
57
+
58
+ <CopySnippet
59
+ code={'<button type="button" class="primary">Save</button>'}
60
+ language="html"
61
+ />
57
62
  ```
@@ -35,11 +35,11 @@ against `#surface` in light, dark, and high-contrast schemes (AAA in HC).
35
35
  | -------------------- | -------------- | -------------------------------------------------------------- |
36
36
  | `#code-comment` | gray | comments, prolog, doctype, cdata |
37
37
  | `#code-punctuation` | muted pink | operators, punctuation |
38
- | `#code-keyword` | pink | keywords, booleans, constants, atrules (`font-weight: 500`) |
38
+ | `#code-keyword` | pink | keywords, booleans, constants, atrules, HTML/XML tag names (`font-weight: 500` on language keywords) |
39
39
  | `#code-string` | primary purple | strings, characters, attribute values, URLs |
40
40
  | `#code-number` | green | numbers, numeric entities |
41
41
  | `#code-function` | pink | functions, class names, regex, variables |
42
- | `#code-attribute` | cyan | tags, attribute names, properties, selectors, built-ins, keys |
42
+ | `#code-attribute` | cyan | attribute names, properties, selectors, built-ins, keys |
43
43
 
44
44
  Diff insertion (`+`) and deletion (`-`) intentionally re-use the existing
45
45
  `#success-*` / `#danger-*` ramps — both the line background tint and the
@@ -103,7 +103,7 @@ The `mods` property accepts the following modifiers you can override:
103
103
  ### With Validation
104
104
 
105
105
  ```jsx
106
- <Checkbox validationState="invalid" isRequired>
106
+ <Checkbox isInvalid isRequired>
107
107
  Must accept to continue
108
108
  </Checkbox>
109
109
  ```
@@ -75,7 +75,7 @@ Supports [Base properties](../../BaseProperties.md).
75
75
  ### Field Properties
76
76
 
77
77
  Supports all [Field properties](../../FieldProperties.md)
78
- (`label`, `name`, `isRequired`, `isDisabled`, `isReadOnly`, `validationState`,
78
+ (`label`, `name`, `isRequired`, `isDisabled`, `isReadOnly`, `isInvalid`,
79
79
  `description`, `rules`, etc.).
80
80
 
81
81
  ### Styling Properties
@@ -146,7 +146,7 @@ The `mods` property accepts the following modifiers you can override:
146
146
  <DatePicker
147
147
  label="Required date"
148
148
  isRequired
149
- validationState="invalid"
149
+ isInvalid
150
150
  errorMessage="Please select a date"
151
151
  />
152
152
  ```
@@ -88,11 +88,13 @@ The `mods` property accepts the following modifiers you can override:
88
88
 
89
89
  ### With Validation
90
90
 
91
+ Pass `isValid` or `isInvalid` to tint the border and show the matching state icon.
92
+
91
93
  ```jsx
92
94
  <FileInput
93
95
  label="Required document"
94
96
  isRequired
95
- validationState="invalid"
97
+ isInvalid
96
98
  errorMessage="Please select a file"
97
99
  />
98
100
  ```
@@ -138,8 +138,8 @@ These properties allow direct style application without using the `styles` prop:
138
138
 
139
139
  The `mods` property accepts the following modifiers you can override:
140
140
 
141
- - `invalid` `boolean` — Applied when `validationState="invalid"`
142
- - `valid` `boolean` — Applied when `validationState="valid"`
141
+ - `invalid` `boolean` — Applied when `isInvalid` is set
142
+ - `valid` `boolean` — Applied when `isValid` is set
143
143
  - `disabled` `boolean` — Applied when `isDisabled={true}`
144
144
  - `focused` `boolean` — Applied when the FilterListBox has focus
145
145
  - `loading` `boolean` — Applied when `isLoading={true}`
@@ -111,8 +111,8 @@ These properties allow direct style application without using the `styles` prop:
111
111
 
112
112
  The `mods` property accepts the following modifiers you can override:
113
113
 
114
- - **`invalid`** `boolean` — Applied when `validationState="invalid"`
115
- - **`valid`** `boolean` — Applied when `validationState="valid"`
114
+ - **`invalid`** `boolean` — Applied when `isInvalid` is set
115
+ - **`valid`** `boolean` — Applied when `isValid` is set
116
116
  - **`disabled`** `boolean` — Applied when `isDisabled={true}`
117
117
  - **`focused`** `boolean` — Applied when the ListBox has focus
118
118
  - **`header`** `boolean` — Applied when header prop is provided or `showSelectAll={true}`
@@ -123,7 +123,7 @@ The `mods` prop accepts the following modifiers you can override:
123
123
  ```jsx
124
124
  <NumberInput
125
125
  label="Price"
126
- validationState="invalid"
126
+ isInvalid
127
127
  errorMessage="Price must be positive"
128
128
  />
129
129
  ```
@@ -150,7 +150,7 @@ The `mods` prop accepts the following modifiers you can override:
150
150
 
151
151
  - `aria-label`, `aria-labelledby` – Accessible name for the input
152
152
  - `aria-describedby` – Links to description and error messages
153
- - `aria-invalid` – Managed automatically based on `validationState`
153
+ - `aria-invalid` – Managed automatically based on `isInvalid`
154
154
  - `aria-required` – Set when `isRequired` is true
155
155
  - Additional ARIA attributes supported by React Aria's `useNumberField`
156
156
 
@@ -168,7 +168,7 @@ The `mods` prop accepts the following modifiers you can override:
168
168
  ```
169
169
 
170
170
  3. **Accessibility**: Always provide proper labels for screen readers
171
- 4. **Validation**: Use `validationState` and `message` for user feedback
171
+ 4. **Validation**: Use `isInvalid` / `isValid` and `errorMessage` for user feedback
172
172
  5. **Performance**: Use `defaultValue` for uncontrolled inputs when possible
173
173
 
174
174
  ## Integration with Forms
@@ -112,7 +112,7 @@ The `mods` property accepts the following modifiers you can override:
112
112
  <PasswordInput
113
113
  label="New Password"
114
114
  isRequired
115
- validationState="invalid"
115
+ isInvalid
116
116
  errorMessage="Password must be at least 8 characters"
117
117
  />
118
118
  ```
@@ -189,7 +189,8 @@ The `mods` property accepts the following modifiers you can override:
189
189
  <PasswordInput
190
190
  label="New Password"
191
191
  description="8+ characters, including numbers and symbols"
192
- validationState={isValid ? "valid" : "invalid"}
192
+ isValid={isValid}
193
+ isInvalid={!isValid}
193
194
  />
194
195
  ```
195
196
 
@@ -305,7 +305,7 @@ The trigger button supports various visual styles via the `type` prop:
305
305
  Control the color scheme with the `theme` prop:
306
306
 
307
307
  - **`default`** — Standard theme (default)
308
- - **`danger`** — Red/destructive color (also applied automatically when `validationState="invalid"`)
308
+ - **`danger`** — Red/destructive color (also applied automatically when `isInvalid` is set)
309
309
 
310
310
  ### Sizes
311
311
 
@@ -515,7 +515,7 @@ Display validation states and error messages.
515
515
  placeholder="Select a fruit"
516
516
  selectionMode="single"
517
517
  isRequired
518
- validationState="invalid"
518
+ isInvalid
519
519
  message="Please select a fruit"
520
520
  >
521
521
  <Picker.Item key="apple">Apple</Picker.Item>
@@ -598,10 +598,10 @@ The following ARIA attributes are automatically managed by React Aria and do not
598
598
  >...</Picker>
599
599
  ```
600
600
 
601
- 4. **Handle validation properly**: Use `validationState` and `message` props
601
+ 4. **Handle validation properly**: Use the `isInvalid` / `isValid` and `errorMessage` props
602
602
  ```jsx
603
603
  <Picker
604
- validationState="invalid"
604
+ isInvalid
605
605
  message="Please select an option"
606
606
  >...</Picker>
607
607
  ```
@@ -767,7 +767,7 @@ function MyForm() {
767
767
  - **`defaultValue`** — Initial value (use with uncontrolled forms)
768
768
  - **`value`** — Controlled value (use with controlled forms)
769
769
  - **`isRequired`** — Marks field as required and adds visual indicator
770
- - **`validationState`** — Manual validation state control
770
+ - **`isInvalid`** / **`isValid`** — Manual validation state control
771
771
  - **`message`** — Error or help message
772
772
 
773
773
  ## Advanced Features
@@ -1,6 +1,6 @@
1
1
  # SearchInput
2
2
 
3
- A search input provides a specialized text field for search functionality, featuring a search icon and optional clear button. It's optimized for search queries and includes built-in state management for search field behavior.
3
+ A search input provides a specialized text field for search functionality, featuring a search icon and optional clear button. It's optimized for search queries and includes built-in state management for search field behavior. SearchInput does not represent a persistent value and cannot be connected to a form.
4
4
 
5
5
  ## When to Use
6
6
 
@@ -40,7 +40,7 @@ Supports [Base properties](../../BaseProperties.md)
40
40
 
41
41
  ### Field Properties
42
42
 
43
- Supports all [Field properties](../../FieldProperties.md)
43
+ Supports the layout-related [Field properties](../../FieldProperties.md) (`label`, `description`, `message`, `labelPosition`, etc.). Note that SearchInput is not form-connected: it does not accept `name`/`rules` and does not participate in form state or validation.
44
44
 
45
45
  ### Styling Properties
46
46
 
@@ -147,7 +147,7 @@ const [searchValue, setSearchValue] = useState('');
147
147
  ```jsx
148
148
  <SearchInput
149
149
  label="Search Query"
150
- validationState="invalid"
150
+ isInvalid
151
151
  errorMessage="Search query too short"
152
152
  placeholder="Enter at least 3 characters"
153
153
  />
@@ -217,7 +217,8 @@ const [searchValue, setSearchValue] = useState('');
217
217
 
218
218
  ## Integration with Forms
219
219
 
220
- This component supports all [Field properties](../../FieldProperties.md) when used within a Form.
220
+ SearchInput is not a form field. Use [TextInput](./TextInput.md) when the typed text has to be
221
+ captured as a form value.
221
222
 
222
223
  ## Suggested Improvements
223
224
 
@@ -290,7 +290,7 @@ Groups related options together with an optional heading.
290
290
  <Select
291
291
  label="Validated field"
292
292
  selectedKey="yes"
293
- validationState="valid"
293
+ isValid
294
294
  >
295
295
  <Select.Item key="yes">Yes</Select.Item>
296
296
  <Select.Item key="no">No</Select.Item>
@@ -299,7 +299,7 @@ Groups related options together with an optional heading.
299
299
  {/* Invalid state */}
300
300
  <Select
301
301
  label="Required field"
302
- validationState="invalid"
302
+ isInvalid
303
303
  errorMessage="Please select an option"
304
304
  >
305
305
  <Select.Item key="yes">Yes</Select.Item>
@@ -521,7 +521,7 @@ const groups = [
521
521
  ```jsx
522
522
  <Select
523
523
  isRequired
524
- validationState="invalid"
524
+ isInvalid
525
525
  errorMessage="Please select a shipping method"
526
526
  label="Shipping"
527
527
  >
@@ -22,6 +22,10 @@ These properties allow direct style application without using the `styles` prop:
22
22
 
23
23
  ### Vertical Orientation
24
24
 
25
+ ### Validation States
26
+
27
+ Pass `isValid` or `isInvalid` to tint the track fill and the thumb.
28
+
25
29
  ### Disabled State
26
30
 
27
31
  ## Properties
@@ -150,7 +150,7 @@ import { IconMail } from '@tabler/icons-react';
150
150
  <TextInput
151
151
  label="Username"
152
152
  isRequired
153
- validationState="invalid"
153
+ isInvalid
154
154
  message="Username must be at least 3 characters"
155
155
  />
156
156
  ```
@@ -174,7 +174,7 @@ import { IconMail } from '@tabler/icons-react';
174
174
 
175
175
  - `aria-label`, `aria-labelledby` – Accessible name for the input
176
176
  - `aria-describedby` – Links to description and error messages
177
- - `aria-invalid` – Managed automatically based on `validationState`
177
+ - `aria-invalid` – Managed automatically based on `isInvalid`
178
178
  - `aria-required` – Set when `isRequired` is true
179
179
  - Additional ARIA attributes supported by React Aria's `useTextField`
180
180
 
@@ -192,7 +192,7 @@ import { IconMail } from '@tabler/icons-react';
192
192
  ```
193
193
 
194
194
  3. **Accessibility**: Always provide proper labels for screen readers
195
- 4. **Validation**: Use `validationState` and `message` for user feedback
195
+ 4. **Validation**: Use `isInvalid` / `isValid` and `errorMessage` for user feedback
196
196
  5. **Performance**: Use `defaultValue` for uncontrolled inputs when possible
197
197
 
198
198
  ## Integration with Forms
@@ -22,6 +22,11 @@ Supports [Base properties](../../BaseProperties.md)
22
22
 
23
23
  Supports all [Field properties](../../FieldProperties.md)
24
24
 
25
+ ## Validation States
26
+
27
+ `isValid` and `isInvalid` are forwarded to every key and value input, so the whole mapping list picks up
28
+ the state.
29
+
25
30
  ## Sub-elements
26
31
 
27
32
  The TextInputMapper component is a complex compound component that doesn't expose styled sub-elements via the `styles` prop. Instead, it uses internal layout components and delegates styling to its key and value input components.
@@ -29,7 +29,9 @@ The Field component is a **legacy wrapper** for form inputs that provides field-
29
29
  - **`isDisabled`** `boolean` (default: `false`) — Whether the field is disabled
30
30
  - **`isLoading`** `boolean` (default: `false`) — Whether the field is in loading state
31
31
  - **`isHidden`** `boolean` (default: `false`) — Whether the field is hidden
32
- - **`validationState`** `undefined | 'valid' | 'invalid'` — Validation state of the field
32
+ - **`isInvalid`** `boolean` — Whether the field is invalid
33
+ - **`isValid`** `boolean` — Whether the field is valid
34
+ - **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
33
35
  - **`styles`** — Style map for the field wrapper
34
36
  - **`labelStyles`** — Style map for the field label
35
37
  - **`labelProps`** — Additional props for the label element
@@ -94,7 +96,8 @@ These properties allow direct style application without using the `styles` prop:
94
96
  - **`isLoading`** `boolean` — Whether the field is in loading state
95
97
  - **`isReadOnly`** `boolean` — Whether the field is read-only
96
98
  - **`isHidden`** `boolean` — Whether the field is hidden
97
- - **`validationState`** `'valid' | 'invalid'` — Validation state of the field
99
+ - **`isInvalid`** `boolean` — Whether the field is invalid
100
+ - **`isValid`** `boolean` — Whether the field is valid
98
101
 
99
102
  ### Advanced Properties
100
103
 
@@ -181,12 +184,13 @@ function ModernForm() {
181
184
 
182
185
  ## Creating Custom Input Components
183
186
 
184
- To create your own input component with built-in field support, use `useFieldProps` and `useFormProps`:
187
+ To create your own input component with built-in field support, use `useFieldProps`. It applies the provider
188
+ and form context for you, so it is the only hook you need:
185
189
 
186
190
  ```jsx
187
191
  import { forwardRef, useRef } from 'react';
188
192
  import { tasty } from '@tenphi/tasty';
189
- import { useFieldProps, useFormProps } from '@cube-dev/ui-kit';
193
+ import { useFieldProps } from '@cube-dev/ui-kit';
190
194
 
191
195
  // Simple styled input wrapper
192
196
  const InputElement = tasty({
@@ -213,10 +217,7 @@ const InputElement = tasty({
213
217
  });
214
218
 
215
219
  const CustomTextInput = forwardRef(function CustomTextInput(props, ref) {
216
- // Apply form context (inherits form-level properties)
217
- props = useFormProps(props);
218
-
219
- // Apply field behavior (validation, form integration, etc.)
220
+ // Apply field behavior (provider + form context, validation, form integration)
220
221
  props = useFieldProps(props, {
221
222
  defaultValidationTrigger: 'onBlur',
222
223
  valuePropsMapper: ({ value, onChange }) => ({
@@ -233,7 +234,7 @@ const CustomTextInput = forwardRef(function CustomTextInput(props, ref) {
233
234
  ref={ref}
234
235
  type="text"
235
236
  // Add ARIA attributes for accessibility
236
- aria-invalid={props.validationState === 'invalid'}
237
+ aria-invalid={props.isInvalid}
237
238
  aria-describedby={props.message ? `${props.id}-message` : undefined}
238
239
  />
239
240
  );
@@ -36,7 +36,9 @@ These properties are inherited by all input components within the form:
36
36
  - **`necessityIndicator`** `'icon' | 'label'` (default: `icon`) — Type of necessity indicator
37
37
  - **`necessityLabel`** `ReactNode` — Custom label to replace the default necessity indicator text
38
38
  - **`isReadOnly`** `boolean` (default: `false`) — Whether fields are read-only by default
39
- - **`validationState`** `'valid' | 'invalid'` — Validation state for all fields
39
+ - **`isInvalid`** `boolean` — Invalid state for all fields
40
+ - **`isValid`** `boolean` — Valid state for all fields
41
+ - **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
40
42
  - **`validateTrigger`** `'onBlur' | 'onChange' | 'onSubmit'` (default: `onBlur`) — When to trigger validation
41
43
  - **`showValid`** `boolean` (default: `false`) — Whether to show valid state indicators
42
44
 
@@ -41,7 +41,9 @@ DialogForm combines [Dialog](./Dialog.md) and [Form](../form/Form.md) functional
41
41
  - **`necessityIndicator`** `NecessityIndicator` — The type of necessity indicator
42
42
  - **`necessityLabel`** `ReactNode` — Custom necessity label
43
43
  - **`isReadOnly`** `boolean` — Whether the form is read only
44
- - **`validationState`** `ValidationState` — The validation state of the form
44
+ - **`isInvalid`** `boolean` — Invalid state for all fields in the form
45
+ - **`isValid`** `boolean` — Valid state for all fields in the form
46
+ - **`validationState`** `'valid' | 'invalid'` — _(deprecated)_ Use `isInvalid` / `isValid` instead
45
47
  - **`validateTrigger`** `ValidateTrigger` — On which event to perform validation
46
48
  - **`showValid`** `boolean` — Whether to show valid state
47
49
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.147.2",
3
+ "version": "0.148.0",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -1,12 +0,0 @@
1
-
2
- import { CubeFieldWrapperProps } from "./types.js";
3
-
4
- //#region src/components/form/FieldWrapper/extract-field-wrapper-props.d.ts
5
- type WrapperProps<Props extends CubeFieldWrapperProps> = { [K in keyof Pick<Props, keyof CubeFieldWrapperProps>]: CubeFieldWrapperProps[K] };
6
- declare function extractFieldWrapperProps<Props extends CubeFieldWrapperProps, FieldWrapperKeys extends keyof CubeFieldWrapperProps = keyof CubeFieldWrapperProps, ActualWrapperProps extends WrapperProps<Props> = WrapperProps<Props>, RestProps extends Omit<Props, FieldWrapperKeys> = Omit<Props, FieldWrapperKeys>>(props: Props): Readonly<{
7
- fieldWrapperProps: ActualWrapperProps;
8
- rest: RestProps;
9
- }>;
10
- //#endregion
11
- export { extractFieldWrapperProps };
12
- //# sourceMappingURL=extract-field-wrapper-props.d.ts.map
@@ -1,41 +0,0 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.147.2 | Cube Dev Team */
2
- //#region src/components/form/FieldWrapper/extract-field-wrapper-props.ts
3
- const createFieldWrapperPropsKeys = (arr) => new Set(arr);
4
- const fieldWrapperPropsKeys = createFieldWrapperPropsKeys([
5
- "as",
6
- "validationState",
7
- "styles",
8
- "isRequired",
9
- "isDisabled",
10
- "fieldProps",
11
- "isHidden",
12
- "label",
13
- "labelPosition",
14
- "labelSuffix",
15
- "labelStyles",
16
- "labelProps",
17
- "description",
18
- "requiredMark",
19
- "tooltip",
20
- "extra",
21
- "necessityLabel",
22
- "necessityIndicator",
23
- "message",
24
- "messageStyles",
25
- "errorMessage",
26
- "Component"
27
- ]);
28
- function extractFieldWrapperProps(props) {
29
- const fieldWrapperProps = {};
30
- const rest = {};
31
- for (const [key, prop] of Object.entries(props)) if (fieldWrapperPropsKeys.has(key)) fieldWrapperProps[key] = prop;
32
- else rest[key] = prop;
33
- return {
34
- fieldWrapperProps,
35
- rest
36
- };
37
- }
38
-
39
- //#endregion
40
- export { extractFieldWrapperProps };
41
- //# sourceMappingURL=extract-field-wrapper-props.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract-field-wrapper-props.js","names":[],"sources":["../../../../src/components/form/FieldWrapper/extract-field-wrapper-props.ts"],"sourcesContent":["import { CubeFieldWrapperProps } from './types';\n\nconst createFieldWrapperPropsKeys = <\n PropKeys = (keyof CubeFieldWrapperProps)[],\n>(\n arr: PropKeys,\n): Set<string> => new Set(arr as unknown as string[]);\n\nconst fieldWrapperPropsKeys = createFieldWrapperPropsKeys([\n 'as',\n 'validationState',\n 'styles',\n 'isRequired',\n 'isDisabled',\n 'fieldProps',\n 'isHidden',\n 'label',\n 'labelPosition',\n 'labelSuffix',\n 'labelStyles',\n 'labelProps',\n 'description',\n 'requiredMark',\n 'tooltip',\n 'extra',\n 'necessityLabel',\n 'necessityIndicator',\n 'message',\n 'messageStyles',\n 'errorMessage',\n 'Component',\n]);\n\ntype WrapperProps<Props extends CubeFieldWrapperProps> = {\n [K in keyof Pick<\n Props,\n keyof CubeFieldWrapperProps\n >]: CubeFieldWrapperProps[K];\n};\n\nexport function extractFieldWrapperProps<\n Props extends CubeFieldWrapperProps,\n FieldWrapperKeys extends\n keyof CubeFieldWrapperProps = keyof CubeFieldWrapperProps,\n ActualWrapperProps extends WrapperProps<Props> = WrapperProps<Props>,\n RestProps extends Omit<Props, FieldWrapperKeys> = Omit<\n Props,\n FieldWrapperKeys\n >,\n>(\n props: Props,\n): Readonly<{ fieldWrapperProps: ActualWrapperProps; rest: RestProps }> {\n const fieldWrapperProps = {} as ActualWrapperProps;\n const rest = {} as RestProps;\n\n for (const [key, prop] of Object.entries(props)) {\n if (fieldWrapperPropsKeys.has(key)) {\n fieldWrapperProps[key] = prop;\n } else {\n rest[key] = prop;\n }\n }\n\n return { fieldWrapperProps, rest } as const;\n}\n"],"mappings":";;AAEA,MAAM,+BAGJ,QACgB,IAAI,IAAI,IAA2B;AAErD,MAAM,wBAAwB,4BAA4B;CACxD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AASF,SAAgB,yBAUd,OACsE;CACtE,MAAM,oBAAoB,EAAE;CAC5B,MAAM,OAAO,EAAE;AAEf,MAAK,MAAM,CAAC,KAAK,SAAS,OAAO,QAAQ,MAAM,CAC7C,KAAI,sBAAsB,IAAI,IAAI,CAChC,mBAAkB,OAAO;KAEzB,MAAK,OAAO;AAIhB,QAAO;EAAE;EAAmB;EAAM"}