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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +1 -1
  12. package/dist/components/GridProvider.js +1 -1
  13. package/dist/components/HiddenInput.js +1 -1
  14. package/dist/components/Root.js +1 -1
  15. package/dist/components/actions/Action/Action.js +1 -1
  16. package/dist/components/actions/Banner/Banner.js +1 -1
  17. package/dist/components/actions/Button/Button.js +1 -1
  18. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  19. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  20. package/dist/components/actions/ButtonSplit/context.js +1 -1
  21. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  22. package/dist/components/actions/CommandMenu/styled.js +1 -1
  23. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  24. package/dist/components/actions/ItemActionContext.js +1 -1
  25. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  26. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  27. package/dist/components/actions/Link/Link.js +1 -1
  28. package/dist/components/actions/Menu/Menu.js +1 -1
  29. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/actions-run.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.d.ts +30 -30
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +1 -1
  60. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  61. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  62. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  78. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  79. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  80. package/dist/components/content/Layout/index.js +1 -1
  81. package/dist/components/content/Layout/utils.js +1 -1
  82. package/dist/components/content/Paragraph.js +1 -1
  83. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  84. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  85. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  86. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  87. package/dist/components/content/Result/Result.js +1 -1
  88. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  89. package/dist/components/content/Tag/Tag.js +1 -1
  90. package/dist/components/content/Text.d.ts +28 -28
  91. package/dist/components/content/Text.js +1 -1
  92. package/dist/components/content/TextItem/TextItem.js +1 -1
  93. package/dist/components/content/Title.js +1 -1
  94. package/dist/components/content/Tree/Tree.js +1 -1
  95. package/dist/components/content/Tree/TreeNode.js +1 -2
  96. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  97. package/dist/components/content/Tree/styled.js +1 -1
  98. package/dist/components/content/Tree/tree-index.js +1 -1
  99. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  100. package/dist/components/content/Tree/use-load-data.js +1 -1
  101. package/dist/components/content/highlightText.js +1 -1
  102. package/dist/components/content/use-auto-tooltip.js +1 -1
  103. package/dist/components/data/DataTable/DataTable.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  106. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  107. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  108. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -2
  109. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  110. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  111. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  112. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  113. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  114. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  115. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  116. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  117. package/dist/components/data/TableBase/RowCollection.js +1 -1
  118. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  119. package/dist/components/data/TableBase/TableRow.js +1 -1
  120. package/dist/components/data/TableBase/TableView.js +1 -3
  121. package/dist/components/data/TableBase/TableView.js.map +1 -1
  122. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  123. package/dist/components/data/TableBase/column-header.js +1 -1
  124. package/dist/components/data/TableBase/column-menu.js +1 -1
  125. package/dist/components/data/TableBase/column-styles.js +1 -1
  126. package/dist/components/data/TableBase/column-tint.js +1 -1
  127. package/dist/components/data/TableBase/row-menu.js +1 -1
  128. package/dist/components/data/TableBase/styled.js +1 -1
  129. package/dist/components/data/TableBase/table-tree.js +1 -1
  130. package/dist/components/data/TableBase/types.js +1 -1
  131. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  132. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  133. package/dist/components/data/TableBase/use-column-order.js +1 -1
  134. package/dist/components/data/TableBase/use-column-window.js +1 -1
  135. package/dist/components/data/TableBase/use-container-width.js +1 -1
  136. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  137. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  138. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  139. package/dist/components/data/TableBase/use-table-search.js +1 -1
  140. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  141. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  142. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  143. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  144. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  145. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  146. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  147. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  148. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  149. package/dist/components/fields/Checkbox/context.js +1 -1
  150. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  151. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -3
  152. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  153. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  154. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -2
  155. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  156. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  157. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  158. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  159. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  160. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  161. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  162. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  163. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  164. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  165. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  166. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  167. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  168. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  169. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  170. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  171. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  172. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  173. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  174. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  175. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  176. package/dist/components/fields/DatePicker/period.js +1 -1
  177. package/dist/components/fields/DatePicker/props.js +1 -1
  178. package/dist/components/fields/DatePicker/utils.js +1 -1
  179. package/dist/components/fields/FileInput/FileInput.js +1 -1
  180. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -2
  181. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  182. package/dist/components/fields/FilterPicker/FilterPicker.js +6 -15
  183. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  184. package/dist/components/fields/Input/Input.js +1 -1
  185. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  186. package/dist/components/fields/ListBox/ListBox.js +5 -7
  187. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  188. package/dist/components/fields/ListBox/optionId.js +1 -1
  189. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -2
  190. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  191. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  192. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  193. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  194. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  195. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  196. package/dist/components/fields/Picker/Picker.js +6 -15
  197. package/dist/components/fields/Picker/Picker.js.map +1 -1
  198. package/dist/components/fields/RadioGroup/Radio.d.ts +32 -32
  199. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  200. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  201. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  202. package/dist/components/fields/RadioGroup/context.js +1 -1
  203. package/dist/components/fields/SearchComboBox/SearchComboBox.js +6 -1
  204. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  205. package/dist/components/fields/SearchInput/SearchInput.js +6 -1
  206. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  207. package/dist/components/fields/Select/Select.js +1 -1
  208. package/dist/components/fields/Slider/Gradation.js +1 -1
  209. package/dist/components/fields/Slider/HueSlider.js +1 -1
  210. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  211. package/dist/components/fields/Slider/Slider.js +1 -1
  212. package/dist/components/fields/Slider/SliderBase.js +1 -1
  213. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  214. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  215. package/dist/components/fields/Slider/elements.js +1 -1
  216. package/dist/components/fields/Slider/index.js +1 -1
  217. package/dist/components/fields/Switch/Switch.js +1 -1
  218. package/dist/components/fields/TagInput/TagInput.js +1 -2
  219. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  220. package/dist/components/fields/TagInput/TagList.js +1 -1
  221. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  222. package/dist/components/fields/TagInput/useTagError.js +1 -1
  223. package/dist/components/fields/TextArea/TextArea.js +1 -1
  224. package/dist/components/fields/TextInput/TextInput.js +1 -1
  225. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  226. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  227. package/dist/components/fields/TextInputMapper/TextInputMapper.js +16 -19
  228. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  229. package/dist/components/fields/TriggerActions.js +1 -1
  230. package/dist/components/fields/color/ColorPanel.js +1 -3
  231. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  232. package/dist/components/fields/color/channels.js +1 -1
  233. package/dist/components/fields/color/color.js +1 -1
  234. package/dist/components/fields/color/context.js +1 -1
  235. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +8 -10
  236. package/dist/components/form/FieldWrapper/FieldWrapper.js +159 -214
  237. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  238. package/dist/components/form/FieldWrapper/field-description.js +3 -3
  239. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  240. package/dist/components/form/FieldWrapper/types.d.ts +3 -4
  241. package/dist/components/form/Form/Field.js +1 -1
  242. package/dist/components/form/Form/Form.js +1 -1
  243. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  244. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  245. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  246. package/dist/components/form/Form/SubmitError.js +1 -1
  247. package/dist/components/form/Form/backend.js +1 -1
  248. package/dist/components/form/Form/index.js +1 -1
  249. package/dist/components/form/Form/modern/actions.js +1 -1
  250. package/dist/components/form/Form/modern/context.js +1 -1
  251. package/dist/components/form/Form/modern/controller.js +1 -1
  252. package/dist/components/form/Form/modern/field-binding.js +1 -1
  253. package/dist/components/form/Form/modern/field.js +1 -1
  254. package/dist/components/form/Form/modern/react.js +1 -1
  255. package/dist/components/form/Form/modern/store.js +1 -1
  256. package/dist/components/form/Form/modern/validation.js +1 -1
  257. package/dist/components/form/Form/modern/values.js +1 -1
  258. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  259. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  260. package/dist/components/form/Form/use-field/use-field-props.js +33 -21
  261. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  262. package/dist/components/form/Form/use-field/use-field.js +1 -1
  263. package/dist/components/form/Form/use-form.js +1 -1
  264. package/dist/components/form/Form/validation.js +1 -1
  265. package/dist/components/form/Label.js +1 -1
  266. package/dist/components/form/field-chrome.js +34 -4
  267. package/dist/components/form/field-chrome.js.map +1 -1
  268. package/dist/components/form/legacy-tooltip.js +1 -1
  269. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  270. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  271. package/dist/components/form/validation/use-validation-props.js +1 -1
  272. package/dist/components/form/wrapper.d.ts +17 -6
  273. package/dist/components/form/wrapper.js +14 -6
  274. package/dist/components/form/wrapper.js.map +1 -1
  275. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  276. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  277. package/dist/components/layout/Flex.js +1 -1
  278. package/dist/components/layout/Flow.js +1 -1
  279. package/dist/components/layout/Grid.js +1 -1
  280. package/dist/components/layout/Panel.js +1 -1
  281. package/dist/components/layout/Prefix.js +1 -1
  282. package/dist/components/layout/ResizablePanel.js +1 -1
  283. package/dist/components/layout/Space.js +1 -1
  284. package/dist/components/layout/Suffix.js +1 -1
  285. package/dist/components/navigation/Pagination/Pagination.js +1 -3
  286. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  287. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  288. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  289. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  290. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  291. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  292. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  293. package/dist/components/navigation/Tabs/TabPicker.js +1 -2
  294. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  295. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  296. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  297. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  298. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  299. package/dist/components/navigation/Tabs/styled.js +1 -1
  300. package/dist/components/navigation/Tabs/types.js +1 -1
  301. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  302. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  303. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  304. package/dist/components/other/Calendar/Calendar.js +1 -1
  305. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  306. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  307. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  308. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  309. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  310. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  311. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  312. package/dist/components/other/Calendar/styled.js +1 -1
  313. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  314. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  315. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  316. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  317. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  318. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  319. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  320. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  321. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  322. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  323. package/dist/components/overlays/Dialog/context.js +1 -1
  324. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  325. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  326. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  327. package/dist/components/overlays/Modal/Modal.js +1 -1
  328. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  329. package/dist/components/overlays/Modal/Overlay.js +1 -1
  330. package/dist/components/overlays/Modal/Popover.js +1 -1
  331. package/dist/components/overlays/Modal/Tray.js +1 -1
  332. package/dist/components/overlays/Modal/Underlay.js +1 -1
  333. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  334. package/dist/components/overlays/Notifications/Notification.js +1 -1
  335. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  336. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  337. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  338. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  339. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  340. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  341. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  342. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  343. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  344. package/dist/components/overlays/Notifications/index.js +1 -1
  345. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  346. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  347. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  348. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  349. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  350. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  351. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  352. package/dist/components/overlays/Toast/index.js +1 -1
  353. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  354. package/dist/components/overlays/Toast/useToast.js +1 -1
  355. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  356. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  357. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  358. package/dist/components/overlays/Tooltip/context.js +1 -1
  359. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  360. package/dist/components/portal/Portal.js +1 -1
  361. package/dist/components/portal/PortalProvider.js +1 -1
  362. package/dist/components/portal/usePortal.js +1 -1
  363. package/dist/components/shared/DraggableCollection.js +1 -1
  364. package/dist/components/shared/InvalidIcon.js +1 -1
  365. package/dist/components/shared/ValidIcon.js +1 -1
  366. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  367. package/dist/components/status/Spin/Cube.js +1 -1
  368. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  369. package/dist/components/status/Spin/Spin.js +1 -1
  370. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  371. package/dist/data/item-themes.js +1 -1
  372. package/dist/data/themes.js +1 -1
  373. package/dist/eslint-plugin/defaults.generated.js +1 -1
  374. package/dist/eslint-plugin/index.js +1 -1
  375. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  376. package/dist/i18n/I18nProvider.js +1 -1
  377. package/dist/i18n/createFormatter.js +1 -1
  378. package/dist/i18n/index.js +1 -1
  379. package/dist/i18n/instance.js +1 -1
  380. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  381. package/dist/i18n/locales/en-US/uikit.js +1 -1
  382. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  383. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  384. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  385. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  386. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  387. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  388. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  389. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  390. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  391. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  392. package/dist/i18n/locales.js +1 -1
  393. package/dist/i18n/namespace.js +1 -1
  394. package/dist/i18n/useFormatter.js +1 -1
  395. package/dist/i18n/useI18n.js +1 -1
  396. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  397. package/dist/icons/AdjustmentsIcon.js +1 -1
  398. package/dist/icons/AiIcon.js +1 -1
  399. package/dist/icons/AreaChartIcon.js +1 -1
  400. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  401. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  402. package/dist/icons/BackwardIcon.js +1 -1
  403. package/dist/icons/BarChartIcon.js +1 -1
  404. package/dist/icons/BellFilledIcon.js +1 -1
  405. package/dist/icons/BellIcon.js +1 -1
  406. package/dist/icons/BooleanIcon.js +1 -1
  407. package/dist/icons/CalendarEditIcon.js +1 -1
  408. package/dist/icons/CalendarIcon.js +1 -1
  409. package/dist/icons/CaretDownIcon.js +1 -1
  410. package/dist/icons/CaretUpIcon.js +1 -1
  411. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  412. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  413. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  414. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  415. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  416. package/dist/icons/ChartBarLineIcon.js +1 -1
  417. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  418. package/dist/icons/ChartBarStackedIcon.js +1 -1
  419. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  420. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  421. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  422. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  423. package/dist/icons/ChartBubbleIcon.js +1 -1
  424. package/dist/icons/ChartDonut2Icon.js +1 -1
  425. package/dist/icons/ChartFunnelIcon.js +1 -1
  426. package/dist/icons/ChartHeatmapIcon.js +1 -1
  427. package/dist/icons/ChartKPIIcon.js +1 -1
  428. package/dist/icons/ChartPie2Icon.js +1 -1
  429. package/dist/icons/ChartScatterIcon.js +1 -1
  430. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  431. package/dist/icons/CheckCircleIcon.js +1 -1
  432. package/dist/icons/CheckIcon.js +1 -1
  433. package/dist/icons/CircleFilledIcon.js +1 -1
  434. package/dist/icons/ClearIcon.js +1 -1
  435. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  436. package/dist/icons/CloseCircleIcon.js +1 -1
  437. package/dist/icons/CloseIcon.js +1 -1
  438. package/dist/icons/CodeIcon.js +1 -1
  439. package/dist/icons/ColumnTotalIcon.js +1 -1
  440. package/dist/icons/CopyIcon.js +1 -1
  441. package/dist/icons/CountIcon.js +1 -1
  442. package/dist/icons/CubeIcon.js +1 -1
  443. package/dist/icons/CubePauseIcon.js +1 -1
  444. package/dist/icons/CubePlayIcon.js +1 -1
  445. package/dist/icons/CurrencyDollarIcon.js +1 -1
  446. package/dist/icons/DangerIcon.js +1 -1
  447. package/dist/icons/DashboardIcon.js +1 -1
  448. package/dist/icons/DatabaseIcon.js +1 -1
  449. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  450. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  451. package/dist/icons/DirectionIcon.js +1 -1
  452. package/dist/icons/DonutIcon.js +1 -1
  453. package/dist/icons/DownIcon.js +1 -1
  454. package/dist/icons/EditIcon.js +1 -1
  455. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  456. package/dist/icons/ExclamationCircleIcon.js +1 -1
  457. package/dist/icons/ExclamationIcon.js +1 -1
  458. package/dist/icons/EyeIcon.js +1 -1
  459. package/dist/icons/EyeInvisibleIcon.js +1 -1
  460. package/dist/icons/FilterIcon.js +1 -1
  461. package/dist/icons/FolderFilledIcon.js +1 -1
  462. package/dist/icons/FolderIcon.js +1 -1
  463. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  464. package/dist/icons/FolderOpenIcon.js +1 -1
  465. package/dist/icons/ForwardIcon.js +1 -1
  466. package/dist/icons/GripVerticalIcon.js +1 -1
  467. package/dist/icons/HierarchyIcon.js +1 -1
  468. package/dist/icons/HierarchyOpenIcon.js +1 -1
  469. package/dist/icons/Icon.js +1 -1
  470. package/dist/icons/InfoCircleIcon.js +1 -1
  471. package/dist/icons/InfoIcon.js +1 -1
  472. package/dist/icons/KeyIcon.js +1 -1
  473. package/dist/icons/LeftIcon.js +1 -1
  474. package/dist/icons/LineChartIcon.js +1 -1
  475. package/dist/icons/LoadingIcon.js +1 -1
  476. package/dist/icons/LockFilledIcon.js +1 -1
  477. package/dist/icons/LockIcon.js +1 -1
  478. package/dist/icons/MoreIcon.js +1 -1
  479. package/dist/icons/NotAllowedIcon.js +1 -1
  480. package/dist/icons/Number123Icon.js +1 -1
  481. package/dist/icons/NumberIcon.js +1 -1
  482. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  483. package/dist/icons/PauseCircleIcon.js +1 -1
  484. package/dist/icons/PauseIcon.js +1 -1
  485. package/dist/icons/PercentageIcon.js +1 -1
  486. package/dist/icons/PieChartIcon.js +1 -1
  487. package/dist/icons/PipetteIcon.js +1 -1
  488. package/dist/icons/PlayCircleIcon.js +1 -1
  489. package/dist/icons/PlayIcon.js +1 -1
  490. package/dist/icons/PlusIcon.js +1 -1
  491. package/dist/icons/ProgressBarIcon.js +1 -1
  492. package/dist/icons/ReloadIcon.js +1 -1
  493. package/dist/icons/ReportIcon.js +1 -1
  494. package/dist/icons/ReturnIcon.js +1 -1
  495. package/dist/icons/RightIcon.js +1 -1
  496. package/dist/icons/RowTotalsIcon.js +1 -1
  497. package/dist/icons/SchemeIcon.js +1 -1
  498. package/dist/icons/SearchIcon.js +1 -1
  499. package/dist/icons/SemanticQueryIcon.js +1 -1
  500. package/dist/icons/SettingsIcon.js +1 -1
  501. package/dist/icons/ShieldFilledIcon.js +1 -1
  502. package/dist/icons/ShieldIcon.js +1 -1
  503. package/dist/icons/SlashIcon.js +1 -1
  504. package/dist/icons/SparklesIcon.js +1 -1
  505. package/dist/icons/SqlIcon.js +1 -1
  506. package/dist/icons/StatsIcon.js +1 -1
  507. package/dist/icons/StopIcon.js +1 -1
  508. package/dist/icons/StringIcon.js +1 -1
  509. package/dist/icons/SubtotalsIcon.js +1 -1
  510. package/dist/icons/SwitchIcon.js +1 -1
  511. package/dist/icons/TableIcon.js +1 -1
  512. package/dist/icons/ThumbsDownIcon.js +1 -1
  513. package/dist/icons/ThumbsUpIcon.js +1 -1
  514. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  515. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  516. package/dist/icons/ThunderboltIcon.js +1 -1
  517. package/dist/icons/TimeIcon.js +1 -1
  518. package/dist/icons/TrashIcon.js +1 -1
  519. package/dist/icons/UnlockIcon.js +1 -1
  520. package/dist/icons/UpIcon.js +1 -1
  521. package/dist/icons/UserGroupIcon.js +1 -1
  522. package/dist/icons/UserIcon.js +1 -1
  523. package/dist/icons/UserLockIcon.js +1 -1
  524. package/dist/icons/ViewIcon.js +1 -1
  525. package/dist/icons/WarningFilledIcon.js +1 -1
  526. package/dist/icons/WarningIcon.js +1 -1
  527. package/dist/icons/wrap-icon.js +1 -1
  528. package/dist/index.js +1 -1
  529. package/dist/probe/canonicalize.js +1 -1
  530. package/dist/probe/css.js +1 -1
  531. package/dist/probe/index.js +1 -1
  532. package/dist/provider.js +1 -1
  533. package/dist/providers/TrackingProvider.js +1 -1
  534. package/dist/providers/navigation-url.js +1 -1
  535. package/dist/providers/navigationAdapter.default.js +1 -1
  536. package/dist/providers/use-navigation.js +1 -1
  537. package/dist/shared/form.d.ts +12 -11
  538. package/dist/tokens/all-tokens.js +1 -1
  539. package/dist/tokens/base.js +1 -1
  540. package/dist/tokens/color-seed.js +1 -1
  541. package/dist/tokens/color-theme.js +1 -1
  542. package/dist/tokens/colors.js +1 -1
  543. package/dist/tokens/layout.js +1 -1
  544. package/dist/tokens/lazy-styles.js +1 -1
  545. package/dist/tokens/legacy-color.js +1 -1
  546. package/dist/tokens/palette-config.js +1 -1
  547. package/dist/tokens/palette.js +1 -1
  548. package/dist/tokens/resolve.js +1 -1
  549. package/dist/tokens/shadows.js +1 -1
  550. package/dist/tokens/sizes.js +1 -1
  551. package/dist/tokens/spacing.js +1 -1
  552. package/dist/tokens/typography.js +1 -1
  553. package/dist/utils/ResizeSensor.js +1 -1
  554. package/dist/utils/colors.js +1 -1
  555. package/dist/utils/dotize.js +1 -1
  556. package/dist/utils/is-dev-env.js +1 -1
  557. package/dist/utils/modules.js +1 -1
  558. package/dist/utils/promise.js +1 -1
  559. package/dist/utils/raf.js +1 -1
  560. package/dist/utils/random.js +1 -1
  561. package/dist/utils/range.js +1 -1
  562. package/dist/utils/react/RenderCache.js +1 -1
  563. package/dist/utils/react/Slots.js +1 -1
  564. package/dist/utils/react/chain.js +1 -1
  565. package/dist/utils/react/disabledProps.js +1 -1
  566. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  567. package/dist/utils/react/index.js +1 -1
  568. package/dist/utils/react/interactions.js +1 -1
  569. package/dist/utils/react/isTextOnly.js +1 -1
  570. package/dist/utils/react/mapProps.js +1 -1
  571. package/dist/utils/react/mergeProps.js +1 -1
  572. package/dist/utils/react/nullableValue.js +1 -1
  573. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  574. package/dist/utils/react/programmaticFocus.js +1 -1
  575. package/dist/utils/react/resolveIcon.js +1 -1
  576. package/dist/utils/react/sharedStore.js +1 -1
  577. package/dist/utils/react/useBufferedValue.js +1 -1
  578. package/dist/utils/react/useCombinedRefs.js +1 -1
  579. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  580. package/dist/utils/react/useEventBus.js +1 -1
  581. package/dist/utils/react/useId.js +1 -1
  582. package/dist/utils/react/useIsDarwin.js +1 -1
  583. package/dist/utils/react/useKeySymbols.js +1 -1
  584. package/dist/utils/react/useLayoutEffect.js +1 -1
  585. package/dist/utils/react/useLocalStorage.js +1 -1
  586. package/dist/utils/react/useMergeStyles.js +1 -1
  587. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  588. package/dist/utils/react/usePopoverSync.js +1 -1
  589. package/dist/utils/react/useQaProps.js +1 -1
  590. package/dist/utils/react/useScheme.js +1 -1
  591. package/dist/utils/react/useViewportSize.js +1 -1
  592. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  593. package/dist/utils/selection.js +1 -1
  594. package/dist/utils/styles.js +1 -1
  595. package/dist/utils/tree.js +1 -1
  596. package/dist/utils/warnings.js +1 -1
  597. package/dist/version.js +2 -2
  598. package/docs/CreateComponent.md +0 -2
  599. package/docs/FieldProperties.md +6 -21
  600. package/docs/Usage.md +0 -2
  601. package/docs/components/fields/TagInput.md +0 -7
  602. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { ArrowNarrowDownIcon } from "../../../icons/ArrowNarrowDownIcon.js";
