@cube-dev/ui-kit 0.0.0-canary-d4796d7 → 0.0.0-canary-759f43d

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 (602) 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.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  20. package/dist/components/actions/ButtonSplit/context.js +1 -1
  21. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  22. package/dist/components/actions/CommandMenu/styled.js +1 -1
  23. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  24. package/dist/components/actions/ItemActionContext.js +1 -1
  25. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuCollectionItem.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.d.ts +30 -30
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +1 -1
  60. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  61. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  62. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  78. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  79. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  80. package/dist/components/content/Layout/index.js +1 -1
  81. package/dist/components/content/Layout/utils.js +1 -1
  82. package/dist/components/content/Paragraph.js +1 -1
  83. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  84. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  85. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  86. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  87. package/dist/components/content/Result/Result.js +1 -1
  88. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  89. package/dist/components/content/Tag/Tag.js +1 -1
  90. package/dist/components/content/Text.d.ts +28 -28
  91. package/dist/components/content/Text.js +1 -1
  92. package/dist/components/content/TextItem/TextItem.js +1 -1
  93. package/dist/components/content/Title.js +1 -1
  94. package/dist/components/content/Tree/Tree.js +1 -1
  95. package/dist/components/content/Tree/TreeNode.js +1 -2
  96. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +1 -1
  103. package/dist/components/data/DataTable/DataTable.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -2
  109. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  110. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  111. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  112. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  113. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  114. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  115. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  116. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  117. package/dist/components/data/TableBase/RowCollection.js +1 -1
  118. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  119. package/dist/components/data/TableBase/TableRow.js +1 -1
  120. package/dist/components/data/TableBase/TableView.js +1 -3
  121. package/dist/components/data/TableBase/TableView.js.map +1 -1
  122. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  123. package/dist/components/data/TableBase/column-header.js +1 -1
  124. package/dist/components/data/TableBase/column-menu.js +1 -1
  125. package/dist/components/data/TableBase/column-styles.js +1 -1
  126. package/dist/components/data/TableBase/column-tint.js +1 -1
  127. package/dist/components/data/TableBase/row-menu.js +1 -1
  128. package/dist/components/data/TableBase/styled.js +1 -1
  129. package/dist/components/data/TableBase/table-tree.js +1 -1
  130. package/dist/components/data/TableBase/types.js +1 -1
  131. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  132. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  133. package/dist/components/data/TableBase/use-column-order.js +1 -1
  134. package/dist/components/data/TableBase/use-column-window.js +1 -1
  135. package/dist/components/data/TableBase/use-container-width.js +1 -1
  136. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  137. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  138. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  139. package/dist/components/data/TableBase/use-table-search.js +1 -1
  140. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  141. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  142. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  143. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  144. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  145. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  146. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  147. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  148. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  149. package/dist/components/fields/Checkbox/context.js +1 -1
  150. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  151. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -3
  152. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  153. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  154. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -2
  155. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  156. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  157. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  158. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  159. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  160. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  161. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  162. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  163. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  164. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  165. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  166. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  167. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  168. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  169. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  171. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  172. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  173. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  175. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  176. package/dist/components/fields/DatePicker/period.js +1 -1
  177. package/dist/components/fields/DatePicker/props.js +1 -1
  178. package/dist/components/fields/DatePicker/utils.js +1 -1
  179. package/dist/components/fields/FileInput/FileInput.js +1 -1
  180. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -2
  181. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  182. package/dist/components/fields/FilterPicker/FilterPicker.js +6 -15
  183. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  184. package/dist/components/fields/Input/Input.js +1 -1
  185. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  186. package/dist/components/fields/ListBox/ListBox.js +5 -7
  187. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  188. package/dist/components/fields/ListBox/optionId.js +1 -1
  189. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -2
  190. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  191. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  192. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  193. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  194. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  195. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  196. package/dist/components/fields/Picker/Picker.js +6 -15
  197. package/dist/components/fields/Picker/Picker.js.map +1 -1
  198. package/dist/components/fields/RadioGroup/Radio.d.ts +32 -32
  199. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  200. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  201. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  202. package/dist/components/fields/RadioGroup/context.js +1 -1
  203. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -1
  204. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  205. package/dist/components/fields/SearchInput/SearchInput.js +6 -1
  206. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  207. package/dist/components/fields/Select/Select.js +1 -1
  208. package/dist/components/fields/Slider/Gradation.js +1 -1
  209. package/dist/components/fields/Slider/HueSlider.js +1 -1
  210. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  211. package/dist/components/fields/Slider/Slider.js +1 -1
  212. package/dist/components/fields/Slider/SliderBase.js +1 -1
  213. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  214. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  215. package/dist/components/fields/Slider/elements.js +1 -1
  216. package/dist/components/fields/Slider/index.js +1 -1
  217. package/dist/components/fields/Switch/Switch.js +1 -1
  218. package/dist/components/fields/TagInput/TagInput.js +1 -2
  219. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  220. package/dist/components/fields/TagInput/TagList.js +1 -1
  221. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  222. package/dist/components/fields/TagInput/useTagError.js +1 -1
  223. package/dist/components/fields/TextArea/TextArea.js +1 -1
  224. package/dist/components/fields/TextInput/TextInput.js +1 -1
  225. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  226. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  227. package/dist/components/fields/TextInputMapper/TextInputMapper.js +16 -19
  228. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  229. package/dist/components/fields/TriggerActions.js +1 -1
  230. package/dist/components/fields/color/ColorPanel.js +1 -3
  231. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  232. package/dist/components/fields/color/channels.js +1 -1
  233. package/dist/components/fields/color/color.js +1 -1
  234. package/dist/components/fields/color/context.js +1 -1
  235. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +8 -10
  236. package/dist/components/form/FieldWrapper/FieldWrapper.js +159 -214
  237. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  238. package/dist/components/form/FieldWrapper/field-description.js +3 -3
  239. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  240. package/dist/components/form/FieldWrapper/types.d.ts +3 -4
  241. package/dist/components/form/Form/Field.js +1 -1
  242. package/dist/components/form/Form/Form.js +1 -1
  243. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  244. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  245. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  246. package/dist/components/form/Form/SubmitError.js +1 -1
  247. package/dist/components/form/Form/backend.js +1 -1
  248. package/dist/components/form/Form/index.js +1 -1
  249. package/dist/components/form/Form/modern/actions.js +1 -1
  250. package/dist/components/form/Form/modern/context.js +1 -1
  251. package/dist/components/form/Form/modern/controller.js +1 -1
  252. package/dist/components/form/Form/modern/field-binding.js +1 -1
  253. package/dist/components/form/Form/modern/field.js +1 -1
  254. package/dist/components/form/Form/modern/react.js +1 -1
  255. package/dist/components/form/Form/modern/store.js +1 -1
  256. package/dist/components/form/Form/modern/validation.js +1 -1
  257. package/dist/components/form/Form/modern/values.js +1 -1
  258. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  259. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  260. package/dist/components/form/Form/use-field/use-field-props.js +33 -21
  261. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  262. package/dist/components/form/Form/use-field/use-field.js +1 -1
  263. package/dist/components/form/Form/use-form.js +1 -1
  264. package/dist/components/form/Form/validation.js +1 -1
  265. package/dist/components/form/Label.js +1 -1
  266. package/dist/components/form/field-chrome.js +34 -4
  267. package/dist/components/form/field-chrome.js.map +1 -1
  268. package/dist/components/form/legacy-tooltip.js +1 -1
  269. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  270. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  271. package/dist/components/form/validation/use-validation-props.js +1 -1
  272. package/dist/components/form/wrapper.d.ts +17 -6
  273. package/dist/components/form/wrapper.js +14 -6
  274. package/dist/components/form/wrapper.js.map +1 -1
  275. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  276. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  277. package/dist/components/layout/Flex.js +1 -1
  278. package/dist/components/layout/Flow.js +1 -1
  279. package/dist/components/layout/Grid.js +1 -1
  280. package/dist/components/layout/Panel.js +1 -1
  281. package/dist/components/layout/Prefix.js +1 -1
  282. package/dist/components/layout/ResizablePanel.js +1 -1
  283. package/dist/components/layout/Space.js +1 -1
  284. package/dist/components/layout/Suffix.js +1 -1
  285. package/dist/components/navigation/Pagination/Pagination.js +1 -3
  286. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  287. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  288. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  289. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  290. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  291. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  292. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  293. package/dist/components/navigation/Tabs/TabPicker.js +1 -2
  294. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  295. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  296. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  297. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  298. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  299. package/dist/components/navigation/Tabs/styled.js +1 -1
  300. package/dist/components/navigation/Tabs/types.js +1 -1
  301. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  302. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  303. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  304. package/dist/components/other/Calendar/Calendar.js +1 -1
  305. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  306. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  307. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  308. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  309. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  310. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  311. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  312. package/dist/components/other/Calendar/styled.js +1 -1
  313. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  314. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  315. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  316. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  317. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  318. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  319. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  320. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  321. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  322. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  323. package/dist/components/overlays/Dialog/context.js +1 -1
  324. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  325. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  326. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  327. package/dist/components/overlays/Modal/Modal.js +1 -1
  328. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  329. package/dist/components/overlays/Modal/Overlay.js +1 -1
  330. package/dist/components/overlays/Modal/Popover.js +1 -1
  331. package/dist/components/overlays/Modal/Tray.js +1 -1
  332. package/dist/components/overlays/Modal/Underlay.js +1 -1
  333. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  334. package/dist/components/overlays/Notifications/Notification.js +1 -1
  335. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  336. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  337. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  338. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  339. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  340. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  341. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  342. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  343. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  344. package/dist/components/overlays/Notifications/index.js +1 -1
  345. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  346. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  347. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  348. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  349. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  350. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  351. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  352. package/dist/components/overlays/Toast/index.js +1 -1
  353. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  354. package/dist/components/overlays/Toast/useToast.js +1 -1
  355. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  356. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  357. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  358. package/dist/components/overlays/Tooltip/context.js +1 -1
  359. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  360. package/dist/components/portal/Portal.js +1 -1
  361. package/dist/components/portal/PortalProvider.js +1 -1
  362. package/dist/components/portal/usePortal.js +1 -1
  363. package/dist/components/shared/DraggableCollection.js +1 -1
  364. package/dist/components/shared/InvalidIcon.js +1 -1
  365. package/dist/components/shared/ValidIcon.js +1 -1
  366. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  367. package/dist/components/status/Spin/Cube.js +1 -1
  368. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  369. package/dist/components/status/Spin/Spin.js +1 -1
  370. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  371. package/dist/data/item-themes.js +1 -1
  372. package/dist/data/themes.js +1 -1
  373. package/dist/eslint-plugin/defaults.generated.js +1 -1
  374. package/dist/eslint-plugin/index.js +1 -1
  375. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  376. package/dist/i18n/I18nProvider.js +1 -1
  377. package/dist/i18n/createFormatter.js +1 -1
  378. package/dist/i18n/index.js +1 -1
  379. package/dist/i18n/instance.js +1 -1
  380. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  381. package/dist/i18n/locales/en-US/uikit.js +1 -1
  382. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  383. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  384. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  385. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  386. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  387. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  388. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  389. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  390. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  391. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  392. package/dist/i18n/locales.js +1 -1
  393. package/dist/i18n/namespace.js +1 -1
  394. package/dist/i18n/useFormatter.js +1 -1
  395. package/dist/i18n/useI18n.js +1 -1
  396. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  397. package/dist/icons/AdjustmentsIcon.js +1 -1
  398. package/dist/icons/AiIcon.js +1 -1
  399. package/dist/icons/AreaChartIcon.js +1 -1
  400. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  401. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  402. package/dist/icons/BackwardIcon.js +1 -1
  403. package/dist/icons/BarChartIcon.js +1 -1
  404. package/dist/icons/BellFilledIcon.js +1 -1
  405. package/dist/icons/BellIcon.js +1 -1
  406. package/dist/icons/BooleanIcon.js +1 -1
  407. package/dist/icons/CalendarEditIcon.js +1 -1
  408. package/dist/icons/CalendarIcon.js +1 -1
  409. package/dist/icons/CaretDownIcon.js +1 -1
  410. package/dist/icons/CaretUpIcon.js +1 -1
  411. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  412. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  413. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  414. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  415. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  416. package/dist/icons/ChartBarLineIcon.js +1 -1
  417. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  418. package/dist/icons/ChartBarStackedIcon.js +1 -1
  419. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  420. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  421. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  422. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  423. package/dist/icons/ChartBubbleIcon.js +1 -1
  424. package/dist/icons/ChartDonut2Icon.js +1 -1
  425. package/dist/icons/ChartFunnelIcon.js +1 -1
  426. package/dist/icons/ChartHeatmapIcon.js +1 -1
  427. package/dist/icons/ChartKPIIcon.js +1 -1
  428. package/dist/icons/ChartPie2Icon.js +1 -1
  429. package/dist/icons/ChartScatterIcon.js +1 -1
  430. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  431. package/dist/icons/CheckCircleIcon.js +1 -1
  432. package/dist/icons/CheckIcon.js +1 -1
  433. package/dist/icons/CircleFilledIcon.js +1 -1
  434. package/dist/icons/ClearIcon.js +1 -1
  435. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  436. package/dist/icons/CloseCircleIcon.js +1 -1
  437. package/dist/icons/CloseIcon.js +1 -1
  438. package/dist/icons/CodeIcon.js +1 -1
  439. package/dist/icons/ColumnTotalIcon.js +1 -1
  440. package/dist/icons/CopyIcon.js +1 -1
  441. package/dist/icons/CountIcon.js +1 -1
  442. package/dist/icons/CubeIcon.js +1 -1
  443. package/dist/icons/CubePauseIcon.js +1 -1
  444. package/dist/icons/CubePlayIcon.js +1 -1
  445. package/dist/icons/CurrencyDollarIcon.js +1 -1
  446. package/dist/icons/DangerIcon.js +1 -1
  447. package/dist/icons/DashboardIcon.js +1 -1
  448. package/dist/icons/DatabaseIcon.js +1 -1
  449. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  450. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  451. package/dist/icons/DirectionIcon.js +1 -1
  452. package/dist/icons/DonutIcon.js +1 -1
  453. package/dist/icons/DownIcon.js +1 -1
  454. package/dist/icons/EditIcon.js +1 -1
  455. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  456. package/dist/icons/ExclamationCircleIcon.js +1 -1
  457. package/dist/icons/ExclamationIcon.js +1 -1
  458. package/dist/icons/EyeIcon.js +1 -1
  459. package/dist/icons/EyeInvisibleIcon.js +1 -1
  460. package/dist/icons/FilterIcon.js +1 -1
  461. package/dist/icons/FolderFilledIcon.js +1 -1
  462. package/dist/icons/FolderIcon.js +1 -1
  463. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  464. package/dist/icons/FolderOpenIcon.js +1 -1
  465. package/dist/icons/ForwardIcon.js +1 -1
  466. package/dist/icons/GripVerticalIcon.js +1 -1
  467. package/dist/icons/HierarchyIcon.js +1 -1
  468. package/dist/icons/HierarchyOpenIcon.js +1 -1
  469. package/dist/icons/Icon.js +1 -1
  470. package/dist/icons/InfoCircleIcon.js +1 -1
  471. package/dist/icons/InfoIcon.js +1 -1
  472. package/dist/icons/KeyIcon.js +1 -1
  473. package/dist/icons/LeftIcon.js +1 -1
  474. package/dist/icons/LineChartIcon.js +1 -1
  475. package/dist/icons/LoadingIcon.js +1 -1
  476. package/dist/icons/LockFilledIcon.js +1 -1
  477. package/dist/icons/LockIcon.js +1 -1
  478. package/dist/icons/MoreIcon.js +1 -1
  479. package/dist/icons/NotAllowedIcon.js +1 -1
  480. package/dist/icons/Number123Icon.js +1 -1
  481. package/dist/icons/NumberIcon.js +1 -1
  482. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  483. package/dist/icons/PauseCircleIcon.js +1 -1
  484. package/dist/icons/PauseIcon.js +1 -1
  485. package/dist/icons/PercentageIcon.js +1 -1
  486. package/dist/icons/PieChartIcon.js +1 -1
  487. package/dist/icons/PipetteIcon.js +1 -1
  488. package/dist/icons/PlayCircleIcon.js +1 -1
  489. package/dist/icons/PlayIcon.js +1 -1
  490. package/dist/icons/PlusIcon.js +1 -1
  491. package/dist/icons/ProgressBarIcon.js +1 -1
  492. package/dist/icons/ReloadIcon.js +1 -1
  493. package/dist/icons/ReportIcon.js +1 -1
  494. package/dist/icons/ReturnIcon.js +1 -1
  495. package/dist/icons/RightIcon.js +1 -1
  496. package/dist/icons/RowTotalsIcon.js +1 -1
  497. package/dist/icons/SchemeIcon.js +1 -1
  498. package/dist/icons/SearchIcon.js +1 -1
  499. package/dist/icons/SemanticQueryIcon.js +1 -1
  500. package/dist/icons/SettingsIcon.js +1 -1
  501. package/dist/icons/ShieldFilledIcon.js +1 -1
  502. package/dist/icons/ShieldIcon.js +1 -1
  503. package/dist/icons/SlashIcon.js +1 -1
  504. package/dist/icons/SparklesIcon.js +1 -1
  505. package/dist/icons/SqlIcon.js +1 -1
  506. package/dist/icons/StatsIcon.js +1 -1
  507. package/dist/icons/StopIcon.js +1 -1
  508. package/dist/icons/StringIcon.js +1 -1
  509. package/dist/icons/SubtotalsIcon.js +1 -1
  510. package/dist/icons/SwitchIcon.js +1 -1
  511. package/dist/icons/TableIcon.js +1 -1
  512. package/dist/icons/ThumbsDownIcon.js +1 -1
  513. package/dist/icons/ThumbsUpIcon.js +1 -1
  514. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  515. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  516. package/dist/icons/ThunderboltIcon.js +1 -1
  517. package/dist/icons/TimeIcon.js +1 -1
  518. package/dist/icons/TrashIcon.js +1 -1
  519. package/dist/icons/UnlockIcon.js +1 -1
  520. package/dist/icons/UpIcon.js +1 -1
  521. package/dist/icons/UserGroupIcon.js +1 -1
  522. package/dist/icons/UserIcon.js +1 -1
  523. package/dist/icons/UserLockIcon.js +1 -1
  524. package/dist/icons/ViewIcon.js +1 -1
  525. package/dist/icons/WarningFilledIcon.js +1 -1
  526. package/dist/icons/WarningIcon.js +1 -1
  527. package/dist/icons/wrap-icon.js +1 -1
  528. package/dist/index.js +1 -1
  529. package/dist/probe/canonicalize.js +1 -1
  530. package/dist/probe/css.js +1 -1
  531. package/dist/probe/index.js +1 -1
  532. package/dist/provider.js +1 -1
  533. package/dist/providers/TrackingProvider.js +1 -1
  534. package/dist/providers/navigation-url.js +1 -1
  535. package/dist/providers/navigationAdapter.default.js +1 -1
  536. package/dist/providers/use-navigation.js +1 -1
  537. package/dist/shared/form.d.ts +12 -11
  538. package/dist/tokens/all-tokens.js +1 -1
  539. package/dist/tokens/base.js +1 -1
  540. package/dist/tokens/color-seed.js +1 -1
  541. package/dist/tokens/color-theme.js +1 -1
  542. package/dist/tokens/colors.js +1 -1
  543. package/dist/tokens/layout.js +1 -1
  544. package/dist/tokens/lazy-styles.js +1 -1
  545. package/dist/tokens/legacy-color.js +1 -1
  546. package/dist/tokens/palette-config.js +1 -1
  547. package/dist/tokens/palette.js +1 -1
  548. package/dist/tokens/resolve.js +1 -1
  549. package/dist/tokens/shadows.js +1 -1
  550. package/dist/tokens/sizes.js +1 -1
  551. package/dist/tokens/spacing.js +1 -1
  552. package/dist/tokens/typography.js +1 -1
  553. package/dist/utils/ResizeSensor.js +1 -1
  554. package/dist/utils/colors.js +1 -1
  555. package/dist/utils/dotize.js +1 -1
  556. package/dist/utils/is-dev-env.js +1 -1
  557. package/dist/utils/modules.js +1 -1
  558. package/dist/utils/promise.js +1 -1
  559. package/dist/utils/raf.js +1 -1
  560. package/dist/utils/random.js +1 -1
  561. package/dist/utils/range.js +1 -1
  562. package/dist/utils/react/RenderCache.js +1 -1
  563. package/dist/utils/react/Slots.js +1 -1
  564. package/dist/utils/react/chain.js +1 -1
  565. package/dist/utils/react/disabledProps.js +1 -1
  566. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  567. package/dist/utils/react/index.js +1 -1
  568. package/dist/utils/react/interactions.js +1 -1
  569. package/dist/utils/react/isTextOnly.js +1 -1
  570. package/dist/utils/react/mapProps.js +1 -1
  571. package/dist/utils/react/mergeProps.js +1 -1
  572. package/dist/utils/react/nullableValue.js +1 -1
  573. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  574. package/dist/utils/react/programmaticFocus.js +1 -1
  575. package/dist/utils/react/resolveIcon.js +1 -1
  576. package/dist/utils/react/sharedStore.js +1 -1
  577. package/dist/utils/react/useBufferedValue.js +1 -1
  578. package/dist/utils/react/useCombinedRefs.js +1 -1
  579. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  580. package/dist/utils/react/useEventBus.js +1 -1
  581. package/dist/utils/react/useId.js +1 -1
  582. package/dist/utils/react/useIsDarwin.js +1 -1
  583. package/dist/utils/react/useKeySymbols.js +1 -1
  584. package/dist/utils/react/useLayoutEffect.js +1 -1
  585. package/dist/utils/react/useLocalStorage.js +1 -1
  586. package/dist/utils/react/useMergeStyles.js +1 -1
  587. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  588. package/dist/utils/react/usePopoverSync.js +1 -1
  589. package/dist/utils/react/useQaProps.js +1 -1
  590. package/dist/utils/react/useScheme.js +1 -1
  591. package/dist/utils/react/useViewportSize.js +1 -1
  592. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  593. package/dist/utils/selection.js +1 -1
  594. package/dist/utils/styles.js +1 -1
  595. package/dist/utils/tree.js +1 -1
  596. package/dist/utils/warnings.js +1 -1
  597. package/dist/version.js +2 -2
  598. package/docs/CreateComponent.md +0 -2
  599. package/docs/FieldProperties.md +6 -21
  600. package/docs/Usage.md +0 -2
  601. package/docs/components/fields/TagInput.md +0 -7
  602. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useProviderProps } from "../../../../provider.js";
