@cube-dev/ui-kit 0.194.1 → 0.196.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (708) hide show
  1. package/dist/CHANGELOG.md +190 -0
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.d.ts +6 -0
  16. package/dist/components/Root.js +125 -102
  17. package/dist/components/Root.js.map +1 -1
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.js +1 -1
  20. package/dist/components/actions/Button/Button.js +11 -5
  21. package/dist/components/actions/Button/Button.js.map +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.d.ts +9 -4
  24. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  26. package/dist/components/actions/ButtonSplit/context.js +1 -1
  27. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/dist/components/actions/CommandMenu/styled.js +1 -1
  29. package/dist/components/actions/ItemAction/ItemAction.js +27 -25
  30. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  31. package/dist/components/actions/ItemActionContext.js +1 -1
  32. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  33. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/dist/components/actions/Link/Link.js +1 -1
  35. package/dist/components/actions/Menu/Menu.js +1 -1
  36. package/dist/components/actions/Menu/MenuCollectionItem.js +7 -4
  37. package/dist/components/actions/Menu/MenuCollectionItem.js.map +1 -1
  38. package/dist/components/actions/Menu/MenuItem.js +69 -60
  39. package/dist/components/actions/Menu/MenuItem.js.map +1 -1
  40. package/dist/components/actions/Menu/MenuSection.js +1 -1
  41. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  42. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  43. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  44. package/dist/components/actions/Menu/context.js +1 -1
  45. package/dist/components/actions/Menu/styled.js +1 -4
  46. package/dist/components/actions/Menu/styled.js.map +1 -1
  47. package/dist/components/actions/actions-run.js +1 -1
  48. package/dist/components/actions/index.js +1 -1
  49. package/dist/components/actions/use-action.js +15 -14
  50. package/dist/components/actions/use-action.js.map +1 -1
  51. package/dist/components/actions/use-anchored-menu.js +1 -1
  52. package/dist/components/actions/use-context-menu.js +1 -1
  53. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  54. package/dist/components/content/Alert/Alert.js +1 -1
  55. package/dist/components/content/Alert/use-alert.js +1 -1
  56. package/dist/components/content/Avatar/Avatar.js +1 -1
  57. package/dist/components/content/Badge/Badge.js +1 -1
  58. package/dist/components/content/Card/Card.js +1 -1
  59. package/dist/components/content/Content.js +1 -1
  60. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  61. package/dist/components/content/CopySnippet/CopySnippet.d.ts +14 -14
  62. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  64. package/dist/components/content/Divider.js +1 -1
  65. package/dist/components/content/Footer.js +1 -1
  66. package/dist/components/content/Header.js +1 -1
  67. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  68. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  69. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  70. package/dist/components/content/Item/Item.js +16 -4
  71. package/dist/components/content/Item/Item.js.map +1 -1
  72. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  73. package/dist/components/content/ItemBadge/ItemBadge.js +7 -3
  74. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  75. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  76. package/dist/components/content/Layout/GridLayout.js +1 -1
  77. package/dist/components/content/Layout/Layout.js +29 -15
  78. package/dist/components/content/Layout/Layout.js.map +1 -1
  79. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  80. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  81. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  82. package/dist/components/content/Layout/LayoutContent.js +1 -1
  83. package/dist/components/content/Layout/LayoutContext.js +20 -10
  84. package/dist/components/content/Layout/LayoutContext.js.map +1 -1
  85. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  86. package/dist/components/content/Layout/LayoutFooter.js +12 -9
  87. package/dist/components/content/Layout/LayoutFooter.js.map +1 -1
  88. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  89. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  90. package/dist/components/content/Layout/LayoutPane.d.ts +5 -1
  91. package/dist/components/content/Layout/LayoutPane.js +323 -149
  92. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  93. package/dist/components/content/Layout/LayoutPanel.d.ts +4 -2
  94. package/dist/components/content/Layout/LayoutPanel.js +73 -2
  95. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  96. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  97. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  98. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  99. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  100. package/dist/components/content/Layout/index.js +1 -1
  101. package/dist/components/content/Layout/utils.js +1 -1
  102. package/dist/components/content/Paragraph.js +1 -1
  103. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  104. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  105. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  106. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  107. package/dist/components/content/Result/Result.js +1 -1
  108. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  109. package/dist/components/content/Tag/Tag.js +1 -1
  110. package/dist/components/content/Text.js +1 -1
  111. package/dist/components/content/TextItem/TextItem.js +1 -1
  112. package/dist/components/content/Title.js +1 -1
  113. package/dist/components/content/Tree/Tree.js +1 -1
  114. package/dist/components/content/Tree/TreeNode.js +2 -1
  115. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  116. package/dist/components/content/Tree/styled.js +1 -1
  117. package/dist/components/content/Tree/tree-index.js +1 -1
  118. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  119. package/dist/components/content/Tree/use-load-data.js +1 -1
  120. package/dist/components/content/highlightText.js +1 -1
  121. package/dist/components/content/use-auto-tooltip.js +3 -3
  122. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  123. package/dist/components/data/DataTable/DataTable.js +1 -1
  124. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  125. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  126. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  127. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  128. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -1
  129. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  130. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  131. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  132. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  133. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  134. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  135. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  136. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  137. package/dist/components/data/TableBase/RowCollection.js +1 -1
  138. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  139. package/dist/components/data/TableBase/TableRow.js +1 -1
  140. package/dist/components/data/TableBase/TableView.js +3 -1
  141. package/dist/components/data/TableBase/TableView.js.map +1 -1
  142. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  143. package/dist/components/data/TableBase/column-header.js +1 -1
  144. package/dist/components/data/TableBase/column-menu.js +1 -1
  145. package/dist/components/data/TableBase/column-styles.js +1 -1
  146. package/dist/components/data/TableBase/column-tint.js +1 -1
  147. package/dist/components/data/TableBase/row-menu.js +1 -1
  148. package/dist/components/data/TableBase/styled.js +1 -1
  149. package/dist/components/data/TableBase/table-tree.js +1 -1
  150. package/dist/components/data/TableBase/types.js +1 -1
  151. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  152. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  153. package/dist/components/data/TableBase/use-column-order.js +1 -1
  154. package/dist/components/data/TableBase/use-column-window.js +1 -1
  155. package/dist/components/data/TableBase/use-container-width.js +1 -1
  156. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  157. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  158. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  159. package/dist/components/data/TableBase/use-table-search.js +1 -1
  160. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  161. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  162. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  163. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  164. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  165. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  166. package/dist/components/fields/Checkbox/Checkbox.js +28 -17
  167. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  168. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  169. package/dist/components/fields/Checkbox/CheckboxGroup.js +6 -6
  170. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  171. package/dist/components/fields/Checkbox/context.js +1 -1
  172. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  173. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -1
  174. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  175. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  176. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +2 -1
  177. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  178. package/dist/components/fields/ComboBox/ComboBox.d.ts +27 -7
  179. package/dist/components/fields/ComboBox/ComboBox.js +1095 -619
  180. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  181. package/dist/components/fields/ComboBox/comboBoxOptions.js +84 -0
  182. package/dist/components/fields/ComboBox/comboBoxOptions.js.map +1 -0
  183. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  184. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  185. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  186. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  187. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  188. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  189. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  190. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  191. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  192. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  193. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  194. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  195. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  196. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  197. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  198. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  199. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  200. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  201. package/dist/components/fields/DatePicker/parseDate.d.ts +7 -0
  202. package/dist/components/fields/DatePicker/parseDate.js +17 -3
  203. package/dist/components/fields/DatePicker/parseDate.js.map +1 -1
  204. package/dist/components/fields/DatePicker/period.js +1 -1
  205. package/dist/components/fields/DatePicker/props.js +1 -1
  206. package/dist/components/fields/DatePicker/utils.js +1 -1
  207. package/dist/components/fields/FileInput/FileInput.js +1 -1
  208. package/dist/components/fields/FilterListBox/FilterListBox.js +2 -1
  209. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  210. package/dist/components/fields/FilterPicker/FilterPicker.js +15 -6
  211. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  212. package/dist/components/fields/Input/Input.d.ts +2 -2
  213. package/dist/components/fields/Input/Input.js +2 -2
  214. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  215. package/dist/components/fields/ListBox/ListBox.d.ts +10 -4
  216. package/dist/components/fields/ListBox/ListBox.js +298 -146
  217. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  218. package/dist/components/fields/ListBox/optionId.js +1 -1
  219. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +150 -139
  220. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  221. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  222. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  223. package/dist/components/fields/NumberInput/NumberInput.d.ts +6 -1
  224. package/dist/components/fields/NumberInput/NumberInput.js +136 -128
  225. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  226. package/dist/components/fields/NumberInput/StepButton.js +38 -48
  227. package/dist/components/fields/NumberInput/StepButton.js.map +1 -1
  228. package/dist/components/fields/PasswordInput/PasswordInput.d.ts +1 -2
  229. package/dist/components/fields/PasswordInput/PasswordInput.js +77 -111
  230. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  231. package/dist/components/fields/Picker/Picker.d.ts +1 -1
  232. package/dist/components/fields/Picker/Picker.js +22 -8
  233. package/dist/components/fields/Picker/Picker.js.map +1 -1
  234. package/dist/components/fields/RadioGroup/Radio.d.ts +12 -8
  235. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  236. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  237. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  238. package/dist/components/fields/RadioGroup/context.js +1 -1
  239. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  240. package/dist/components/fields/SearchInput/SearchInput.d.ts +8 -3
  241. package/dist/components/fields/SearchInput/SearchInput.js +22 -29
  242. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  243. package/dist/components/fields/Select/Select.d.ts +12 -1
  244. package/dist/components/fields/Select/Select.js +365 -207
  245. package/dist/components/fields/Select/Select.js.map +1 -1
  246. package/dist/components/fields/Slider/Gradation.js +1 -1
  247. package/dist/components/fields/Slider/HueSlider.js +1 -1
  248. package/dist/components/fields/Slider/RangeSlider.js +3 -4
  249. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  250. package/dist/components/fields/Slider/Slider.js +1 -1
  251. package/dist/components/fields/Slider/SliderBase.js +1 -1
  252. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  253. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  254. package/dist/components/fields/Slider/elements.js +1 -1
  255. package/dist/components/fields/Slider/index.js +1 -1
  256. package/dist/components/fields/Switch/Switch.js +101 -101
  257. package/dist/components/fields/Switch/Switch.js.map +1 -1
  258. package/dist/components/fields/TagInput/TagInput.js +336 -330
  259. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  260. package/dist/components/fields/TagInput/TagList.js +1 -1
  261. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  262. package/dist/components/fields/TagInput/useTagError.js +1 -1
  263. package/dist/components/fields/TextArea/TextArea.d.ts +0 -1
  264. package/dist/components/fields/TextArea/TextArea.js +49 -63
  265. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  266. package/dist/components/fields/TextInput/TextInput.d.ts +1 -1
  267. package/dist/components/fields/TextInput/TextInput.js +42 -46
  268. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  269. package/dist/components/fields/TextInput/TextInputBase.d.ts +6 -2
  270. package/dist/components/fields/TextInput/TextInputBase.js +32 -10
  271. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  272. package/dist/components/fields/TextInput/displayed-validation.js +50 -0
  273. package/dist/components/fields/TextInput/displayed-validation.js.map +1 -0
  274. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  275. package/dist/components/fields/TextInputMapper/TextInputMapper.js +20 -17
  276. package/dist/components/fields/TextInputMapper/TextInputMapper.js.map +1 -1
  277. package/dist/components/fields/TriggerActions.js +1 -1
  278. package/dist/components/fields/color/ColorPanel.js +3 -1
  279. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  280. package/dist/components/fields/color/channels.js +1 -1
  281. package/dist/components/fields/color/color.js +1 -1
  282. package/dist/components/fields/color/context.js +1 -1
  283. package/dist/components/fields/index.d.ts +2 -2
  284. package/dist/components/fields/option-origin-press.js +78 -0
  285. package/dist/components/fields/option-origin-press.js.map +1 -0
  286. package/dist/components/form/FieldWrapper/FieldWrapper.d.ts +10 -8
  287. package/dist/components/form/FieldWrapper/FieldWrapper.js +214 -158
  288. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  289. package/dist/components/form/FieldWrapper/field-description.js +3 -3
  290. package/dist/components/form/FieldWrapper/field-description.js.map +1 -1
  291. package/dist/components/form/FieldWrapper/types.d.ts +4 -3
  292. package/dist/components/form/Form/Field.js +1 -1
  293. package/dist/components/form/Form/Form.js +1 -1
  294. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  295. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  296. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  297. package/dist/components/form/Form/SubmitError.js +1 -1
  298. package/dist/components/form/Form/backend.js +1 -1
  299. package/dist/components/form/Form/index.js +1 -1
  300. package/dist/components/form/Form/modern/actions.js +1 -1
  301. package/dist/components/form/Form/modern/context.js +1 -1
  302. package/dist/components/form/Form/modern/controller.js +1 -1
  303. package/dist/components/form/Form/modern/field-binding.js +1 -1
  304. package/dist/components/form/Form/modern/field.js +1 -1
  305. package/dist/components/form/Form/modern/react.js +1 -1
  306. package/dist/components/form/Form/modern/store.js +1 -1
  307. package/dist/components/form/Form/modern/validation.js +1 -1
  308. package/dist/components/form/Form/modern/values.js +1 -1
  309. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  310. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  311. package/dist/components/form/Form/use-field/use-field-props.js +34 -22
  312. package/dist/components/form/Form/use-field/use-field-props.js.map +1 -1
  313. package/dist/components/form/Form/use-field/use-field.js +1 -1
  314. package/dist/components/form/Form/use-form.js +1 -1
  315. package/dist/components/form/Form/validation.js +1 -1
  316. package/dist/components/form/Label.js +1 -1
  317. package/dist/components/form/field-chrome.js +15 -0
  318. package/dist/components/form/field-chrome.js.map +1 -0
  319. package/dist/components/form/index.d.ts +1 -1
  320. package/dist/components/form/legacy-tooltip.js +1 -1
  321. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  322. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  323. package/dist/components/form/validation/use-validation-props.js +1 -1
  324. package/dist/components/form/wrapper.d.ts +6 -5
  325. package/dist/components/form/wrapper.js +11 -8
  326. package/dist/components/form/wrapper.js.map +1 -1
  327. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  328. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  329. package/dist/components/layout/Flex.js +1 -1
  330. package/dist/components/layout/Flow.js +1 -1
  331. package/dist/components/layout/Grid.js +1 -1
  332. package/dist/components/layout/Panel.js +1 -1
  333. package/dist/components/layout/Prefix.js +1 -1
  334. package/dist/components/layout/ResizablePanel.js +1 -1
  335. package/dist/components/layout/Space.js +1 -1
  336. package/dist/components/layout/Suffix.js +1 -1
  337. package/dist/components/navigation/Pagination/Pagination.js +3 -1
  338. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  339. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  340. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  341. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  342. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  343. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  344. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  345. package/dist/components/navigation/Tabs/TabPicker.js +2 -1
  346. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  347. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  348. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  349. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  350. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  351. package/dist/components/navigation/Tabs/styled.js +1 -1
  352. package/dist/components/navigation/Tabs/types.js +1 -1
  353. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  354. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  355. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  356. package/dist/components/other/Calendar/Calendar.js +1 -1
  357. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  358. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  359. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  360. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  361. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  362. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  363. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  364. package/dist/components/other/Calendar/styled.js +1 -1
  365. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  366. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  367. package/dist/components/overlays/AlertDialog/AlertDialog.d.ts +6 -1
  368. package/dist/components/overlays/AlertDialog/AlertDialog.js +3 -2
  369. package/dist/components/overlays/AlertDialog/AlertDialog.js.map +1 -1
  370. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.d.ts +15 -4
  371. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +85 -15
  372. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js.map +1 -1
  373. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  374. package/dist/components/overlays/AlertDialog/types.d.ts +2 -1
  375. package/dist/components/overlays/Dialog/Dialog.js +28 -14
  376. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  377. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  378. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  379. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +7 -3
  380. package/dist/components/overlays/Dialog/DialogTrigger.js +149 -132
  381. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  382. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  383. package/dist/components/overlays/Dialog/context.js +1 -1
  384. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  385. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  386. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  387. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +83 -0
  388. package/dist/components/overlays/Dialog/use-dialog-open-sync.js.map +1 -0
  389. package/dist/components/overlays/Modal/Modal.js +1 -1
  390. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  391. package/dist/components/overlays/Modal/Overlay.js +9 -3
  392. package/dist/components/overlays/Modal/Overlay.js.map +1 -1
  393. package/dist/components/overlays/Modal/Popover.js +31 -29
  394. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  395. package/dist/components/overlays/Modal/Tray.js +2 -1
  396. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  397. package/dist/components/overlays/Modal/Underlay.js +1 -1
  398. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  399. package/dist/components/overlays/Notifications/Notification.js +1 -1
  400. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  401. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  402. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  403. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  404. package/dist/components/overlays/Notifications/OverlayContainer.js +18 -32
  405. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  406. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  407. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  408. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  409. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  410. package/dist/components/overlays/Notifications/index.js +1 -1
  411. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  412. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  413. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  414. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  415. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  416. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  417. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  418. package/dist/components/overlays/Toast/index.js +1 -1
  419. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  420. package/dist/components/overlays/Toast/useToast.js +1 -1
  421. package/dist/components/overlays/Tooltip/Tooltip.d.ts +8 -0
  422. package/dist/components/overlays/Tooltip/Tooltip.js +16 -22
  423. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  424. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  425. package/dist/components/overlays/Tooltip/TooltipTrigger.d.ts +1 -1
  426. package/dist/components/overlays/Tooltip/TooltipTrigger.js +163 -113
  427. package/dist/components/overlays/Tooltip/TooltipTrigger.js.map +1 -1
  428. package/dist/components/overlays/Tooltip/context.js +1 -1
  429. package/dist/components/overlays/Tooltip/context.js.map +1 -1
  430. package/dist/components/overlays/Tooltip/split-trigger-props.js +6 -5
  431. package/dist/components/overlays/Tooltip/split-trigger-props.js.map +1 -1
  432. package/dist/components/portal/Portal.js +1 -1
  433. package/dist/components/portal/PortalProvider.js +1 -1
  434. package/dist/components/portal/usePortal.js +1 -1
  435. package/dist/components/shared/DraggableCollection.js +1 -1
  436. package/dist/components/shared/InvalidIcon.js +1 -1
  437. package/dist/components/shared/ValidIcon.js +1 -1
  438. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  439. package/dist/components/status/Spin/Cube.js +1 -1
  440. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  441. package/dist/components/status/Spin/Spin.js +1 -1
  442. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  443. package/dist/data/item-themes.js +1 -1
  444. package/dist/data/themes.js +1 -1
  445. package/dist/eslint-plugin/defaults.generated.js +11 -17
  446. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  447. package/dist/eslint-plugin/index.js +1 -1
  448. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  449. package/dist/i18n/I18nProvider.js +1 -1
  450. package/dist/i18n/createFormatter.js +1 -1
  451. package/dist/i18n/index.js +1 -1
  452. package/dist/i18n/instance.js +1 -1
  453. package/dist/i18n/locales/de-DE/uikit.js +6 -4
  454. package/dist/i18n/locales/en-US/uikit.js +6 -4
  455. package/dist/i18n/locales/en-US/uikit.json.d.ts +3 -1
  456. package/dist/i18n/locales/es-ES/uikit.js +6 -4
  457. package/dist/i18n/locales/es-MX/uikit.js +6 -4
  458. package/dist/i18n/locales/fr-FR/uikit.js +6 -4
  459. package/dist/i18n/locales/it-IT/uikit.js +6 -4
  460. package/dist/i18n/locales/ja-JP/uikit.js +6 -4
  461. package/dist/i18n/locales/nb-NO/uikit.js +6 -4
  462. package/dist/i18n/locales/pt-BR/uikit.js +6 -4
  463. package/dist/i18n/locales/pt-PT/uikit.js +6 -4
  464. package/dist/i18n/locales/sv-SE/uikit.js +6 -4
  465. package/dist/i18n/locales/vi-VN/uikit.js +6 -4
  466. package/dist/i18n/locales.js +1 -1
  467. package/dist/i18n/namespace.js +1 -1
  468. package/dist/i18n/useFormatter.js +1 -1
  469. package/dist/i18n/useI18n.js +1 -1
  470. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  471. package/dist/icons/AdjustmentsIcon.js +1 -1
  472. package/dist/icons/AiIcon.js +1 -1
  473. package/dist/icons/AreaChartIcon.js +1 -1
  474. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  475. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  476. package/dist/icons/BackwardIcon.js +1 -1
  477. package/dist/icons/BarChartIcon.js +1 -1
  478. package/dist/icons/BellFilledIcon.js +1 -1
  479. package/dist/icons/BellIcon.js +1 -1
  480. package/dist/icons/BooleanIcon.js +1 -1
  481. package/dist/icons/CalendarEditIcon.js +1 -1
  482. package/dist/icons/CalendarIcon.js +1 -1
  483. package/dist/icons/CaretDownIcon.js +1 -1
  484. package/dist/icons/CaretUpIcon.js +1 -1
  485. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  486. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  487. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  488. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  489. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  490. package/dist/icons/ChartBarLineIcon.js +1 -1
  491. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarStackedIcon.js +1 -1
  493. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  495. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  496. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  497. package/dist/icons/ChartBubbleIcon.js +1 -1
  498. package/dist/icons/ChartDonut2Icon.js +1 -1
  499. package/dist/icons/ChartFunnelIcon.js +1 -1
  500. package/dist/icons/ChartHeatmapIcon.js +1 -1
  501. package/dist/icons/ChartKPIIcon.js +1 -1
  502. package/dist/icons/ChartPie2Icon.js +1 -1
  503. package/dist/icons/ChartScatterIcon.js +1 -1
  504. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  505. package/dist/icons/CheckCircleIcon.js +1 -1
  506. package/dist/icons/CheckIcon.js +1 -1
  507. package/dist/icons/CircleFilledIcon.js +1 -1
  508. package/dist/icons/ClearIcon.js +1 -1
  509. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  510. package/dist/icons/CloseCircleIcon.js +1 -1
  511. package/dist/icons/CloseIcon.js +1 -1
  512. package/dist/icons/CodeIcon.js +1 -1
  513. package/dist/icons/ColumnTotalIcon.js +1 -1
  514. package/dist/icons/CopyIcon.js +1 -1
  515. package/dist/icons/CountIcon.js +1 -1
  516. package/dist/icons/CubeIcon.js +1 -1
  517. package/dist/icons/CubePauseIcon.js +1 -1
  518. package/dist/icons/CubePlayIcon.js +1 -1
  519. package/dist/icons/CurrencyDollarIcon.js +1 -1
  520. package/dist/icons/DangerIcon.js +1 -1
  521. package/dist/icons/DashboardIcon.js +1 -1
  522. package/dist/icons/DatabaseIcon.js +1 -1
  523. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  524. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  525. package/dist/icons/DirectionIcon.js +1 -1
  526. package/dist/icons/DonutIcon.js +1 -1
  527. package/dist/icons/DownIcon.js +1 -1
  528. package/dist/icons/EditIcon.js +1 -1
  529. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  530. package/dist/icons/ExclamationCircleIcon.js +1 -1
  531. package/dist/icons/ExclamationIcon.js +1 -1
  532. package/dist/icons/EyeIcon.js +1 -1
  533. package/dist/icons/EyeInvisibleIcon.js +1 -1
  534. package/dist/icons/FilterIcon.js +1 -1
  535. package/dist/icons/FolderFilledIcon.js +1 -1
  536. package/dist/icons/FolderIcon.js +1 -1
  537. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  538. package/dist/icons/FolderOpenIcon.js +1 -1
  539. package/dist/icons/ForwardIcon.js +1 -1
  540. package/dist/icons/GripVerticalIcon.js +1 -1
  541. package/dist/icons/HierarchyIcon.js +1 -1
  542. package/dist/icons/HierarchyOpenIcon.js +1 -1
  543. package/dist/icons/Icon.js +1 -1
  544. package/dist/icons/InfoCircleIcon.js +1 -1
  545. package/dist/icons/InfoIcon.js +1 -1
  546. package/dist/icons/KeyIcon.js +1 -1
  547. package/dist/icons/LeftIcon.js +1 -1
  548. package/dist/icons/LineChartIcon.js +1 -1
  549. package/dist/icons/LoadingIcon.js +1 -1
  550. package/dist/icons/LockFilledIcon.js +1 -1
  551. package/dist/icons/LockIcon.js +1 -1
  552. package/dist/icons/MoreIcon.js +1 -1
  553. package/dist/icons/NotAllowedIcon.js +1 -1
  554. package/dist/icons/Number123Icon.js +1 -1
  555. package/dist/icons/NumberIcon.js +1 -1
  556. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  557. package/dist/icons/PauseCircleIcon.js +1 -1
  558. package/dist/icons/PauseIcon.js +1 -1
  559. package/dist/icons/PercentageIcon.js +1 -1
  560. package/dist/icons/PieChartIcon.js +1 -1
  561. package/dist/icons/PipetteIcon.js +1 -1
  562. package/dist/icons/PlayCircleIcon.js +1 -1
  563. package/dist/icons/PlayIcon.js +1 -1
  564. package/dist/icons/PlusIcon.js +1 -1
  565. package/dist/icons/ProgressBarIcon.js +1 -1
  566. package/dist/icons/ReloadIcon.js +1 -1
  567. package/dist/icons/ReportIcon.js +1 -1
  568. package/dist/icons/ReturnIcon.js +1 -1
  569. package/dist/icons/RightIcon.js +1 -1
  570. package/dist/icons/RowTotalsIcon.js +1 -1
  571. package/dist/icons/SchemeIcon.js +1 -1
  572. package/dist/icons/SearchIcon.js +1 -1
  573. package/dist/icons/SemanticQueryIcon.js +1 -1
  574. package/dist/icons/SettingsIcon.js +1 -1
  575. package/dist/icons/ShieldFilledIcon.js +1 -1
  576. package/dist/icons/ShieldIcon.js +1 -1
  577. package/dist/icons/SlashIcon.js +1 -1
  578. package/dist/icons/SparklesIcon.js +1 -1
  579. package/dist/icons/SqlIcon.js +1 -1
  580. package/dist/icons/StatsIcon.js +1 -1
  581. package/dist/icons/StopIcon.js +1 -1
  582. package/dist/icons/StringIcon.js +1 -1
  583. package/dist/icons/SubtotalsIcon.js +1 -1
  584. package/dist/icons/SwitchIcon.js +1 -1
  585. package/dist/icons/TableIcon.js +1 -1
  586. package/dist/icons/ThumbsDownIcon.js +1 -1
  587. package/dist/icons/ThumbsUpIcon.js +1 -1
  588. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  589. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  590. package/dist/icons/ThunderboltIcon.js +1 -1
  591. package/dist/icons/TimeIcon.js +1 -1
  592. package/dist/icons/TrashIcon.js +1 -1
  593. package/dist/icons/UnlockIcon.js +1 -1
  594. package/dist/icons/UpIcon.js +1 -1
  595. package/dist/icons/UserGroupIcon.js +1 -1
  596. package/dist/icons/UserIcon.js +1 -1
  597. package/dist/icons/UserLockIcon.js +1 -1
  598. package/dist/icons/ViewIcon.js +1 -1
  599. package/dist/icons/WarningFilledIcon.js +1 -1
  600. package/dist/icons/WarningIcon.js +1 -1
  601. package/dist/icons/wrap-icon.js +1 -1
  602. package/dist/index.d.ts +3 -3
  603. package/dist/index.js +4 -4
  604. package/dist/probe/canonicalize.js +1 -1
  605. package/dist/probe/css.js +1 -1
  606. package/dist/probe/index.js +1 -1
  607. package/dist/provider.js +1 -1
  608. package/dist/providers/TrackingProvider.js +1 -1
  609. package/dist/providers/navigation-url.js +15 -3
  610. package/dist/providers/navigation-url.js.map +1 -1
  611. package/dist/providers/navigationAdapter.default.js +1 -1
  612. package/dist/providers/use-navigation.js +1 -1
  613. package/dist/shared/form.d.ts +17 -4
  614. package/dist/tokens/all-tokens.js +1 -1
  615. package/dist/tokens/base.js +1 -1
  616. package/dist/tokens/color-seed.js +1 -1
  617. package/dist/tokens/color-theme.js +1 -1
  618. package/dist/tokens/colors.js +1 -1
  619. package/dist/tokens/layout.js +1 -1
  620. package/dist/tokens/lazy-styles.js +1 -1
  621. package/dist/tokens/legacy-color.js +1 -1
  622. package/dist/tokens/palette-config.js +1 -1
  623. package/dist/tokens/palette.js +1 -1
  624. package/dist/tokens/resolve.js +1 -1
  625. package/dist/tokens/shadows.js +1 -1
  626. package/dist/tokens/sizes.js +1 -1
  627. package/dist/tokens/spacing.js +1 -1
  628. package/dist/tokens/typography.js +1 -1
  629. package/dist/utils/ResizeSensor.js +1 -1
  630. package/dist/utils/colors.js +1 -1
  631. package/dist/utils/dotize.js +1 -1
  632. package/dist/utils/is-dev-env.js +1 -1
  633. package/dist/utils/modules.js +1 -1
  634. package/dist/utils/promise.js +1 -1
  635. package/dist/utils/raf.js +1 -1
  636. package/dist/utils/random.js +1 -1
  637. package/dist/utils/range.js +1 -1
  638. package/dist/utils/react/RenderCache.js +1 -1
  639. package/dist/utils/react/Slots.js +1 -1
  640. package/dist/utils/react/chain.js +1 -1
  641. package/dist/utils/react/disabledProps.js +1 -1
  642. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  643. package/dist/utils/react/index.js +1 -1
  644. package/dist/utils/react/interactions.js +1 -1
  645. package/dist/utils/react/isTextOnly.js +1 -1
  646. package/dist/utils/react/mapProps.js +1 -1
  647. package/dist/utils/react/mergeProps.js +1 -1
  648. package/dist/utils/react/nullableValue.js +18 -9
  649. package/dist/utils/react/nullableValue.js.map +1 -1
  650. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  651. package/dist/utils/react/programmaticFocus.js +1 -1
  652. package/dist/utils/react/resolveIcon.js +1 -1
  653. package/dist/utils/react/sharedStore.js +1 -1
  654. package/dist/utils/react/useBufferedValue.js +1 -1
  655. package/dist/utils/react/useCombinedRefs.js +1 -1
  656. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  657. package/dist/utils/react/useEventBus.js +1 -1
  658. package/dist/utils/react/useId.js +1 -1
  659. package/dist/utils/react/useIsDarwin.js +1 -1
  660. package/dist/utils/react/useKeySymbols.js +1 -1
  661. package/dist/utils/react/useLayoutEffect.js +1 -1
  662. package/dist/utils/react/useLocalStorage.js +1 -1
  663. package/dist/utils/react/useMergeStyles.js +1 -1
  664. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  665. package/dist/utils/react/usePopoverSync.js +1 -1
  666. package/dist/utils/react/useQaProps.js +1 -1
  667. package/dist/utils/react/useScheme.js +1 -1
  668. package/dist/utils/react/useViewportSize.js +1 -1
  669. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  670. package/dist/utils/selection.js +1 -1
  671. package/dist/utils/styles.js +1 -1
  672. package/dist/utils/tree.js +1 -1
  673. package/dist/utils/warnings.js +1 -1
  674. package/dist/version.js +2 -2
  675. package/docs/ComplexLayout.md +1 -1
  676. package/docs/CreateComponent.md +2 -0
  677. package/docs/FieldProperties.md +32 -5
  678. package/docs/Theming.md +2 -1
  679. package/docs/Usage.md +2 -0
  680. package/docs/components/Root.md +1 -1
  681. package/docs/components/actions/Button.md +8 -2
  682. package/docs/components/actions/ButtonSplit.md +27 -1
  683. package/docs/components/actions/Link.md +1 -1
  684. package/docs/components/actions/Menu.md +4 -2
  685. package/docs/components/content/InfoBadge.md +2 -0
  686. package/docs/components/content/ItemBadge.md +4 -0
  687. package/docs/components/content/Layout.md +41 -6
  688. package/docs/components/fields/Checkbox.md +4 -3
  689. package/docs/components/fields/ComboBox.md +30 -19
  690. package/docs/components/fields/FilterListBox.md +2 -2
  691. package/docs/components/fields/FilterPicker.md +2 -2
  692. package/docs/components/fields/ListBox.md +14 -10
  693. package/docs/components/fields/NumberInput.md +20 -11
  694. package/docs/components/fields/PasswordInput.md +6 -7
  695. package/docs/components/fields/Picker.md +6 -5
  696. package/docs/components/fields/RadioGroup.md +1 -1
  697. package/docs/components/fields/SearchInput.md +7 -6
  698. package/docs/components/fields/Select.md +14 -8
  699. package/docs/components/fields/Switch.md +4 -3
  700. package/docs/components/fields/TagInput.md +8 -1
  701. package/docs/components/fields/TextArea.md +4 -3
  702. package/docs/components/fields/TextInput.md +13 -6
  703. package/docs/components/overlays/AlertDialog.md +45 -5
  704. package/docs/components/overlays/Dialog.md +5 -5
  705. package/docs/components/overlays/DialogTrigger.md +6 -6
  706. package/docs/components/overlays/Tooltip.md +17 -6
  707. package/docs/components/overlays/TooltipTrigger.md +2 -0
  708. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useI18n } from "../../../i18n/useI18n.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useFocus as useFocus$1 } from "../../../utils/react/interactions.js";
