@cube-dev/ui-kit 0.194.0 → 0.195.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/CHANGELOG.md +28 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +2 -2
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +2 -2
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.js +1 -1
  38. package/dist/components/actions/actions-run.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +2 -2
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.d.ts +30 -30
  52. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  53. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  54. package/dist/components/content/Divider.js +1 -1
  55. package/dist/components/content/Footer.js +1 -1
  56. package/dist/components/content/Header.js +1 -1
  57. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  58. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  59. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  60. package/dist/components/content/Item/Item.js +3 -3
  61. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  62. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  63. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  64. package/dist/components/content/Layout/GridLayout.js +1 -1
  65. package/dist/components/content/Layout/Layout.js +1 -1
  66. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  67. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  68. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  69. package/dist/components/content/Layout/LayoutContent.js +1 -1
  70. package/dist/components/content/Layout/LayoutContext.js +1 -1
  71. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  72. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  73. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  74. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  75. package/dist/components/content/Layout/LayoutPane.d.ts +5 -1
  76. package/dist/components/content/Layout/LayoutPane.js +325 -148
  77. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  78. package/dist/components/content/Layout/LayoutPanel.js +4 -3
  79. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  80. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  82. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  83. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  84. package/dist/components/content/Layout/index.js +1 -1
  85. package/dist/components/content/Layout/utils.js +1 -1
  86. package/dist/components/content/Paragraph.js +1 -1
  87. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  88. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  89. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  90. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  91. package/dist/components/content/Result/Result.js +1 -1
  92. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  93. package/dist/components/content/Tag/Tag.js +1 -1
  94. package/dist/components/content/Text.d.ts +57 -57
  95. package/dist/components/content/Text.js +61 -77
  96. package/dist/components/content/Text.js.map +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +158 -29
  98. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  99. package/dist/components/content/Title.js +1 -1
  100. package/dist/components/content/Tree/Tree.js +1 -1
  101. package/dist/components/content/Tree/TreeNode.js +1 -1
  102. package/dist/components/content/Tree/styled.js +1 -1
  103. package/dist/components/content/Tree/tree-index.js +1 -1
  104. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  105. package/dist/components/content/Tree/use-load-data.js +1 -1
  106. package/dist/components/content/highlightText.js +1 -1
  107. package/dist/components/content/use-auto-tooltip.js +3 -2
  108. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  109. package/dist/components/data/DataTable/DataTable.js +1 -1
  110. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  111. package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
  112. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  113. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  114. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  115. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  116. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  117. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  118. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  119. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  120. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  121. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  122. package/dist/components/data/TableBase/RowCollection.js +1 -1
  123. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  124. package/dist/components/data/TableBase/TableRow.js +1 -1
  125. package/dist/components/data/TableBase/TableView.js +1 -1
  126. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  127. package/dist/components/data/TableBase/column-header.js +89 -25
  128. package/dist/components/data/TableBase/column-header.js.map +1 -1
  129. package/dist/components/data/TableBase/column-menu.js +1 -1
  130. package/dist/components/data/TableBase/column-styles.js +1 -1
  131. package/dist/components/data/TableBase/column-tint.js +1 -1
  132. package/dist/components/data/TableBase/row-menu.js +1 -1
  133. package/dist/components/data/TableBase/styled.js +1 -1
  134. package/dist/components/data/TableBase/table-tree.js +1 -1
  135. package/dist/components/data/TableBase/types.js +1 -1
  136. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  137. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  138. package/dist/components/data/TableBase/use-column-order.js +1 -1
  139. package/dist/components/data/TableBase/use-column-window.js +1 -1
  140. package/dist/components/data/TableBase/use-container-width.js +1 -1
  141. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  142. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  143. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  144. package/dist/components/data/TableBase/use-table-search.js +1 -1
  145. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  146. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  147. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  148. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  149. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  150. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  151. package/dist/components/fields/Checkbox/Checkbox.js +27 -16
  152. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  153. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  154. package/dist/components/fields/Checkbox/CheckboxGroup.js +2 -2
  155. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  156. package/dist/components/fields/Checkbox/context.js +1 -1
  157. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  158. package/dist/components/fields/ColorPicker/ColorPicker.js +2 -2
  159. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  160. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  161. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  162. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  163. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  164. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  165. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  166. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  167. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  168. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  169. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  170. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  171. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  172. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  173. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  175. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  176. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  177. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  178. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  179. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  180. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  181. package/dist/components/fields/DatePicker/period.js +1 -1
  182. package/dist/components/fields/DatePicker/props.js +1 -1
  183. package/dist/components/fields/DatePicker/utils.js +1 -1
  184. package/dist/components/fields/FileInput/FileInput.js +1 -1
  185. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  186. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -2
  187. package/dist/components/fields/Input/Input.js +1 -1
  188. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  189. package/dist/components/fields/ListBox/ListBox.js +1 -1
  190. package/dist/components/fields/ListBox/optionId.js +1 -1
  191. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  192. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  193. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  194. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  195. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  196. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  197. package/dist/components/fields/Picker/Picker.js +2 -2
  198. package/dist/components/fields/RadioGroup/Radio.d.ts +36 -32
  199. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  200. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  201. package/dist/components/fields/RadioGroup/context.js +1 -1
  202. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -1
  203. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  204. package/dist/components/fields/SearchInput/SearchInput.js +6 -1
  205. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  206. package/dist/components/fields/Select/Select.js +2 -2
  207. package/dist/components/fields/Slider/Gradation.js +1 -1
  208. package/dist/components/fields/Slider/HueSlider.js +1 -1
  209. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  210. package/dist/components/fields/Slider/Slider.js +1 -1
  211. package/dist/components/fields/Slider/SliderBase.js +1 -1
  212. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  213. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  214. package/dist/components/fields/Slider/elements.js +1 -1
  215. package/dist/components/fields/Slider/index.js +1 -1
  216. package/dist/components/fields/Switch/Switch.js +101 -101
  217. package/dist/components/fields/Switch/Switch.js.map +1 -1
  218. package/dist/components/fields/TagInput/TagInput.js +335 -329
  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 +1 -1
  228. package/dist/components/fields/TriggerActions.js +1 -1
  229. package/dist/components/fields/color/ColorPanel.js +1 -1
  230. package/dist/components/fields/color/channels.js +1 -1
  231. package/dist/components/fields/color/color.js +1 -1
  232. package/dist/components/fields/color/context.js +1 -1
  233. package/dist/components/form/FieldWrapper/FieldWrapper.js +10 -9
  234. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  235. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  236. package/dist/components/form/Form/Field.js +1 -1
  237. package/dist/components/form/Form/Form.js +1 -1
  238. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  239. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  240. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  241. package/dist/components/form/Form/SubmitError.js +1 -1
  242. package/dist/components/form/Form/backend.js +1 -1
  243. package/dist/components/form/Form/index.js +1 -1
  244. package/dist/components/form/Form/modern/actions.js +1 -1
  245. package/dist/components/form/Form/modern/context.js +1 -1
  246. package/dist/components/form/Form/modern/controller.js +1 -1
  247. package/dist/components/form/Form/modern/field-binding.js +1 -1
  248. package/dist/components/form/Form/modern/field.js +1 -1
  249. package/dist/components/form/Form/modern/react.js +1 -1
  250. package/dist/components/form/Form/modern/store.js +1 -1
  251. package/dist/components/form/Form/modern/validation.js +1 -1
  252. package/dist/components/form/Form/modern/values.js +1 -1
  253. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  254. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  255. package/dist/components/form/Form/use-field/use-field-props.js +47 -23
  256. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  257. package/dist/components/form/Form/use-field/use-field.js +1 -1
  258. package/dist/components/form/Form/use-form.js +1 -1
  259. package/dist/components/form/Form/validation.js +1 -1
  260. package/dist/components/form/Label.js +1 -1
  261. package/dist/components/form/field-chrome.js +45 -0
  262. package/dist/components/form/field-chrome.js.map +1 -0
  263. package/dist/components/form/index.d.ts +1 -1
  264. package/dist/components/form/legacy-tooltip.js +1 -1
  265. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  266. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  267. package/dist/components/form/validation/use-validation-props.js +1 -1
  268. package/dist/components/form/wrapper.d.ts +15 -3
  269. package/dist/components/form/wrapper.js +16 -5
  270. package/dist/components/form/wrapper.js.map +1 -1
  271. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  272. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  273. package/dist/components/layout/Flex.js +1 -1
  274. package/dist/components/layout/Flow.js +1 -1
  275. package/dist/components/layout/Grid.js +1 -1
  276. package/dist/components/layout/Panel.js +1 -1
  277. package/dist/components/layout/Prefix.js +1 -1
  278. package/dist/components/layout/ResizablePanel.js +1 -1
  279. package/dist/components/layout/Space.js +1 -1
  280. package/dist/components/layout/Suffix.js +1 -1
  281. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  282. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  283. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  284. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  285. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  286. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  287. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  288. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  289. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  290. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  291. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  292. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  293. package/dist/components/navigation/Tabs/styled.js +1 -1
  294. package/dist/components/navigation/Tabs/types.js +1 -1
  295. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  296. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  297. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  298. package/dist/components/other/Calendar/Calendar.js +1 -1
  299. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  300. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  301. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  302. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  303. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  304. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  305. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  306. package/dist/components/other/Calendar/styled.js +1 -1
  307. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  308. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  309. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  310. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +15 -4
  311. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +83 -14
  312. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  313. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  314. package/dist/components/overlays/AlertDialog/types.d.ts +2 -1
  315. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  316. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  317. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  318. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  319. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  320. package/dist/components/overlays/Dialog/context.js +1 -1
  321. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  322. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  323. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  324. package/dist/components/overlays/Modal/Modal.js +1 -1
  325. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  326. package/dist/components/overlays/Modal/Overlay.js +1 -1
  327. package/dist/components/overlays/Modal/Popover.js +1 -1
  328. package/dist/components/overlays/Modal/Tray.js +1 -1
  329. package/dist/components/overlays/Modal/Underlay.js +1 -1
  330. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  331. package/dist/components/overlays/Notifications/Notification.js +1 -1
  332. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  333. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  334. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  335. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  336. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  337. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  338. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  339. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  340. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  341. package/dist/components/overlays/Notifications/index.js +1 -1
  342. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  343. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  344. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  345. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  346. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  347. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  348. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  349. package/dist/components/overlays/Toast/index.js +1 -1
  350. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  351. package/dist/components/overlays/Toast/useToast.js +1 -1
  352. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  353. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  354. package/dist/components/overlays/Tooltip/TooltipTrigger.js +95 -100
  355. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  356. package/dist/components/overlays/Tooltip/context.js +1 -1
  357. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  358. package/dist/components/portal/Portal.js +1 -1
  359. package/dist/components/portal/PortalProvider.js +1 -1
  360. package/dist/components/portal/usePortal.js +1 -1
  361. package/dist/components/shared/DraggableCollection.js +1 -1
  362. package/dist/components/shared/InvalidIcon.js +1 -1
  363. package/dist/components/shared/ValidIcon.js +1 -1
  364. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  365. package/dist/components/status/Spin/Cube.js +1 -1
  366. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  367. package/dist/components/status/Spin/Spin.js +1 -1
  368. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  369. package/dist/data/item-themes.js +1 -1
  370. package/dist/data/themes.js +1 -1
  371. package/dist/eslint-plugin/defaults.generated.js +1 -1
  372. package/dist/eslint-plugin/index.js +1 -1
  373. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  374. package/dist/i18n/I18nProvider.js +1 -1
  375. package/dist/i18n/createFormatter.js +1 -1
  376. package/dist/i18n/index.js +1 -1
  377. package/dist/i18n/instance.js +1 -1
  378. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  379. package/dist/i18n/locales/en-US/uikit.js +1 -1
  380. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  381. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  382. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  383. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  384. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  385. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  386. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  387. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  388. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  389. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  390. package/dist/i18n/locales.js +1 -1
  391. package/dist/i18n/namespace.js +1 -1
  392. package/dist/i18n/useFormatter.js +1 -1
  393. package/dist/i18n/useI18n.js +1 -1
  394. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  395. package/dist/icons/AdjustmentsIcon.js +1 -1
  396. package/dist/icons/AiIcon.js +1 -1
  397. package/dist/icons/AreaChartIcon.js +1 -1
  398. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  399. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  400. package/dist/icons/BackwardIcon.js +1 -1
  401. package/dist/icons/BarChartIcon.js +1 -1
  402. package/dist/icons/BellFilledIcon.js +1 -1
  403. package/dist/icons/BellIcon.js +1 -1
  404. package/dist/icons/BooleanIcon.js +1 -1
  405. package/dist/icons/CalendarEditIcon.js +1 -1
  406. package/dist/icons/CalendarIcon.js +1 -1
  407. package/dist/icons/CaretDownIcon.js +1 -1
  408. package/dist/icons/CaretUpIcon.js +1 -1
  409. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  410. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  411. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  412. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  413. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  414. package/dist/icons/ChartBarLineIcon.js +1 -1
  415. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  416. package/dist/icons/ChartBarStackedIcon.js +1 -1
  417. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  418. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  419. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  420. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  421. package/dist/icons/ChartBubbleIcon.js +1 -1
  422. package/dist/icons/ChartDonut2Icon.js +1 -1
  423. package/dist/icons/ChartFunnelIcon.js +1 -1
  424. package/dist/icons/ChartHeatmapIcon.js +1 -1
  425. package/dist/icons/ChartKPIIcon.js +1 -1
  426. package/dist/icons/ChartPie2Icon.js +1 -1
  427. package/dist/icons/ChartScatterIcon.js +1 -1
  428. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  429. package/dist/icons/CheckCircleIcon.js +1 -1
  430. package/dist/icons/CheckIcon.js +1 -1
  431. package/dist/icons/CircleFilledIcon.js +1 -1
  432. package/dist/icons/ClearIcon.js +1 -1
  433. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  434. package/dist/icons/CloseCircleIcon.js +1 -1
  435. package/dist/icons/CloseIcon.js +1 -1
  436. package/dist/icons/CodeIcon.js +1 -1
  437. package/dist/icons/ColumnTotalIcon.js +1 -1
  438. package/dist/icons/CopyIcon.js +1 -1
  439. package/dist/icons/CountIcon.js +1 -1
  440. package/dist/icons/CubeIcon.js +1 -1
  441. package/dist/icons/CubePauseIcon.js +1 -1
  442. package/dist/icons/CubePlayIcon.js +1 -1
  443. package/dist/icons/CurrencyDollarIcon.js +1 -1
  444. package/dist/icons/DangerIcon.js +1 -1
  445. package/dist/icons/DashboardIcon.js +1 -1
  446. package/dist/icons/DatabaseIcon.js +1 -1
  447. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  448. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  449. package/dist/icons/DirectionIcon.js +1 -1
  450. package/dist/icons/DonutIcon.js +1 -1
  451. package/dist/icons/DownIcon.js +1 -1
  452. package/dist/icons/EditIcon.js +1 -1
  453. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  454. package/dist/icons/ExclamationCircleIcon.js +1 -1
  455. package/dist/icons/ExclamationIcon.js +1 -1
  456. package/dist/icons/EyeIcon.js +1 -1
  457. package/dist/icons/EyeInvisibleIcon.js +1 -1
  458. package/dist/icons/FilterIcon.js +1 -1
  459. package/dist/icons/FolderFilledIcon.js +1 -1
  460. package/dist/icons/FolderIcon.js +1 -1
  461. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  462. package/dist/icons/FolderOpenIcon.js +1 -1
  463. package/dist/icons/ForwardIcon.js +1 -1
  464. package/dist/icons/GripVerticalIcon.js +1 -1
  465. package/dist/icons/HierarchyIcon.js +1 -1
  466. package/dist/icons/HierarchyOpenIcon.js +1 -1
  467. package/dist/icons/Icon.js +1 -1
  468. package/dist/icons/InfoCircleIcon.js +1 -1
  469. package/dist/icons/InfoIcon.js +1 -1
  470. package/dist/icons/KeyIcon.js +1 -1
  471. package/dist/icons/LeftIcon.js +1 -1
  472. package/dist/icons/LineChartIcon.js +1 -1
  473. package/dist/icons/LoadingIcon.js +1 -1
  474. package/dist/icons/LockFilledIcon.js +1 -1
  475. package/dist/icons/LockIcon.js +1 -1
  476. package/dist/icons/MoreIcon.js +1 -1
  477. package/dist/icons/NotAllowedIcon.js +1 -1
  478. package/dist/icons/Number123Icon.js +1 -1
  479. package/dist/icons/NumberIcon.js +1 -1
  480. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  481. package/dist/icons/PauseCircleIcon.js +1 -1
  482. package/dist/icons/PauseIcon.js +1 -1
  483. package/dist/icons/PercentageIcon.js +1 -1
  484. package/dist/icons/PieChartIcon.js +1 -1
  485. package/dist/icons/PipetteIcon.js +1 -1
  486. package/dist/icons/PlayCircleIcon.js +1 -1
  487. package/dist/icons/PlayIcon.js +1 -1
  488. package/dist/icons/PlusIcon.js +1 -1
  489. package/dist/icons/ProgressBarIcon.js +1 -1
  490. package/dist/icons/ReloadIcon.js +1 -1
  491. package/dist/icons/ReportIcon.js +1 -1
  492. package/dist/icons/ReturnIcon.js +1 -1
  493. package/dist/icons/RightIcon.js +1 -1
  494. package/dist/icons/RowTotalsIcon.js +1 -1
  495. package/dist/icons/SchemeIcon.js +1 -1
  496. package/dist/icons/SearchIcon.js +1 -1
  497. package/dist/icons/SemanticQueryIcon.js +1 -1
  498. package/dist/icons/SettingsIcon.js +1 -1
  499. package/dist/icons/ShieldFilledIcon.js +1 -1
  500. package/dist/icons/ShieldIcon.js +1 -1
  501. package/dist/icons/SlashIcon.js +1 -1
  502. package/dist/icons/SparklesIcon.js +1 -1
  503. package/dist/icons/SqlIcon.js +1 -1
  504. package/dist/icons/StatsIcon.js +1 -1
  505. package/dist/icons/StopIcon.js +1 -1
  506. package/dist/icons/StringIcon.js +1 -1
  507. package/dist/icons/SubtotalsIcon.js +1 -1
  508. package/dist/icons/SwitchIcon.js +1 -1
  509. package/dist/icons/TableIcon.js +1 -1
  510. package/dist/icons/ThumbsDownIcon.js +1 -1
  511. package/dist/icons/ThumbsUpIcon.js +1 -1
  512. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  513. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  514. package/dist/icons/ThunderboltIcon.js +1 -1
  515. package/dist/icons/TimeIcon.js +1 -1
  516. package/dist/icons/TrashIcon.js +1 -1
  517. package/dist/icons/UnlockIcon.js +1 -1
  518. package/dist/icons/UpIcon.js +1 -1
  519. package/dist/icons/UserGroupIcon.js +1 -1
  520. package/dist/icons/UserIcon.js +1 -1
  521. package/dist/icons/UserLockIcon.js +1 -1
  522. package/dist/icons/ViewIcon.js +1 -1
  523. package/dist/icons/WarningFilledIcon.js +1 -1
  524. package/dist/icons/WarningIcon.js +1 -1
  525. package/dist/icons/wrap-icon.js +1 -1
  526. package/dist/index.d.ts +2 -2
  527. package/dist/index.js +8 -8
  528. package/dist/probe/canonicalize.js +1 -1
  529. package/dist/probe/css.js +1 -1
  530. package/dist/probe/index.js +1 -1
  531. package/dist/provider.js +1 -1
  532. package/dist/providers/TrackingProvider.js +1 -1
  533. package/dist/providers/navigation-url.js +1 -1
  534. package/dist/providers/navigationAdapter.default.js +1 -1
  535. package/dist/providers/use-navigation.js +1 -1
  536. package/dist/shared/form.d.ts +16 -2
  537. package/dist/tokens/all-tokens.js +1 -1
  538. package/dist/tokens/base.js +1 -1
  539. package/dist/tokens/color-seed.js +1 -1
  540. package/dist/tokens/color-theme.js +1 -1
  541. package/dist/tokens/colors.js +1 -1
  542. package/dist/tokens/layout.js +1 -1
  543. package/dist/tokens/lazy-styles.js +1 -1
  544. package/dist/tokens/legacy-color.js +1 -1
  545. package/dist/tokens/palette-config.js +1 -1
  546. package/dist/tokens/palette.js +1 -1
  547. package/dist/tokens/resolve.js +1 -1
  548. package/dist/tokens/shadows.js +1 -1
  549. package/dist/tokens/sizes.js +1 -1
  550. package/dist/tokens/spacing.js +1 -1
  551. package/dist/tokens/typography.js +1 -1
  552. package/dist/utils/ResizeSensor.js +1 -1
  553. package/dist/utils/colors.js +1 -1
  554. package/dist/utils/dotize.js +1 -1
  555. package/dist/utils/is-dev-env.js +1 -1
  556. package/dist/utils/modules.js +1 -1
  557. package/dist/utils/promise.js +1 -1
  558. package/dist/utils/raf.js +1 -1
  559. package/dist/utils/random.js +1 -1
  560. package/dist/utils/range.js +1 -1
  561. package/dist/utils/react/RenderCache.js +1 -1
  562. package/dist/utils/react/Slots.js +1 -1
  563. package/dist/utils/react/chain.js +1 -1
  564. package/dist/utils/react/disabledProps.js +1 -1
  565. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  566. package/dist/utils/react/index.js +4 -4
  567. package/dist/utils/react/interactions.js +1 -1
  568. package/dist/utils/react/isTextOnly.js +1 -1
  569. package/dist/utils/react/mapProps.js +1 -1
  570. package/dist/utils/react/mergeProps.js +1 -1
  571. package/dist/utils/react/nullableValue.js +1 -1
  572. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  573. package/dist/utils/react/programmaticFocus.js +1 -1
  574. package/dist/utils/react/resolveIcon.js +1 -1
  575. package/dist/utils/react/sharedStore.js +1 -1
  576. package/dist/utils/react/useBufferedValue.js +1 -1
  577. package/dist/utils/react/useCombinedRefs.js +1 -1
  578. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  579. package/dist/utils/react/useEventBus.js +1 -1
  580. package/dist/utils/react/useId.js +1 -1
  581. package/dist/utils/react/useIsDarwin.js +1 -1
  582. package/dist/utils/react/useKeySymbols.js +1 -1
  583. package/dist/utils/react/useLayoutEffect.js +1 -1
  584. package/dist/utils/react/useLocalStorage.js +1 -1
  585. package/dist/utils/react/useMergeStyles.js +1 -1
  586. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  587. package/dist/utils/react/usePopoverSync.js +1 -1
  588. package/dist/utils/react/useQaProps.js +1 -1
  589. package/dist/utils/react/useScheme.js +1 -1
  590. package/dist/utils/react/useViewportSize.js +1 -1
  591. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  592. package/dist/utils/selection.js +1 -1
  593. package/dist/utils/styles.js +1 -1
  594. package/dist/utils/tree.js +1 -1
  595. package/dist/utils/warnings.js +1 -1
  596. package/dist/version.js +2 -2
  597. package/docs/FieldProperties.md +4 -2
  598. package/docs/components/content/Layout.md +32 -2
  599. package/docs/components/fields/Checkbox.md +4 -3
  600. package/docs/components/fields/Switch.md +4 -3
  601. package/docs/components/overlays/AlertDialog.md +38 -4
  602. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { chain } from "../../../utils/react/chain.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useBufferedValue } from "../../../utils/react/useBufferedValue.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useEffect, useLayoutEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { mergeProps } 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { ItemActionIcon } from "../actions/ItemActionsWrapper.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { Fragment, jsxs } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { formatColor, getContrastingColor, toHex } from "./color.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { maxChroma, normalizeHue, oklchToOkhsl } from "../../../utils/colors.js";