3
3
  import { Button } from "../../../actions/Button/Button.js";
4
4
  import { isModernFormController } from "../backend.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useI18n } from "../../../i18n/useI18n.js";
3
3
  import { ModernControllerContext } from "./modern/context.js";
4
4
  import { FormContext } from "./Form.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/form/Form/backend.ts
3
3
  /**
4
4
  * Nominal branding for the two Form backends (modernization plan §5.1).
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useFormControllerContext } from "./modern/context.js";
3
3
  import { useForm } from "./use-form.js";
4
4
  import { FormContext, FormScopeMask, _Form, useFormProps } from "./Form.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
3
3
  import { useProviderProps } from "../../../../provider.js";
4
4
  import { Button } from "../../../actions/Button/Button.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/form/Form/modern/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { FORM_BACKEND, isModernFormController } from "../backend.js";
3
3
  import { createFormField } from "./field.js";
4
4
  import { createFormStore } from "./store.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { getFieldKey, hasPath, normalizePath, readPath } from "./values.js";
3
3
  import { getControllerInternals } from "./controller.js";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { normalizePath } from "./values.js";
3
3
 
4
4
  //#region src/components/form/Form/modern/field.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../../utils/react/useLayoutEffect.js";
3
3
  import { ModernControllerContext } from "./context.js";
4
4
  import { getFieldKey, normalizePath, readPath } from "./values.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { FORM_BACKEND } from "../backend.js";
3
3
  import { createValueSnapshotter, defineValue, formValueEqual, freezeContainer, getFieldKey, hasPath, isPlainObject, normalizePath, pathValueChanged, readPath, readonlySet, sameMembers, writePath } from "./values.js";
4
4
  import { rulesSignature, runRules } from "./validation.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { applyRule } from "../validation.js";
3
3
 
4
4
  //#region src/components/form/Form/modern/validation.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/form/Form/modern/values.ts
3
3
  const ownedContainers = /* @__PURE__ */ new WeakSet();