@@ -82,7 +82,7 @@ function Checkbox(allProps, ref) {
82
82
  }),
83
83
  unsafe__isDisabled: !!groupState
84
84
  });
85
- let { qa, isIndeterminate = false, isDisabled = false, insideForm, isRequired, children, label, isInvalid, isValid, labelProps, labelStyles, labelPosition, inputStyles, isHidden, form, tooltip, onChange: onChange_0, ...otherProps } = props;
85
+ let { qa, isIndeterminate = false, isDisabled = false, insideForm, children, label, isInvalid, isValid, labelProps, labelStyles, labelPosition, inputStyles, isHidden, tooltip } = props;
86
86
  let styles = extractStyles(props, CONTAINER_STYLES);
87
87
  labelStyles = useMemo(() => ({
88
88
  ...!groupState ? LABEL_STYLES : INLINE_LABEL_STYLES,
@@ -97,17 +97,17 @@ function Checkbox(allProps, ref) {
97
97
  children: null
98
98
  });
99
99
  const toggleState = useToggleState(props);
100
- let { inputProps } = groupState ? useCheckboxGroupItem({
100
+ let ariaProps = {
101
101
  ...props,
102
102
  form: void 0,
103
+ children: children ?? label
104
+ };
105
+ let { inputProps } = groupState ? useCheckboxGroupItem({
106
+ ...ariaProps,
103
107
  value: props.value || "",
104
108
  isRequired: originalProps.isRequired,
105
109
  isInvalid: resolveValidationProps(originalProps).isInvalid
106
- }, groupState, inputRef) : useCheckbox({
107
- ...props,
108
- form: void 0,
109
- ...typeof label === "string" && label.trim() ? { "aria-label": label } : {}
110
- }, toggleState, inputRef);
110
+ }, groupState, inputRef) : useCheckbox(ariaProps, toggleState, inputRef);
111
111
  let markIcon = isIndeterminate ? /* @__PURE__ */ jsx(Icon, {
112
112
  size: 12,
113
113
  stroke: 3,
@@ -124,7 +124,7 @@ function Checkbox(allProps, ref) {
124
124
  "isSelected",
125
125
  "defaultSelected",
126
126
  "isEmphasized"
127
- ]) if (originalProps[key] != null) console.warn(`CubeUIKit: ${key} is unsupported on individual <Checkbox> elements within a <CheckboxGroup>. Please apply these props to the group instead.`);
127
+ ]) if (allProps[key] != null) console.warn(`CubeUIKit: ${key} is unsupported on individual <Checkbox> elements within a <CheckboxGroup>. Please apply these props to the group instead.`);
128
128
  if (props.value == null) console.warn("CubeUIKit: A <Checkbox> element within a <CheckboxGroup> requires a `value` property.");
129
129
  }