3
3
  import { fromOkhst, fromRgb, isAchromatic, toHex, toOkhst, toOklch, toRgb } from "./color.js";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { anyNaN, clamp, maxChroma, normalizeHue, oklchToOkhsl, parseColorFunction, readComponent, readHue, rgbFromSrgb } from "../../../utils/colors.js";
3
3
  import { contrastRatioFromLuminance, formatHsl, formatOkhsl, formatOkhst, formatOklch, formatRgb, hslToSrgb, okhslToLinearSrgb, okhslToOkhst, okhslToOklch, okhslToSrgb, okhstToOkhsl, parseHexAlpha, relativeLuminanceFromLinearRgb, srgbToHex, srgbToOkhsl } from "@tenphi/glaze";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { createContext, useContext } from "react";
3
3
 
4
4
  //#region src/components/fields/color/context.ts
@@ -1,8 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
+ import { _Text } from "../../content/Text.js";
3
4
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
4
5
  import { isDevEnv } from "../../../utils/is-dev-env.js";
5
- import { _Text } from "../../content/Text.js";
6
6
  import { useI18n } from "../../../i18n/useI18n.js";
7
7
  import { Space } from "../../layout/Space.js";
8
8
  import { InfoBadge } from "../../content/InfoBadge/InfoBadge.js";