4
4
  function freezeContainer(value) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/form/Form/reset-unbound-controls.ts
3
3
  /**
4
4
  * Both form roots cancel a native reset, because the browser would put a bound
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../../utils/react/useLayoutEffect.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { isModernFormController } from "../backend.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps } from "../../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { warn } from "../../../../utils/warnings.js";
@@ -8,6 +8,7 @@ import { useFieldDescribedBy } from "../../FieldWrapper/field-description.js";
8
8
  import { isModernFormController } from "../backend.js";
9
9
  import { getFieldKey } from "../modern/values.js";
10
10
  import { useFormProps } from "../Form.js";
11
+ import { asksForFieldChrome } from "../../field-chrome.js";
11
12
  import { useFieldBinding } from "./use-field-binding.js";
12
13
  import { useInsideLegacyField } from "../Field.js";
13
14
  import { c } from "react/compiler-runtime";
@@ -30,7 +31,7 @@ const defaultValuePropsMapper = ({ value, onChange }) => ({
30
31
  * legacy backend's adapter and is inert when the field is not bound to it.
31
32
  */
32
33
  function useFieldProps(inputProps, t0) {
33
- const $ = c(28);
34
+ const $ = c(33);
34
35
  let t1;
35
36
  if ($[0] !== t0) {
36
37
  t1 = t0 === void 0 ? {} : t0;
@@ -59,7 +60,8 @@ function useFieldProps(inputProps, t0) {
59
60
  if (props.rules && !props.name) warn("The \"rules\" prop is not suitable for fields that are not part of a form. Use \"name\" prop to link the field to a form.");
60
61
  const hasName = props.name != null;
61
62
  const generatedId = useId();
62
- const t5 = !(hasName && !isInsideLegacyField && !isDisabled);
63
+ const isBound = hasName && !isInsideLegacyField && !isDisabled;
64
+ const t5 = !isBound;
63
65
  let t6;
64
66
  if ($[4] !== params.defaultValidationTrigger || $[5] !== t5) {
65
67
  t6 = {
@@ -133,37 +135,47 @@ function useFieldProps(inputProps, t0) {
133
135
  } else t8 = $[20];
134
136
  const resolveResult = t8;
135
137
  let t9;
136
- if ($[21] !== hasName || $[22] !== isInsideLegacyField || $[23] !== resolveResult) {
137
- const resolved = isInsideLegacyField && !hasName ? {
138
+ if ($[21] !== hasName || $[22] !== inputProps || $[23] !== isBound || $[24] !== isInsideLegacyField || $[25] !== isOutsideOfForm) {
139
+ t9 = isInsideLegacyField ? hasName && asksForFieldChrome(inputProps, true) : asksForFieldChrome(inputProps, isBound && !isOutsideOfForm);
140
+ $[21] = hasName;
141
+ $[22] = inputProps;
142
+ $[23] = isBound;
143
+ $[24] = isInsideLegacyField;
144
+ $[25] = isOutsideOfForm;
145
+ $[26] = t9;
146
+ } else t9 = $[26];
147
+ const hasFieldChrome = t9;
148
+ let t10;
149
+ if ($[27] !== hasFieldChrome || $[28] !== resolveResult) {
150
+ const resolved = hasFieldChrome ? {
138
151
  ...resolveResult(),
139
- isBare: true
152
+ hasFieldChrome: true
140
153
  } : resolveResult();
141
154
  const { field: _descriptor, dependsOn: _dependsOn, deps: _deps, ...domProps } = isModernFormController(resolved.form) ? {
142
155
  ...resolved,
143
156
  form: void 0
144
157
  } : resolved;
145
- t9 = domProps.name != null && typeof domProps.name !== "string" ? {
158
+ t10 = domProps.name != null && typeof domProps.name !== "string" ? {
146
159
  ...domProps,
147
160
  name: getFieldKey(domProps.name)
148
161
  } : domProps;
149
- $[21] = hasName;
150
- $[22] = isInsideLegacyField;
151
- $[23] = resolveResult;
152
- $[24] = t9;
153
- } else t9 = $[24];
154
- const namedProps = t9;
162
+ $[27] = hasFieldChrome;
163
+ $[28] = resolveResult;
164
+ $[29] = t10;
165
+ } else t10 = $[29];
166
+ const namedProps = t10;
155
167
  const describedBy = useFieldDescribedBy(namedProps.id, namedProps["aria-describedby"]);
156
- let t10;
157
- if ($[25] !== describedBy || $[26] !== namedProps) {
158
- t10 = describedBy === namedProps["aria-describedby"] ? namedProps : {
168
+ let t11;
169
+ if ($[30] !== describedBy || $[31] !== namedProps) {
170
+ t11 = describedBy === namedProps["aria-describedby"] ? namedProps : {
159
171
  ...namedProps,
160
172
  "aria-describedby": describedBy
161
173
  };
162
- $[25] = describedBy;
163
- $[26] = namedProps;
164
- $[27] = t10;
165
- } else t10 = $[27];
166
- const describedProps = t10;
174
+ $[30] = describedBy;
175
+ $[31] = namedProps;
176
+ $[32] = t11;
177
+ } else t11 = $[32];
178
+ const describedProps = t11;
167
179
  useDebugValue(describedProps);
168
180
  return describedProps;
169
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-field-props.js","names":["useDebugValue","useId","useState","useEvent","useProviderProps","mergeProps","warn","useFieldDescribedBy","useValidationProps","isModernFormController","useInsideLegacyField","useFormProps","getFieldKey","useFieldBinding","ValidateTrigger","ModernFormBrand","FieldTypes","UseFieldProps","UseFieldPropsParams","valuePropsMapper","value","onChange","defaultValidationTrigger","unsafe__isDisabled","defaultValuePropsMapper","StrippedFieldKey","ResolvedFieldForm","Form","ResolvedFieldProps","Props","Key","useFieldProps","inputProps","t0","$","_c","t1","undefined","params","provided","t2","field","options","form","name","path","props","isDisabled","t3","t4","isInsideLegacyField","rules","hasName","generatedId","isBound","t5","t6","unbound","isOutsideOfForm","t7","dontTouch","validateTrigger","onChangeEvent","t8","resolveResult","id","result","labelProps","for","valueProps","_form","_fieldValue","_fieldOnChange","onBlur","_fieldOnBlur","fieldRest","result_0","t9","resolved","isBare","result_1","_descriptor","dependsOn","_dependsOn","deps","_deps","domProps","namedProps","describedBy","t10","describedProps"],"sources":["../../../../../src/components/form/Form/use-field/use-field-props.tsx"],"sourcesContent":["import { useDebugValue, useId, useState } from 'react';\n\nimport { useEvent } from '../../../../_internal/index';\nimport { useProviderProps } from '../../../../provider';\nimport { mergeProps } from '../../../../utils/react/index';\nimport { warn } from '../../../../utils/warnings';\nimport { useFieldDescribedBy } from '../../FieldWrapper/field-description';\nimport { useValidationProps } from '../../validation/index';\nimport { isModernFormController } from '../backend';\nimport { useInsideLegacyField } from '../Field';\nimport { useFormProps } from '../Form';\nimport { getFieldKey } from '../modern/values';\n\nimport { useFieldBinding } from './use-field-binding';\n\nimport type { ValidateTrigger } from '../../../../shared/index';\nimport type { ModernFormBrand } from '../backend';\nimport type { FieldTypes } from '../types';\nimport type { UseFieldProps } from './types';\n\nexport type UseFieldPropsParams = {\n valuePropsMapper?: ({ value, onChange }) => any;\n /**\n * @default 'onBlur'\n */\n defaultValidationTrigger?: ValidateTrigger;\n /**\n * prop helps to prevent calling hook conditionally, but changing this prop during render is unsafe and forbidden\n * If you want to change this prop after mount, remount the component with a new value.\n */\n unsafe__isDisabled?: boolean;\n};\n\nconst defaultValuePropsMapper = ({ value, onChange }) => ({\n value: value ?? null,\n onChange,\n});\n\n/** Binding inputs `useFieldProps` always strips before it returns. */\ntype StrippedFieldKey = 'field' | 'dependsOn' | 'deps';\n\n/**\n * A modern controller is stripped at runtime, so each member of `form` that is\n * one becomes `undefined`; a legacy instance survives, and `any` stays `any`.\n * Distributive, so it still applies when `Props` is a type parameter.\n */\ntype ResolvedFieldForm<Form> = Form extends ModernFormBrand ? undefined : Form;\n\n/**\n * The input's declared prop shape minus what the hook always strips: a DOM-safe\n * name, no binding inputs, and no modern controller in `form`.\n */\ntype ResolvedFieldProps<Props> = {\n [Key in keyof Props as Key extends StrippedFieldKey\n ? never\n : Key]: Key extends 'name'\n ? string | undefined\n : Key extends 'form'\n ? ResolvedFieldForm<Props[Key]>\n : Props[Key];\n};\n\n/**\n * The single entry point for input components (see\n * `docs/rules/input-components.md`).\n *\n * Every hook below runs on every render, whatever the mode: standalone (no\n * `name`), inside the deprecated `<Field>`, disabled through\n * `unsafe__isDisabled`, or bound to a form. The mode only decides which props\n * come back, so an input can gain or lose a `name`, or move between forms,\n * without changing its hook order. The legacy binding (`useField`) is the\n * legacy backend's adapter and is inert when the field is not bound to it.\n */\nexport function useFieldProps<\n T extends FieldTypes,\n Props extends UseFieldProps<T>,\n>(\n inputProps: Props,\n params: UseFieldPropsParams = {},\n): ResolvedFieldProps<Props> {\n // Provider defaults, then form context, then the normalization of the\n // deprecated `validationState` prop into `isInvalid`/`isValid`.\n const provided = useProviderProps(inputProps);\n const props: Props = useValidationProps(\n useFormProps(\n provided.field\n ? {\n ...provided,\n ...provided.field.options,\n form: provided.field.form,\n name:\n typeof provided.field.path === 'string'\n ? provided.field.path\n : getFieldKey(provided.field.path),\n }\n : provided,\n ),\n );\n\n // The initial value is what counts: changing it after mount is unsupported.\n const [isDisabled] = useState(params.unsafe__isDisabled ?? false);\n\n const {\n valuePropsMapper = defaultValuePropsMapper,\n defaultValidationTrigger = 'onBlur',\n } = params;\n\n const isInsideLegacyField = useInsideLegacyField();\n\n if (props.rules && !props.name) {\n warn(\n `The \"rules\" prop is not suitable for fields that are not part of a form. Use \"name\" prop to link the field to a form.`,\n );\n }\n\n const hasName = props.name != null;\n const generatedId = useId();\n const isBound = hasName && !isInsideLegacyField && !isDisabled;\n\n const field = useFieldBinding<T, Props>(\n props,\n {\n defaultValidationTrigger: params.defaultValidationTrigger,\n unbound: !isBound,\n },\n generatedId,\n );\n\n const isOutsideOfForm = field?.form == null;\n\n const onChangeEvent = useEvent((value, dontTouch: boolean) => {\n field?.onChange?.(\n value,\n dontTouch,\n field?.validateTrigger ?? defaultValidationTrigger,\n );\n });\n\n function resolveResult(): Props {\n if (isInsideLegacyField || isDisabled) {\n return props;\n }\n\n if (!hasName) {\n // Standalone field - just add generated ID if not provided\n if (!props.id) {\n const result = { ...props, id: generatedId };\n\n if (result.id && !result.labelProps) {\n result.labelProps = { for: result.id };\n } else if (result.id && result.labelProps && !result.labelProps.for) {\n result.labelProps = { ...result.labelProps, for: result.id };\n }\n\n return result as Props;\n }\n return props;\n }\n\n if (props.rules && isOutsideOfForm) {\n warn(\n `The \"rules\" prop is not supported for fields that are not part of a form. The \"${props.name}\" field is placed outside the form.`,\n );\n }\n\n const valueProps = !isOutsideOfForm\n ? valuePropsMapper({\n value: field.value,\n onChange: onChangeEvent,\n })\n : {};\n\n // Exclude `form` (it must never reach a DOM node) and the field's own\n // value and handlers: `valueProps` already maps the value and routes the\n // component's change event into `field.onChange` under the names the\n // component reads, and `onBlur` is added once below. `mergeProps` chains\n // same-named handlers, so merging them here as well made every user change\n // and every blur run the field handler twice — and onChange/onBlur-triggered\n // validation validate twice. A raw `value` replaced the caller's own on\n // controls that map it elsewhere: a `Checkbox` bound as `isSelected`\n // rendered and submitted `value=\"true\"` instead of its `value=\"yes\"`.\n const {\n form: _form,\n value: _fieldValue,\n onChange: _fieldOnChange,\n onBlur: _fieldOnBlur,\n ...fieldRest\n } = field ?? {};\n\n const result: Props = isOutsideOfForm\n ? props\n : mergeProps(props, fieldRest, valueProps, {\n validateTrigger: field.validateTrigger ?? defaultValidationTrigger,\n // Chained after the caller's own `onBlur` by `mergeProps`.\n onBlur: field.onBlur,\n });\n\n return result.id\n ? { ...result, labelProps: { ...result.labelProps, for: result.id } }\n : result;\n }\n\n // A nameless legacy Field already owns its child's chrome. Named Fields\n // delegate presentation to the control along with their binding props.\n const resolved =\n isInsideLegacyField && !hasName\n ? { ...resolveResult(), isBare: true }\n : resolveResult();\n // React Aria forwards `form` to native inputs. A modern controller is a\n // binding source, never an HTML form id, including in standalone/group mode.\n const result = isModernFormController(resolved.form)\n ? { ...resolved, form: undefined }\n : resolved;\n\n const {\n field: _descriptor,\n dependsOn: _dependsOn,\n deps: _deps,\n ...domProps\n } = result;\n // Standalone and group-scoped inputs do not merge a bound field's props.\n // Their tuple must still become a string before React Aria or DOM forwarding.\n const namedProps =\n domProps.name != null && typeof domProps.name !== 'string'\n ? { ...domProps, name: getFieldKey(domProps.name) }\n : domProps;\n // Every input forwards `aria-describedby` to its control, so pointing it at\n // the field's description and message here reaches all of them.\n const describedBy = useFieldDescribedBy(\n namedProps.id,\n namedProps['aria-describedby'],\n );\n const describedProps =\n describedBy === namedProps['aria-describedby']\n ? namedProps\n : { ...namedProps, 'aria-describedby': describedBy };\n useDebugValue(describedProps);\n\n return describedProps as unknown as ResolvedFieldProps<Props>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-field-props.js","names":["useDebugValue","useId","useState","useEvent","useProviderProps","mergeProps","warn","asksForFieldChrome","useFieldDescribedBy","useValidationProps","isModernFormController","useInsideLegacyField","useFormProps","getFieldKey","useFieldBinding","ValidateTrigger","ModernFormBrand","FieldTypes","UseFieldProps","UseFieldPropsParams","valuePropsMapper","value","onChange","defaultValidationTrigger","unsafe__isDisabled","defaultValuePropsMapper","StrippedFieldKey","ResolvedFieldForm","Form","ResolvedFieldProps","Props","Key","useFieldProps","inputProps","t0","$","_c","t1","undefined","params","provided","t2","field","options","form","name","path","props","isDisabled","t3","t4","isInsideLegacyField","rules","hasName","generatedId","isBound","t5","t6","unbound","isOutsideOfForm","t7","dontTouch","validateTrigger","onChangeEvent","t8","resolveResult","id","result","labelProps","for","valueProps","_form","_fieldValue","_fieldOnChange","onBlur","_fieldOnBlur","fieldRest","result_0","t9","hasFieldChrome","t10","resolved","result_1","_descriptor","dependsOn","_dependsOn","deps","_deps","domProps","namedProps","describedBy","t11","describedProps"],"sources":["../../../../../src/components/form/Form/use-field/use-field-props.tsx"],"sourcesContent":["import { useDebugValue, useId, useState } from 'react';\n\nimport { useEvent } from '../../../../_internal/index';\nimport { useProviderProps } from '../../../../provider';\nimport { mergeProps } from '../../../../utils/react/index';\nimport { warn } from '../../../../utils/warnings';\nimport { asksForFieldChrome } from '../../field-chrome';\nimport { useFieldDescribedBy } from '../../FieldWrapper/field-description';\nimport { useValidationProps } from '../../validation/index';\nimport { isModernFormController } from '../backend';\nimport { useInsideLegacyField } from '../Field';\nimport { useFormProps } from '../Form';\nimport { getFieldKey } from '../modern/values';\n\nimport { useFieldBinding } from './use-field-binding';\n\nimport type { ValidateTrigger } from '../../../../shared/index';\nimport type { ModernFormBrand } from '../backend';\nimport type { FieldTypes } from '../types';\nimport type { UseFieldProps } from './types';\n\nexport type UseFieldPropsParams = {\n valuePropsMapper?: ({ value, onChange }) => any;\n /**\n * @default 'onBlur'\n */\n defaultValidationTrigger?: ValidateTrigger;\n /**\n * prop helps to prevent calling hook conditionally, but changing this prop during render is unsafe and forbidden\n * If you want to change this prop after mount, remount the component with a new value.\n */\n unsafe__isDisabled?: boolean;\n};\n\nconst defaultValuePropsMapper = ({ value, onChange }) => ({\n value: value ?? null,\n onChange,\n});\n\n/** Binding inputs `useFieldProps` always strips before it returns. */\ntype StrippedFieldKey = 'field' | 'dependsOn' | 'deps';\n\n/**\n * A modern controller is stripped at runtime, so each member of `form` that is\n * one becomes `undefined`; a legacy instance survives, and `any` stays `any`.\n * Distributive, so it still applies when `Props` is a type parameter.\n */\ntype ResolvedFieldForm<Form> = Form extends ModernFormBrand ? undefined : Form;\n\n/**\n * The input's declared prop shape minus what the hook always strips: a DOM-safe\n * name, no binding inputs, and no modern controller in `form`.\n */\ntype ResolvedFieldProps<Props> = {\n [Key in keyof Props as Key extends StrippedFieldKey\n ? never\n : Key]: Key extends 'name'\n ? string | undefined\n : Key extends 'form'\n ? ResolvedFieldForm<Props[Key]>\n : Props[Key];\n};\n\n/**\n * The single entry point for input components (see\n * `docs/rules/input-components.md`).\n *\n * Every hook below runs on every render, whatever the mode: standalone (no\n * `name`), inside the deprecated `<Field>`, disabled through\n * `unsafe__isDisabled`, or bound to a form. The mode only decides which props\n * come back, so an input can gain or lose a `name`, or move between forms,\n * without changing its hook order. The legacy binding (`useField`) is the\n * legacy backend's adapter and is inert when the field is not bound to it.\n */\nexport function useFieldProps<\n T extends FieldTypes,\n Props extends UseFieldProps<T>,\n>(\n inputProps: Props,\n params: UseFieldPropsParams = {},\n): ResolvedFieldProps<Props> {\n // Provider defaults, then form context, then the normalization of the\n // deprecated `validationState` prop into `isInvalid`/`isValid`.\n const provided = useProviderProps(inputProps);\n const props: Props = useValidationProps(\n useFormProps(\n provided.field\n ? {\n ...provided,\n ...provided.field.options,\n form: provided.field.form,\n name:\n typeof provided.field.path === 'string'\n ? provided.field.path\n : getFieldKey(provided.field.path),\n }\n : provided,\n ),\n );\n\n // The initial value is what counts: changing it after mount is unsupported.\n const [isDisabled] = useState(params.unsafe__isDisabled ?? false);\n\n const {\n valuePropsMapper = defaultValuePropsMapper,\n defaultValidationTrigger = 'onBlur',\n } = params;\n\n const isInsideLegacyField = useInsideLegacyField();\n\n if (props.rules && !props.name) {\n warn(\n `The \"rules\" prop is not suitable for fields that are not part of a form. Use \"name\" prop to link the field to a form.`,\n );\n }\n\n const hasName = props.name != null;\n const generatedId = useId();\n const isBound = hasName && !isInsideLegacyField && !isDisabled;\n\n const field = useFieldBinding<T, Props>(\n props,\n {\n defaultValidationTrigger: params.defaultValidationTrigger,\n unbound: !isBound,\n },\n generatedId,\n );\n\n const isOutsideOfForm = field?.form == null;\n\n const onChangeEvent = useEvent((value, dontTouch: boolean) => {\n field?.onChange?.(\n value,\n dontTouch,\n field?.validateTrigger ?? defaultValidationTrigger,\n );\n });\n\n function resolveResult(): Props {\n if (isInsideLegacyField || isDisabled) {\n return props;\n }\n\n if (!hasName) {\n // Standalone field - just add generated ID if not provided\n if (!props.id) {\n const result = { ...props, id: generatedId };\n\n if (result.id && !result.labelProps) {\n result.labelProps = { for: result.id };\n } else if (result.id && result.labelProps && !result.labelProps.for) {\n result.labelProps = { ...result.labelProps, for: result.id };\n }\n\n return result as Props;\n }\n return props;\n }\n\n if (props.rules && isOutsideOfForm) {\n warn(\n `The \"rules\" prop is not supported for fields that are not part of a form. The \"${props.name}\" field is placed outside the form.`,\n );\n }\n\n const valueProps = !isOutsideOfForm\n ? valuePropsMapper({\n value: field.value,\n onChange: onChangeEvent,\n })\n : {};\n\n // Exclude `form` (it must never reach a DOM node) and the field's own\n // value and handlers: `valueProps` already maps the value and routes the\n // component's change event into `field.onChange` under the names the\n // component reads, and `onBlur` is added once below. `mergeProps` chains\n // same-named handlers, so merging them here as well made every user change\n // and every blur run the field handler twice — and onChange/onBlur-triggered\n // validation validate twice. A raw `value` replaced the caller's own on\n // controls that map it elsewhere: a `Checkbox` bound as `isSelected`\n // rendered and submitted `value=\"true\"` instead of its `value=\"yes\"`.\n const {\n form: _form,\n value: _fieldValue,\n onChange: _fieldOnChange,\n onBlur: _fieldOnBlur,\n ...fieldRest\n } = field ?? {};\n\n const result: Props = isOutsideOfForm\n ? props\n : mergeProps(props, fieldRest, valueProps, {\n validateTrigger: field.validateTrigger ?? defaultValidationTrigger,\n // Chained after the caller's own `onBlur` by `mergeProps`.\n onBlur: field.onBlur,\n });\n\n return result.id\n ? { ...result, labelProps: { ...result.labelProps, for: result.id } }\n : result;\n }\n\n // A field without a `label` still renders the field chrome when it is bound\n // to a form or its caller passes a description or a message, unless it is\n // `isBare` — see `asksForFieldChrome`. Inside the legacy `<Field>`, the\n // message props come and go with the error and are the wrapper's, so they\n // decide nothing; its child is bound through it, and the `<Field>` gives it\n // the `name`.\n const hasFieldChrome = isInsideLegacyField\n ? hasName && asksForFieldChrome(inputProps, true)\n : asksForFieldChrome(inputProps, isBound && !isOutsideOfForm);\n const resolved = hasFieldChrome\n ? { ...resolveResult(), hasFieldChrome: true }\n : resolveResult();\n // React Aria forwards `form` to native inputs. A modern controller is a\n // binding source, never an HTML form id, including in standalone/group mode.\n const result = isModernFormController(resolved.form)\n ? { ...resolved, form: undefined }\n : resolved;\n\n const {\n field: _descriptor,\n dependsOn: _dependsOn,\n deps: _deps,\n ...domProps\n } = result;\n // Standalone and group-scoped inputs do not merge a bound field's props.\n // Their tuple must still become a string before React Aria or DOM forwarding.\n const namedProps =\n domProps.name != null && typeof domProps.name !== 'string'\n ? { ...domProps, name: getFieldKey(domProps.name) }\n : domProps;\n // Every input forwards `aria-describedby` to its control, so pointing it at\n // the field's description and message here reaches all of them.\n const describedBy = useFieldDescribedBy(\n namedProps.id,\n namedProps['aria-describedby'],\n );\n const describedProps =\n describedBy === namedProps['aria-describedby']\n ? namedProps\n : { ...namedProps, 'aria-describedby': describedBy };\n useDebugValue(describedProps);\n\n return describedProps as unknown as ResolvedFieldProps<Props>;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../../utils/react/useLayoutEffect.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { useIsFirstRender } from "../../../../_internal/hooks/use-is-first-render.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { FORM_BACKEND, isModernFormController, modernBackendUnavailableError } from "./backend.js";
3
3
  import { applyRules } from "./validation.js";
4
4
  import { dotizeConvert } from "../../../utils/dotize.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { validate } from "email-validator";
3
3
  import validUrl from "valid-url";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useProviderProps } from "../../provider.js";
4
4
  import { useI18n } from "../../i18n/useI18n.js";
@@ -1,15 +1,45 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { warn } from "../../utils/warnings.js";
3
3
 
4
4
  //#region src/components/form/field-chrome.ts
5
+ /** The props that give a field text to show under its control. */
6
+ const FIELD_TEXT_PROPS = [
7
+ "description",
8
+ "errorMessage",
9
+ "message"
10
+ ];
11
+ /**
12
+ * Whether a field without a `label` should still render the field chrome: it
13
+ * is bound to a form, whose validation errors need a place under it, or its
14
+ * caller passes a description or a message — unless it asks for the bare
15
+ * control with `isBare`.
16
+ *
17
+ * Neither depends on what the field shows at the moment. A text prop counts
18
+ * whatever it holds — `undefined`, `null` and `''` too — because a decision
19
+ * taken from the text would move the control in and out of the wrapper as an
20
+ * error comes and goes, and React would remount it and drop its focus
21
+ * mid-keystroke.
22
+ *
23
+ * Read the caller's own props: a form binding adds message props of its own.
24
+ */
25
+ function asksForFieldChrome(props, isBound = false) {
26
+ return !props.isBare && (isBound || FIELD_TEXT_PROPS.some((key) => key in props));
27
+ }
5
28
  let hasWarnedAboutForceField = false;
6
- /** Warn once about the obsolete opt-in: field chrome is now the default. */
29
+ /**
30
+ * `forceField` used to be the only way to show the texts of a field without a
31
+ * `label`. Such a field now shows them by itself when it is bound to a form or
32
+ * is passed one, so the prop is deprecated. It still forces the wrapper; say so
33
+ * once.
34
+ *
35
+ * A migration aid; remove with `forceField`.
36
+ */
7
37
  function warnAboutForceField(props) {
8
38
  if (hasWarnedAboutForceField || props.forceField == null) return;
9
39
  hasWarnedAboutForceField = true;
10
- warn("A field received `forceField`, which is deprecated. Fields render chrome by default. Remove `forceField`, or pass `isBare` to render only the control.");
40
+ warn("A field received `forceField`, which is deprecated. A field without a `label` now renders its description and messages when it is bound to a form or is passed `description`, `errorMessage` or `message`. Remove `forceField`, or pass `isBare` to render the bare control.");
11
41
  }
12
42
 
13
43
  //#endregion
14
- export { warnAboutForceField };
44
+ export { asksForFieldChrome, warnAboutForceField };
15
45
  //# sourceMappingURL=field-chrome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-chrome.js","names":["warn","hasWarnedAboutForceField","warnAboutForceField","props","forceField"],"sources":["../../../src/components/form/field-chrome.ts"],"sourcesContent":["import { warn } from '../../utils/warnings';\n\nlet hasWarnedAboutForceField = false;\n\n/** Warn once about the obsolete opt-in: field chrome is now the default. */\nexport function warnAboutForceField(props: { forceField?: boolean }) {\n if (hasWarnedAboutForceField || props.forceField == null) return;\n\n hasWarnedAboutForceField = true;\n\n warn(\n 'A field received `forceField`, which is deprecated. Fields render chrome by default. Remove `forceField`, or pass `isBare` to render only the control.',\n );\n}\n"],"mappings":";;;;AAEA,IAAIC,2BAA2B;;AAG/B,SAAgBC,oBAAoBC,OAAiC;AACnE,KAAIF,4BAA4BE,MAAMC,cAAc,KAAM;AAE1DH,4BAA2B;AAE3BD,MACE,yJACD"}
1
+ {"version":3,"file":"field-chrome.js","names":["warn","FIELD_TEXT_PROPS","const","FieldChromeProps","Partial","Record","isBare","asksForFieldChrome","props","isBound","some","key","hasWarnedAboutForceField","warnAboutForceField","forceField"],"sources":["../../../src/components/form/field-chrome.ts"],"sourcesContent":["import { warn } from '../../utils/warnings';\n\n/** The props that give a field text to show under its control. */\nconst FIELD_TEXT_PROPS = ['description', 'errorMessage', 'message'] as const;\n\ntype FieldChromeProps = Partial<\n Record<(typeof FIELD_TEXT_PROPS)[number], unknown>\n> & { isBare?: boolean };\n\n/**\n * Whether a field without a `label` should still render the field chrome: it\n * is bound to a form, whose validation errors need a place under it, or its\n * caller passes a description or a message — unless it asks for the bare\n * control with `isBare`.\n *\n * Neither depends on what the field shows at the moment. A text prop counts\n * whatever it holds — `undefined`, `null` and `''` too — because a decision\n * taken from the text would move the control in and out of the wrapper as an\n * error comes and goes, and React would remount it and drop its focus\n * mid-keystroke.\n *\n * Read the caller's own props: a form binding adds message props of its own.\n */\nexport function asksForFieldChrome(props: FieldChromeProps, isBound = false) {\n return (\n !props.isBare && (isBound || FIELD_TEXT_PROPS.some((key) => key in props))\n );\n}\n\nlet hasWarnedAboutForceField = false;\n\n/**\n * `forceField` used to be the only way to show the texts of a field without a\n * `label`. Such a field now shows them by itself when it is bound to a form or\n * is passed one, so the prop is deprecated. It still forces the wrapper; say so\n * once.\n *\n * A migration aid; remove with `forceField`.\n */\nexport function warnAboutForceField(props: { forceField?: boolean }) {\n if (hasWarnedAboutForceField || props.forceField == null) return;\n\n hasWarnedAboutForceField = true;\n\n warn(\n 'A field received `forceField`, which is deprecated. A field without a `label` now renders its description and messages when it is bound to a form or is passed `description`, `errorMessage` or `message`. Remove `forceField`, or pass `isBare` to render the bare control.',\n );\n}\n"],"mappings":";;;;;AAGA,MAAMC,mBAAmB;CAAC;CAAe;CAAgB;CAAU;;;;;;;;;;;;;;;AAoBnE,SAAgBM,mBAAmBC,OAAyBC,UAAU,OAAO;AAC3E,QACE,CAACD,MAAMF,WAAWG,WAAWR,iBAAiBS,MAAMC,QAAQA,OAAOH,MAAM;;AAI7E,IAAII,2BAA2B;;;;;;;;;AAU/B,SAAgBC,oBAAoBL,OAAiC;AACnE,KAAII,4BAA4BJ,MAAMM,cAAc,KAAM;AAE1DF,4BAA2B;AAE3BZ,MACE,+QACD"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { warn } from "../../utils/warnings.js";
3
3
 
4
4
  //#region src/components/form/legacy-tooltip.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { LoadingIcon } from "../../../icons/LoadingIcon.js";
3
3
  import { hasValidationState } from "./resolve-validation-props.js";
4
4
  import { InvalidIcon } from "../../shared/InvalidIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/form/validation/resolve-validation-props.ts
3
3
  /**
4
4
  * Normalizes the validation props of a field into a pair of booleans.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useWarn } from "../../../_internal/hooks/use-warn.js";
3
3
  import { resolveValidationProps } from "./resolve-validation-props.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -7,12 +7,23 @@ import { ReactElement, RefObject } from "react";
7
7
  import { DOMRef, FocusableRef } from "@react-types/shared";
8
8
 
9
9
  //#region src/components/form/wrapper.d.ts
10
- interface WrapWithFieldProps extends FieldBaseProps, Omit<BaseProps, 'children'>, FormBaseProps {}
11
- /** Field chrome is the default; only an explicit bare mode opts out. */
12
- declare function rendersFieldChrome(props: {
13
- isBare?: boolean;
14
- }): boolean;
15
- /** Wraps a control in its stable field presentation and forwards its chrome props. */
10
+ interface WrapWithFieldProps extends FieldBaseProps, Omit<BaseProps, 'children'>, FormBaseProps {
11
+ /**
12
+ * Set by `useFieldProps` for a field without a `label` that still renders
13
+ * the field chrome — see `asksForFieldChrome`. Not a prop of any input.
14
+ */
15
+ hasFieldChrome?: boolean;
16
+ }
17
+ /**
18
+ * Whether `wrapWithField` renders the field chrome for these props: a `label`,
19
+ * the chrome `useFieldProps` asked for, or the deprecated `forceField`.
20
+ */
21
+ declare function rendersFieldChrome(props: object): boolean;
22
+ /**
23
+ * Wraps an input with the field chrome (label, description, message) when it has a `label`, or when `useFieldProps` asks
24
+ * for it on a field without one (`hasFieldChrome`): one bound to a form, or passed a description or a message, and not `isBare`.
25
+ * Only the field wrapper props are forwarded, so callers can pass their whole props object as is.
26
+ */
16
27
  declare function wrapWithField<T extends WrapWithFieldProps>(component: ReactElement, ref: RefObject<unknown> | FocusableRef<HTMLElement> | DOMRef<HTMLElement>, props: T): react.JSX.Element;
17
28
  //#endregion
18
29
  export { rendersFieldChrome, wrapWithField };
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps } from "../../utils/react/mergeProps.js";
3
3
  import { warnAboutLegacyTooltip } from "./legacy-tooltip.js";
4
4
  import { FieldWrapper } from "./FieldWrapper/FieldWrapper.js";
@@ -6,21 +6,29 @@ import { warnAboutForceField } from "./field-chrome.js";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
 
8
8
  //#region src/components/form/wrapper.tsx
9
- /** Field chrome is the default; only an explicit bare mode opts out. */
9
+ /**
10
+ * Whether `wrapWithField` renders the field chrome for these props: a `label`,
11
+ * the chrome `useFieldProps` asked for, or the deprecated `forceField`.
12
+ */
10
13
  function rendersFieldChrome(props) {
11
- return !props.isBare;
14
+ const { label, hasFieldChrome, forceField } = props;
15
+ return !!label || !!hasFieldChrome || !!forceField;
12
16
  }
13
- /** Wraps a control in its stable field presentation and forwards its chrome props. */
17
+ /**
18
+ * Wraps an input with the field chrome (label, description, message) when it has a `label`, or when `useFieldProps` asks
19
+ * for it on a field without one (`hasFieldChrome`): one bound to a form, or passed a description or a message, and not `isBare`.
20
+ * Only the field wrapper props are forwarded, so callers can pass their whole props object as is.
21
+ */
14
22
  function wrapWithField(component, ref, props) {
15
- let { label, isBare = false, extra, labelPosition = "top", labelStyles, isRequired, isOptional, isDisabled, necessityIndicator, message, messageStyles, description, errorMessage, isInvalid, isValid, labelProps, fieldProps, fieldStyles, requiredMark = true, labelTooltip, isHidden, labelSuffix } = props;
23
+ let { label, extra, labelPosition = "top", labelStyles, isRequired, isOptional, isDisabled, necessityIndicator, message, messageStyles, description, errorMessage, isInvalid, isValid, labelProps, fieldProps, fieldStyles, requiredMark = true, labelTooltip, isHidden, labelSuffix } = props;
16
24
  warnAboutForceField(props);
25
+ if (!rendersFieldChrome(props)) return component;
17
26
  warnAboutLegacyTooltip(props);
18
27
  const mergedFieldProps = fieldStyles ? mergeProps(fieldProps, { styles: fieldStyles }) : fieldProps;
19
28
  const mergedLabelProps = labelStyles ? mergeProps(labelProps, { styles: labelStyles }) : labelProps;
20
29
  const { id: _id, ...fieldPropsWithoutId } = mergedFieldProps || {};
21
30
  return /* @__PURE__ */ jsx(FieldWrapper, {
22
31
  label,
23
- isBare,
24
32
  extra,
25
33
  labelPosition,
26
34
  isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","rendersFieldChrome","props","isBare","wrapWithField","component","ref","HTMLElement","T","label","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/index';\nimport { mergeProps } from '../../utils/react/index';\n\nimport { warnAboutForceField } from './field-chrome';\nimport { FieldWrapper } from './FieldWrapper/index';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// The input is passed as `component`, never through props.children.\ninterface WrapWithFieldProps\n extends FieldBaseProps,\n Omit<BaseProps, 'children'>,\n FormBaseProps {}\n\n/** Field chrome is the default; only an explicit bare mode opts out. */\nexport function rendersFieldChrome(props: { isBare?: boolean }) {\n return !props.isBare;\n}\n\n/** Wraps a control in its stable field presentation and forwards its chrome props. */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: RefObject<unknown> | FocusableRef<HTMLElement> | DOMRef<HTMLElement>,\n props: T,\n) {\n let {\n label,\n isBare = false,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n warnAboutForceField(props);\n\n warnAboutLegacyTooltip(props);\n\n // Merge fieldStyles as shorthand for fieldProps.styles (fieldStyles takes priority)\n const mergedFieldProps = fieldStyles\n ? mergeProps(fieldProps, { styles: fieldStyles })\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n isBare,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n ref,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;AAkBA,SAAgBa,mBAAmBC,OAA6B;AAC9D,QAAO,CAACA,MAAMC;;;AAIhB,SAAgBC,cACdC,WACAC,KACAJ,OACA;CACA,IAAI,EACFO,OACAN,SAAS,OACTO,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACE3B;AAEJN,qBAAoBM,MAAM;AAE1BJ,wBAAuBI,MAAM;CAG7B,MAAM4B,mBAAmBL,cACrB9B,WAAW6B,YAAY,EAAEO,QAAQN,aAAa,CAAC,GAC/CD;CAGJ,MAAMQ,mBAAmBpB,cACrBjB,WAAW4B,YAAY,EAAEQ,QAAQnB,aAAa,CAAC,GAC/CW;CAGJ,MAAM,EAAEU,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,EAAE;AAE3E,QACE,oBAAC;EAEGrB;EACAN;EACAO;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYS;EACZR,YAAYW;EACZlB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAI;EACAC;EACAC;EACAC;EACAO,WAAW/B;EAGXgC,WAAWnC,MAAM+B;EACjB3B;GAEF"}
1
+ {"version":3,"file":"wrapper.js","names":["DOMRef","FocusableRef","BaseProps","ReactElement","RefObject","FieldBaseProps","FormBaseProps","mergeProps","warnAboutForceField","FieldWrapper","warnAboutLegacyTooltip","WrapWithFieldProps","Omit","hasFieldChrome","rendersFieldChrome","props","label","forceField","wrapWithField","component","ref","HTMLElement","T","extra","labelPosition","labelStyles","isRequired","isOptional","isDisabled","necessityIndicator","message","messageStyles","description","errorMessage","isInvalid","isValid","labelProps","fieldProps","fieldStyles","requiredMark","labelTooltip","isHidden","labelSuffix","mergedFieldProps","styles","mergedLabelProps","id","_id","fieldPropsWithoutId","Component","controlId"],"sources":["../../../src/components/form/wrapper.tsx"],"sourcesContent":["import { DOMRef, FocusableRef } from '@react-types/shared';\nimport { BaseProps } from '@tenphi/tasty';\nimport { ReactElement, RefObject } from 'react';\n\nimport { FieldBaseProps, FormBaseProps } from '../../shared/index';\nimport { mergeProps } from '../../utils/react/index';\n\nimport { warnAboutForceField } from './field-chrome';\nimport { FieldWrapper } from './FieldWrapper/index';\nimport { warnAboutLegacyTooltip } from './legacy-tooltip';\n\n// `children` is intentionally omitted: the input is passed as `component`, never through props.\ninterface WrapWithFieldProps\n extends FieldBaseProps,\n Omit<BaseProps, 'children'>,\n FormBaseProps {\n /**\n * Set by `useFieldProps` for a field without a `label` that still renders\n * the field chrome — see `asksForFieldChrome`. Not a prop of any input.\n */\n hasFieldChrome?: boolean;\n}\n\n/**\n * Whether `wrapWithField` renders the field chrome for these props: a `label`,\n * the chrome `useFieldProps` asked for, or the deprecated `forceField`.\n */\nexport function rendersFieldChrome(props: object) {\n const { label, hasFieldChrome, forceField } = props as WrapWithFieldProps;\n\n return !!label || !!hasFieldChrome || !!forceField;\n}\n\n/**\n * Wraps an input with the field chrome (label, description, message) when it has a `label`, or when `useFieldProps` asks\n * for it on a field without one (`hasFieldChrome`): one bound to a form, or passed a description or a message, and not `isBare`.\n * Only the field wrapper props are forwarded, so callers can pass their whole props object as is.\n */\nexport function wrapWithField<T extends WrapWithFieldProps>(\n component: ReactElement,\n ref: RefObject<unknown> | FocusableRef<HTMLElement> | DOMRef<HTMLElement>,\n props: T,\n) {\n let {\n label,\n extra,\n labelPosition = 'top',\n labelStyles,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n labelProps,\n fieldProps,\n fieldStyles,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n } = props;\n\n warnAboutForceField(props);\n\n if (!rendersFieldChrome(props)) {\n return component;\n }\n\n warnAboutLegacyTooltip(props);\n\n // Merge fieldStyles as shorthand for fieldProps.styles (fieldStyles takes priority)\n const mergedFieldProps = fieldStyles\n ? mergeProps(fieldProps, { styles: fieldStyles })\n : fieldProps;\n\n // Merge labelStyles as shorthand for labelProps.styles (labelStyles takes priority)\n const mergedLabelProps = labelStyles\n ? mergeProps(labelProps, { styles: labelStyles })\n : labelProps;\n\n // Remove id from fieldProps to avoid duplication (id should be on the input element, not the field wrapper)\n const { id: _id, ...fieldPropsWithoutId } = (mergedFieldProps as any) || {};\n\n return (\n <FieldWrapper\n {...{\n label,\n extra,\n labelPosition,\n isRequired,\n isOptional,\n isDisabled,\n necessityIndicator,\n labelProps: mergedLabelProps,\n fieldProps: fieldPropsWithoutId,\n message,\n messageStyles,\n description,\n errorMessage,\n isInvalid,\n isValid,\n requiredMark,\n labelTooltip,\n isHidden,\n labelSuffix,\n Component: component,\n // Where the description and message ids come from; see\n // `useFieldDescribedBy`, which points the control at them.\n controlId: props.id,\n ref,\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;AA2BA,SAAgBc,mBAAmBC,OAAe;CAChD,MAAM,EAAEC,OAAOH,gBAAgBI,eAAeF;AAE9C,QAAO,CAAC,CAACC,SAAS,CAAC,CAACH,kBAAkB,CAAC,CAACI;;;;;;;AAQ1C,SAAgBC,cACdC,WACAC,KACAL,OACA;CACA,IAAI,EACFC,OACAO,OACAC,gBAAgB,OAChBC,aACAC,YACAC,YACAC,YACAC,oBACAC,SACAC,eACAC,aACAC,cACAC,WACAC,SACAC,YACAC,YACAC,aACAC,eAAe,MACfC,cACAC,UACAC,gBACE3B;AAEJP,qBAAoBO,MAAM;AAE1B,KAAI,CAACD,mBAAmBC,MAAM,CAC5B,QAAOI;AAGTT,wBAAuBK,MAAM;CAG7B,MAAM4B,mBAAmBL,cACrB/B,WAAW8B,YAAY,EAAEO,QAAQN,aAAa,CAAC,GAC/CD;CAGJ,MAAMQ,mBAAmBpB,cACrBlB,WAAW6B,YAAY,EAAEQ,QAAQnB,aAAa,CAAC,GAC/CW;CAGJ,MAAM,EAAEU,IAAIC,KAAK,GAAGC,wBAAyBL,oBAA4B,EAAE;AAE3E,QACE,oBAAC;EAEG3B;EACAO;EACAC;EACAE;EACAC;EACAC;EACAC;EACAO,YAAYS;EACZR,YAAYW;EACZlB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAI;EACAC;EACAC;EACAC;EACAO,WAAW9B;EAGX+B,WAAWnC,MAAM+B;EACjB1B;GAEF"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { DisplayTransition } from "../DisplayTransition/DisplayTransition.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { isValidElement, useCallback, useLayoutEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { BASE_STYLES, BLOCK_STYLES, COLOR_STYLES, DIMENSION_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
4
4
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { c } from "react/compiler-runtime";