@cube-dev/ui-kit 0.193.2 → 0.194.1

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 (675) hide show
  1. package/dist/CHANGELOG.md +34 -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.d.ts +25 -12
  12. package/dist/components/CollectionItem.js +59 -4
  13. package/dist/components/CollectionItem.js.map +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +2 -2
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.d.ts +1 -1
  20. package/dist/components/actions/Banner/Banner.js +6 -6
  21. package/dist/components/actions/Banner/Banner.js.map +1 -1
  22. package/dist/components/actions/Button/Button.js +2 -2
  23. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +28 -25
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.d.ts +7 -7
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +232 -239
  29. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  30. package/dist/components/actions/CommandMenu/styled.js +1 -1
  31. package/dist/components/actions/ItemAction/ItemAction.js +27 -23
  32. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  33. package/dist/components/actions/ItemActionContext.d.ts +3 -0
  34. package/dist/components/actions/ItemActionContext.js +15 -13
  35. package/dist/components/actions/ItemActionContext.js.map +1 -1
  36. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  37. package/dist/components/actions/ItemButton/ItemButton.d.ts +2 -2
  38. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  39. package/dist/components/actions/Link/Link.js +1 -1
  40. package/dist/components/actions/Menu/Menu.d.ts +9 -9
  41. package/dist/components/actions/Menu/Menu.js +88 -64
  42. package/dist/components/actions/Menu/Menu.js.map +1 -1
  43. package/dist/components/actions/Menu/MenuCollectionItem.d.ts +18 -0
  44. package/dist/components/actions/Menu/MenuCollectionItem.js +36 -0
  45. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -0
  46. package/dist/components/actions/Menu/MenuItem.d.ts +5 -0
  47. package/dist/components/actions/Menu/MenuItem.js +402 -116
  48. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  49. package/dist/components/actions/Menu/MenuSection.d.ts +3 -1
  50. package/dist/components/actions/Menu/MenuSection.js +31 -33
  51. package/dist/components/actions/Menu/MenuSection.js.map +1 -1
  52. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  53. package/dist/components/actions/Menu/SubMenuTrigger.d.ts +1 -1
  54. package/dist/components/actions/Menu/SubMenuTrigger.js +2 -2
  55. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  56. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  57. package/dist/components/actions/Menu/context.js +1 -1
  58. package/dist/components/actions/Menu/index.d.ts +1 -0
  59. package/dist/components/actions/Menu/styled.js +1 -1
  60. package/dist/components/actions/actions-run.js +1 -1
  61. package/dist/components/actions/index.d.ts +3 -2
  62. package/dist/components/actions/index.js +1 -1
  63. package/dist/components/actions/use-action.js +60 -36
  64. package/dist/components/actions/use-action.js.map +1 -1
  65. package/dist/components/actions/use-anchored-menu.js +1 -1
  66. package/dist/components/actions/use-context-menu.js +2 -2
  67. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  68. package/dist/components/content/Alert/Alert.js +1 -1
  69. package/dist/components/content/Alert/use-alert.js +1 -1
  70. package/dist/components/content/Avatar/Avatar.js +1 -1
  71. package/dist/components/content/Badge/Badge.js +1 -1
  72. package/dist/components/content/Card/Card.js +1 -1
  73. package/dist/components/content/Content.js +1 -1
  74. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  75. package/dist/components/content/CopySnippet/CopySnippet.d.ts +45 -45
  76. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  77. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  78. package/dist/components/content/Divider.js +1 -1
  79. package/dist/components/content/Footer.js +1 -1
  80. package/dist/components/content/Header.js +1 -1
  81. package/dist/components/content/HotKeys/HotKeys.js +44 -33
  82. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  83. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  84. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  85. package/dist/components/content/Item/Item.d.ts +7 -7
  86. package/dist/components/content/Item/Item.js +207 -69
  87. package/dist/components/content/Item/Item.js.map +1 -1
  88. package/dist/components/content/Item/ItemWithNativeLinks.js +314 -0
  89. package/dist/components/content/Item/ItemWithNativeLinks.js.map +1 -0
  90. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  91. package/dist/components/content/ItemCard/ItemCard.d.ts +1 -1
  92. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  93. package/dist/components/content/Layout/GridLayout.js +1 -1
  94. package/dist/components/content/Layout/Layout.js +1 -1
  95. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  96. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  97. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  98. package/dist/components/content/Layout/LayoutContent.js +1 -1
  99. package/dist/components/content/Layout/LayoutContext.js +1 -1
  100. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  101. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  102. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  103. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  104. package/dist/components/content/Layout/LayoutPane.js +113 -107
  105. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  106. package/dist/components/content/Layout/LayoutPanel.js +44 -48
  107. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  108. package/dist/components/content/Layout/LayoutPanelHeader.js +2 -2
  109. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  110. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  111. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  112. package/dist/components/content/Layout/index.js +1 -1
  113. package/dist/components/content/Layout/utils.js +1 -1
  114. package/dist/components/content/Paragraph.js +1 -1
  115. package/dist/components/content/Placeholder/Placeholder.js +77 -70
  116. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  117. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  118. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  119. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  120. package/dist/components/content/Result/Result.js +5 -5
  121. package/dist/components/content/Result/Result.js.map +1 -1
  122. package/dist/components/content/Skeleton/Skeleton.js +18 -19
  123. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  124. package/dist/components/content/Tag/Tag.js +2 -2
  125. package/dist/components/content/Text.d.ts +57 -57
  126. package/dist/components/content/Text.js +61 -77
  127. package/dist/components/content/Text.js.map +1 -1
  128. package/dist/components/content/TextItem/TextItem.js +158 -29
  129. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  130. package/dist/components/content/Title.js +66 -48
  131. package/dist/components/content/Title.js.map +1 -1
  132. package/dist/components/content/Tree/Tree.js +6 -3
  133. package/dist/components/content/Tree/Tree.js.map +1 -1
  134. package/dist/components/content/Tree/TreeNode.js +1 -1
  135. package/dist/components/content/Tree/styled.js +1 -1
  136. package/dist/components/content/Tree/tree-index.js +1 -1
  137. package/dist/components/content/Tree/types.d.ts +2 -2
  138. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  139. package/dist/components/content/Tree/use-load-data.js +1 -1
  140. package/dist/components/content/highlightText.js +1 -1
  141. package/dist/components/content/use-auto-tooltip.js +3 -2
  142. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  143. package/dist/components/data/DataTable/DataTable.js +1 -1
  144. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  145. package/dist/components/data/ItemTable/ItemTableBulkBar.js +2 -2
  146. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  147. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  148. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  149. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  150. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  151. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  152. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  153. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  154. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  155. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  156. package/dist/components/data/TableBase/RowCollection.js +1 -1
  157. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  158. package/dist/components/data/TableBase/TableRow.js +1 -1
  159. package/dist/components/data/TableBase/TableView.js +8 -5
  160. package/dist/components/data/TableBase/TableView.js.map +1 -1
  161. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  162. package/dist/components/data/TableBase/column-header.js +89 -25
  163. package/dist/components/data/TableBase/column-header.js.map +1 -1
  164. package/dist/components/data/TableBase/column-menu.js +1 -1
  165. package/dist/components/data/TableBase/column-styles.js +1 -1
  166. package/dist/components/data/TableBase/column-tint.js +1 -1
  167. package/dist/components/data/TableBase/row-menu.js +1 -1
  168. package/dist/components/data/TableBase/styled.d.ts +1 -1
  169. package/dist/components/data/TableBase/styled.js +1 -1
  170. package/dist/components/data/TableBase/table-tree.js +1 -1
  171. package/dist/components/data/TableBase/types.js +1 -1
  172. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  173. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  174. package/dist/components/data/TableBase/use-column-order.js +1 -1
  175. package/dist/components/data/TableBase/use-column-window.js +119 -57
  176. package/dist/components/data/TableBase/use-column-window.js.map +1 -1
  177. package/dist/components/data/TableBase/use-container-width.js +1 -1
  178. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  179. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  180. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  181. package/dist/components/data/TableBase/use-table-search.js +1 -1
  182. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  183. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  184. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  185. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  186. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +19 -17
  187. package/dist/components/data/TableBase/use-table-tooltip-refresh.js.map +1 -1
  188. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  189. package/dist/components/fields/Checkbox/Checkbox.js +3 -1
  190. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  191. package/dist/components/fields/Checkbox/CheckboxGroup.js +13 -13
  192. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  193. package/dist/components/fields/Checkbox/context.js +1 -1
  194. package/dist/components/fields/ColorInput/ColorInput.js +32 -29
  195. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  196. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +2 -0
  197. package/dist/components/fields/ColorPicker/ColorPicker.js +9 -6
  198. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  199. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  200. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +6 -3
  201. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  202. package/dist/components/fields/ComboBox/ComboBox.js +41 -30
  203. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  204. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  205. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  206. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  207. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  208. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  209. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  210. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  211. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  212. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  213. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  214. package/dist/components/fields/DatePicker/DateRangePicker.js +2 -2
  215. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +246 -238
  216. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  217. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  218. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  219. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  220. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  221. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  222. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  223. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  224. package/dist/components/fields/DatePicker/period.js +1 -1
  225. package/dist/components/fields/DatePicker/props.js +1 -1
  226. package/dist/components/fields/DatePicker/utils.js +1 -1
  227. package/dist/components/fields/FileInput/FileInput.js +22 -2
  228. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  229. package/dist/components/fields/FilterListBox/FilterListBox.js +5 -1
  230. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  231. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +4 -2
  232. package/dist/components/fields/FilterPicker/FilterPicker.js +4 -3
  233. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  234. package/dist/components/fields/Input/Input.js +1 -1
  235. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  236. package/dist/components/fields/ListBox/ListBox.js +8 -7
  237. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  238. package/dist/components/fields/ListBox/optionId.js +1 -1
  239. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +36 -32
  240. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  241. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  242. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  243. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  244. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  245. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  246. package/dist/components/fields/Picker/Picker.d.ts +4 -2
  247. package/dist/components/fields/Picker/Picker.js +4 -3
  248. package/dist/components/fields/Picker/Picker.js.map +1 -1
  249. package/dist/components/fields/RadioGroup/Radio.d.ts +40 -40
  250. package/dist/components/fields/RadioGroup/Radio.js +2 -2
  251. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  252. package/dist/components/fields/RadioGroup/context.js +1 -1
  253. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  254. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  255. package/dist/components/fields/Select/Select.d.ts +4 -4
  256. package/dist/components/fields/Select/Select.js +36 -33
  257. package/dist/components/fields/Select/Select.js.map +1 -1
  258. package/dist/components/fields/Slider/Gradation.js +1 -1
  259. package/dist/components/fields/Slider/HueSlider.js +1 -1
  260. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  261. package/dist/components/fields/Slider/Slider.js +1 -1
  262. package/dist/components/fields/Slider/SliderBase.js +1 -1
  263. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  264. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  265. package/dist/components/fields/Slider/elements.js +1 -1
  266. package/dist/components/fields/Slider/index.js +1 -1
  267. package/dist/components/fields/Switch/Switch.js +1 -1
  268. package/dist/components/fields/TagInput/TagInput.js +1 -1
  269. package/dist/components/fields/TagInput/TagList.js +1 -1
  270. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  271. package/dist/components/fields/TagInput/useTagError.js +1 -1
  272. package/dist/components/fields/TextArea/TextArea.js +1 -1
  273. package/dist/components/fields/TextInput/TextInput.js +1 -1
  274. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  275. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  276. package/dist/components/fields/TextInputMapper/TextInputMapper.js +13 -5
  277. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  278. package/dist/components/fields/TriggerActions.js +1 -1
  279. package/dist/components/fields/color/ColorPanel.js +62 -53
  280. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  281. package/dist/components/fields/color/channels.js +1 -1
  282. package/dist/components/fields/color/color.js +1 -1
  283. package/dist/components/fields/color/context.js +1 -1
  284. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +1 -0
  285. package/dist/components/form/FieldWrapper/FieldWrapper.js +134 -110
  286. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  287. package/dist/components/form/FieldWrapper/field-description.js +102 -0
  288. package/dist/components/form/FieldWrapper/field-description.js.map +1 -0
  289. package/dist/components/form/FieldWrapper/types.d.ts +6 -1
  290. package/dist/components/form/Form/Field.js +1 -1
  291. package/dist/components/form/Form/Form.js +1 -1
  292. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  293. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  294. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  295. package/dist/components/form/Form/SubmitError.js +1 -1
  296. package/dist/components/form/Form/backend.js +1 -1
  297. package/dist/components/form/Form/index.js +1 -1
  298. package/dist/components/form/Form/modern/actions.js +1 -1
  299. package/dist/components/form/Form/modern/context.js +1 -1
  300. package/dist/components/form/Form/modern/controller.js +1 -1
  301. package/dist/components/form/Form/modern/field-binding.js +1 -1
  302. package/dist/components/form/Form/modern/field.js +1 -1
  303. package/dist/components/form/Form/modern/react.js +1 -1
  304. package/dist/components/form/Form/modern/store.js +1 -1
  305. package/dist/components/form/Form/modern/validation.js +1 -1
  306. package/dist/components/form/Form/modern/values.js +1 -1
  307. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  308. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  309. package/dist/components/form/Form/use-field/use-field-props.js +17 -4
  310. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  311. package/dist/components/form/Form/use-field/use-field.js +1 -1
  312. package/dist/components/form/Form/use-form.js +1 -1
  313. package/dist/components/form/Form/validation.js +1 -1
  314. package/dist/components/form/Label.js +27 -24
  315. package/dist/components/form/Label.js.map +1 -1
  316. package/dist/components/form/legacy-tooltip.js +1 -1
  317. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  318. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  319. package/dist/components/form/validation/use-validation-props.js +1 -1
  320. package/dist/components/form/wrapper.js +2 -1
  321. package/dist/components/form/wrapper.js.map +1 -1
  322. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  323. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  324. package/dist/components/layout/Flex.js +1 -1
  325. package/dist/components/layout/Flow.js +1 -1
  326. package/dist/components/layout/Grid.js +1 -1
  327. package/dist/components/layout/Panel.js +1 -1
  328. package/dist/components/layout/Prefix.js +1 -1
  329. package/dist/components/layout/ResizablePanel.js +1 -1
  330. package/dist/components/layout/Space.js +1 -1
  331. package/dist/components/layout/Suffix.js +1 -1
  332. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  333. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  334. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  335. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  336. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  337. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  338. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  339. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  340. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  341. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  342. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  343. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  344. package/dist/components/navigation/Tabs/styled.js +1 -1
  345. package/dist/components/navigation/Tabs/types.d.ts +3 -3
  346. package/dist/components/navigation/Tabs/types.js +1 -1
  347. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  348. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  349. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  350. package/dist/components/other/Calendar/Calendar.js +1 -1
  351. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  352. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  353. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  354. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  355. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  356. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  357. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  358. package/dist/components/other/Calendar/styled.js +1 -1
  359. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  360. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  361. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  362. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  363. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  364. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  365. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  366. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  367. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  368. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  369. package/dist/components/overlays/Dialog/context.js +1 -1
  370. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  371. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  372. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  373. package/dist/components/overlays/Modal/Modal.js +44 -24
  374. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  375. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  376. package/dist/components/overlays/Modal/Overlay.js +1 -1
  377. package/dist/components/overlays/Modal/Popover.js +34 -24
  378. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  379. package/dist/components/overlays/Modal/Tray.js +45 -25
  380. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  381. package/dist/components/overlays/Modal/Underlay.js +1 -1
  382. package/dist/components/overlays/Modal/modal-containment.js +145 -0
  383. package/dist/components/overlays/Modal/modal-containment.js.map +1 -0
  384. package/dist/components/overlays/Notifications/Notification.js +1 -1
  385. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  386. package/dist/components/overlays/Notifications/NotificationCard.js +2 -2
  387. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  388. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  389. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  390. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  391. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  392. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  393. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  394. package/dist/components/overlays/Notifications/index.js +1 -1
  395. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  396. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  397. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  398. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  399. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  400. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  401. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  402. package/dist/components/overlays/Toast/index.js +1 -1
  403. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  404. package/dist/components/overlays/Toast/useToast.js +1 -1
  405. package/dist/components/overlays/Tooltip/Tooltip.js +50 -47
  406. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  407. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  408. package/dist/components/overlays/Tooltip/TooltipTrigger.js +95 -100
  409. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  410. package/dist/components/overlays/Tooltip/context.js +1 -1
  411. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  412. package/dist/components/portal/Portal.js +1 -1
  413. package/dist/components/portal/PortalProvider.js +1 -1
  414. package/dist/components/portal/usePortal.js +1 -1
  415. package/dist/components/shared/DraggableCollection.js +1 -1
  416. package/dist/components/shared/InvalidIcon.js +1 -1
  417. package/dist/components/shared/ValidIcon.js +1 -1
  418. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  419. package/dist/components/status/Spin/Cube.js +1 -1
  420. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  421. package/dist/components/status/Spin/Spin.js +1 -1
  422. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  423. package/dist/data/item-themes.js +1 -1
  424. package/dist/data/themes.js +1 -1
  425. package/dist/eslint-plugin/defaults.generated.js +2 -2
  426. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  427. package/dist/eslint-plugin/index.js +1 -1
  428. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  429. package/dist/i18n/I18nProvider.js +3 -2
  430. package/dist/i18n/I18nProvider.js.map +1 -1
  431. package/dist/i18n/createFormatter.js +1 -1
  432. package/dist/i18n/index.d.ts +2 -1
  433. package/dist/i18n/index.js +3 -2
  434. package/dist/i18n/index.js.map +1 -1
  435. package/dist/i18n/instance.d.ts +2 -3
  436. package/dist/i18n/instance.js +3 -4
  437. package/dist/i18n/instance.js.map +1 -1
  438. package/dist/i18n/locales/de-DE/uikit.js +36 -5
  439. package/dist/i18n/locales/en-US/uikit.js +36 -5
  440. package/dist/i18n/locales/en-US/uikit.json.d.ts +41 -4
  441. package/dist/i18n/locales/es-ES/uikit.js +36 -5
  442. package/dist/i18n/locales/es-MX/uikit.js +36 -5
  443. package/dist/i18n/locales/fr-FR/uikit.js +36 -5
  444. package/dist/i18n/locales/it-IT/uikit.js +36 -5
  445. package/dist/i18n/locales/ja-JP/uikit.js +36 -5
  446. package/dist/i18n/locales/nb-NO/uikit.js +36 -5
  447. package/dist/i18n/locales/pt-BR/uikit.js +36 -5
  448. package/dist/i18n/locales/pt-PT/uikit.js +36 -5
  449. package/dist/i18n/locales/sv-SE/uikit.js +36 -5
  450. package/dist/i18n/locales/vi-VN/uikit.js +36 -5
  451. package/dist/i18n/locales.js +1 -1
  452. package/dist/i18n/namespace.d.ts +11 -0
  453. package/dist/i18n/namespace.js +12 -0
  454. package/dist/i18n/namespace.js.map +1 -0
  455. package/dist/i18n/useFormatter.js +1 -1
  456. package/dist/i18n/useI18n.js +5 -3
  457. package/dist/i18n/useI18n.js.map +1 -1
  458. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  459. package/dist/icons/AdjustmentsIcon.js +1 -1
  460. package/dist/icons/AiIcon.js +1 -1
  461. package/dist/icons/AreaChartIcon.js +1 -1
  462. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  463. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  464. package/dist/icons/BackwardIcon.js +1 -1
  465. package/dist/icons/BarChartIcon.js +1 -1
  466. package/dist/icons/BellFilledIcon.js +1 -1
  467. package/dist/icons/BellIcon.js +1 -1
  468. package/dist/icons/BooleanIcon.js +1 -1
  469. package/dist/icons/CalendarEditIcon.js +1 -1
  470. package/dist/icons/CalendarIcon.js +1 -1
  471. package/dist/icons/CaretDownIcon.js +1 -1
  472. package/dist/icons/CaretUpIcon.js +1 -1
  473. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  474. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  475. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  476. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  477. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  478. package/dist/icons/ChartBarLineIcon.js +1 -1
  479. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  480. package/dist/icons/ChartBarStackedIcon.js +1 -1
  481. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  482. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  483. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  484. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  485. package/dist/icons/ChartBubbleIcon.js +1 -1
  486. package/dist/icons/ChartDonut2Icon.js +1 -1
  487. package/dist/icons/ChartFunnelIcon.js +1 -1
  488. package/dist/icons/ChartHeatmapIcon.js +1 -1
  489. package/dist/icons/ChartKPIIcon.js +1 -1
  490. package/dist/icons/ChartPie2Icon.js +1 -1
  491. package/dist/icons/ChartScatterIcon.js +1 -1
  492. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  493. package/dist/icons/CheckCircleIcon.js +1 -1
  494. package/dist/icons/CheckIcon.js +1 -1
  495. package/dist/icons/CircleFilledIcon.js +1 -1
  496. package/dist/icons/ClearIcon.js +1 -1
  497. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  498. package/dist/icons/CloseCircleIcon.js +1 -1
  499. package/dist/icons/CloseIcon.js +1 -1
  500. package/dist/icons/CodeIcon.js +1 -1
  501. package/dist/icons/ColumnTotalIcon.js +1 -1
  502. package/dist/icons/CopyIcon.js +1 -1
  503. package/dist/icons/CountIcon.js +1 -1
  504. package/dist/icons/CubeIcon.js +1 -1
  505. package/dist/icons/CubePauseIcon.js +1 -1
  506. package/dist/icons/CubePlayIcon.js +1 -1
  507. package/dist/icons/CurrencyDollarIcon.js +1 -1
  508. package/dist/icons/DangerIcon.js +1 -1
  509. package/dist/icons/DashboardIcon.js +1 -1
  510. package/dist/icons/DatabaseIcon.js +1 -1
  511. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  512. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  513. package/dist/icons/DirectionIcon.js +1 -1
  514. package/dist/icons/DonutIcon.js +1 -1
  515. package/dist/icons/DownIcon.js +1 -1
  516. package/dist/icons/EditIcon.js +1 -1
  517. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  518. package/dist/icons/ExclamationCircleIcon.js +1 -1
  519. package/dist/icons/ExclamationIcon.js +1 -1
  520. package/dist/icons/EyeIcon.js +1 -1
  521. package/dist/icons/EyeInvisibleIcon.js +1 -1
  522. package/dist/icons/FilterIcon.js +1 -1
  523. package/dist/icons/FolderFilledIcon.js +1 -1
  524. package/dist/icons/FolderIcon.js +1 -1
  525. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  526. package/dist/icons/FolderOpenIcon.js +1 -1
  527. package/dist/icons/ForwardIcon.js +1 -1
  528. package/dist/icons/GripVerticalIcon.js +1 -1
  529. package/dist/icons/HierarchyIcon.js +1 -1
  530. package/dist/icons/HierarchyOpenIcon.js +1 -1
  531. package/dist/icons/Icon.js +1 -1
  532. package/dist/icons/InfoCircleIcon.js +1 -1
  533. package/dist/icons/InfoIcon.js +1 -1
  534. package/dist/icons/KeyIcon.js +1 -1
  535. package/dist/icons/LeftIcon.js +1 -1
  536. package/dist/icons/LineChartIcon.js +1 -1
  537. package/dist/icons/LoadingIcon.js +1 -1
  538. package/dist/icons/LockFilledIcon.js +1 -1
  539. package/dist/icons/LockIcon.js +1 -1
  540. package/dist/icons/MoreIcon.js +1 -1
  541. package/dist/icons/NotAllowedIcon.js +1 -1
  542. package/dist/icons/Number123Icon.js +1 -1
  543. package/dist/icons/NumberIcon.js +1 -1
  544. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  545. package/dist/icons/PauseCircleIcon.js +1 -1
  546. package/dist/icons/PauseIcon.js +1 -1
  547. package/dist/icons/PercentageIcon.js +1 -1
  548. package/dist/icons/PieChartIcon.js +1 -1
  549. package/dist/icons/PipetteIcon.js +1 -1
  550. package/dist/icons/PlayCircleIcon.js +1 -1
  551. package/dist/icons/PlayIcon.js +1 -1
  552. package/dist/icons/PlusIcon.js +1 -1
  553. package/dist/icons/ProgressBarIcon.js +1 -1
  554. package/dist/icons/ReloadIcon.js +1 -1
  555. package/dist/icons/ReportIcon.js +1 -1
  556. package/dist/icons/ReturnIcon.js +1 -1
  557. package/dist/icons/RightIcon.js +1 -1
  558. package/dist/icons/RowTotalsIcon.js +1 -1
  559. package/dist/icons/SchemeIcon.js +1 -1
  560. package/dist/icons/SearchIcon.js +1 -1
  561. package/dist/icons/SemanticQueryIcon.js +1 -1
  562. package/dist/icons/SettingsIcon.js +1 -1
  563. package/dist/icons/ShieldFilledIcon.js +1 -1
  564. package/dist/icons/ShieldIcon.js +1 -1
  565. package/dist/icons/SlashIcon.js +1 -1
  566. package/dist/icons/SparklesIcon.js +1 -1
  567. package/dist/icons/SqlIcon.js +1 -1
  568. package/dist/icons/StatsIcon.js +1 -1
  569. package/dist/icons/StopIcon.js +1 -1
  570. package/dist/icons/StringIcon.js +1 -1
  571. package/dist/icons/SubtotalsIcon.js +1 -1
  572. package/dist/icons/SwitchIcon.js +1 -1
  573. package/dist/icons/TableIcon.js +1 -1
  574. package/dist/icons/ThumbsDownIcon.js +1 -1
  575. package/dist/icons/ThumbsUpIcon.js +1 -1
  576. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  577. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  578. package/dist/icons/ThunderboltIcon.js +1 -1
  579. package/dist/icons/TimeIcon.js +1 -1
  580. package/dist/icons/TrashIcon.js +1 -1
  581. package/dist/icons/UnlockIcon.js +1 -1
  582. package/dist/icons/UpIcon.js +1 -1
  583. package/dist/icons/UserGroupIcon.js +1 -1
  584. package/dist/icons/UserIcon.js +1 -1
  585. package/dist/icons/UserLockIcon.js +1 -1
  586. package/dist/icons/ViewIcon.js +1 -1
  587. package/dist/icons/WarningFilledIcon.js +1 -1
  588. package/dist/icons/WarningIcon.js +1 -1
  589. package/dist/icons/wrap-icon.js +1 -1
  590. package/dist/index.d.ts +9 -7
  591. package/dist/index.js +12 -11
  592. package/dist/index.js.map +1 -1
  593. package/dist/probe/canonicalize.js +1 -1
  594. package/dist/probe/css.js +1 -1
  595. package/dist/probe/index.js +1 -1
  596. package/dist/provider.js +2 -2
  597. package/dist/provider.js.map +1 -1
  598. package/dist/providers/TrackingProvider.js +1 -1
  599. package/dist/providers/navigation-url.js +11 -0
  600. package/dist/providers/navigation-url.js.map +1 -0
  601. package/dist/providers/navigationAdapter.default.js +1 -1
  602. package/dist/providers/use-navigation.js +19 -0
  603. package/dist/providers/use-navigation.js.map +1 -0
  604. package/dist/tokens/all-tokens.js +1 -1
  605. package/dist/tokens/base.js +1 -1
  606. package/dist/tokens/color-seed.js +1 -1
  607. package/dist/tokens/color-theme.js +1 -1
  608. package/dist/tokens/colors.js +1 -1
  609. package/dist/tokens/layout.js +1 -1
  610. package/dist/tokens/lazy-styles.js +1 -1
  611. package/dist/tokens/legacy-color.js +1 -1
  612. package/dist/tokens/palette-config.js +1 -1
  613. package/dist/tokens/palette.js +1 -1
  614. package/dist/tokens/resolve.js +1 -1
  615. package/dist/tokens/shadows.js +1 -1
  616. package/dist/tokens/sizes.js +1 -1
  617. package/dist/tokens/spacing.js +1 -1
  618. package/dist/tokens/typography.js +1 -1
  619. package/dist/utils/ResizeSensor.js +1 -1
  620. package/dist/utils/colors.js +1 -1
  621. package/dist/utils/dotize.js +1 -1
  622. package/dist/utils/is-dev-env.js +1 -1
  623. package/dist/utils/modules.js +1 -1
  624. package/dist/utils/promise.js +1 -1
  625. package/dist/utils/raf.js +1 -1
  626. package/dist/utils/random.js +1 -1
  627. package/dist/utils/range.js +1 -1
  628. package/dist/utils/react/RenderCache.js +1 -1
  629. package/dist/utils/react/Slots.js +1 -1
  630. package/dist/utils/react/chain.js +1 -1
  631. package/dist/utils/react/disabledProps.js +1 -1
  632. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  633. package/dist/utils/react/index.js +4 -4
  634. package/dist/utils/react/interactions.js +1 -1
  635. package/dist/utils/react/isTextOnly.js +1 -1
  636. package/dist/utils/react/mapProps.js +1 -1
  637. package/dist/utils/react/mergeProps.js +1 -1
  638. package/dist/utils/react/nullableValue.js +1 -1
  639. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  640. package/dist/utils/react/programmaticFocus.js +1 -1
  641. package/dist/utils/react/resolveIcon.js +1 -1
  642. package/dist/utils/react/sharedStore.js +1 -1
  643. package/dist/utils/react/useBufferedValue.js +1 -1
  644. package/dist/utils/react/useCombinedRefs.js +1 -1
  645. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  646. package/dist/utils/react/useEventBus.js +1 -1
  647. package/dist/utils/react/useId.js +1 -1
  648. package/dist/utils/react/useIsDarwin.js +1 -1
  649. package/dist/utils/react/useKeySymbols.js +1 -1
  650. package/dist/utils/react/useLayoutEffect.js +1 -1
  651. package/dist/utils/react/useLocalStorage.js +1 -1
  652. package/dist/utils/react/useMergeStyles.js +1 -1
  653. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  654. package/dist/utils/react/usePopoverSync.js +1 -1
  655. package/dist/utils/react/useQaProps.js +1 -1
  656. package/dist/utils/react/useScheme.js +1 -1
  657. package/dist/utils/react/useViewportSize.js +1 -1
  658. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  659. package/dist/utils/selection.js +1 -1
  660. package/dist/utils/styles.js +1 -1
  661. package/dist/utils/tree.js +1 -1
  662. package/dist/utils/warnings.js +1 -1
  663. package/dist/version.js +2 -2
  664. package/docs/Usage.md +4 -0
  665. package/docs/components/CollectionItem.md +5 -1
  666. package/docs/components/actions/CommandMenu.md +46 -18
  667. package/docs/components/actions/Menu.md +124 -19
  668. package/docs/components/content/Layout.md +1 -1
  669. package/docs/components/content/Placeholder.md +2 -0
  670. package/docs/components/content/Skeleton.md +2 -0
  671. package/docs/components/data/ItemTable.md +2 -0
  672. package/docs/components/overlays/Dialog.md +1 -1
  673. package/docs/components/overlays/DialogContainer.md +1 -2
  674. package/docs/components/overlays/DialogTrigger.md +1 -0
  675. package/package.json +2 -1