@@ -207,19 +207,20 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
207
207
  $[27] = t6;
208
208
  } else t6 = $[27];
209
209
  const createDescriptionComponent = t6;
210
+ const isDescriptionBesideInput = !!label && (labelPosition === "side" || labelPosition === "split");
210
211
  let t7;
211
- if ($[28] !== createDescriptionComponent || $[29] !== labelPosition) {
212
- t7 = labelPosition === "side" || labelPosition === "split" ? createDescriptionComponent() : null;
212
+ if ($[28] !== createDescriptionComponent || $[29] !== isDescriptionBesideInput) {
213
+ t7 = isDescriptionBesideInput ? createDescriptionComponent() : null;
213
214
  $[28] = createDescriptionComponent;
214
- $[29] = labelPosition;
215
+ $[29] = isDescriptionBesideInput;
215
216
  $[30] = t7;
216
217
  } else t7 = $[30];
217
218
  const descriptionForLabel = t7;
218
219
  let t8;
219
- if ($[31] !== createDescriptionComponent || $[32] !== labelPosition) {
220
- t8 = labelPosition === "top" ? createDescriptionComponent() : null;
220
+ if ($[31] !== createDescriptionComponent || $[32] !== isDescriptionBesideInput) {
221
+ t8 = !isDescriptionBesideInput ? createDescriptionComponent() : null;
221
222
  $[31] = createDescriptionComponent;
222
- $[32] = labelPosition;
223
+ $[32] = isDescriptionBesideInput;
223
224
  $[33] = t8;
224
225
  } else t8 = $[33];
225
226
  const descriptionForInput = t8;
@@ -262,7 +263,7 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
262
263
  const t15 = as ?? "div";
263
264
  let t16;
264
265
  if ($[45] !== descriptionForLabel || $[46] !== labelComponent) {
265
- t16 = labelComponent || descriptionForLabel ? /* @__PURE__ */ jsxs("div", {
266
+ t16 = labelComponent ? /* @__PURE__ */ jsxs("div", {
266
267
  "data-element": "LabelArea",
267
268
  children: [labelComponent, descriptionForLabel]
268
269
  }) : null;
@@ -1 +1 @@
1
- {"version":3,"file":"FieldWrapper.js","names":["tasty","forwardRef","useI18n","isDevEnv","mergeProps","wrapNodeIfPlain","InfoBadge","Text","Flex","Space","Label","NecessityIndicatorMark","warnAboutLegacyTooltip","getValidationMods","getFieldDescriptionId","getFieldMessageId","useFieldTextId","CubeFieldWrapperProps","FieldElement","qa","styles","display","width","gridColumns","gap","placeItems","placeContent","LabelArea","margin","InputArea","flow","gridColumn","displayName","MessageElement","preset","color","invalid","valid","disabled","textAlign","userSelect","DescriptionElement","LabelSuffixElement","FieldWrapper","props","ref","$","_c","as","labelPosition","t0","label","extra","isRequired","isOptional","isDisabled","labelStyles","necessityIndicator","labelProps","fieldProps","message","messageStyles","description","errorMessage","Component","controlId","isInvalid","isValid","requiredMark","t1","labelTooltip","isHidden","labelSuffix","children","undefined","t","showRequiredMark","showOptionalNote","t2","optionalNote","t3","labelComponent","displayMessage","isErrorMessage","isMessageShown","t4","descriptionId","t5","messageId","t6","createDescriptionComponent","t7","descriptionForLabel","t8","descriptionForInput","t9","t10","t11","t12","t13","mods","t14","mergedFieldProps","t15","t16","t17","t18","t19","t20"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { InfoBadge } from '../../content/InfoBadge';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { Label, NecessityIndicatorMark } from '../Label';\nimport { warnAboutLegacyTooltip } from '../legacy-tooltip';\nimport { getValidationMods } from '../validation/index';\n\nimport {\n getFieldDescriptionId,\n getFieldMessageId,\n useFieldTextId,\n} from './field-description';\nimport { CubeFieldWrapperProps } from './types';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n placeContent: {\n '': 'initial',\n 'has-split': 'space-between',\n },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n InputArea: {\n display: 'block',\n flow: 'column',\n gap: '.5x',\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n },\n },\n});\n\nif (isDevEnv()) {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'FieldMessage',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'FieldDescription',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A flex box, not a block: in a block an inline-level suffix such as a `Badge`\n * or a `Tag` sits in a line box whose strut adds a pixel under it, so the label\n * row grew from 20px to 21px and its field stepped down out of line. Only a\n * single element is a direct flex item; mixed content is wrapped in a `<span>`,\n * because a flex box drops the whitespace between its items.\n */\nconst LabelSuffixElement = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n extra,\n styles,\n isRequired,\n isOptional,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n controlId,\n isInvalid,\n isValid,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const { t } = useI18n();\n\n warnAboutLegacyTooltip(props);\n\n // `requiredMark={false}` drops the required marker, but the field is still\n // required — so the optional note has to keep losing to it rather than\n // stepping into the gap and labelling a required field optional.\n const showRequiredMark = !!requiredMark && !!isRequired;\n const showOptionalNote = !isRequired && !!isOptional;\n\n // The `aria-label` below is what the input is named by, so it shadows the\n // label's own content — including the `(optional)` note, which is the only\n // thing saying the field is optional. A required field needs no such help:\n // `aria-required` on the input already announces it.\n const optionalNote = showOptionalNote\n ? t('form.optional', '(optional)')\n : null;\n\n const labelComponent = label ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isInvalid={isInvalid}\n isValid={isValid}\n aria-label={\n typeof label === 'string'\n ? optionalNote\n ? `${label} ${optionalNote}`\n : label\n : undefined\n }\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>\n {label}\n {/*\n `Label` can only append the marker itself when its child is plain\n text, and the tree below is not — so it is placed here, against\n the label text, rather than after the full-width `Flex`.\n */}\n <NecessityIndicatorMark\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n necessityIndicator={necessityIndicator}\n />\n </div>\n\n {labelTooltip ? <InfoBadge tooltip={labelTooltip} /> : null}\n\n {labelSuffix ? (\n <LabelSuffixElement>\n {wrapNodeIfPlain(labelSuffix, () => (\n <span>{labelSuffix}</span>\n ))}\n </LabelSuffixElement>\n ) : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n // Determine which message to display (errorMessage takes precedence, then message for backward compatibility)\n const displayMessage = errorMessage || message;\n const isErrorMessage = !!errorMessage;\n const isMessageShown = !!displayMessage && !isDisabled;\n\n // An id only on what is actually rendered, registered for the control's\n // `aria-describedby` — see `useFieldDescribedBy`.\n const descriptionId =\n controlId && description ? getFieldDescriptionId(controlId) : undefined;\n const messageId =\n controlId && isMessageShown ? getFieldMessageId(controlId) : undefined;\n\n useFieldTextId(descriptionId);\n useFieldTextId(messageId);\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!description) return null;\n\n return (\n <DescriptionElement id={descriptionId} data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // Description positioning based on label position\n const descriptionForLabel =\n labelPosition === 'side' || labelPosition === 'split'\n ? createDescriptionComponent()\n : null;\n const descriptionForInput =\n labelPosition === 'top' ? createDescriptionComponent() : null;\n\n const mods = {\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n 'has-description': !!description,\n ...getValidationMods({ isInvalid, isValid }),\n };\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n mods={mods}\n isHidden={isHidden}\n {...mergedFieldProps}\n >\n {labelComponent || descriptionForLabel ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {isMessageShown && (\n <MessageElement\n id={messageId}\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of the validation state\n invalid: isErrorMessage || !!isInvalid,\n }}\n styles={messageStyles}\n role={isErrorMessage || isInvalid ? 'alert' : undefined}\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldWrapper.js","names":["tasty","forwardRef","useI18n","isDevEnv","mergeProps","wrapNodeIfPlain","InfoBadge","Text","Flex","Space","Label","NecessityIndicatorMark","warnAboutLegacyTooltip","getValidationMods","getFieldDescriptionId","getFieldMessageId","useFieldTextId","CubeFieldWrapperProps","FieldElement","qa","styles","display","width","gridColumns","gap","placeItems","placeContent","LabelArea","margin","InputArea","flow","gridColumn","displayName","MessageElement","preset","color","invalid","valid","disabled","textAlign","userSelect","DescriptionElement","LabelSuffixElement","FieldWrapper","props","ref","$","_c","as","labelPosition","t0","label","extra","isRequired","isOptional","isDisabled","labelStyles","necessityIndicator","labelProps","fieldProps","message","messageStyles","description","errorMessage","Component","controlId","isInvalid","isValid","requiredMark","t1","labelTooltip","isHidden","labelSuffix","children","undefined","t","showRequiredMark","showOptionalNote","t2","optionalNote","t3","labelComponent","displayMessage","isErrorMessage","isMessageShown","t4","descriptionId","t5","messageId","t6","createDescriptionComponent","isDescriptionBesideInput","t7","descriptionForLabel","t8","descriptionForInput","t9","t10","t11","t12","t13","mods","t14","mergedFieldProps","t15","t16","t17","t18","t19","t20"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useI18n } from '../../../i18n';\nimport { isDevEnv } from '../../../utils/is-dev-env';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { InfoBadge } from '../../content/InfoBadge';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { Label, NecessityIndicatorMark } from '../Label';\nimport { warnAboutLegacyTooltip } from '../legacy-tooltip';\nimport { getValidationMods } from '../validation/index';\n\nimport {\n getFieldDescriptionId,\n getFieldMessageId,\n useFieldTextId,\n} from './field-description';\nimport { CubeFieldWrapperProps } from './types';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n placeContent: {\n '': 'initial',\n 'has-split': 'space-between',\n },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n InputArea: {\n display: 'block',\n flow: 'column',\n gap: '.5x',\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n },\n },\n});\n\nif (isDevEnv()) {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'FieldMessage',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'FieldDescription',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A flex box, not a block: in a block an inline-level suffix such as a `Badge`\n * or a `Tag` sits in a line box whose strut adds a pixel under it, so the label\n * row grew from 20px to 21px and its field stepped down out of line. Only a\n * single element is a direct flex item; mixed content is wrapped in a `<span>`,\n * because a flex box drops the whitespace between its items.\n */\nconst LabelSuffixElement = tasty({\n styles: {\n display: 'flex',\n placeItems: 'center',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n extra,\n styles,\n isRequired,\n isOptional,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n controlId,\n isInvalid,\n isValid,\n requiredMark = true,\n labelTooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const { t } = useI18n();\n\n warnAboutLegacyTooltip(props);\n\n // `requiredMark={false}` drops the required marker, but the field is still\n // required — so the optional note has to keep losing to it rather than\n // stepping into the gap and labelling a required field optional.\n const showRequiredMark = !!requiredMark && !!isRequired;\n const showOptionalNote = !isRequired && !!isOptional;\n\n // The `aria-label` below is what the input is named by, so it shadows the\n // label's own content — including the `(optional)` note, which is the only\n // thing saying the field is optional. A required field needs no such help:\n // `aria-required` on the input already announces it.\n const optionalNote = showOptionalNote\n ? t('form.optional', '(optional)')\n : null;\n\n const labelComponent = label ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isInvalid={isInvalid}\n isValid={isValid}\n aria-label={\n typeof label === 'string'\n ? optionalNote\n ? `${label} ${optionalNote}`\n : label\n : undefined\n }\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>\n {label}\n {/*\n `Label` can only append the marker itself when its child is plain\n text, and the tree below is not — so it is placed here, against\n the label text, rather than after the full-width `Flex`.\n */}\n <NecessityIndicatorMark\n isRequired={showRequiredMark}\n isOptional={showOptionalNote}\n necessityIndicator={necessityIndicator}\n />\n </div>\n\n {labelTooltip ? <InfoBadge tooltip={labelTooltip} /> : null}\n\n {labelSuffix ? (\n <LabelSuffixElement>\n {wrapNodeIfPlain(labelSuffix, () => (\n <span>{labelSuffix}</span>\n ))}\n </LabelSuffixElement>\n ) : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n // Determine which message to display (errorMessage takes precedence, then message for backward compatibility)\n const displayMessage = errorMessage || message;\n const isErrorMessage = !!errorMessage;\n const isMessageShown = !!displayMessage && !isDisabled;\n\n // An id only on what is actually rendered, registered for the control's\n // `aria-describedby` — see `useFieldDescribedBy`.\n const descriptionId =\n controlId && description ? getFieldDescriptionId(controlId) : undefined;\n const messageId =\n controlId && isMessageShown ? getFieldMessageId(controlId) : undefined;\n\n useFieldTextId(descriptionId);\n useFieldTextId(messageId);\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!description) return null;\n\n return (\n <DescriptionElement id={descriptionId} data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // A side or split label carries the description in its column. Without a\n // label, that column is empty and the description would read as the label,\n // so it goes under the input.\n const isDescriptionBesideInput =\n !!label && (labelPosition === 'side' || labelPosition === 'split');\n const descriptionForLabel = isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n const descriptionForInput = !isDescriptionBesideInput\n ? createDescriptionComponent()\n : null;\n\n const mods = {\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n 'has-description': !!description,\n ...getValidationMods({ isInvalid, isValid }),\n };\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n mods={mods}\n isHidden={isHidden}\n {...mergedFieldProps}\n >\n {labelComponent ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {isMessageShown && (\n <MessageElement\n id={messageId}\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of the validation state\n invalid: isErrorMessage || !!isInvalid,\n }}\n styles={messageStyles}\n role={isErrorMessage || isInvalid ? 'alert' : undefined}\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { warn } from "../../../utils/warnings.js";
4
4
  import { useValidationProps } from "../validation/use-validation-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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 { mergeRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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 { useProviderProps } from "../../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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(24);
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 = {
@@ -84,7 +86,7 @@ function useFieldProps(inputProps, t0) {
84
86
  const onChangeEvent = useEvent(t7);
85
87
  let t8;
86
88
  if ($[10] !== defaultValidationTrigger || $[11] !== field || $[12] !== generatedId || $[13] !== hasName || $[14] !== isDisabled || $[15] !== isInsideLegacyField || $[16] !== isOutsideOfForm || $[17] !== onChangeEvent || $[18] !== props || $[19] !== valuePropsMapper) {
87
- const resolved = function resolveResult() {
89
+ t8 = function resolveResult() {
88
90
  if (isInsideLegacyField || isDisabled) return props;
89
91
  if (!hasName) {
90
92
  if (!props.id) {
@@ -106,7 +108,7 @@ function useFieldProps(inputProps, t0) {
106
108
  value: field.value,
107
109
  onChange: onChangeEvent
108
110
  }) : {};
109
- const { form: _form, onChange: _fieldOnChange, onBlur: _fieldOnBlur, ...fieldRest } = field ?? {};
111
+ const { form: _form, value: _fieldValue, onChange: _fieldOnChange, onBlur: _fieldOnBlur, ...fieldRest } = field ?? {};
110
112
  const result_0 = isOutsideOfForm ? props : mergeProps(props, fieldRest, valueProps, {
111
113
  validateTrigger: field.validateTrigger ?? defaultValidationTrigger,
112
114
  onBlur: field.onBlur
@@ -118,15 +120,7 @@ function useFieldProps(inputProps, t0) {
118
120
  for: result_0.id
119
121
  }
120
122
  } : result_0;
121
- }();
122
- const { field: _descriptor, dependsOn: _dependsOn, deps: _deps, ...domProps } = isModernFormController(resolved.form) ? {
123
- ...resolved,
124
- form: void 0
125
- } : resolved;
126
- t8 = domProps.name != null && typeof domProps.name !== "string" ? {
127
- ...domProps,
128
- name: getFieldKey(domProps.name)
129
- } : domProps;
123
+ };
130
124
  $[10] = defaultValidationTrigger;
131
125
  $[11] = field;
132
126
  $[12] = generatedId;
@@ -139,19 +133,49 @@ function useFieldProps(inputProps, t0) {
139
133
  $[19] = valuePropsMapper;
140
134
  $[20] = t8;
141
135
  } else t8 = $[20];
142
- const namedProps = t8;
143
- const describedBy = useFieldDescribedBy(namedProps.id, namedProps["aria-describedby"]);
136
+ const resolveResult = t8;
144
137
  let t9;
145
- if ($[21] !== describedBy || $[22] !== namedProps) {
146
- t9 = describedBy === namedProps["aria-describedby"] ? namedProps : {
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 ? {
151
+ ...resolveResult(),
152
+ hasFieldChrome: true
153
+ } : resolveResult();
154
+ const { field: _descriptor, dependsOn: _dependsOn, deps: _deps, ...domProps } = isModernFormController(resolved.form) ? {
155
+ ...resolved,
156
+ form: void 0
157
+ } : resolved;
158
+ t10 = domProps.name != null && typeof domProps.name !== "string" ? {
159
+ ...domProps,
160
+ name: getFieldKey(domProps.name)
161
+ } : domProps;
162
+ $[27] = hasFieldChrome;
163
+ $[28] = resolveResult;
164
+ $[29] = t10;
165
+ } else t10 = $[29];
166
+ const namedProps = t10;
167
+ const describedBy = useFieldDescribedBy(namedProps.id, namedProps["aria-describedby"]);
168
+ let t11;
169
+ if ($[30] !== describedBy || $[31] !== namedProps) {
170
+ t11 = describedBy === namedProps["aria-describedby"] ? namedProps : {
147
171
  ...namedProps,
148
172
  "aria-describedby": describedBy
149
173
  };
150
- $[21] = describedBy;
151
- $[22] = namedProps;
152
- $[23] = t9;
153
- } else t9 = $[23];
154
- const describedProps = t9;
174
+ $[30] = describedBy;
175
+ $[31] = namedProps;
176
+ $[32] = t11;
177
+ } else t11 = $[32];
178
+ const describedProps = t11;
155
179
  useDebugValue(describedProps);
156
180
  return describedProps;
157
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","_fieldOnChange","onBlur","_fieldOnBlur","fieldRest","result_0","resolved","result_1","_descriptor","dependsOn","_dependsOn","deps","_deps","domProps","namedProps","describedBy","t9","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 // handlers: `valueProps` already routes the component's change event into\n // `field.onChange` under the name the component listens to, and `onBlur` is\n // added once below. `mergeProps` chains same-named handlers, so merging them\n // here as well made every user change and every blur run the field handler\n // twice — and onChange/onBlur-triggered validation validate twice.\n const {\n form: _form,\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 const resolved = 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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.194.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.195.0 | 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";