130
130
  const mods = {
@@ -140,6 +140,17 @@ function Checkbox(allProps, ref) {
140
140
  "side-label": labelPosition === "side",
141
141
  "inside-form": insideForm
142
142
  };
143
+ const wrapperProps = {
144
+ className: props.className,
145
+ style: props.style,
146
+ qaVal: props.qaVal,
147
+ styles,
148
+ isHidden,
149
+ mods: {
150
+ ...props.mods,
151
+ ...mods
152
+ }
153
+ };
143
154
  const renderCheckbox = (tooltipFocusProps) => /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(HiddenInput, {
144
155
  qa: qa || "Checkbox",
145
156
  "data-input-type": "checkbox",
@@ -154,10 +165,8 @@ function Checkbox(allProps, ref) {
154
165
  if (!groupState) return wrapWithField(renderWithTooltip((tooltipTriggerProps, tooltipRef) => {
155
166
  const { pointerProps, focusProps: tooltipFocusProps_0 } = splitTooltipTriggerProps(tooltipTriggerProps);
156
167
  return /* @__PURE__ */ jsxs(CheckboxWrapperElement, {
157
- styles,
158
- isHidden,
159
- mods,
160
- ...pointerProps,
168
+ ...wrapperProps,
169
+ ...mergeProps$1(hoverProps, pointerProps),
161
170
  ref: tooltipRef,
162
171
  children: [renderCheckbox(tooltipFocusProps_0), children ? /* @__PURE__ */ jsx(Element, {
163
172
  styles: INLINE_LABEL_STYLES,
@@ -173,15 +182,17 @@ function Checkbox(allProps, ref) {
173
182
  });
174
183
  }, "top"), domRef, {
175
184
  ...props,
176
- tooltip: void 0
185
+ tooltip: void 0,
186
+ labelProps: {
187
+ ...props.labelProps,
188
+ for: props.id
189
+ }
177
190
  });
178
191
  return renderWithTooltip((tooltipTriggerProps_0, tooltipRef_0) => {
179
192
  const { pointerProps: pointerProps_0, focusProps: tooltipFocusProps_1 } = splitTooltipTriggerProps(tooltipTriggerProps_0);
180
193
  return /* @__PURE__ */ jsxs(CheckboxWrapperElement, {
181
- styles,
182
- isHidden,
194
+ ...wrapperProps,
183
195
  ...mergeProps$1(hoverProps, pointerProps_0),
184
- ...filterBaseProps(otherProps),
185
196
  ref: tooltipRef_0 ? (element) => {
186
197
  domRef.current = element;
187
198
  tooltipRef_0.current = element;
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["useFocusableRef","IconCheck","IconMinus","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Element","filterBaseProps","Styles","tasty","forwardRef","ReactElement","useContext","useMemo","useRef","AriaCheckboxProps","useCheckbox","useCheckboxGroupItem","useHover","useToggleState","Icon","FieldBaseProps","ToggleSelectionProps","mergeProps","useFocus","castNullableIsSelected","WithNullableSelected","extractStyles","useAutoTooltip","getValidationMods","INLINE_LABEL_STYLES","LABEL_STYLES","resolveValidationProps","useFieldProps","wrapWithField","HiddenInput","mergeTooltipFocusProps","splitTooltipTriggerProps","TooltipFocusProps","CheckboxGroup","CheckboxGroupContext","FocusableRef","CubeTooltipProviderProps","CubeCheckboxProps","Omit","inputStyles","isIndeterminate","value","tooltip","CheckboxWrapperElement","as","qa","styles","position","display","placeItems","placeContent","gap","flow","preset","cursor","width","color","CheckboxElement","radius","fill","disabled","border","invalid","valid","height","outline","focused","outlineOffset","transition","Checkbox","allProps","ref","groupState","originalProps","props","defaultValidationTrigger","valuePropsMapper","onChange","isSelected","unsafe__isDisabled","isDisabled","insideForm","isRequired","children","label","isInvalid","isValid","labelProps","labelStyles","labelPosition","isHidden","form","otherProps","isFocused","focusProps","hoverProps","isHovered","inputRef","domRef","renderWithTooltip","toggleState","inputProps","undefined","trim","markIcon","key","console","warn","mods","checked","indeterminate","hovered","renderCheckbox","tooltipFocusProps","checkboxField","tooltipTriggerProps","tooltipRef","pointerProps","element","HTMLLabelElement","current","HTMLElement","_Checkbox","cubeInputType","__Checkbox","Object","assign","Group","displayName"],"sources":["../../../../src/components/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport { IconCheck, IconMinus } from '@tabler/icons-react';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Element,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, ReactElement, useContext, useMemo, useRef } from 'react';\nimport {\n AriaCheckboxProps,\n useCheckbox,\n useCheckboxGroupItem,\n useHover,\n} from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { Icon } from '../../../icons/Icon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { useAutoTooltip } from '../../content/use-auto-tooltip';\nimport {\n getValidationMods,\n INLINE_LABEL_STYLES,\n LABEL_STYLES,\n resolveValidationProps,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport {\n mergeTooltipFocusProps,\n splitTooltipTriggerProps,\n TooltipFocusProps,\n} from '../../overlays/Tooltip/split-trigger-props';\n\nimport { CheckboxGroup } from './CheckboxGroup';\nimport { CheckboxGroupContext } from './context';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\n\nexport interface CubeCheckboxProps\n extends BaseProps,\n ContainerStyleProps,\n Omit<AriaCheckboxProps, 'form' | 'name'>,\n ToggleSelectionProps,\n FieldBaseProps<boolean | null | undefined> {\n inputStyles?: Styles;\n isIndeterminate?: boolean;\n value?: string;\n /**\n * The checkbox's own tooltip, shown on hover over the box and its inline\n * label — also while the checkbox is disabled — and on keyboard focus. A string, or `TooltipProvider` props\n * (`title`, `placement`, …). The info badge next to a field label is\n * `labelTooltip`.\n */\n tooltip?: string | Omit<CubeTooltipProviderProps, 'children'>;\n}\n\nconst CheckboxWrapperElement = tasty({\n as: 'label',\n qa: 'CheckboxWrapper',\n styles: {\n position: 'relative',\n display: 'flex',\n placeItems: 'center start',\n placeContent: 'baseline',\n gap: '1x',\n flow: 'row',\n preset: 'default',\n cursor: '$pointer',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst CheckboxElement = tasty({\n styles: {\n display: 'grid',\n placeItems: 'center',\n radius: '.5r',\n fill: {\n '': '#surface',\n 'checked | indeterminate': '#primary',\n 'invalid & !checked': '#surface',\n 'invalid & checked': '#danger',\n 'valid & !checked': '#surface',\n 'valid & checked': '#success',\n disabled: '#dark.12',\n },\n // The check / minus icon is always rendered inside the box, so the\n // default color must be transparent when the checkbox is neither\n // checked nor indeterminate — otherwise the white stroke shows through\n // the dark `#surface` fill in dark schemes (it used to be hidden\n // accidentally by the legacy white-on-white `fill: '#white'`).\n color: {\n '': '#clear',\n 'checked | indeterminate': '#white',\n },\n border: {\n '': '#dark.30',\n invalid: '#danger',\n valid: '#success',\n 'disabled | ((indeterminate | checked) & !invalid & !valid)': '#clear',\n },\n width: '(2x - 2bw)',\n height: '(2x - 2bw)',\n outline: {\n '': '#primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n transition: 'theme',\n },\n});\n\nfunction Checkbox(\n allProps: WithNullableSelected<CubeCheckboxProps>,\n ref: FocusableRef,\n) {\n // Swap hooks depending on whether this checkbox is inside a CheckboxGroup.\n // This is a bit unorthodox. Typically, hooks cannot be called in a conditional,\n // but since the checkbox won't move in and out of a group, it should be safe.\n let groupState = useContext(CheckboxGroupContext);\n\n const originalProps = castNullableIsSelected(allProps);\n\n const props = useFieldProps(originalProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value ?? false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n unsafe__isDisabled: !!groupState,\n });\n\n let {\n qa,\n isIndeterminate = false,\n isDisabled = false,\n insideForm,\n isRequired,\n children,\n label,\n isInvalid,\n isValid,\n labelProps,\n labelStyles,\n labelPosition,\n inputStyles,\n isHidden,\n form,\n tooltip,\n // Pulled out so it stays off the `<label>` spread below. The Aria hooks read\n // it from `props` directly; `filterBaseProps` already dropped it at runtime,\n // but it typed as a DOM `FormEventHandler` there, which it is not.\n onChange,\n ...otherProps\n } = props;\n\n let styles: Styles = extractStyles(props, CONTAINER_STYLES);\n\n labelStyles = useMemo(\n () => ({\n ...(!groupState ? LABEL_STYLES : INLINE_LABEL_STYLES),\n ...labelStyles,\n }),\n [groupState, labelStyles],\n );\n\n let { isFocused, focusProps } = useFocus(true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n // Triggered by the wrapper rather than the input, so a disabled checkbox —\n // whose input ignores the pointer — still shows it.\n let { renderWithTooltip } = useAutoTooltip({ tooltip, children: null });\n\n const toggleState = useToggleState(props);\n\n // React Aria writes `form` onto the input as the id of its `<form>`, so the\n // form instance would render as `form=\"[object Object]\"` and detach it.\n let { inputProps } = groupState\n ? useCheckboxGroupItem(\n {\n ...props,\n form: undefined,\n // Value is optional for standalone checkboxes, but required for CheckboxGroup items;\n // it's passed explicitly here to avoid typescript error (requires strictNullChecks disabled).\n value: props.value || '',\n // Only pass isRequired and the validation state to react-aria if they came from\n // the props for this individual checkbox, and not from the group via context.\n isRequired: originalProps.isRequired,\n isInvalid: resolveValidationProps(originalProps).isInvalid,\n },\n groupState,\n inputRef,\n )\n : useCheckbox(\n {\n ...props,\n form: undefined,\n ...(typeof label === 'string' && label.trim()\n ? { 'aria-label': label }\n : {}),\n },\n toggleState,\n inputRef,\n );\n\n // Decorative: the input already announces checked, unchecked and mixed.\n let markIcon = isIndeterminate ? (\n <Icon size={12} stroke={3} aria-hidden=\"true\">\n <IconMinus />\n </Icon>\n ) : (\n <Icon size={12} stroke={3} aria-hidden=\"true\">\n <IconCheck />\n </Icon>\n );\n\n if (groupState) {\n for (let key of ['isSelected', 'defaultSelected', 'isEmphasized']) {\n if (originalProps[key] != null) {\n console.warn(\n `CubeUIKit: ${key} is unsupported on individual <Checkbox> elements within a <CheckboxGroup>. Please apply these props to the group instead.`,\n );\n }\n }\n if (props.value == null) {\n console.warn(\n 'CubeUIKit: A <Checkbox> element within a <CheckboxGroup> requires a `value` property.',\n );\n }\n }\n\n const mods = {\n checked: inputProps.checked,\n indeterminate: isIndeterminate,\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n 'side-label': labelPosition === 'side',\n 'inside-form': insideForm,\n };\n\n // The input, where keyboard focus lands, takes the tooltip's focus-side\n // trigger props; the wrapper keeps the hover side and positions the tooltip.\n const renderCheckbox = (tooltipFocusProps?: TooltipFocusProps) => (\n <>\n <HiddenInput\n qa={qa || 'Checkbox'}\n data-input-type=\"checkbox\"\n {...mergeTooltipFocusProps(\n mergeProps(inputProps, focusProps),\n tooltipFocusProps,\n )}\n ref={inputRef}\n />\n <CheckboxElement data-element=\"Input\" mods={mods} styles={inputStyles}>\n {markIcon}\n </CheckboxElement>\n </>\n );\n\n if (!groupState) {\n const checkboxField = renderWithTooltip(\n (tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n // `styles` is forwarded here as well as in the in-group branch\n // below — it used to be extracted from props and then dropped on\n // this path, so `<Checkbox styles={{ … }}>` outside a group was a\n // silent no-op.\n <CheckboxWrapperElement\n styles={styles}\n isHidden={isHidden}\n mods={mods}\n {...pointerProps}\n ref={tooltipRef}\n >\n {renderCheckbox(tooltipFocusProps)}\n {children ? (\n // Same element and preset as the in-group branch. This path used\n // to force children through `<Text nowrap>`: `white-space:\n // nowrap` inherits, so a label longer than a few words — or any\n // custom node with two lines in it — could not wrap at all, and\n // the label also missed the preset a grouped one picks up.\n <Element\n styles={INLINE_LABEL_STYLES}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n }}\n >\n {children}\n </Element>\n ) : null}\n </CheckboxWrapperElement>\n );\n },\n 'top',\n );\n\n // `tooltip` is the checkbox's own here, not a legacy label badge.\n // `renderWithTooltip` is typed for any node; here it returns an element.\n return wrapWithField(checkboxField as ReactElement, domRef, {\n ...props,\n tooltip: undefined,\n });\n }\n\n return renderWithTooltip((tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n <CheckboxWrapperElement\n styles={styles}\n isHidden={isHidden}\n {...mergeProps(hoverProps, pointerProps)}\n {...filterBaseProps(otherProps)}\n ref={\n tooltipRef\n ? // Written only when React attaches the node, never during render.\n (element: HTMLLabelElement | null) => {\n (domRef as { current: HTMLElement | null }).current = element;\n (tooltipRef as { current: HTMLElement | null }).current =\n element;\n }\n : domRef\n }\n >\n {renderCheckbox(tooltipFocusProps)}\n {label ?? children ? (\n <Element\n styles={labelStyles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n }}\n {...(labelProps ? filterBaseProps(labelProps) : undefined)}\n >\n {label ?? children}\n </Element>\n ) : null}\n </CheckboxWrapperElement>\n );\n }, 'top');\n}\n\n/**\n * Checkboxes allow users to select multiple items from a list of individual items,\n * or to mark one individual item as selected.\n */\nlet _Checkbox = forwardRef(Checkbox);\n\n(_Checkbox as any).cubeInputType = 'Checkbox';\nlet __Checkbox = Object.assign(\n _Checkbox as typeof _Checkbox & { Group: typeof CheckboxGroup },\n { Group: CheckboxGroup },\n);\n\n__Checkbox.displayName = 'Checkbox';\n\nexport { __Checkbox as Checkbox };\nexport type { AriaCheckboxProps };\nexport { useCheckbox };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["useFocusableRef","IconCheck","IconMinus","BaseProps","CONTAINER_STYLES","ContainerStyleProps","Element","filterBaseProps","Styles","tasty","forwardRef","ReactElement","useContext","useMemo","useRef","AriaCheckboxProps","useCheckbox","useCheckboxGroupItem","useHover","useToggleState","Icon","FieldBaseProps","ToggleSelectionProps","mergeProps","useFocus","castNullableIsSelected","WithNullableSelected","extractStyles","useAutoTooltip","getValidationMods","INLINE_LABEL_STYLES","LABEL_STYLES","resolveValidationProps","useFieldProps","wrapWithField","HiddenInput","mergeTooltipFocusProps","splitTooltipTriggerProps","TooltipFocusProps","CheckboxGroup","CheckboxGroupContext","FocusableRef","CubeTooltipProviderProps","CubeCheckboxProps","Omit","inputStyles","isIndeterminate","value","tooltip","CheckboxWrapperElement","as","qa","styles","position","display","placeItems","placeContent","gap","flow","preset","cursor","width","color","CheckboxElement","radius","fill","disabled","border","invalid","valid","height","outline","focused","outlineOffset","transition","Checkbox","allProps","ref","groupState","originalProps","props","defaultValidationTrigger","valuePropsMapper","onChange","isSelected","unsafe__isDisabled","isDisabled","insideForm","children","label","isInvalid","isValid","labelProps","labelStyles","labelPosition","isHidden","isFocused","focusProps","hoverProps","isHovered","inputRef","domRef","renderWithTooltip","toggleState","ariaProps","form","undefined","inputProps","isRequired","markIcon","key","console","warn","mods","checked","indeterminate","hovered","wrapperProps","className","style","qaVal","renderCheckbox","tooltipFocusProps","checkboxField","tooltipTriggerProps","tooltipRef","pointerProps","for","id","element","HTMLLabelElement","current","HTMLElement","_Checkbox","cubeInputType","__Checkbox","Object","assign","Group","displayName"],"sources":["../../../../src/components/fields/Checkbox/Checkbox.tsx"],"sourcesContent":["import { useFocusableRef } from '@react-spectrum/utils';\nimport { IconCheck, IconMinus } from '@tabler/icons-react';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n Element,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef, ReactElement, useContext, useMemo, useRef } from 'react';\nimport {\n AriaCheckboxProps,\n useCheckbox,\n useCheckboxGroupItem,\n useHover,\n} from 'react-aria';\nimport { useToggleState } from 'react-stately';\n\nimport { Icon } from '../../../icons/Icon';\nimport { FieldBaseProps, ToggleSelectionProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport {\n castNullableIsSelected,\n WithNullableSelected,\n} from '../../../utils/react/nullableValue';\nimport { extractStyles } from '../../../utils/styles';\nimport { useAutoTooltip } from '../../content/use-auto-tooltip';\nimport {\n getValidationMods,\n INLINE_LABEL_STYLES,\n LABEL_STYLES,\n resolveValidationProps,\n useFieldProps,\n wrapWithField,\n} from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport {\n mergeTooltipFocusProps,\n splitTooltipTriggerProps,\n TooltipFocusProps,\n} from '../../overlays/Tooltip/split-trigger-props';\n\nimport { CheckboxGroup } from './CheckboxGroup';\nimport { CheckboxGroupContext } from './context';\n\nimport type { FocusableRef } from '@react-types/shared';\nimport type { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';\n\nexport interface CubeCheckboxProps\n extends BaseProps,\n ContainerStyleProps,\n Omit<AriaCheckboxProps, 'form' | 'name'>,\n ToggleSelectionProps,\n FieldBaseProps<boolean | null | undefined> {\n inputStyles?: Styles;\n isIndeterminate?: boolean;\n value?: string;\n /**\n * The checkbox's own tooltip, shown on hover over the box and its inline\n * label — also while the checkbox is disabled — and on keyboard focus. A string, or `TooltipProvider` props\n * (`title`, `placement`, …). The info badge next to a field label is\n * `labelTooltip`.\n */\n tooltip?: string | Omit<CubeTooltipProviderProps, 'children'>;\n}\n\nconst CheckboxWrapperElement = tasty({\n as: 'label',\n qa: 'CheckboxWrapper',\n styles: {\n position: 'relative',\n display: 'flex',\n placeItems: 'center start',\n placeContent: 'baseline',\n gap: '1x',\n flow: 'row',\n preset: 'default',\n cursor: '$pointer',\n width: 'max max-content',\n color: '#dark-02',\n },\n});\n\nconst CheckboxElement = tasty({\n styles: {\n display: 'grid',\n placeItems: 'center',\n radius: '.5r',\n fill: {\n '': '#surface',\n 'checked | indeterminate': '#primary',\n 'invalid & !checked': '#surface',\n 'invalid & checked': '#danger',\n 'valid & !checked': '#surface',\n 'valid & checked': '#success',\n disabled: '#dark.12',\n },\n // The check / minus icon is always rendered inside the box, so the\n // default color must be transparent when the checkbox is neither\n // checked nor indeterminate — otherwise the white stroke shows through\n // the dark `#surface` fill in dark schemes (it used to be hidden\n // accidentally by the legacy white-on-white `fill: '#white'`).\n color: {\n '': '#clear',\n 'checked | indeterminate': '#white',\n },\n border: {\n '': '#dark.30',\n invalid: '#danger',\n valid: '#success',\n 'disabled | ((indeterminate | checked) & !invalid & !valid)': '#clear',\n },\n width: '(2x - 2bw)',\n height: '(2x - 2bw)',\n outline: {\n '': '#primary-text.0',\n focused: '1bw #primary-text',\n },\n outlineOffset: 1,\n transition: 'theme',\n },\n});\n\nfunction Checkbox(\n allProps: WithNullableSelected<CubeCheckboxProps>,\n ref: FocusableRef,\n) {\n // Swap hooks depending on whether this checkbox is inside a CheckboxGroup.\n // This is a bit unorthodox. Typically, hooks cannot be called in a conditional,\n // but since the checkbox won't move in and out of a group, it should be safe.\n let groupState = useContext(CheckboxGroupContext);\n\n const originalProps = castNullableIsSelected(allProps);\n\n const props = useFieldProps(originalProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n isSelected: value ?? false,\n isIndeterminate: false,\n onChange: onChange,\n }),\n unsafe__isDisabled: !!groupState,\n });\n\n let {\n qa,\n isIndeterminate = false,\n isDisabled = false,\n insideForm,\n children,\n label,\n isInvalid,\n isValid,\n labelProps,\n labelStyles,\n labelPosition,\n inputStyles,\n isHidden,\n tooltip,\n } = props;\n\n let styles: Styles = extractStyles(props, CONTAINER_STYLES);\n\n labelStyles = useMemo(\n () => ({\n ...(!groupState ? LABEL_STYLES : INLINE_LABEL_STYLES),\n ...labelStyles,\n }),\n [groupState, labelStyles],\n );\n\n let { isFocused, focusProps } = useFocus(true);\n let { hoverProps, isHovered } = useHover({ isDisabled });\n\n let inputRef = useRef(null);\n let domRef = useFocusableRef(ref, inputRef);\n\n // Triggered by the wrapper rather than the input, so a disabled checkbox —\n // whose input ignores the pointer — still shows it.\n let { renderWithTooltip } = useAutoTooltip({ tooltip, children: null });\n\n const toggleState = useToggleState(props);\n\n // React Aria writes `form` onto the input as the id of its `<form>`, so the\n // form instance would render as `form=\"[object Object]\"` and detach it. It\n // reads `children` only to warn about a checkbox with no visible label; a\n // field `label` is one, named through its `<label for>`. Writing it into\n // `aria-label` instead used to drop the inline text from the name and\n // replace the caller's own `aria-label`.\n let ariaProps = { ...props, form: undefined, children: children ?? label };\n let { inputProps } = groupState\n ? useCheckboxGroupItem(\n {\n ...ariaProps,\n // Value is optional for standalone checkboxes, but required for CheckboxGroup items;\n // it's passed explicitly here to avoid typescript error (requires strictNullChecks disabled).\n value: props.value || '',\n // Only pass isRequired and the validation state to react-aria if they came from\n // the props for this individual checkbox, and not from the group via context.\n isRequired: originalProps.isRequired,\n isInvalid: resolveValidationProps(originalProps).isInvalid,\n },\n groupState,\n inputRef,\n )\n : useCheckbox(ariaProps, toggleState, inputRef);\n\n // Decorative: the input already announces checked, unchecked and mixed.\n let markIcon = isIndeterminate ? (\n <Icon size={12} stroke={3} aria-hidden=\"true\">\n <IconMinus />\n </Icon>\n ) : (\n <Icon size={12} stroke={3} aria-hidden=\"true\">\n <IconCheck />\n </Icon>\n );\n\n if (groupState) {\n for (let key of ['isSelected', 'defaultSelected', 'isEmphasized']) {\n // The raw props: `castNullableIsSelected` turns `null` into `false`.\n if (allProps[key] != null) {\n console.warn(\n `CubeUIKit: ${key} is unsupported on individual <Checkbox> elements within a <CheckboxGroup>. Please apply these props to the group instead.`,\n );\n }\n }\n if (props.value == null) {\n console.warn(\n 'CubeUIKit: A <Checkbox> element within a <CheckboxGroup> requires a `value` property.',\n );\n }\n }\n\n const mods = {\n checked: inputProps.checked,\n indeterminate: isIndeterminate,\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n hovered: isHovered,\n focused: isFocused,\n 'side-label': labelPosition === 'side',\n 'inside-form': insideForm,\n };\n\n // The wrapper's props, the same in both branches. React Aria puts `id`,\n // `aria-*` and `data-*` on the input, so they stay off the `<label>`: the\n // grouped one used to copy them, and `#id`, `for` and `aria-labelledby`\n // resolved to it. A caller's own `mods` stay, under the state ones.\n const wrapperProps = {\n className: props.className,\n style: props.style,\n qaVal: props.qaVal,\n styles,\n isHidden,\n mods: { ...props.mods, ...mods },\n };\n\n // The input, where keyboard focus lands, takes the tooltip's focus-side\n // trigger props; the wrapper keeps the hover side and positions the tooltip.\n const renderCheckbox = (tooltipFocusProps?: TooltipFocusProps) => (\n <>\n <HiddenInput\n qa={qa || 'Checkbox'}\n data-input-type=\"checkbox\"\n {...mergeTooltipFocusProps(\n mergeProps(inputProps, focusProps),\n tooltipFocusProps,\n )}\n ref={inputRef}\n />\n <CheckboxElement data-element=\"Input\" mods={mods} styles={inputStyles}>\n {markIcon}\n </CheckboxElement>\n </>\n );\n\n if (!groupState) {\n const checkboxField = renderWithTooltip(\n (tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n // `styles` is forwarded here as well as in the in-group branch\n // below — it used to be extracted from props and then dropped on\n // this path, so `<Checkbox styles={{ … }}>` outside a group was a\n // silent no-op.\n <CheckboxWrapperElement\n {...wrapperProps}\n {...mergeProps(hoverProps, pointerProps)}\n ref={tooltipRef}\n >\n {renderCheckbox(tooltipFocusProps)}\n {children ? (\n // Same element and preset as the in-group branch. This path used\n // to force children through `<Text nowrap>`: `white-space:\n // nowrap` inherits, so a label longer than a few words — or any\n // custom node with two lines in it — could not wrap at all, and\n // the label also missed the preset a grouped one picks up.\n <Element\n styles={INLINE_LABEL_STYLES}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n }}\n >\n {children}\n </Element>\n ) : null}\n </CheckboxWrapperElement>\n );\n },\n 'top',\n );\n\n // `tooltip` is the checkbox's own here, not a legacy label badge.\n // `renderWithTooltip` is typed for any node; here it returns an element.\n // The field label names the input through `for`, which `useFieldProps`\n // leaves unset for a caller's own `id` and inside the legacy `<Field>`, as\n // `Switch` does.\n return wrapWithField(checkboxField as ReactElement, domRef, {\n ...props,\n tooltip: undefined,\n labelProps: { ...props.labelProps, for: props.id },\n });\n }\n\n return renderWithTooltip((tooltipTriggerProps, tooltipRef) => {\n const { pointerProps, focusProps: tooltipFocusProps } =\n splitTooltipTriggerProps(tooltipTriggerProps);\n\n return (\n <CheckboxWrapperElement\n {...wrapperProps}\n {...mergeProps(hoverProps, pointerProps)}\n ref={\n tooltipRef\n ? // Written only when React attaches the node, never during render.\n (element: HTMLLabelElement | null) => {\n (domRef as { current: HTMLElement | null }).current = element;\n (tooltipRef as { current: HTMLElement | null }).current =\n element;\n }\n : domRef\n }\n >\n {renderCheckbox(tooltipFocusProps)}\n {label ?? children ? (\n <Element\n styles={labelStyles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n disabled: isDisabled,\n }}\n {...(labelProps ? filterBaseProps(labelProps) : undefined)}\n >\n {label ?? children}\n </Element>\n ) : null}\n </CheckboxWrapperElement>\n );\n }, 'top');\n}\n\n/**\n * Checkboxes allow users to select multiple items from a list of individual items,\n * or to mark one individual item as selected.\n */\nlet _Checkbox = forwardRef(Checkbox);\n\n(_Checkbox as any).cubeInputType = 'Checkbox';\nlet __Checkbox = Object.assign(\n _Checkbox as typeof _Checkbox & { Group: typeof CheckboxGroup },\n { Group: CheckboxGroup },\n);\n\n__Checkbox.displayName = 'Checkbox';\n\nexport { __Checkbox as Checkbox };\nexport type { AriaCheckboxProps };\nexport { useCheckbox };\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ interface CubeCheckboxGroupProps extends BaseProps, Omit<AriaCheckboxGroupProps,
11
11
  inputStyles?: Styles;
12
12
  }
13
13
  /**
14
- * Checkbox groups allow users to select a single option from a list of mutually exclusive options.
14
+ * Checkbox groups allow users to select any number of options from a list.
15
15
  * All possible options are exposed up front for users to compare.
16
16
  */
17
17
  declare const _CheckboxGroup: react.ForwardRefExoticComponent<Omit<CubeCheckboxGroupProps, "value" | "defaultValue"> & {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { castNullableArrayValue } from "../../../utils/react/nullableValue.js";
@@ -52,7 +52,7 @@ function CheckboxGroup(rawProps, ref) {
52
52
  const { id, isDisabled, isRequired, necessityIndicator, label, extra, isInvalid, isValid, children, orientation: t2, message, description, labelStyles, labelProps: baseLabelProps, labelSuffix, inputStyles, form, ...otherProps } = props;
53
53
  const orientation = t2 === void 0 ? "vertical" : t2;
54
54
  const domRef = useObjectRef(ref);
55
- extractStyles(otherProps, CONTAINER_STYLES);
55
+ const styles = extractStyles(otherProps, CONTAINER_STYLES, inputStyles);
56
56
  const state = useCheckboxGroupState(props);
57
57
  let t3;
58
58
  if ($[3] !== props) {
@@ -104,17 +104,17 @@ function CheckboxGroup(rawProps, ref) {
104
104
  $[16] = t8;
105
105
  } else t8 = $[16];
106
106
  let t9;
107
- if ($[17] !== groupProps || $[18] !== id || $[19] !== inputStyles || $[20] !== t5 || $[21] !== t8) {
107
+ if ($[17] !== groupProps || $[18] !== id || $[19] !== styles || $[20] !== t5 || $[21] !== t8) {
108
108
  t9 = /* @__PURE__ */ jsx(CheckGroupElement, {
109
109
  ...groupProps,
110
110
  id,
111
- styles: inputStyles,
111
+ styles,
112
112
  mods: t5,
113
113
  children: t8
114
114
  });
115
115
  $[17] = groupProps;
116
116
  $[18] = id;
117
- $[19] = inputStyles;
117
+ $[19] = styles;
118
118
  $[20] = t5;
119
119
  $[21] = t8;
120
120
  $[22] = t9;
@@ -136,7 +136,7 @@ function CheckboxGroup(rawProps, ref) {
136
136
  return t10;
137
137
  }
138
138
  /**
139
- * Checkbox groups allow users to select a single option from a list of mutually exclusive options.
139
+ * Checkbox groups allow users to select any number of options from a list.
140
140
  * All possible options are exposed up front for users to compare.
141
141
  */
142
142
  function _temp(t0) {
@@ -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 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 a single option from a list of mutually exclusive options.\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 // `inputStyles` styles the group too; `styles` and the style props go over it.\n let styles = extractStyles(otherProps, CONTAINER_STYLES, inputStyles);\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={styles}\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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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,6 +156,7 @@ 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,
159
160
  "aria-label": t("colorPicker.colorValue", "Color value"),
160
161
  format,
161
162
  value: colorText,
@@ -164,6 +165,7 @@ const ColorPicker = forwardRef(function ColorPicker(allProps, ref) {
164
165
  onChange: handleValueChange
165
166
  }),
166
167
  swatches: swatches?.length ? /* @__PURE__ */ jsx(ColorSwatchGroup, {
168
+ isBare: true,
167
169
  "aria-label": t("colorPicker.palette", "Palette"),
168
170
  styles: PALETTE_STYLES,
169
171
  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 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
+ {"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,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.194.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.196.0 | 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";