@@ -1,15 +1,16 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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
- import { Space } from "../../layout/Space.js";
7
6
  import { useI18n } from "../../../i18n/useI18n.js";
7
+ import { Space } from "../../layout/Space.js";
8
8
  import { InfoBadge } from "../../content/InfoBadge/InfoBadge.js";
9
9
  import { Flex } from "../../layout/Flex.js";
10
10
  import { getValidationMods } from "../validation/resolve-validation-props.js";
11
11
  import { NecessityIndicatorMark, _Label } from "../Label.js";
12
12
  import { warnAboutLegacyTooltip } from "../legacy-tooltip.js";
13
+ import { getFieldDescriptionId, getFieldMessageId, useFieldTextId } from "./field-description.js";
13
14
  import { c } from "react/compiler-runtime";
14
15
  import { tasty } from "@tenphi/tasty";
15
16
  import { forwardRef } from "react";
@@ -101,8 +102,8 @@ const LabelSuffixElement = tasty({ styles: {
101
102
  * @internal Do not use this component directly.
102
103
  */
103
104
  const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
104
- const $ = c(63);
105
- const { as, labelPosition: t0, label, extra, styles, isRequired, isOptional, isDisabled, labelStyles, necessityIndicator, labelProps, fieldProps, message, messageStyles, description, errorMessage, Component, isInvalid, isValid, requiredMark: t1, labelTooltip, isHidden, labelSuffix, children } = props;
105
+ const $ = c(71);
106
+ const { as, labelPosition: t0, label, extra, styles, isRequired, isOptional, isDisabled, labelStyles, necessityIndicator, labelProps, fieldProps, message, messageStyles, description, errorMessage, Component, controlId, isInvalid, isValid, requiredMark: t1, labelTooltip, isHidden, labelSuffix, children } = props;
106
107
  const labelPosition = t0 === void 0 ? "top" : t0;
107
108
  const requiredMark = t1 === void 0 ? true : t1;
108
109
  const { t } = useI18n();
@@ -170,87 +171,109 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
170
171
  $[18] = t3;
171
172
  } else t3 = $[18];
172
173
  const labelComponent = t3;
174
+ const displayMessage = errorMessage || message;
175
+ const isErrorMessage = !!errorMessage;
176
+ const isMessageShown = !!displayMessage && !isDisabled;
173
177
  let t4;
174
- if ($[19] !== description) {
175
- t4 = () => {
178
+ if ($[19] !== controlId || $[20] !== description) {
179
+ t4 = controlId && description ? getFieldDescriptionId(controlId) : void 0;
180
+ $[19] = controlId;
181
+ $[20] = description;
182
+ $[21] = t4;
183
+ } else t4 = $[21];
184
+ const descriptionId = t4;
185
+ let t5;
186
+ if ($[22] !== controlId || $[23] !== isMessageShown) {
187
+ t5 = controlId && isMessageShown ? getFieldMessageId(controlId) : void 0;
188
+ $[22] = controlId;
189
+ $[23] = isMessageShown;
190
+ $[24] = t5;
191
+ } else t5 = $[24];
192
+ const messageId = t5;
193
+ useFieldTextId(descriptionId);
194
+ useFieldTextId(messageId);
195
+ let t6;
196
+ if ($[25] !== description || $[26] !== descriptionId) {
197
+ t6 = () => {
176
198
  if (!description) return null;
177
199
  return /* @__PURE__ */ jsx(DescriptionElement, {
200
+ id: descriptionId,
178
201
  "data-element": "Description",
179
202
  children: wrapNodeIfPlain(description, () => /* @__PURE__ */ jsx("span", { children: description }))
180
203
  });
181
204
  };
182
- $[19] = description;
183
- $[20] = t4;
184
- } else t4 = $[20];
185
- const createDescriptionComponent = t4;
186
- let t5;
187
- if ($[21] !== createDescriptionComponent || $[22] !== labelPosition) {
188
- t5 = labelPosition === "side" || labelPosition === "split" ? createDescriptionComponent() : null;
189
- $[21] = createDescriptionComponent;
190
- $[22] = labelPosition;
191
- $[23] = t5;
192
- } else t5 = $[23];
193
- const descriptionForLabel = t5;
194
- let t6;
195
- if ($[24] !== createDescriptionComponent || $[25] !== labelPosition) {
196
- t6 = labelPosition === "top" ? createDescriptionComponent() : null;
197
- $[24] = createDescriptionComponent;
198
- $[25] = labelPosition;
199
- $[26] = t6;
200
- } else t6 = $[26];
201
- const descriptionForInput = t6;
202
- const t7 = labelPosition === "side";
203
- const t8 = labelPosition === "split";
204
- const t9 = !!description;
205
- let t10;
206
- if ($[27] !== isInvalid || $[28] !== isValid) {
207
- t10 = getValidationMods({
205
+ $[25] = description;
206
+ $[26] = descriptionId;
207
+ $[27] = t6;
208
+ } else t6 = $[27];
209
+ const createDescriptionComponent = t6;
210
+ let t7;
211
+ if ($[28] !== createDescriptionComponent || $[29] !== labelPosition) {
212
+ t7 = labelPosition === "side" || labelPosition === "split" ? createDescriptionComponent() : null;
213
+ $[28] = createDescriptionComponent;
214
+ $[29] = labelPosition;
215
+ $[30] = t7;
216
+ } else t7 = $[30];
217
+ const descriptionForLabel = t7;
218
+ let t8;
219
+ if ($[31] !== createDescriptionComponent || $[32] !== labelPosition) {
220
+ t8 = labelPosition === "top" ? createDescriptionComponent() : null;
221
+ $[31] = createDescriptionComponent;
222
+ $[32] = labelPosition;
223
+ $[33] = t8;
224
+ } else t8 = $[33];
225
+ const descriptionForInput = t8;
226
+ const t9 = labelPosition === "side";
227
+ const t10 = labelPosition === "split";
228
+ const t11 = !!description;
229
+ let t12;
230
+ if ($[34] !== isInvalid || $[35] !== isValid) {
231
+ t12 = getValidationMods({
208
232
  isInvalid,
209
233
  isValid
210
234
  });
211
- $[27] = isInvalid;
212
- $[28] = isValid;
213
- $[29] = t10;
214
- } else t10 = $[29];
215
- let t11;
216
- if ($[30] !== t10 || $[31] !== t7 || $[32] !== t8 || $[33] !== t9) {
217
- t11 = {
218
- "has-sider": t7,
219
- "has-split": t8,
220
- "has-description": t9,
221
- ...t10
235
+ $[34] = isInvalid;
236
+ $[35] = isValid;
237
+ $[36] = t12;
238
+ } else t12 = $[36];
239
+ let t13;
240
+ if ($[37] !== t10 || $[38] !== t11 || $[39] !== t12 || $[40] !== t9) {
241
+ t13 = {
242
+ "has-sider": t9,
243
+ "has-split": t10,
244
+ "has-description": t11,
245
+ ...t12
222
246
  };
223
- $[30] = t10;
224
- $[31] = t7;
225
- $[32] = t8;
226
- $[33] = t9;
227
- $[34] = t11;
228
- } else t11 = $[34];
229
- const mods = t11;
230
- const displayMessage = errorMessage || message;
231
- const isErrorMessage = !!errorMessage;
232
- let t12;
233
- if ($[35] !== fieldProps || $[36] !== styles) {
234
- t12 = styles ? mergeProps(fieldProps, { styles }) : fieldProps;
235
- $[35] = fieldProps;
236
- $[36] = styles;
237
- $[37] = t12;
238
- } else t12 = $[37];
239
- const mergedFieldProps = t12;
240
- const t13 = as ?? "div";
247
+ $[37] = t10;
248
+ $[38] = t11;
249
+ $[39] = t12;
250
+ $[40] = t9;
251
+ $[41] = t13;
252
+ } else t13 = $[41];
253
+ const mods = t13;
241
254
  let t14;
242
- if ($[38] !== descriptionForLabel || $[39] !== labelComponent) {
243
- t14 = labelComponent || descriptionForLabel ? /* @__PURE__ */ jsxs("div", {
255
+ if ($[42] !== fieldProps || $[43] !== styles) {
256
+ t14 = styles ? mergeProps(fieldProps, { styles }) : fieldProps;
257
+ $[42] = fieldProps;
258
+ $[43] = styles;
259
+ $[44] = t14;
260
+ } else t14 = $[44];
261
+ const mergedFieldProps = t14;
262
+ const t15 = as ?? "div";
263
+ let t16;
264
+ if ($[45] !== descriptionForLabel || $[46] !== labelComponent) {
265
+ t16 = labelComponent || descriptionForLabel ? /* @__PURE__ */ jsxs("div", {
244
266
  "data-element": "LabelArea",
245
267
  children: [labelComponent, descriptionForLabel]
246
268
  }) : null;
247
- $[38] = descriptionForLabel;
248
- $[39] = labelComponent;
249
- $[40] = t14;
250
- } else t14 = $[40];
251
- let t15;
252
- if ($[41] !== displayMessage || $[42] !== isDisabled || $[43] !== isErrorMessage || $[44] !== isInvalid || $[45] !== messageStyles || $[46] !== mods) {
253
- t15 = displayMessage && !isDisabled && /* @__PURE__ */ jsx(MessageElement, {
269
+ $[45] = descriptionForLabel;
270
+ $[46] = labelComponent;
271
+ $[47] = t16;
272
+ } else t16 = $[47];
273
+ let t17;
274
+ if ($[48] !== displayMessage || $[49] !== isErrorMessage || $[50] !== isInvalid || $[51] !== isMessageShown || $[52] !== messageId || $[53] !== messageStyles || $[54] !== mods) {
275
+ t17 = isMessageShown && /* @__PURE__ */ jsx(MessageElement, {
276
+ id: messageId,
254
277
  mods: {
255
278
  ...mods,
256
279
  invalid: isErrorMessage || !!isInvalid
@@ -259,56 +282,57 @@ const FieldWrapper = forwardRef(function FieldWrapper(props, ref) {
259
282
  role: isErrorMessage || isInvalid ? "alert" : void 0,
260
283
  children: displayMessage
261
284
  });
262
- $[41] = displayMessage;
263
- $[42] = isDisabled;
264
- $[43] = isErrorMessage;
265
- $[44] = isInvalid;
266
- $[45] = messageStyles;
267
- $[46] = mods;
268
- $[47] = t15;
269
- } else t15 = $[47];
270
- let t16;
271
- if ($[48] !== Component || $[49] !== descriptionForInput || $[50] !== t15) {
272
- t16 = /* @__PURE__ */ jsxs("div", {
285
+ $[48] = displayMessage;
286
+ $[49] = isErrorMessage;
287
+ $[50] = isInvalid;
288
+ $[51] = isMessageShown;
289
+ $[52] = messageId;
290
+ $[53] = messageStyles;
291
+ $[54] = mods;
292
+ $[55] = t17;
293
+ } else t17 = $[55];
294
+ let t18;
295
+ if ($[56] !== Component || $[57] !== descriptionForInput || $[58] !== t17) {
296
+ t18 = /* @__PURE__ */ jsxs("div", {
273
297
  "data-element": "InputArea",
274
298
  children: [
275
299
  Component,
276
300
  descriptionForInput,
277
- t15
301
+ t17
278
302
  ]
279
303
  });
280
- $[48] = Component;
281
- $[49] = descriptionForInput;
282
- $[50] = t15;
283
- $[51] = t16;
284
- } else t16 = $[51];
285
- let t17;
286
- if ($[52] !== isHidden || $[53] !== mergedFieldProps || $[54] !== mods || $[55] !== ref || $[56] !== t13 || $[57] !== t14 || $[58] !== t16) {
287
- t17 = /* @__PURE__ */ jsxs(FieldElement, {
304
+ $[56] = Component;
305
+ $[57] = descriptionForInput;
306
+ $[58] = t17;
307
+ $[59] = t18;
308
+ } else t18 = $[59];
309
+ let t19;
310
+ if ($[60] !== isHidden || $[61] !== mergedFieldProps || $[62] !== mods || $[63] !== ref || $[64] !== t15 || $[65] !== t16 || $[66] !== t18) {
311
+ t19 = /* @__PURE__ */ jsxs(FieldElement, {
288
312
  ref,
289
- as: t13,
313
+ as: t15,
290
314
  mods,
291
315
  isHidden,
292
316
  ...mergedFieldProps,
293
- children: [t14, t16]
317
+ children: [t16, t18]
294
318
  });
295
- $[52] = isHidden;
296
- $[53] = mergedFieldProps;
297
- $[54] = mods;
298
- $[55] = ref;
299
- $[56] = t13;
300
- $[57] = t14;
301
- $[58] = t16;
302
- $[59] = t17;
303
- } else t17 = $[59];
304
- let t18;
305
- if ($[60] !== children || $[61] !== t17) {
306
- t18 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t17, children] });
307
- $[60] = children;
308
- $[61] = t17;
309
- $[62] = t18;
310
- } else t18 = $[62];
311
- return t18;
319
+ $[60] = isHidden;
320
+ $[61] = mergedFieldProps;
321
+ $[62] = mods;
322
+ $[63] = ref;
323
+ $[64] = t15;
324
+ $[65] = t16;
325
+ $[66] = t18;
326
+ $[67] = t19;
327
+ } else t19 = $[67];
328
+ let t20;
329
+ if ($[68] !== children || $[69] !== t19) {
330
+ t20 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t19, children] });
331
+ $[68] = children;
332
+ $[69] = t19;
333
+ $[70] = t20;
334
+ } else t20 = $[70];
335
+ return t20;
312
336
  });
313
337
 
314
338
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"FieldWrapper.js","names":["tasty","forwardRef","useI18n","isDevEnv","mergeProps","wrapNodeIfPlain","InfoBadge","Text","Flex","Space","Label","NecessityIndicatorMark","warnAboutLegacyTooltip","getValidationMods","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","isInvalid","isValid","requiredMark","t1","labelTooltip","isHidden","labelSuffix","children","undefined","t","showRequiredMark","showOptionalNote","t2","optionalNote","t3","labelComponent","t4","createDescriptionComponent","t5","descriptionForLabel","t6","descriptionForInput","t7","t8","t9","t10","t11","mods","displayMessage","isErrorMessage","t12","mergedFieldProps","t13","t14","t15","t16","t17","t18"],"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 { 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 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 // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!description) return null;\n\n return (\n <DescriptionElement 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 // Determine which message to display (errorMessage takes precedence, then message for backward compatibility)\n const displayMessage = errorMessage || message;\n const isErrorMessage = !!errorMessage;\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 {displayMessage && !isDisabled && (\n <MessageElement\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","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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"}
@@ -0,0 +1,102 @@
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
2
+ import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
3
+ import { c } from "react/compiler-runtime";
4
+ import { useSyncExternalStore } from "react";
5
+
6
+ //#region src/components/form/FieldWrapper/field-description.ts
7
+ /**
8
+ * The ids `FieldWrapper` gives a control's description and message. Both are
9
+ * derived from the control's own id, so the wrapper and the control agree on
10
+ * them without handing anything to each other.
11
+ */
12
+ function getFieldDescriptionId(controlId) {
13
+ return `${controlId}-description`;
14
+ }
15
+ function getFieldMessageId(controlId) {
16
+ return `${controlId}-message`;
17
+ }
18
+ /**
19
+ * How many mounted elements carry each id. Counted, not a set, so a remount
20
+ * under Strict Mode — or two fields that share an id — never drops one still
21
+ * on the page.
22
+ */
23
+ const mountedIds = /* @__PURE__ */ new Map();
24
+ const listeners = /* @__PURE__ */ new Set();
25
+ function subscribe(listener) {
26
+ listeners.add(listener);
27
+ return () => {
28
+ listeners.delete(listener);
29
+ };
30
+ }
31
+ function notify() {
32
+ listeners.forEach((listener) => listener());
33
+ }
34
+ /**
35
+ * Registers `id` as rendered while the calling `FieldWrapper` shows the
36
+ * element that carries it. `undefined` registers nothing.
37
+ */
38
+ function useFieldTextId(id) {
39
+ const $ = c(3);
40
+ let t0;
41
+ let t1;
42
+ if ($[0] !== id) {
43
+ t0 = () => {
44
+ if (!id) return;
45
+ mountedIds.set(id, (mountedIds.get(id) ?? 0) + 1);
46
+ notify();
47
+ return () => {
48
+ const count = (mountedIds.get(id) ?? 1) - 1;
49
+ if (count) mountedIds.set(id, count);
50
+ else mountedIds.delete(id);
51
+ notify();
52
+ };
53
+ };
54
+ t1 = [id];
55
+ $[0] = id;
56
+ $[1] = t0;
57
+ $[2] = t1;
58
+ } else {
59
+ t0 = $[1];
60
+ t1 = $[2];
61
+ }
62
+ useLayoutEffect$1(t0, t1);
63
+ }
64
+ /**
65
+ * The control's `aria-describedby`: the caller's own ids, then the field
66
+ * description and message `FieldWrapper` has rendered.
67
+ *
68
+ * Taken from what the wrapper registered rather than predicted from props,
69
+ * as React Aria's `useSlotId` does, because whether `FieldWrapper` renders
70
+ * either one depends on more than the control's props: a label or
71
+ * `forceField`, a disabled field hiding its message, `TagInput` putting a
72
+ * rejection in at wrap time. Without the reference, a screen reader announces
73
+ * the field as invalid and never says why.
74
+ */
75
+ function useFieldDescribedBy(controlId, describedBy) {
76
+ const $ = c(5);
77
+ let t0;
78
+ if ($[0] !== controlId) {
79
+ t0 = () => controlId ? [getFieldDescriptionId(controlId), getFieldMessageId(controlId)].filter(_temp).join(" ") : "";
80
+ $[0] = controlId;
81
+ $[1] = t0;
82
+ } else t0 = $[1];
83
+ const rendered = useSyncExternalStore(subscribe, t0, _temp2);
84
+ let t1;
85
+ if ($[2] !== describedBy || $[3] !== rendered) {
86
+ t1 = [describedBy, rendered].filter(Boolean).join(" ") || void 0;
87
+ $[2] = describedBy;
88
+ $[3] = rendered;
89
+ $[4] = t1;
90
+ } else t1 = $[4];
91
+ return t1;
92
+ }
93
+ function _temp2() {
94
+ return "";
95
+ }
96
+ function _temp(id) {
97
+ return mountedIds.has(id);
98
+ }
99
+
100
+ //#endregion
101
+ export { getFieldDescriptionId, getFieldMessageId, useFieldDescribedBy, useFieldTextId };
102
+ //# sourceMappingURL=field-description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-description.js","names":["useSyncExternalStore","useLayoutEffect","getFieldDescriptionId","controlId","getFieldMessageId","mountedIds","Map","listeners","Set","subscribe","listener","add","delete","notify","forEach","useFieldTextId","id","$","_c","t0","t1","set","get","count","useFieldDescribedBy","describedBy","filter","_temp","join","rendered","_temp2","Boolean","undefined","has"],"sources":["../../../../src/components/form/FieldWrapper/field-description.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\nimport { useLayoutEffect } from '../../../utils/react/useLayoutEffect';\n\n/**\n * The ids `FieldWrapper` gives a control's description and message. Both are\n * derived from the control's own id, so the wrapper and the control agree on\n * them without handing anything to each other.\n */\nexport function getFieldDescriptionId(controlId: string) {\n return `${controlId}-description`;\n}\n\nexport function getFieldMessageId(controlId: string) {\n return `${controlId}-message`;\n}\n\n/**\n * How many mounted elements carry each id. Counted, not a set, so a remount\n * under Strict Mode — or two fields that share an id — never drops one still\n * on the page.\n */\nconst mountedIds = new Map<string, number>();\nconst listeners = new Set<() => void>();\n\nfunction subscribe(listener: () => void) {\n listeners.add(listener);\n\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction notify() {\n listeners.forEach((listener) => listener());\n}\n\n/**\n * Registers `id` as rendered while the calling `FieldWrapper` shows the\n * element that carries it. `undefined` registers nothing.\n */\nexport function useFieldTextId(id: string | undefined) {\n useLayoutEffect(() => {\n if (!id) return;\n\n mountedIds.set(id, (mountedIds.get(id) ?? 0) + 1);\n notify();\n\n return () => {\n const count = (mountedIds.get(id) ?? 1) - 1;\n\n if (count) mountedIds.set(id, count);\n else mountedIds.delete(id);\n\n notify();\n };\n }, [id]);\n}\n\n/**\n * The control's `aria-describedby`: the caller's own ids, then the field\n * description and message `FieldWrapper` has rendered.\n *\n * Taken from what the wrapper registered rather than predicted from props,\n * as React Aria's `useSlotId` does, because whether `FieldWrapper` renders\n * either one depends on more than the control's props: a label or\n * `forceField`, a disabled field hiding its message, `TagInput` putting a\n * rejection in at wrap time. Without the reference, a screen reader announces\n * the field as invalid and never says why.\n */\nexport function useFieldDescribedBy(\n controlId: string | undefined,\n describedBy: string | undefined,\n): string | undefined {\n const rendered = useSyncExternalStore(\n subscribe,\n () =>\n controlId\n ? [getFieldDescriptionId(controlId), getFieldMessageId(controlId)]\n .filter((id) => mountedIds.has(id))\n .join(' ')\n : '',\n // The wrapper registers after it mounts, so nothing is linked yet.\n () => '',\n );\n\n return [describedBy, rendered].filter(Boolean).join(' ') || undefined;\n}\n"],"mappings":";;;;;;;;;;;AASA,SAAgBE,sBAAsBC,WAAmB;AACvD,QAAO,GAAGA,UAAS;;AAGrB,SAAgBC,kBAAkBD,WAAmB;AACnD,QAAO,GAAGA,UAAS;;;;;;;AAQrB,MAAME,6BAAa,IAAIC,KAAqB;AAC5C,MAAMC,4BAAY,IAAIC,KAAiB;AAEvC,SAASC,UAAUC,UAAsB;AACvCH,WAAUI,IAAID,SAAS;AAEvB,cAAa;AACXH,YAAUK,OAAOF,SAAS;;;AAI9B,SAASG,SAAS;AAChBN,WAAUO,SAASJ,aAAaA,UAAU,CAAC;;;;;;AAO7C,SAAOK,eAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAH,EAAA,OAAAD,IAAA;AACWG,aAAA;AACd,OAAI,CAACH,GAAE;AAEPX,cAAUgB,IAAKL,KAAKX,WAAUiB,IAAKN,GAAQ,IAAvB,KAA2B,EAAE;AACjDH,WAAQ;AAAA,gBAED;IACL,MAAAU,SAAelB,WAAUiB,IAAKN,GAAQ,IAAvB,KAA2B;AAE1C,QAAIO,MAAOlB,YAAUgB,IAAKL,IAAIO,MAAM;QAC/BlB,YAAUO,OAAQI,GAAG;AAE1BH,YAAQ;;;AAETO,OAAA,CAACJ,GAAG;AAAAC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;QAAA;AAAAD,OAAAF,EAAA;AAAAG,OAAAH,EAAA;;AAdPhB,mBAAgBkB,IAcbC,GAAK;;;;;;;;;;;;;AAcV,SAAOI,oBAAArB,WAAAsB,aAAA;CAAA,MAAAR,IAAAC,EAAA,EAAA;CAAA,IAAAC;AAAA,KAAAF,EAAA,OAAAd,WAAA;AAMHgB,aACEhB,YACI,CAACD,sBAAsBC,UAAU,EAAEC,kBAAkBD,UAAU,CAAC,CAAAuB,OACtDC,MAA2B,CAAAC,KAC7B,IACN,GAJN;AAIMX,IAAA,KAAAd;AAAAc,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CAPV,MAAAY,WAAiB7B,qBACfS,WACAU,IAOAW,OACD;CAAC,IAAAV;AAAA,KAAAH,EAAA,OAAAQ,eAAAR,EAAA,OAAAY,UAAA;AAEKT,OAAA,CAACK,aAAaI,SAAS,CAAAH,OAAQK,QAAQ,CAAAH,KAAM,IAAiB,IAA9DI;AAA8Df,IAAA,KAAAQ;AAAAR,IAAA,KAAAY;AAAAZ,IAAA,KAAAG;OAAAA,MAAAH,EAAA;AAAA,QAA9DG;;AAhBF,SAAAU,SAAA;AAAA,QAaG;;AAbH,SAAAH,MAAAX,IAAA;AAAA,QASqBX,WAAU4B,IAAKjB,GAAG"}
@@ -32,7 +32,12 @@ type CubeFieldWrapperProps = ValidationProps & {
32
32
  message?: string | ReactNode; /** Styles for the message */
33
33
  messageStyles?: Styles; /** Error message for the field. Always displayed in danger state regardless of validation state */
34
34
  errorMessage?: string | ReactNode;
35
- Component?: ReactElement; /** Custom components that should go outside the field and should not be visible by default. For example: Dialogs */
35
+ Component?: ReactElement;
36
+ /**
37
+ * @internal The id of the control in `Component`, which its description and
38
+ * message ids derive from. Set by `wrapWithField`.
39
+ */
40
+ controlId?: string; /** Custom components that should go outside the field and should not be visible by default. For example: Dialogs */
36
41
  children?: ReactNode;
37
42
  };
38
43
  //#endregion
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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.193.2 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.194.1 | 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";