3
3
  import { ArrowNarrowUpIcon } from "../../../icons/ArrowNarrowUpIcon.js";
4
4
  import { TableHeaderItem } from "./styled.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { __Menu } from "../../actions/Menu/Menu.js";
3
3
  import { normalizeMenuAction } from "./row-menu.js";
4
4
  import { Children, cloneElement, isValidElement } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { computeStyles, resolveRecipes } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/components/data/TableBase/column-styles.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { getPaletteConfig } from "../../../tokens/palette-config.js";
3
3
  import { hashString } from "../../../tokens/color-theme.js";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { Children, Fragment, isValidElement } from "react";
3
3
 
4
4
  //#region src/components/data/TableBase/row-menu.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { _Item } from "../../content/Item/Item.js";
3
3
  import { Action } from "../../actions/Action/Action.js";
4
4
  import { keyframes, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/data/TableBase/table-tree.ts
3
3
  /** Build identity and parent/child indexes without modifying consumer rows. */
4
4
  function buildTableTree(rows, getChildren, getKey) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/data/TableBase/types.ts
3
3
  /**
4
4
  * `asc | desc` rather than React Aria's `ascending | descending`: we do not use
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useLayoutEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useLayoutEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useLayoutEffect, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
 
4
4
  //#region src/components/data/TableBase/use-table-columns.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useDebouncedValue } from "../../../_internal/hooks/use-debounced-value.js";
3
3
  import { getColumnText } from "./use-table-columns.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { RowCollection } from "./RowCollection.js";
4
4
  import { useCallback, useMemo, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { getColumnText, getColumnValue } from "./use-table-columns.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { sortRows } from "./use-table-sort.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useCallback, useRef, useState } from "react";
3
3
 
4
4
  //#region src/components/data/TableBase/use-table-storage.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { refreshAutoTooltipsWithin } from "../../content/use-auto-tooltip.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { castNullableArrayValue } from "../../../utils/react/nullableValue.js";
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","AriaCheckboxGroupProps","useCheckboxGroup","useCheckboxGroupState","FieldBaseProps","mergeProps","castNullableArrayValue","WithNullableValue","extractStyles","FormScopeMask","useFieldProps","wrapWithField","CheckboxGroupContext","CheckGroupElement","qa","styles","display","placeItems","placeContent","flow","horizontal","gap","CubeCheckboxGroupProps","Omit","orientation","inputStyles","CheckboxGroup","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","id","isDisabled","isRequired","necessityIndicator","label","extra","isInvalid","isValid","children","t2","message","description","labelStyles","labelProps","baseLabelProps","labelSuffix","form","otherProps","undefined","domRef","state","t3","groupProps","t4","t5","t6","t7","t8","t9","radioGroup","t10","value","onChange","_CheckboxGroup","cubeInputType","displayName"],"sources":["../../../../src/components/fields/Checkbox/CheckboxGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { AriaCheckboxGroupProps, useCheckboxGroup } from 'react-aria';\nimport { useCheckboxGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableArrayValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { CheckboxGroupContext } from './context';\n\nconst CheckGroupElement = tasty({\n qa: 'CheckboxGroup',\n styles: {\n display: 'flex',\n placeItems: 'start',\n placeContent: 'start',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n },\n gap: {\n '': '1x',\n horizontal: '1x 2x',\n },\n },\n});\n\nexport interface CubeCheckboxGroupProps\n extends BaseProps,\n Omit<AriaCheckboxGroupProps, 'errorMessage' | 'form' | 'name'>,\n FieldBaseProps<readonly string[] | null | undefined>,\n ContainerStyleProps {\n orientation?: 'vertical' | 'horizontal';\n inputStyles?: Styles;\n}\n\nfunction CheckboxGroup(\n rawProps: WithNullableValue<CubeCheckboxGroupProps>,\n ref,\n) {\n rawProps = castNullableArrayValue(rawProps);\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value != null ? value : [],\n onChange: onChange,\n }),\n });\n\n let {\n id,\n isDisabled,\n isRequired,\n necessityIndicator,\n label,\n extra,\n isInvalid,\n isValid,\n children,\n orientation = 'vertical',\n message,\n description,\n labelStyles,\n labelProps: baseLabelProps,\n labelSuffix,\n inputStyles,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let state = useCheckboxGroupState(props);\n // React Aria hands `form` to every item's input as the id of its `<form>`,\n // so the form instance would render as `form=\"[object Object]\"` on each.\n let { groupProps, labelProps } = useCheckboxGroup(\n { ...props, form: undefined },\n state,\n );\n\n // The group owns its semantics in both presentations: `isBare` omits the\n // field wrapper, so putting them there would lose its role and name.\n let radioGroup = (\n <CheckGroupElement\n {...groupProps}\n id={id}\n styles={inputStyles}\n mods={{\n horizontal: orientation === 'horizontal',\n }}\n >\n <FormScopeMask\n value={{\n isDisabled,\n isInvalid,\n isValid,\n }}\n >\n <CheckboxGroupContext.Provider value={state}>\n {children}\n </CheckboxGroupContext.Provider>\n </FormScopeMask>\n </CheckGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Checkbox groups allow users to select any number of options from a list.\n * All possible options are exposed up front for users to compare.\n */\nconst _CheckboxGroup = forwardRef(CheckboxGroup);\n\n(_CheckboxGroup as any).cubeInputType = 'CheckboxGroup';\n_CheckboxGroup.displayName = 'CheckboxGroup';\n\nexport { _CheckboxGroup as CheckboxGroup };\n"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxGroup.js","names":["useObjectRef","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Styles","tasty","forwardRef","AriaCheckboxGroupProps","useCheckboxGroup","useCheckboxGroupState","FieldBaseProps","mergeProps","castNullableArrayValue","WithNullableValue","extractStyles","FormScopeMask","useFieldProps","wrapWithField","CheckboxGroupContext","CheckGroupElement","qa","styles","display","placeItems","placeContent","flow","horizontal","gap","CubeCheckboxGroupProps","Omit","orientation","inputStyles","CheckboxGroup","rawProps","ref","$","_c","t0","t1","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","id","isDisabled","isRequired","necessityIndicator","label","extra","isInvalid","isValid","children","t2","message","description","labelStyles","labelProps","baseLabelProps","labelSuffix","form","otherProps","undefined","domRef","state","t3","groupProps","t4","t5","t6","t7","t8","t9","radioGroup","t10","value","onChange","_CheckboxGroup","cubeInputType","displayName"],"sources":["../../../../src/components/fields/Checkbox/CheckboxGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\nimport { AriaCheckboxGroupProps, useCheckboxGroup } from 'react-aria';\nimport { useCheckboxGroupState } from 'react-stately';\n\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport {\n castNullableArrayValue,\n WithNullableValue,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { FormScopeMask, useFieldProps, wrapWithField } from '../../form';\n\nimport { CheckboxGroupContext } from './context';\n\nconst CheckGroupElement = tasty({\n qa: 'CheckboxGroup',\n styles: {\n display: 'flex',\n placeItems: 'start',\n placeContent: 'start',\n flow: {\n '': 'column',\n horizontal: 'row wrap',\n },\n gap: {\n '': '1x',\n horizontal: '1x 2x',\n },\n },\n});\n\nexport interface CubeCheckboxGroupProps\n extends BaseProps,\n Omit<AriaCheckboxGroupProps, 'errorMessage' | 'form' | 'name'>,\n FieldBaseProps<readonly string[] | null | undefined>,\n ContainerStyleProps {\n orientation?: 'vertical' | 'horizontal';\n inputStyles?: Styles;\n}\n\nfunction CheckboxGroup(\n rawProps: WithNullableValue<CubeCheckboxGroupProps>,\n ref,\n) {\n rawProps = castNullableArrayValue(rawProps);\n let props = useFieldProps(rawProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value != null ? value : [],\n onChange: onChange,\n }),\n });\n\n let {\n id,\n isDisabled,\n isRequired,\n necessityIndicator,\n label,\n extra,\n isInvalid,\n isValid,\n children,\n orientation = 'vertical',\n message,\n description,\n labelStyles,\n labelProps: baseLabelProps,\n labelSuffix,\n inputStyles,\n form,\n ...otherProps\n } = props;\n let domRef = useObjectRef(ref);\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let state = useCheckboxGroupState(props);\n // React Aria hands `form` to every item's input as the id of its `<form>`,\n // so the form instance would render as `form=\"[object Object]\"` on each.\n let { groupProps, labelProps } = useCheckboxGroup(\n { ...props, form: undefined },\n state,\n );\n\n // The group semantics go on the group itself, as in `RadioGroup`, not on the\n // field wrapper: that is only rendered with a label, and an `aria-label`-only\n // group would lose its role, name and description with it.\n let radioGroup = (\n <CheckGroupElement\n {...groupProps}\n id={id}\n styles={inputStyles}\n mods={{\n horizontal: orientation === 'horizontal',\n }}\n >\n <FormScopeMask\n value={{\n isDisabled,\n isInvalid,\n isValid,\n }}\n >\n <CheckboxGroupContext.Provider value={state}>\n {children}\n </CheckboxGroupContext.Provider>\n </FormScopeMask>\n </CheckGroupElement>\n );\n\n return wrapWithField(radioGroup, domRef, {\n ...props,\n labelProps: mergeProps(baseLabelProps, labelProps),\n });\n}\n\n/**\n * Checkbox groups allow users to select any number of options from a list.\n * All possible options are exposed up front for users to compare.\n */\nconst _CheckboxGroup = forwardRef(CheckboxGroup);\n\n(_CheckboxGroup as any).cubeInputType = 'CheckboxGroup';\n_CheckboxGroup.displayName = 'CheckboxGroup';\n\nexport { _CheckboxGroup as CheckboxGroup };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { createContext } from "react";
3
3
 
4
4
  //#region src/components/fields/Checkbox/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { _Text } from "../../content/Text.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -156,7 +156,6 @@ const ColorPicker = forwardRef(function ColorPicker(allProps, ref) {
156
156
  isDisabled: isEditingDisabled || isReadOnly,
157
157
  previewFormat: format,
158
158
  input: /* @__PURE__ */ jsx(ColorInput, {
159
- isBare: true,
160
159
  "aria-label": t("colorPicker.colorValue", "Color value"),
161
160
  format,
162
161
  value: colorText,
@@ -165,7 +164,6 @@ const ColorPicker = forwardRef(function ColorPicker(allProps, ref) {
165
164
  onChange: handleValueChange
166
165
  }),
167
166
  swatches: swatches?.length ? /* @__PURE__ */ jsx(ColorSwatchGroup, {
168
- isBare: true,
169
167
  "aria-label": t("colorPicker.palette", "Palette"),
170
168
  styles: PALETTE_STYLES,
171
169
  colors: swatches,
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","names":["BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","RefObject","useEffect","useRef","useState","Placement","useEvent","useI18n","FieldBaseProps","extractStyles","ItemButton","CubeItemProps","Text","getValidationIcon","getValidationTheme","useFieldProps","wrapWithField","Dialog","DialogTrigger","ColorSpace","ColorFormat","ColorValue","formatColor","parseColor","ColorPanel","ColorPopoverContext","ColorInput","ColorSwatch","ColorSwatchGroup","CubeColorSwatchItem","POPOVER_STYLES","overflow","PALETTE_STYLES","border","padding","width","FALLBACK_COLOR","h","s","l","ColorPickerWrapper","qa","styles","display","flow","gridRows","placeContent","placeItems","CubeColorPickerProps","value","defaultValue","onChange","format","defaultSpace","isOpen","defaultOpen","onOpenChange","shouldFlip","targetRef","HTMLElement","placement","children","placeholder","size","type","theme","triggerTooltip","swatches","swatchColumns","triggerStyles","swatchStyles","ColorPicker","allProps","ref","t","props","defaultValidationTrigger","valuePropsMapper","id","controlledOpen","isDisabled","isReadOnly","isLoading","isInvalid","isValid","autoFocus","ariaLabel","ariaDescribedBy","isEditingDisabled","color","setColor","toString","space","setSpace","setOpen","emitted","undefined","current","handleColorChange","next","text","colorText","handleValueChange","handleOpenChange","label","pickerField","length","cubeInputType"],"sources":["../../../../src/components/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Placement } from 'react-aria';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { extractStyles } from '../../../utils/styles';\nimport { ItemButton } from '../../actions';\nimport { CubeItemProps } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport {\n getValidationIcon,\n getValidationTheme,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\nimport { ColorSpace } from '../color/channels';\nimport {\n ColorFormat,\n ColorValue,\n formatColor,\n parseColor,\n} from '../color/color';\nimport { ColorPanel } from '../color/ColorPanel';\nimport { ColorPopoverContext } from '../color/context';\nimport { ColorInput } from '../ColorInput';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorSwatchGroup, CubeColorSwatchItem } from '../ColorSwatchGroup';\n\n/**\n * A popover caps its height at half the viewport. The panel can exceed that on\n * a short screen, and would otherwise spill outside the popover's own border.\n */\nconst POPOVER_STYLES: Styles = { overflow: 'auto' };\n\n/**\n * The rule separating the palette from the editor. `Divider` is not used: it\n * places itself on named grid lines meant for menu layouts, which this panel\n * does not define, so it lands in the wrong row and spawns a stray column.\n */\nconst PALETTE_STYLES: Styles = {\n border: 'top',\n padding: '1x top',\n width: '100%',\n};\n\n/** What the popover starts from when there is no color to edit yet. */\nconst FALLBACK_COLOR: ColorValue = { h: 264, s: 0.8, l: 0.6 };\n\nconst ColorPickerWrapper = tasty({\n qa: 'ColorPickerWrapper',\n styles: {\n display: 'inline-grid',\n flow: 'column',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n },\n});\n\nexport interface CubeColorPickerProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected color, as a color string. */\n value?: string | null;\n /** The initial color of an uncontrolled picker. */\n defaultValue?: string | null;\n /** Called with the color string, or `null` when there is no color. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** Color concept the popover opens with. */\n defaultSpace?: ColorSpace;\n /** Whether the popover is open. Makes the disclosure controlled. */\n isOpen?: boolean;\n /** Whether the popover is open initially. */\n defaultOpen?: boolean;\n /** Called when the popover opens or closes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** Whether the popover may flip to the other side of the trigger. */\n shouldFlip?: boolean;\n /**\n * The ref of the element the popover should visually attach itself to.\n * Defaults to the trigger button.\n *\n * Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click\n * dismissal treats as the trigger.\n */\n targetRef?: RefObject<HTMLElement | null>;\n /**\n * Placement of the popover relative to the anchor.\n * Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,\n * `'top start'`, `'right top'`, `'left top'`).\n * @default 'bottom start'\n */\n placement?: Placement;\n /** Replaces the color shown on the trigger. Pass `null` for a swatch on its own. */\n children?: ReactNode;\n /** Shown on the trigger while there is no color. */\n placeholder?: ReactNode;\n /** The size of the trigger. */\n size?: CubeItemProps['size'];\n /** The visual type of the trigger. */\n type?: CubeItemProps['type'];\n theme?: CubeItemProps['theme'];\n /** Tooltip for the trigger, separate from `labelTooltip`. */\n triggerTooltip?: CubeItemProps['tooltip'];\n /** Colors to offer under the editor, for picking without dialing one in. */\n swatches?: CubeColorSwatchItem[];\n /** How many swatches per row. Defaults to a single row. */\n swatchColumns?: number;\n styles?: Styles;\n /** Styles of the trigger button. */\n triggerStyles?: Styles;\n /** Styles of the color swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n /** Ids of elements that also describe the trigger, beside the field's own description and message. */\n 'aria-describedby'?: string;\n}\n\n/**\n * A color swatch that opens the color popover — the same one `ColorInput`\n * uses, without the text field. Reach for it when a color is chosen but never\n * typed: a toolbar, a chart legend, a cell in a dense table.\n */\nexport const ColorPicker = forwardRef(function ColorPicker(\n allProps: CubeColorPickerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n id,\n value,\n defaultValue,\n onChange,\n format = 'hex',\n defaultSpace = 'hst',\n isOpen: controlledOpen,\n defaultOpen,\n onOpenChange,\n shouldFlip,\n targetRef,\n placement = 'bottom start',\n children,\n placeholder = 'Pick a color',\n size,\n type = 'outline',\n theme = 'default',\n triggerTooltip,\n swatches,\n swatchColumns,\n triggerStyles,\n swatchStyles,\n isDisabled,\n isReadOnly,\n isLoading,\n isInvalid,\n isValid,\n autoFocus,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n\n /**\n * Loading locks the trigger, but the popover can outlive that — it may be\n * controlled, or opened before the load began — so the editor inside has to\n * refuse edits on the same terms.\n */\n const isEditingDisabled = isDisabled || isLoading;\n\n const [color, setColor] = useState(() =>\n parseColor((value ?? defaultValue ?? '').toString()),\n );\n const [space, setSpace] = useState<ColorSpace>(defaultSpace);\n const [isOpen, setOpen] = useState(defaultOpen ?? false);\n\n /** What was last published, to tell our own updates from outside ones. */\n const emitted = useRef<string | null | undefined>(value);\n\n // Adopt values that did not come from here — a form reset, or a parent that\n // overrides what the user picked.\n useEffect(() => {\n if (value === undefined || value === emitted.current) return;\n\n emitted.current = value;\n setColor(parseColor((value ?? '').toString()));\n }, [value]);\n\n const handleColorChange = useEvent((next: ColorValue) => {\n const text = formatColor(next, format);\n\n emitted.current = text;\n setColor(next);\n onChange?.(text);\n });\n\n const colorText = color ? formatColor(color, format) : null;\n\n /**\n * The palette and the value field both speak in strings, and the field can\n * hand back `null` when it is cleared — which has to reach the picker, or the\n * text empties while the preview and trigger keep the old color.\n */\n const handleValueChange = useEvent((next: string | null) => {\n emitted.current = next;\n setColor(next ? parseColor(next) : null);\n onChange?.(next);\n });\n\n const handleOpenChange = useEvent((next: boolean) => {\n setOpen(next);\n onOpenChange?.(next);\n });\n\n // The swatch carries the color and the label spells it out. `children`\n // replaces that label, and `null` leaves the swatch on its own.\n const label =\n children !== undefined ? (\n children\n ) : color ? (\n formatColor(color, format)\n ) : (\n // Muted, so an unset picker never reads like one holding a value —\n // the same treatment `Picker` and `Select` give their placeholders.\n <Text.Placeholder>{placeholder}</Text.Placeholder>\n );\n\n const pickerField = (\n <ColorPickerWrapper styles={styles}>\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={placement}\n targetRef={targetRef}\n isOpen={controlledOpen ?? isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={handleOpenChange}\n >\n <ItemButton\n data-popover-trigger\n id={id}\n qa={qa || 'ColorPickerTrigger'}\n data-input-type=\"colorpicker\"\n type={type}\n theme={getValidationTheme(theme, { isInvalid, isValid })}\n size={size}\n // Fixed 20px rather than tracking the trigger, same as `ColorInput`\n // and same as this has always rendered.\n icon={\n <ColorSwatch size=\"small\" color={color} styles={swatchStyles} />\n }\n rightIcon={getValidationIcon({ isInvalid, isValid })}\n tooltip={triggerTooltip}\n isDisabled={isEditingDisabled || isReadOnly}\n autoFocus={autoFocus}\n aria-label={ariaLabel}\n // The trigger is the control, so the field's description and\n // message describe it.\n aria-describedby={ariaDescribedBy}\n mods={{ placeholder: !color }}\n styles={triggerStyles}\n >\n {label}\n </ItemButton>\n <Dialog\n aria-label={t('colorPicker.colorPicker', 'Color picker')}\n width=\"max-content\"\n styles={POPOVER_STYLES}\n >\n {/* Marks the subtree so a nested swatch group drops its custom-color\n escape hatch, which is a picker and would recurse forever. */}\n <ColorPopoverContext.Provider value={true}>\n <ColorPanel\n color={color ?? FALLBACK_COLOR}\n space={space}\n isDisabled={isEditingDisabled || isReadOnly}\n previewFormat={format}\n input={\n <ColorInput\n isBare\n aria-label={t('colorPicker.colorValue', 'Color value')}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled}\n isReadOnly={isReadOnly}\n onChange={handleValueChange}\n />\n }\n swatches={\n swatches?.length ? (\n <ColorSwatchGroup\n isBare\n aria-label={t('colorPicker.palette', 'Palette')}\n styles={PALETTE_STYLES}\n colors={swatches}\n columns={swatchColumns}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled || isReadOnly}\n onChange={handleValueChange}\n />\n ) : null\n }\n onChange={handleColorChange}\n onSpaceChange={setSpace}\n />\n </ColorPopoverContext.Provider>\n </Dialog>\n </DialogTrigger>\n </ColorPickerWrapper>\n );\n\n return wrapWithField(pickerField, ref as any, props);\n});\n\n/**\n * Drives the legacy `<Field>` wiring: `Picker` validates on change and passes\n * the value through untouched, where `Text` would default to `onBlur` and\n * coerce `null` into an empty string.\n */\n(ColorPicker as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","names":["BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","ReactNode","RefObject","useEffect","useRef","useState","Placement","useEvent","useI18n","FieldBaseProps","extractStyles","ItemButton","CubeItemProps","Text","getValidationIcon","getValidationTheme","useFieldProps","wrapWithField","Dialog","DialogTrigger","ColorSpace","ColorFormat","ColorValue","formatColor","parseColor","ColorPanel","ColorPopoverContext","ColorInput","ColorSwatch","ColorSwatchGroup","CubeColorSwatchItem","POPOVER_STYLES","overflow","PALETTE_STYLES","border","padding","width","FALLBACK_COLOR","h","s","l","ColorPickerWrapper","qa","styles","display","flow","gridRows","placeContent","placeItems","CubeColorPickerProps","value","defaultValue","onChange","format","defaultSpace","isOpen","defaultOpen","onOpenChange","shouldFlip","targetRef","HTMLElement","placement","children","placeholder","size","type","theme","triggerTooltip","swatches","swatchColumns","triggerStyles","swatchStyles","ColorPicker","allProps","ref","t","props","defaultValidationTrigger","valuePropsMapper","id","controlledOpen","isDisabled","isReadOnly","isLoading","isInvalid","isValid","autoFocus","ariaLabel","ariaDescribedBy","isEditingDisabled","color","setColor","toString","space","setSpace","setOpen","emitted","undefined","current","handleColorChange","next","text","colorText","handleValueChange","handleOpenChange","label","pickerField","length","cubeInputType"],"sources":["../../../../src/components/fields/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n ForwardedRef,\n forwardRef,\n ReactNode,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Placement } from 'react-aria';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { extractStyles } from '../../../utils/styles';\nimport { ItemButton } from '../../actions';\nimport { CubeItemProps } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport {\n getValidationIcon,\n getValidationTheme,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { Dialog } from '../../overlays/Dialog/Dialog';\nimport { DialogTrigger } from '../../overlays/Dialog/DialogTrigger';\nimport { ColorSpace } from '../color/channels';\nimport {\n ColorFormat,\n ColorValue,\n formatColor,\n parseColor,\n} from '../color/color';\nimport { ColorPanel } from '../color/ColorPanel';\nimport { ColorPopoverContext } from '../color/context';\nimport { ColorInput } from '../ColorInput';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ColorSwatchGroup, CubeColorSwatchItem } from '../ColorSwatchGroup';\n\n/**\n * A popover caps its height at half the viewport. The panel can exceed that on\n * a short screen, and would otherwise spill outside the popover's own border.\n */\nconst POPOVER_STYLES: Styles = { overflow: 'auto' };\n\n/**\n * The rule separating the palette from the editor. `Divider` is not used: it\n * places itself on named grid lines meant for menu layouts, which this panel\n * does not define, so it lands in the wrong row and spawns a stray column.\n */\nconst PALETTE_STYLES: Styles = {\n border: 'top',\n padding: '1x top',\n width: '100%',\n};\n\n/** What the popover starts from when there is no color to edit yet. */\nconst FALLBACK_COLOR: ColorValue = { h: 264, s: 0.8, l: 0.6 };\n\nconst ColorPickerWrapper = tasty({\n qa: 'ColorPickerWrapper',\n styles: {\n display: 'inline-grid',\n flow: 'column',\n gridRows: '1sf',\n placeContent: 'stretch',\n placeItems: 'stretch',\n },\n});\n\nexport interface CubeColorPickerProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The selected color, as a color string. */\n value?: string | null;\n /** The initial color of an uncontrolled picker. */\n defaultValue?: string | null;\n /** Called with the color string, or `null` when there is no color. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** Color concept the popover opens with. */\n defaultSpace?: ColorSpace;\n /** Whether the popover is open. Makes the disclosure controlled. */\n isOpen?: boolean;\n /** Whether the popover is open initially. */\n defaultOpen?: boolean;\n /** Called when the popover opens or closes. */\n onOpenChange?: (isOpen: boolean) => void;\n /** Whether the popover may flip to the other side of the trigger. */\n shouldFlip?: boolean;\n /**\n * The ref of the element the popover should visually attach itself to.\n * Defaults to the trigger button.\n *\n * Forwarded to `DialogTrigger`, so the anchor also becomes what outside-click\n * dismissal treats as the trigger.\n */\n targetRef?: RefObject<HTMLElement | null>;\n /**\n * Placement of the popover relative to the anchor.\n * Accepts React Aria's `Placement` strings (e.g. `'bottom start'`,\n * `'top start'`, `'right top'`, `'left top'`).\n * @default 'bottom start'\n */\n placement?: Placement;\n /** Replaces the color shown on the trigger. Pass `null` for a swatch on its own. */\n children?: ReactNode;\n /** Shown on the trigger while there is no color. */\n placeholder?: ReactNode;\n /** The size of the trigger. */\n size?: CubeItemProps['size'];\n /** The visual type of the trigger. */\n type?: CubeItemProps['type'];\n theme?: CubeItemProps['theme'];\n /** Tooltip for the trigger, separate from `labelTooltip`. */\n triggerTooltip?: CubeItemProps['tooltip'];\n /** Colors to offer under the editor, for picking without dialing one in. */\n swatches?: CubeColorSwatchItem[];\n /** How many swatches per row. Defaults to a single row. */\n swatchColumns?: number;\n styles?: Styles;\n /** Styles of the trigger button. */\n triggerStyles?: Styles;\n /** Styles of the color swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n /** Ids of elements that also describe the trigger, beside the field's own description and message. */\n 'aria-describedby'?: string;\n}\n\n/**\n * A color swatch that opens the color popover — the same one `ColorInput`\n * uses, without the text field. Reach for it when a color is chosen but never\n * typed: a toolbar, a chart legend, a cell in a dense table.\n */\nexport const ColorPicker = forwardRef(function ColorPicker(\n allProps: CubeColorPickerProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n id,\n value,\n defaultValue,\n onChange,\n format = 'hex',\n defaultSpace = 'hst',\n isOpen: controlledOpen,\n defaultOpen,\n onOpenChange,\n shouldFlip,\n targetRef,\n placement = 'bottom start',\n children,\n placeholder = 'Pick a color',\n size,\n type = 'outline',\n theme = 'default',\n triggerTooltip,\n swatches,\n swatchColumns,\n triggerStyles,\n swatchStyles,\n isDisabled,\n isReadOnly,\n isLoading,\n isInvalid,\n isValid,\n autoFocus,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n\n /**\n * Loading locks the trigger, but the popover can outlive that — it may be\n * controlled, or opened before the load began — so the editor inside has to\n * refuse edits on the same terms.\n */\n const isEditingDisabled = isDisabled || isLoading;\n\n const [color, setColor] = useState(() =>\n parseColor((value ?? defaultValue ?? '').toString()),\n );\n const [space, setSpace] = useState<ColorSpace>(defaultSpace);\n const [isOpen, setOpen] = useState(defaultOpen ?? false);\n\n /** What was last published, to tell our own updates from outside ones. */\n const emitted = useRef<string | null | undefined>(value);\n\n // Adopt values that did not come from here — a form reset, or a parent that\n // overrides what the user picked.\n useEffect(() => {\n if (value === undefined || value === emitted.current) return;\n\n emitted.current = value;\n setColor(parseColor((value ?? '').toString()));\n }, [value]);\n\n const handleColorChange = useEvent((next: ColorValue) => {\n const text = formatColor(next, format);\n\n emitted.current = text;\n setColor(next);\n onChange?.(text);\n });\n\n const colorText = color ? formatColor(color, format) : null;\n\n /**\n * The palette and the value field both speak in strings, and the field can\n * hand back `null` when it is cleared — which has to reach the picker, or the\n * text empties while the preview and trigger keep the old color.\n */\n const handleValueChange = useEvent((next: string | null) => {\n emitted.current = next;\n setColor(next ? parseColor(next) : null);\n onChange?.(next);\n });\n\n const handleOpenChange = useEvent((next: boolean) => {\n setOpen(next);\n onOpenChange?.(next);\n });\n\n // The swatch carries the color and the label spells it out. `children`\n // replaces that label, and `null` leaves the swatch on its own.\n const label =\n children !== undefined ? (\n children\n ) : color ? (\n formatColor(color, format)\n ) : (\n // Muted, so an unset picker never reads like one holding a value —\n // the same treatment `Picker` and `Select` give their placeholders.\n <Text.Placeholder>{placeholder}</Text.Placeholder>\n );\n\n const pickerField = (\n <ColorPickerWrapper styles={styles}>\n <DialogTrigger\n hideArrow\n type=\"popover\"\n placement={placement}\n targetRef={targetRef}\n isOpen={controlledOpen ?? isOpen}\n shouldFlip={shouldFlip}\n onOpenChange={handleOpenChange}\n >\n <ItemButton\n data-popover-trigger\n id={id}\n qa={qa || 'ColorPickerTrigger'}\n data-input-type=\"colorpicker\"\n type={type}\n theme={getValidationTheme(theme, { isInvalid, isValid })}\n size={size}\n // Fixed 20px rather than tracking the trigger, same as `ColorInput`\n // and same as this has always rendered.\n icon={\n <ColorSwatch size=\"small\" color={color} styles={swatchStyles} />\n }\n rightIcon={getValidationIcon({ isInvalid, isValid })}\n tooltip={triggerTooltip}\n isDisabled={isEditingDisabled || isReadOnly}\n autoFocus={autoFocus}\n aria-label={ariaLabel}\n // The trigger is the control, so the field's description and\n // message describe it.\n aria-describedby={ariaDescribedBy}\n mods={{ placeholder: !color }}\n styles={triggerStyles}\n >\n {label}\n </ItemButton>\n <Dialog\n aria-label={t('colorPicker.colorPicker', 'Color picker')}\n width=\"max-content\"\n styles={POPOVER_STYLES}\n >\n {/* Marks the subtree so a nested swatch group drops its custom-color\n escape hatch, which is a picker and would recurse forever. */}\n <ColorPopoverContext.Provider value={true}>\n <ColorPanel\n color={color ?? FALLBACK_COLOR}\n space={space}\n isDisabled={isEditingDisabled || isReadOnly}\n previewFormat={format}\n input={\n <ColorInput\n aria-label={t('colorPicker.colorValue', 'Color value')}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled}\n isReadOnly={isReadOnly}\n onChange={handleValueChange}\n />\n }\n swatches={\n swatches?.length ? (\n <ColorSwatchGroup\n aria-label={t('colorPicker.palette', 'Palette')}\n styles={PALETTE_STYLES}\n colors={swatches}\n columns={swatchColumns}\n format={format}\n value={colorText}\n isDisabled={isEditingDisabled || isReadOnly}\n onChange={handleValueChange}\n />\n ) : null\n }\n onChange={handleColorChange}\n onSpaceChange={setSpace}\n />\n </ColorPopoverContext.Provider>\n </Dialog>\n </DialogTrigger>\n </ColorPickerWrapper>\n );\n\n return wrapWithField(pickerField, ref as any, props);\n});\n\n/**\n * Drives the legacy `<Field>` wiring: `Picker` validates on change and passes\n * the value through untouched, where `Text` would default to `onBlur` and\n * coerce `null` into an empty string.\n */\n(ColorPicker as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { parseColor, toHex } from "../color/color.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -304,7 +304,6 @@ const ColorSwatchGroup = forwardRef(function ColorSwatchGroup(allProps, ref) {
304
304
  styles: swatchStyles
305
305
  }, swatch.key))
306
306
  }), showCustom ? /* @__PURE__ */ jsx(ColorPicker, {
307
- isBare: true,
308
307
  "aria-label": t("colorSwatchGroup.customColor", "Custom color"),
309
308
  qa: "ColorSwatchGroupCustom",
310
309
  format,
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSwatchGroup.js","names":["useObjectRef","BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","useMemo","useRef","useState","useRadio","useRadioGroup","useRadioGroupState","useEvent","useI18n","FieldBaseProps","mergeProps","useFocus","extractStyles","getValidationMods","useFieldProps","wrapWithField","HiddenInput","ColorFormat","formatColor","parseColor","toHex","useIsInsideColorPopover","ColorPicker","RadioGroupState","CubeColorSwatchItem","color","label","SELECTED_RING","SWATCH_PX","Record","small","medium","large","CUSTOM_TRIGGER_STYLES","width","height","padding","radius","border","position","CUSTOM_SWATCH_STYLES","inset","CUSTOM_SWATCH_SELECTED_STYLES","shadow","GroupElement","qa","styles","display","columns","flow","gap","placeItems","gridColumns","RadiosElement","SwatchElement","as","cursor","disabled","fill","opacity","selected","outline","focused","transition","CubeColorSwatchGroupProps","colors","value","defaultValue","onChange","format","allowCustom","size","swatchStyles","SwatchProps","colorKey","state","isDisabled","mods","Swatch","t0","$","_c","inputRef","t1","inputProps","isSelected","isRadioDisabled","isFocused","focusProps","t2","t3","t4","t5","button","t6","t7","ColorSwatchGroup","allProps","ref","HTMLElement","t","props","defaultValidationTrigger","valuePropsMapper","isInvalid","isValid","ariaLabel","isInsidePopover","showCustom","swatches","seen","Map","key","entry","raw","parsed","has","set","undefined","values","internalValue","setInternalValue","currentValue","selectedColor","toString","selectedKey","isCustom","some","s","publish","next","handleChange","nextKey","isReadOnly","domRef","radioGroupProps","labelProps","form","orientation","group","String","map","swatch","cubeInputType"],"sources":["../../../../src/components/fields/ColorSwatchGroup/ColorSwatchGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, useMemo, useRef, useState } from 'react';\nimport { useRadio, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport { ColorFormat, formatColor, parseColor, toHex } from '../color/color';\nimport { useIsInsideColorPopover } from '../color/context';\nimport { ColorPicker } from '../ColorPicker';\n\nimport type { RadioGroupState } from 'react-stately';\n\n/** A swatch: a color, and optionally a name to announce instead of the color. */\nexport type CubeColorSwatchItem = string | { color: string; label?: string };\n\n/**\n * Two rings drawn inside the swatch, as React Aria marks selection. Outer ring\n * first: earlier shadows paint over later ones, so this reads as 2bw of\n * `#surface-text` at the edge and 2bw of `#surface` within it. Two tones that\n * flip with the scheme stay visible against any color the swatch holds.\n */\nconst SELECTED_RING = 'inset 0 0 0 2bw #surface-text, inset 0 0 0 4bw #surface';\n\n/** The swatch edge in px, per size. `Item` takes an exact number. */\nconst SWATCH_PX: Record<string, number> = {\n small: 16,\n medium: 20,\n large: 24,\n};\n\n/**\n * The trailing picker is a button wrapping a swatch, which would otherwise read\n * as a box inside a box. Stripping its chrome leaves just the swatch, so it\n * sits in the row as one of them.\n */\nconst CUSTOM_TRIGGER_STYLES: Styles = {\n // `size` sets the control's height; the box is pinned here as well so a flex\n // row cannot let the button size itself to its content instead.\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n padding: 0,\n radius: '1r',\n border: 0,\n position: 'relative',\n};\n\n/**\n * The swatch is docked over the whole button rather than placed inside it.\n * `Item` lays its icon out in a grid that reserves room for a label even when\n * there is none, which left the swatch a pixel off centre.\n */\nconst CUSTOM_SWATCH_STYLES: Styles = {\n position: 'absolute',\n inset: 0,\n width: 'auto',\n height: 'auto',\n radius: '1r',\n};\n\n/**\n * The ring goes on the swatch, not on the button around it: an inset shadow\n * paints under child content, and the swatch covers the button edge to edge.\n */\nconst CUSTOM_SWATCH_SELECTED_STYLES: Styles = {\n ...CUSTOM_SWATCH_STYLES,\n shadow: SELECTED_RING,\n};\n\nconst GroupElement = tasty({\n qa: 'ColorSwatchGroup',\n styles: {\n // Wrapping is the better default: it is a single row wherever there is\n // room, and folds instead of overflowing where there is not. A fixed\n // `columns` switches to a grid, sized to the swatches rather than to the\n // container — `1fr` tracks would stretch them apart.\n display: {\n '': 'flex',\n columns: 'grid',\n },\n flow: {\n '': 'row wrap',\n columns: 'row',\n },\n gap: '.5x',\n placeItems: {\n '': 'center start',\n columns: 'stretch',\n },\n width: {\n '': 'auto',\n columns: 'max-content',\n },\n gridColumns: 'repeat($columns, max-content)',\n\n // 20px, 16px and 24px — 1x is 8px.\n '$swatch-size': {\n '': '2.5x',\n 'size=small': '2x',\n 'size=large': '3x',\n },\n },\n});\n\n/**\n * Only the swatches belong to the radiogroup. The custom picker is a button,\n * and inside `role=\"radiogroup\"` it both misreports what the palette holds and\n * hands arrow keys to React Aria's radio walker — pressing one while the picker\n * is focused jumps into a swatch and changes the color. The box is dropped so\n * the swatches remain direct children of the group's own layout.\n */\nconst RadiosElement = tasty({\n styles: { display: 'contents' },\n});\n\nconst SwatchElement = tasty({\n as: 'label',\n qa: 'ColorSwatchOption',\n styles: {\n display: 'grid',\n placeItems: 'stretch',\n position: 'relative',\n radius: '1r',\n cursor: {\n '': 'pointer',\n disabled: 'default',\n },\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n fill: '(#color-swatch, #clear)',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n // A ring at one border-width's distance, so the color area stays whole —\n // the inner ring is the surface showing through as the gap. `outline` is\n // deliberately left to the focus ring.\n shadow: {\n '': 'inset 0 0 0 1bw #dark.15',\n selected: SELECTED_RING,\n },\n // A 1bw offset keeps the ring clear of the 4px gap to its neighbours.\n outline: {\n '': '2bw #focus.0 / 1bw',\n focused: '2bw #focus / 1bw',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeColorSwatchGroupProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The colors to offer. Duplicates of the same color are dropped. */\n colors?: CubeColorSwatchItem[];\n /** The selected color (controlled). */\n value?: string | null;\n /** The selected color (uncontrolled). */\n defaultValue?: string | null;\n /** Called with the chosen color, written in `format`. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** How many swatches per row. Defaults to a single row. */\n columns?: number;\n /**\n * Append a `ColorPicker` for colors outside the set. Ignored inside a color\n * popover, which is where that picker would otherwise recurse.\n */\n allowCustom?: boolean;\n /** The size of each swatch. */\n size?: 'small' | 'medium' | 'large' | (string & {});\n styles?: Styles;\n /** Styles of an individual swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\ninterface SwatchProps {\n colorKey: string;\n label: string;\n state: RadioGroupState;\n isDisabled?: boolean;\n size?: string;\n styles?: Styles;\n mods?: Record<string, boolean | undefined>;\n}\n\nfunction Swatch({\n colorKey,\n label,\n state,\n isDisabled,\n size,\n styles,\n mods,\n}: SwatchProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const {\n inputProps,\n isSelected,\n isDisabled: isRadioDisabled,\n } = useRadio(\n { value: colorKey, 'aria-label': label, isDisabled },\n state,\n inputRef,\n );\n // `useRadio` reports selection but not focus, and the swatch is the only\n // thing a keyboard user can see — without this the ring never appears.\n const { isFocused, focusProps } = useFocus(true);\n\n return (\n <SwatchElement\n data-size={size}\n mods={{\n selected: isSelected,\n disabled: isRadioDisabled,\n focused: isFocused,\n ...mods,\n }}\n styles={styles}\n style={{ '--color-swatch-color': colorKey }}\n >\n <HiddenInput\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n qa=\"ColorSwatchInput\"\n mods={{ button: true, disabled: isRadioDisabled }}\n />\n </SwatchElement>\n );\n}\n\n/**\n * A grid of color swatches, one of which can be selected — the palette half of\n * choosing a color, where `ColorPicker` is the freeform half.\n *\n * Swatches are keyed by their canonical hex, so the same color written two ways\n * collapses into one entry. Equivalent colors would otherwise make selection\n * ambiguous.\n */\nexport const ColorSwatchGroup = forwardRef(function ColorSwatchGroup(\n allProps: CubeColorSwatchGroupProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n colors = [],\n value,\n defaultValue,\n onChange,\n format = 'hex',\n columns,\n allowCustom,\n size = 'medium',\n isDisabled,\n isInvalid,\n isValid,\n swatchStyles,\n 'aria-label': ariaLabel,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n const isInsidePopover = useIsInsideColorPopover();\n // A custom picker inside a color popover would open a popover of its own.\n const showCustom = allowCustom && !isInsidePopover;\n\n /** Keyed by canonical hex so the same color written two ways is one swatch. */\n const swatches = useMemo(() => {\n const seen = new Map<string, { key: string; label: string }>();\n\n for (const entry of colors) {\n const raw = typeof entry === 'string' ? entry : entry.color;\n const parsed = parseColor(raw);\n\n if (!parsed) continue;\n\n const key = toHex(parsed);\n\n if (seen.has(key)) continue;\n\n seen.set(key, {\n key,\n label:\n (typeof entry === 'string' ? undefined : entry.label) ??\n formatColor(parsed, format),\n });\n }\n\n return [...seen.values()];\n }, [colors, format]);\n\n const [internalValue, setInternalValue] = useState<string | null>(\n () => defaultValue ?? null,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n const selectedColor = parseColor((currentValue ?? '').toString());\n const selectedKey = selectedColor ? toHex(selectedColor) : null;\n const isCustom =\n !!selectedKey && !swatches.some((s) => s.key === selectedKey);\n\n const publish = useEvent((next: string | null) => {\n if (value === undefined) setInternalValue(next);\n\n onChange?.(next);\n });\n\n // `null` arrives from React Aria's native form reset of a group that\n // mounted with no value.\n const handleChange = useEvent((nextKey: string | null) => {\n const parsed = nextKey == null ? null : parseColor(nextKey);\n\n publish(parsed ? formatColor(parsed, format) : null);\n });\n\n const state = useRadioGroupState({\n value: selectedKey ?? null,\n isDisabled,\n isReadOnly: props.isReadOnly,\n // Becomes the group's `aria-invalid`, which is what says the field is\n // invalid to a screen reader; the red outline says it only to the eye.\n isInvalid,\n onChange: handleChange,\n });\n\n // `useFocusableRef` wants the ref of a real focusable control to forward to,\n // and a group of radios has no single one — `RadioGroup` takes the same\n // approach for the same reason.\n const domRef = useObjectRef(ref);\n const { radioGroupProps, labelProps } = useRadioGroup(\n {\n ...props,\n // React Aria hands `form` to every swatch's input as the id of its\n // `<form>`, so the form instance would render as `form=\"[object Object]\"`.\n form: undefined,\n // Only name the group here when nothing else does: an `aria-label` set\n // unconditionally would outrank the visible label React Aria wires up.\n 'aria-label': props.label\n ? undefined\n : ariaLabel ?? t('colorSwatchGroup.colors', 'Colors'),\n orientation: 'horizontal',\n },\n state,\n );\n\n const group = (\n <GroupElement\n ref={domRef}\n qa={qa || 'ColorSwatchGroup'}\n data-size={size}\n data-input-type=\"colorswatchgroup\"\n styles={styles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n columns: !!columns,\n }}\n style={columns ? { '--columns': String(columns) } : undefined}\n >\n <RadiosElement {...radioGroupProps}>\n {swatches.map((swatch) => (\n <Swatch\n key={swatch.key}\n colorKey={swatch.key}\n label={swatch.label}\n state={state}\n isDisabled={isDisabled}\n size={size}\n styles={swatchStyles}\n />\n ))}\n </RadiosElement>\n {showCustom ? (\n <ColorPicker\n isBare\n aria-label={t('colorSwatchGroup.customColor', 'Custom color')}\n qa=\"ColorSwatchGroupCustom\"\n format={format}\n type=\"clear\"\n size={SWATCH_PX[size] ?? SWATCH_PX.medium}\n value={isCustom ? currentValue ?? null : null}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n triggerStyles={CUSTOM_TRIGGER_STYLES}\n swatchStyles={\n isCustom ? CUSTOM_SWATCH_SELECTED_STYLES : CUSTOM_SWATCH_STYLES\n }\n onChange={publish}\n >\n {null}\n </ColorPicker>\n ) : null}\n </GroupElement>\n );\n\n return wrapWithField(group, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n});\n\n(ColorSwatchGroup as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorSwatchGroup.js","names":["useObjectRef","BaseProps","BLOCK_STYLES","BlockStyleProps","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","useMemo","useRef","useState","useRadio","useRadioGroup","useRadioGroupState","useEvent","useI18n","FieldBaseProps","mergeProps","useFocus","extractStyles","getValidationMods","useFieldProps","wrapWithField","HiddenInput","ColorFormat","formatColor","parseColor","toHex","useIsInsideColorPopover","ColorPicker","RadioGroupState","CubeColorSwatchItem","color","label","SELECTED_RING","SWATCH_PX","Record","small","medium","large","CUSTOM_TRIGGER_STYLES","width","height","padding","radius","border","position","CUSTOM_SWATCH_STYLES","inset","CUSTOM_SWATCH_SELECTED_STYLES","shadow","GroupElement","qa","styles","display","columns","flow","gap","placeItems","gridColumns","RadiosElement","SwatchElement","as","cursor","disabled","fill","opacity","selected","outline","focused","transition","CubeColorSwatchGroupProps","colors","value","defaultValue","onChange","format","allowCustom","size","swatchStyles","SwatchProps","colorKey","state","isDisabled","mods","Swatch","t0","$","_c","inputRef","t1","inputProps","isSelected","isRadioDisabled","isFocused","focusProps","t2","t3","t4","t5","button","t6","t7","ColorSwatchGroup","allProps","ref","HTMLElement","t","props","defaultValidationTrigger","valuePropsMapper","isInvalid","isValid","ariaLabel","isInsidePopover","showCustom","swatches","seen","Map","key","entry","raw","parsed","has","set","undefined","values","internalValue","setInternalValue","currentValue","selectedColor","toString","selectedKey","isCustom","some","s","publish","next","handleChange","nextKey","isReadOnly","domRef","radioGroupProps","labelProps","form","orientation","group","String","map","swatch","cubeInputType"],"sources":["../../../../src/components/fields/ColorSwatchGroup/ColorSwatchGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, useMemo, useRef, useState } from 'react';\nimport { useRadio, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport { ColorFormat, formatColor, parseColor, toHex } from '../color/color';\nimport { useIsInsideColorPopover } from '../color/context';\nimport { ColorPicker } from '../ColorPicker';\n\nimport type { RadioGroupState } from 'react-stately';\n\n/** A swatch: a color, and optionally a name to announce instead of the color. */\nexport type CubeColorSwatchItem = string | { color: string; label?: string };\n\n/**\n * Two rings drawn inside the swatch, as React Aria marks selection. Outer ring\n * first: earlier shadows paint over later ones, so this reads as 2bw of\n * `#surface-text` at the edge and 2bw of `#surface` within it. Two tones that\n * flip with the scheme stay visible against any color the swatch holds.\n */\nconst SELECTED_RING = 'inset 0 0 0 2bw #surface-text, inset 0 0 0 4bw #surface';\n\n/** The swatch edge in px, per size. `Item` takes an exact number. */\nconst SWATCH_PX: Record<string, number> = {\n small: 16,\n medium: 20,\n large: 24,\n};\n\n/**\n * The trailing picker is a button wrapping a swatch, which would otherwise read\n * as a box inside a box. Stripping its chrome leaves just the swatch, so it\n * sits in the row as one of them.\n */\nconst CUSTOM_TRIGGER_STYLES: Styles = {\n // `size` sets the control's height; the box is pinned here as well so a flex\n // row cannot let the button size itself to its content instead.\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n padding: 0,\n radius: '1r',\n border: 0,\n position: 'relative',\n};\n\n/**\n * The swatch is docked over the whole button rather than placed inside it.\n * `Item` lays its icon out in a grid that reserves room for a label even when\n * there is none, which left the swatch a pixel off centre.\n */\nconst CUSTOM_SWATCH_STYLES: Styles = {\n position: 'absolute',\n inset: 0,\n width: 'auto',\n height: 'auto',\n radius: '1r',\n};\n\n/**\n * The ring goes on the swatch, not on the button around it: an inset shadow\n * paints under child content, and the swatch covers the button edge to edge.\n */\nconst CUSTOM_SWATCH_SELECTED_STYLES: Styles = {\n ...CUSTOM_SWATCH_STYLES,\n shadow: SELECTED_RING,\n};\n\nconst GroupElement = tasty({\n qa: 'ColorSwatchGroup',\n styles: {\n // Wrapping is the better default: it is a single row wherever there is\n // room, and folds instead of overflowing where there is not. A fixed\n // `columns` switches to a grid, sized to the swatches rather than to the\n // container — `1fr` tracks would stretch them apart.\n display: {\n '': 'flex',\n columns: 'grid',\n },\n flow: {\n '': 'row wrap',\n columns: 'row',\n },\n gap: '.5x',\n placeItems: {\n '': 'center start',\n columns: 'stretch',\n },\n width: {\n '': 'auto',\n columns: 'max-content',\n },\n gridColumns: 'repeat($columns, max-content)',\n\n // 20px, 16px and 24px — 1x is 8px.\n '$swatch-size': {\n '': '2.5x',\n 'size=small': '2x',\n 'size=large': '3x',\n },\n },\n});\n\n/**\n * Only the swatches belong to the radiogroup. The custom picker is a button,\n * and inside `role=\"radiogroup\"` it both misreports what the palette holds and\n * hands arrow keys to React Aria's radio walker — pressing one while the picker\n * is focused jumps into a swatch and changes the color. The box is dropped so\n * the swatches remain direct children of the group's own layout.\n */\nconst RadiosElement = tasty({\n styles: { display: 'contents' },\n});\n\nconst SwatchElement = tasty({\n as: 'label',\n qa: 'ColorSwatchOption',\n styles: {\n display: 'grid',\n placeItems: 'stretch',\n position: 'relative',\n radius: '1r',\n cursor: {\n '': 'pointer',\n disabled: 'default',\n },\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n fill: '(#color-swatch, #clear)',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n // A ring at one border-width's distance, so the color area stays whole —\n // the inner ring is the surface showing through as the gap. `outline` is\n // deliberately left to the focus ring.\n shadow: {\n '': 'inset 0 0 0 1bw #dark.15',\n selected: SELECTED_RING,\n },\n // A 1bw offset keeps the ring clear of the 4px gap to its neighbours.\n outline: {\n '': '2bw #focus.0 / 1bw',\n focused: '2bw #focus / 1bw',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeColorSwatchGroupProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The colors to offer. Duplicates of the same color are dropped. */\n colors?: CubeColorSwatchItem[];\n /** The selected color (controlled). */\n value?: string | null;\n /** The selected color (uncontrolled). */\n defaultValue?: string | null;\n /** Called with the chosen color, written in `format`. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** How many swatches per row. Defaults to a single row. */\n columns?: number;\n /**\n * Append a `ColorPicker` for colors outside the set. Ignored inside a color\n * popover, which is where that picker would otherwise recurse.\n */\n allowCustom?: boolean;\n /** The size of each swatch. */\n size?: 'small' | 'medium' | 'large' | (string & {});\n styles?: Styles;\n /** Styles of an individual swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\ninterface SwatchProps {\n colorKey: string;\n label: string;\n state: RadioGroupState;\n isDisabled?: boolean;\n size?: string;\n styles?: Styles;\n mods?: Record<string, boolean | undefined>;\n}\n\nfunction Swatch({\n colorKey,\n label,\n state,\n isDisabled,\n size,\n styles,\n mods,\n}: SwatchProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const {\n inputProps,\n isSelected,\n isDisabled: isRadioDisabled,\n } = useRadio(\n { value: colorKey, 'aria-label': label, isDisabled },\n state,\n inputRef,\n );\n // `useRadio` reports selection but not focus, and the swatch is the only\n // thing a keyboard user can see — without this the ring never appears.\n const { isFocused, focusProps } = useFocus(true);\n\n return (\n <SwatchElement\n data-size={size}\n mods={{\n selected: isSelected,\n disabled: isRadioDisabled,\n focused: isFocused,\n ...mods,\n }}\n styles={styles}\n style={{ '--color-swatch-color': colorKey }}\n >\n <HiddenInput\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n qa=\"ColorSwatchInput\"\n mods={{ button: true, disabled: isRadioDisabled }}\n />\n </SwatchElement>\n );\n}\n\n/**\n * A grid of color swatches, one of which can be selected — the palette half of\n * choosing a color, where `ColorPicker` is the freeform half.\n *\n * Swatches are keyed by their canonical hex, so the same color written two ways\n * collapses into one entry. Equivalent colors would otherwise make selection\n * ambiguous.\n */\nexport const ColorSwatchGroup = forwardRef(function ColorSwatchGroup(\n allProps: CubeColorSwatchGroupProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n colors = [],\n value,\n defaultValue,\n onChange,\n format = 'hex',\n columns,\n allowCustom,\n size = 'medium',\n isDisabled,\n isInvalid,\n isValid,\n swatchStyles,\n 'aria-label': ariaLabel,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n const isInsidePopover = useIsInsideColorPopover();\n // A custom picker inside a color popover would open a popover of its own.\n const showCustom = allowCustom && !isInsidePopover;\n\n /** Keyed by canonical hex so the same color written two ways is one swatch. */\n const swatches = useMemo(() => {\n const seen = new Map<string, { key: string; label: string }>();\n\n for (const entry of colors) {\n const raw = typeof entry === 'string' ? entry : entry.color;\n const parsed = parseColor(raw);\n\n if (!parsed) continue;\n\n const key = toHex(parsed);\n\n if (seen.has(key)) continue;\n\n seen.set(key, {\n key,\n label:\n (typeof entry === 'string' ? undefined : entry.label) ??\n formatColor(parsed, format),\n });\n }\n\n return [...seen.values()];\n }, [colors, format]);\n\n const [internalValue, setInternalValue] = useState<string | null>(\n () => defaultValue ?? null,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n const selectedColor = parseColor((currentValue ?? '').toString());\n const selectedKey = selectedColor ? toHex(selectedColor) : null;\n const isCustom =\n !!selectedKey && !swatches.some((s) => s.key === selectedKey);\n\n const publish = useEvent((next: string | null) => {\n if (value === undefined) setInternalValue(next);\n\n onChange?.(next);\n });\n\n // `null` arrives from React Aria's native form reset of a group that\n // mounted with no value.\n const handleChange = useEvent((nextKey: string | null) => {\n const parsed = nextKey == null ? null : parseColor(nextKey);\n\n publish(parsed ? formatColor(parsed, format) : null);\n });\n\n const state = useRadioGroupState({\n value: selectedKey ?? null,\n isDisabled,\n isReadOnly: props.isReadOnly,\n // Becomes the group's `aria-invalid`, which is what says the field is\n // invalid to a screen reader; the red outline says it only to the eye.\n isInvalid,\n onChange: handleChange,\n });\n\n // `useFocusableRef` wants the ref of a real focusable control to forward to,\n // and a group of radios has no single one — `RadioGroup` takes the same\n // approach for the same reason.\n const domRef = useObjectRef(ref);\n const { radioGroupProps, labelProps } = useRadioGroup(\n {\n ...props,\n // React Aria hands `form` to every swatch's input as the id of its\n // `<form>`, so the form instance would render as `form=\"[object Object]\"`.\n form: undefined,\n // Only name the group here when nothing else does: an `aria-label` set\n // unconditionally would outrank the visible label React Aria wires up.\n 'aria-label': props.label\n ? undefined\n : ariaLabel ?? t('colorSwatchGroup.colors', 'Colors'),\n orientation: 'horizontal',\n },\n state,\n );\n\n const group = (\n <GroupElement\n ref={domRef}\n qa={qa || 'ColorSwatchGroup'}\n data-size={size}\n data-input-type=\"colorswatchgroup\"\n styles={styles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n columns: !!columns,\n }}\n style={columns ? { '--columns': String(columns) } : undefined}\n >\n <RadiosElement {...radioGroupProps}>\n {swatches.map((swatch) => (\n <Swatch\n key={swatch.key}\n colorKey={swatch.key}\n label={swatch.label}\n state={state}\n isDisabled={isDisabled}\n size={size}\n styles={swatchStyles}\n />\n ))}\n </RadiosElement>\n {showCustom ? (\n <ColorPicker\n aria-label={t('colorSwatchGroup.customColor', 'Custom color')}\n qa=\"ColorSwatchGroupCustom\"\n format={format}\n type=\"clear\"\n size={SWATCH_PX[size] ?? SWATCH_PX.medium}\n value={isCustom ? currentValue ?? null : null}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n triggerStyles={CUSTOM_TRIGGER_STYLES}\n swatchStyles={\n isCustom ? CUSTOM_SWATCH_SELECTED_STYLES : CUSTOM_SWATCH_STYLES\n }\n onChange={publish}\n >\n {null}\n </ColorPicker>\n ) : null}\n </GroupElement>\n );\n\n return wrapWithField(group, domRef, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n});\n\n(ColorSwatchGroup as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { chain } from "../../../utils/react/chain.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  //#region src/components/fields/CommandTextArea/caretPosition.ts
3
3
  const MIRROR_STYLES = [
4
4
  "boxSizing",
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { getCaretRect } from "./caretPosition.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useEffect, useLayoutEffect, useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFieldProps } from "../../form/Form/use-field/use-field-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { getValidationMods } from "../../form/validation/resolve-validation-props.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { CalendarIcon } from "../../../icons/CalendarIcon.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { DatePickerSegment } from "./DatePickerSegment.js";
4
4
  import { formatSegments } from "./utils.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-d4796d7 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-759f43d | Cube Dev Team */
2
2
  import { extractStyles, mergeStyleLayers } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useI18n } from "../../../i18n/useI18n.js";