@cube-dev/ui-kit 0.201.0 → 0.202.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 (702) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +38 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  5. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/dist/_internal/hooks/use-event.js +1 -1
  7. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  8. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  9. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  10. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  11. package/dist/_internal/hooks/use-warn.js +1 -1
  12. package/dist/components/Block.js +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +2 -1
  17. package/dist/components/HiddenInput.js.map +1 -1
  18. package/dist/components/Root.js +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  21. package/dist/components/actions/Button/Button.js +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuItem.js +1 -1
  35. package/dist/components/actions/Menu/MenuSection.js +1 -1
  36. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  38. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  39. package/dist/components/actions/Menu/context.js +1 -1
  40. package/dist/components/actions/Menu/styled.js +1 -1
  41. package/dist/components/actions/actions-run.js +1 -1
  42. package/dist/components/actions/index.js +1 -1
  43. package/dist/components/actions/use-action.js +1 -1
  44. package/dist/components/actions/use-anchored-menu.js +1 -1
  45. package/dist/components/actions/use-context-menu.js +1 -1
  46. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  47. package/dist/components/content/Alert/Alert.js +1 -1
  48. package/dist/components/content/Alert/use-alert.js +1 -1
  49. package/dist/components/content/Avatar/Avatar.js +1 -1
  50. package/dist/components/content/Badge/Badge.js +1 -1
  51. package/dist/components/content/Card/Card.js +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  56. package/dist/components/content/Divider/Divider.d.ts +22 -0
  57. package/dist/components/content/Divider/Divider.js +159 -0
  58. package/dist/components/content/Divider/Divider.js.map +1 -0
  59. package/dist/components/content/Footer.js +1 -1
  60. package/dist/components/content/Header.js +1 -1
  61. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  62. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  63. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  64. package/dist/components/content/Item/Item.js +1 -1
  65. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +1 -1
  80. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  83. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  84. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  85. package/dist/components/content/Layout/index.js +1 -1
  86. package/dist/components/content/Layout/utils.js +1 -1
  87. package/dist/components/content/Paragraph.js +1 -1
  88. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  89. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  90. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  91. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  92. package/dist/components/content/Result/Result.js +1 -1
  93. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  94. package/dist/components/content/Tag/Tag.js +1 -1
  95. package/dist/components/content/Text.js +1 -1
  96. package/dist/components/content/TextItem/TextItem.js +1 -1
  97. package/dist/components/content/Title.js +1 -1
  98. package/dist/components/content/Tree/Tree.js +39 -14
  99. package/dist/components/content/Tree/Tree.js.map +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +8 -7
  101. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  102. package/dist/components/content/Tree/checked-keys.js +158 -0
  103. package/dist/components/content/Tree/checked-keys.js.map +1 -0
  104. package/dist/components/content/Tree/rowId.js +16 -0
  105. package/dist/components/content/Tree/rowId.js.map +1 -0
  106. package/dist/components/content/Tree/styled.js +1 -1
  107. package/dist/components/content/Tree/tree-index.js +10 -2
  108. package/dist/components/content/Tree/tree-index.js.map +1 -1
  109. package/dist/components/content/Tree/types.d.ts +21 -1
  110. package/dist/components/content/Tree/use-checkbox-tree.js +17 -123
  111. package/dist/components/content/Tree/use-checkbox-tree.js.map +1 -1
  112. package/dist/components/content/Tree/use-load-data.js +1 -1
  113. package/dist/components/content/highlightText.js +1 -1
  114. package/dist/components/content/use-auto-tooltip.js +1 -1
  115. package/dist/components/data/DataTable/DataTable.js +1 -1
  116. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  117. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  118. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  119. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  120. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  121. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  122. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  123. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  124. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  125. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  126. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  127. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  128. package/dist/components/data/TableBase/RowCollection.js +1 -1
  129. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  130. package/dist/components/data/TableBase/TableRow.js +1 -1
  131. package/dist/components/data/TableBase/TableRowLink.js +1 -1
  132. package/dist/components/data/TableBase/TableView.js +1 -1
  133. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  134. package/dist/components/data/TableBase/column-header.js +1 -1
  135. package/dist/components/data/TableBase/column-menu.js +1 -1
  136. package/dist/components/data/TableBase/column-styles.js +1 -1
  137. package/dist/components/data/TableBase/column-tint.js +1 -1
  138. package/dist/components/data/TableBase/row-menu.js +1 -1
  139. package/dist/components/data/TableBase/styled.js +1 -1
  140. package/dist/components/data/TableBase/table-tree.js +1 -1
  141. package/dist/components/data/TableBase/types.js +1 -1
  142. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  143. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  144. package/dist/components/data/TableBase/use-column-order.js +1 -1
  145. package/dist/components/data/TableBase/use-column-window.js +1 -1
  146. package/dist/components/data/TableBase/use-container-width.js +1 -1
  147. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  148. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  149. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  150. package/dist/components/data/TableBase/use-table-search.js +1 -1
  151. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  152. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  153. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  154. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  155. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  156. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  157. package/dist/components/fields/Checkbox/Checkbox.d.ts +3 -2
  158. package/dist/components/fields/Checkbox/Checkbox.js +21 -10
  159. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  160. package/dist/components/fields/Checkbox/CheckboxGroup.d.ts +3 -2
  161. package/dist/components/fields/Checkbox/CheckboxGroup.js +36 -42
  162. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  163. package/dist/components/fields/Checkbox/context.js +1 -1
  164. package/dist/components/fields/ColorInput/ColorInput.d.ts +3 -2
  165. package/dist/components/fields/ColorInput/ColorInput.js +5 -3
  166. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  167. package/dist/components/fields/ColorPicker/ColorPicker.d.ts +9 -3
  168. package/dist/components/fields/ColorPicker/ColorPicker.js +182 -200
  169. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  170. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  171. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.d.ts +3 -2
  172. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +143 -171
  173. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  174. package/dist/components/fields/ComboBox/ComboBox.d.ts +6 -4
  175. package/dist/components/fields/ComboBox/ComboBox.js +601 -574
  176. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  177. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  178. package/dist/components/fields/CommandTextArea/CommandTextArea.js +5 -4
  179. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  180. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  181. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  182. package/dist/components/fields/DatePicker/DateInput.d.ts +3 -2
  183. package/dist/components/fields/DatePicker/DateInput.js +7 -5
  184. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  185. package/dist/components/fields/DatePicker/DateInputBase.js +79 -76
  186. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  187. package/dist/components/fields/DatePicker/DatePicker.d.ts +3 -2
  188. package/dist/components/fields/DatePicker/DatePicker.js +85 -173
  189. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  190. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  191. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  192. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  193. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  194. package/dist/components/fields/DatePicker/DateRangePicker.d.ts +3 -2
  195. package/dist/components/fields/DatePicker/DateRangePicker.js +117 -204
  196. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  197. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.d.ts +3 -2
  198. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +289 -434
  199. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  200. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  201. package/dist/components/fields/DatePicker/PeriodPicker.d.ts +3 -2
  202. package/dist/components/fields/DatePicker/PeriodPicker.js +87 -113
  203. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  204. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  205. package/dist/components/fields/DatePicker/TimeInput.d.ts +3 -2
  206. package/dist/components/fields/DatePicker/TimeInput.js +7 -5
  207. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  208. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  209. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  210. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  211. package/dist/components/fields/DatePicker/period.js +1 -1
  212. package/dist/components/fields/DatePicker/props.js +1 -1
  213. package/dist/components/fields/DatePicker/utils.js +1 -1
  214. package/dist/components/fields/FileInput/FileInput.d.ts +3 -2
  215. package/dist/components/fields/FileInput/FileInput.js +114 -141
  216. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  217. package/dist/components/fields/FilterListBox/FilterListBox.js +10 -65
  218. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  219. package/dist/components/fields/FilterListBox/styled.js +66 -0
  220. package/dist/components/fields/FilterListBox/styled.js.map +1 -0
  221. package/dist/components/fields/FilterPicker/FilterPicker.d.ts +35 -3
  222. package/dist/components/fields/FilterPicker/FilterPicker.js +76 -15
  223. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  224. package/dist/components/fields/FilterPicker/FilterTree.js +413 -0
  225. package/dist/components/fields/FilterPicker/FilterTree.js.map +1 -0
  226. package/dist/components/fields/Input/Input.js +1 -1
  227. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  228. package/dist/components/fields/ListBox/ListBox.d.ts +3 -2
  229. package/dist/components/fields/ListBox/ListBox.js +7 -10
  230. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  231. package/dist/components/fields/ListBox/optionId.js +1 -1
  232. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  233. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  234. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  235. package/dist/components/fields/NumberInput/NumberInput.js +5 -3
  236. package/dist/components/fields/NumberInput/NumberInput.js.map +1 -1
  237. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  238. package/dist/components/fields/PasswordInput/PasswordInput.js +5 -3
  239. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  240. package/dist/components/fields/Picker/Picker.d.ts +9 -3
  241. package/dist/components/fields/Picker/Picker.js +12 -11
  242. package/dist/components/fields/Picker/Picker.js.map +1 -1
  243. package/dist/components/fields/RadioGroup/Radio.js +152 -154
  244. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  245. package/dist/components/fields/RadioGroup/RadioGroup.d.ts +3 -2
  246. package/dist/components/fields/RadioGroup/RadioGroup.js +85 -111
  247. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  248. package/dist/components/fields/RadioGroup/context.js +1 -1
  249. package/dist/components/fields/RadioGroup/context.js.map +1 -1
  250. package/dist/components/fields/SearchComboBox/SearchComboBox.d.ts +9 -4
  251. package/dist/components/fields/SearchComboBox/SearchComboBox.js +16 -23
  252. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  253. package/dist/components/fields/SearchInput/SearchInput.js +52 -48
  254. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  255. package/dist/components/fields/Select/Select.d.ts +3 -2
  256. package/dist/components/fields/Select/Select.js +8 -10
  257. package/dist/components/fields/Select/Select.js.map +1 -1
  258. package/dist/components/fields/Slider/Gradation.js +1 -1
  259. package/dist/components/fields/Slider/HueSlider.js +1 -1
  260. package/dist/components/fields/Slider/RangeSlider.js +19 -26
  261. package/dist/components/fields/Slider/RangeSlider.js.map +1 -1
  262. package/dist/components/fields/Slider/Slider.js +51 -58
  263. package/dist/components/fields/Slider/Slider.js.map +1 -1
  264. package/dist/components/fields/Slider/SliderBase.js +61 -60
  265. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  266. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  267. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  268. package/dist/components/fields/Slider/elements.js +1 -1
  269. package/dist/components/fields/Slider/index.js +1 -1
  270. package/dist/components/fields/Slider/types.d.ts +3 -2
  271. package/dist/components/fields/Switch/Switch.d.ts +12 -2
  272. package/dist/components/fields/Switch/Switch.js +97 -165
  273. package/dist/components/fields/Switch/Switch.js.map +1 -1
  274. package/dist/components/fields/TagInput/TagInput.d.ts +5 -2
  275. package/dist/components/fields/TagInput/TagInput.js +18 -13
  276. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  277. package/dist/components/fields/TagInput/TagList.js +1 -1
  278. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  279. package/dist/components/fields/TagInput/useTagError.js +1 -1
  280. package/dist/components/fields/TextArea/TextArea.js +5 -3
  281. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  282. package/dist/components/fields/TextInput/TextInput.js +5 -3
  283. package/dist/components/fields/TextInput/TextInput.js.map +1 -1
  284. package/dist/components/fields/TextInput/TextInputBase.d.ts +15 -4
  285. package/dist/components/fields/TextInput/TextInputBase.js +200 -104
  286. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  287. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  288. package/dist/components/fields/TextInput/index.d.ts +2 -2
  289. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  290. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  291. package/dist/components/fields/TriggerActions.js +1 -1
  292. package/dist/components/fields/color/ColorPanel.js +1 -1
  293. package/dist/components/fields/color/channels.js +1 -1
  294. package/dist/components/fields/color/color.js +1 -1
  295. package/dist/components/fields/color/context.js +1 -1
  296. package/dist/components/fields/index.d.ts +2 -2
  297. package/dist/components/fields/option-origin-press.js +1 -1
  298. package/dist/components/form/FieldWrapper/FieldWrapper.js +120 -57
  299. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  300. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  301. package/dist/components/form/Form/Field.js +1 -1
  302. package/dist/components/form/Form/Form.js +1 -1
  303. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  304. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  305. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  306. package/dist/components/form/Form/SubmitError.js +1 -1
  307. package/dist/components/form/Form/backend.js +1 -1
  308. package/dist/components/form/Form/index.js +1 -1
  309. package/dist/components/form/Form/modern/actions.js +1 -1
  310. package/dist/components/form/Form/modern/context.js +1 -1
  311. package/dist/components/form/Form/modern/controller.js +1 -1
  312. package/dist/components/form/Form/modern/field-binding.js +1 -1
  313. package/dist/components/form/Form/modern/field.js +1 -1
  314. package/dist/components/form/Form/modern/react.js +1 -1
  315. package/dist/components/form/Form/modern/store.js +1 -1
  316. package/dist/components/form/Form/modern/validation.js +1 -1
  317. package/dist/components/form/Form/modern/values.js +1 -1
  318. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  319. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  320. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  321. package/dist/components/form/Form/use-field/use-field.js +1 -1
  322. package/dist/components/form/Form/use-form.js +1 -1
  323. package/dist/components/form/Form/validation.js +1 -1
  324. package/dist/components/form/Label.js +1 -1
  325. package/dist/components/form/field-chrome.js +1 -1
  326. package/dist/components/form/field-chrome.js.map +1 -1
  327. package/dist/components/form/field-layout.d.ts +10 -0
  328. package/dist/components/form/field-layout.js +96 -0
  329. package/dist/components/form/field-layout.js.map +1 -0
  330. package/dist/components/form/index.d.ts +2 -1
  331. package/dist/components/form/legacy-tooltip.js +15 -2
  332. package/dist/components/form/legacy-tooltip.js.map +1 -1
  333. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  334. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  335. package/dist/components/form/validation/use-validation-props.js +1 -1
  336. package/dist/components/form/wrapper.js +6 -2
  337. package/dist/components/form/wrapper.js.map +1 -1
  338. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  339. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  340. package/dist/components/layout/Flex.js +1 -1
  341. package/dist/components/layout/Flow.js +1 -1
  342. package/dist/components/layout/Grid.js +1 -1
  343. package/dist/components/layout/Panel.js +1 -1
  344. package/dist/components/layout/Prefix.js +1 -1
  345. package/dist/components/layout/ResizablePanel.js +1 -1
  346. package/dist/components/layout/Space.js +1 -1
  347. package/dist/components/layout/Suffix.js +1 -1
  348. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  349. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  350. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  351. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  352. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  353. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  354. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  355. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  356. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  357. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  358. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  359. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  360. package/dist/components/navigation/Tabs/styled.js +1 -1
  361. package/dist/components/navigation/Tabs/types.js +1 -1
  362. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  363. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  364. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  365. package/dist/components/other/Calendar/Calendar.js +1 -1
  366. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  367. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  368. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  369. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  370. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  371. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  372. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  373. package/dist/components/other/Calendar/styled.js +1 -1
  374. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  375. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  376. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  377. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  378. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  379. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  380. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  381. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  382. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  383. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  384. package/dist/components/overlays/Dialog/context.js +1 -1
  385. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  386. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  387. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  388. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  389. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  390. package/dist/components/overlays/Modal/Modal.js +1 -1
  391. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  392. package/dist/components/overlays/Modal/Overlay.js +1 -1
  393. package/dist/components/overlays/Modal/Popover.js +1 -1
  394. package/dist/components/overlays/Modal/Tray.js +1 -1
  395. package/dist/components/overlays/Modal/Underlay.js +1 -1
  396. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  397. package/dist/components/overlays/Notifications/Notification.js +1 -1
  398. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  399. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  400. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  401. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  402. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  403. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  404. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +2 -2
  405. package/dist/components/overlays/Notifications/PersistentNotificationsList.js.map +1 -1
  406. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  407. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  408. package/dist/components/overlays/Notifications/index.js +1 -1
  409. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  410. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  411. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  412. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  413. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  414. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  415. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  416. package/dist/components/overlays/Toast/index.js +1 -1
  417. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  418. package/dist/components/overlays/Toast/useToast.js +1 -1
  419. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  420. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  421. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  422. package/dist/components/overlays/Tooltip/context.js +1 -1
  423. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  424. package/dist/components/portal/Portal.js +1 -1
  425. package/dist/components/portal/PortalProvider.js +1 -1
  426. package/dist/components/portal/usePortal.js +1 -1
  427. package/dist/components/shared/DraggableCollection.js +1 -1
  428. package/dist/components/shared/InvalidIcon.js +1 -1
  429. package/dist/components/shared/ValidIcon.js +1 -1
  430. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  431. package/dist/components/status/Spin/Cube.js +1 -1
  432. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  433. package/dist/components/status/Spin/Spin.js +1 -1
  434. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  435. package/dist/data/item-themes.js +1 -1
  436. package/dist/data/themes.js +1 -1
  437. package/dist/eslint-plugin/defaults.generated.js +1 -1
  438. package/dist/eslint-plugin/index.js +1 -1
  439. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  440. package/dist/i18n/I18nProvider.js +1 -1
  441. package/dist/i18n/createFormatter.js +1 -1
  442. package/dist/i18n/index.js +1 -1
  443. package/dist/i18n/instance.js +1 -1
  444. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  445. package/dist/i18n/locales/en-US/uikit.js +1 -1
  446. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  447. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  448. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  449. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  450. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  451. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  452. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  453. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  454. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  455. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  456. package/dist/i18n/locales.js +1 -1
  457. package/dist/i18n/namespace.js +1 -1
  458. package/dist/i18n/useFormatter.js +1 -1
  459. package/dist/i18n/useI18n.js +1 -1
  460. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  461. package/dist/icons/AdjustmentsIcon.js +1 -1
  462. package/dist/icons/AiIcon.js +1 -1
  463. package/dist/icons/AreaChartIcon.js +1 -1
  464. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  465. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  466. package/dist/icons/BackwardIcon.js +1 -1
  467. package/dist/icons/BarChartIcon.js +1 -1
  468. package/dist/icons/BellFilledIcon.js +1 -1
  469. package/dist/icons/BellIcon.js +1 -1
  470. package/dist/icons/BooleanIcon.js +1 -1
  471. package/dist/icons/CalendarEditIcon.js +1 -1
  472. package/dist/icons/CalendarIcon.js +1 -1
  473. package/dist/icons/CaretDownIcon.js +1 -1
  474. package/dist/icons/CaretUpIcon.js +1 -1
  475. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  476. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  477. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  478. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  479. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  480. package/dist/icons/ChartBarLineIcon.js +1 -1
  481. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  482. package/dist/icons/ChartBarStackedIcon.js +1 -1
  483. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  484. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  485. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  486. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  487. package/dist/icons/ChartBubbleIcon.js +1 -1
  488. package/dist/icons/ChartDonut2Icon.js +1 -1
  489. package/dist/icons/ChartFunnelIcon.js +1 -1
  490. package/dist/icons/ChartHeatmapIcon.js +1 -1
  491. package/dist/icons/ChartKPIIcon.js +1 -1
  492. package/dist/icons/ChartPie2Icon.js +1 -1
  493. package/dist/icons/ChartScatterIcon.js +1 -1
  494. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  495. package/dist/icons/CheckCircleIcon.js +1 -1
  496. package/dist/icons/CheckIcon.js +1 -1
  497. package/dist/icons/CircleFilledIcon.js +1 -1
  498. package/dist/icons/ClearIcon.js +1 -1
  499. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  500. package/dist/icons/CloseCircleIcon.js +1 -1
  501. package/dist/icons/CloseIcon.js +1 -1
  502. package/dist/icons/CodeIcon.js +1 -1
  503. package/dist/icons/ColumnTotalIcon.js +1 -1
  504. package/dist/icons/CopyIcon.js +1 -1
  505. package/dist/icons/CountIcon.js +1 -1
  506. package/dist/icons/CubeIcon.js +1 -1
  507. package/dist/icons/CubePauseIcon.js +1 -1
  508. package/dist/icons/CubePlayIcon.js +1 -1
  509. package/dist/icons/CurrencyDollarIcon.js +1 -1
  510. package/dist/icons/DangerIcon.js +1 -1
  511. package/dist/icons/DashboardIcon.js +1 -1
  512. package/dist/icons/DatabaseIcon.js +1 -1
  513. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  514. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  515. package/dist/icons/DirectionIcon.js +1 -1
  516. package/dist/icons/DonutIcon.js +1 -1
  517. package/dist/icons/DownIcon.js +1 -1
  518. package/dist/icons/EditIcon.js +1 -1
  519. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  520. package/dist/icons/ExclamationCircleIcon.js +1 -1
  521. package/dist/icons/ExclamationIcon.js +1 -1
  522. package/dist/icons/EyeIcon.js +1 -1
  523. package/dist/icons/EyeInvisibleIcon.js +1 -1
  524. package/dist/icons/FilterIcon.js +1 -1
  525. package/dist/icons/FolderFilledIcon.js +1 -1
  526. package/dist/icons/FolderIcon.js +1 -1
  527. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  528. package/dist/icons/FolderOpenIcon.js +1 -1
  529. package/dist/icons/ForwardIcon.js +1 -1
  530. package/dist/icons/GripVerticalIcon.js +1 -1
  531. package/dist/icons/HierarchyIcon.js +1 -1
  532. package/dist/icons/HierarchyOpenIcon.js +1 -1
  533. package/dist/icons/Icon.js +1 -1
  534. package/dist/icons/InfoCircleIcon.js +1 -1
  535. package/dist/icons/InfoIcon.js +1 -1
  536. package/dist/icons/KeyIcon.js +1 -1
  537. package/dist/icons/LeftIcon.js +1 -1
  538. package/dist/icons/LineChartIcon.js +1 -1
  539. package/dist/icons/LoadingIcon.js +1 -1
  540. package/dist/icons/LockFilledIcon.js +1 -1
  541. package/dist/icons/LockIcon.js +1 -1
  542. package/dist/icons/MoreIcon.js +1 -1
  543. package/dist/icons/NotAllowedIcon.js +1 -1
  544. package/dist/icons/Number123Icon.js +1 -1
  545. package/dist/icons/NumberIcon.js +1 -1
  546. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  547. package/dist/icons/PauseCircleIcon.js +1 -1
  548. package/dist/icons/PauseIcon.js +1 -1
  549. package/dist/icons/PercentageIcon.js +1 -1
  550. package/dist/icons/PieChartIcon.js +1 -1
  551. package/dist/icons/PipetteIcon.js +1 -1
  552. package/dist/icons/PlayCircleIcon.js +1 -1
  553. package/dist/icons/PlayIcon.js +1 -1
  554. package/dist/icons/PlusIcon.js +1 -1
  555. package/dist/icons/ProgressBarIcon.js +1 -1
  556. package/dist/icons/ReloadIcon.js +1 -1
  557. package/dist/icons/ReportIcon.js +1 -1
  558. package/dist/icons/ReturnIcon.js +1 -1
  559. package/dist/icons/RightIcon.js +1 -1
  560. package/dist/icons/RowTotalsIcon.js +1 -1
  561. package/dist/icons/SchemeIcon.js +1 -1
  562. package/dist/icons/SearchIcon.js +1 -1
  563. package/dist/icons/SemanticQueryIcon.js +1 -1
  564. package/dist/icons/SettingsIcon.js +1 -1
  565. package/dist/icons/ShieldFilledIcon.js +1 -1
  566. package/dist/icons/ShieldIcon.js +1 -1
  567. package/dist/icons/SlashIcon.js +1 -1
  568. package/dist/icons/SparklesIcon.js +1 -1
  569. package/dist/icons/SqlIcon.js +1 -1
  570. package/dist/icons/StatsIcon.js +1 -1
  571. package/dist/icons/StopIcon.js +1 -1
  572. package/dist/icons/StringIcon.js +1 -1
  573. package/dist/icons/SubtotalsIcon.js +1 -1
  574. package/dist/icons/SwitchIcon.js +1 -1
  575. package/dist/icons/TableIcon.js +1 -1
  576. package/dist/icons/ThumbsDownIcon.js +1 -1
  577. package/dist/icons/ThumbsUpIcon.js +1 -1
  578. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  579. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  580. package/dist/icons/ThunderboltIcon.js +1 -1
  581. package/dist/icons/TimeIcon.js +1 -1
  582. package/dist/icons/TrashIcon.js +1 -1
  583. package/dist/icons/UnlockIcon.js +1 -1
  584. package/dist/icons/UpIcon.js +1 -1
  585. package/dist/icons/UserGroupIcon.js +1 -1
  586. package/dist/icons/UserIcon.js +1 -1
  587. package/dist/icons/UserLockIcon.js +1 -1
  588. package/dist/icons/ViewIcon.js +1 -1
  589. package/dist/icons/WarningFilledIcon.js +1 -1
  590. package/dist/icons/WarningIcon.js +1 -1
  591. package/dist/icons/wrap-icon.js +1 -1
  592. package/dist/index.d.ts +4 -3
  593. package/dist/index.js +4 -4
  594. package/dist/index.js.map +1 -1
  595. package/dist/probe/canonicalize.js +1 -1
  596. package/dist/probe/css.js +1 -1
  597. package/dist/probe/index.js +1 -1
  598. package/dist/provider.d.ts +5 -0
  599. package/dist/provider.js +19 -7
  600. package/dist/provider.js.map +1 -1
  601. package/dist/providers/TrackingProvider.js +1 -1
  602. package/dist/providers/navigation-url.js +1 -1
  603. package/dist/providers/navigationAdapter.default.js +1 -1
  604. package/dist/providers/use-navigation.js +1 -1
  605. package/dist/shared/form.d.ts +3 -1
  606. package/dist/tokens/all-tokens.js +1 -1
  607. package/dist/tokens/base.js +1 -1
  608. package/dist/tokens/color-seed.js +1 -1
  609. package/dist/tokens/color-theme.js +1 -1
  610. package/dist/tokens/colors.js +1 -1
  611. package/dist/tokens/layout.js +1 -1
  612. package/dist/tokens/lazy-styles.js +1 -1
  613. package/dist/tokens/legacy-color.js +1 -1
  614. package/dist/tokens/palette-config.js +1 -1
  615. package/dist/tokens/palette.js +1 -1
  616. package/dist/tokens/resolve.js +1 -1
  617. package/dist/tokens/shadows.js +1 -1
  618. package/dist/tokens/sizes.js +1 -1
  619. package/dist/tokens/spacing.js +1 -1
  620. package/dist/tokens/typography.js +1 -1
  621. package/dist/utils/ResizeSensor.js +1 -1
  622. package/dist/utils/colors.js +1 -1
  623. package/dist/utils/dotize.js +1 -1
  624. package/dist/utils/is-dev-env.js +1 -1
  625. package/dist/utils/modules.js +1 -1
  626. package/dist/utils/promise.js +1 -1
  627. package/dist/utils/raf.js +1 -1
  628. package/dist/utils/random.js +1 -1
  629. package/dist/utils/range.js +1 -1
  630. package/dist/utils/react/RenderCache.js +1 -1
  631. package/dist/utils/react/Slots.js +1 -1
  632. package/dist/utils/react/chain.js +1 -1
  633. package/dist/utils/react/disabledProps.js +29 -2
  634. package/dist/utils/react/disabledProps.js.map +1 -1
  635. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  636. package/dist/utils/react/index.js +1 -1
  637. package/dist/utils/react/interactions.js +1 -1
  638. package/dist/utils/react/isTextOnly.js +1 -1
  639. package/dist/utils/react/mapProps.js +1 -1
  640. package/dist/utils/react/mergeProps.js +1 -1
  641. package/dist/utils/react/nullableValue.js +1 -1
  642. package/dist/utils/react/overlayKeyPropagation.js +44 -7
  643. package/dist/utils/react/overlayKeyPropagation.js.map +1 -1
  644. package/dist/utils/react/programmaticFocus.js +1 -1
  645. package/dist/utils/react/resolveIcon.js +1 -1
  646. package/dist/utils/react/sharedStore.js +1 -1
  647. package/dist/utils/react/useBufferedValue.js +1 -1
  648. package/dist/utils/react/useCombinedRefs.js +1 -1
  649. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  650. package/dist/utils/react/useEventBus.js +1 -1
  651. package/dist/utils/react/useId.js +1 -1
  652. package/dist/utils/react/useIsDarwin.js +1 -1
  653. package/dist/utils/react/useKeySymbols.js +1 -1
  654. package/dist/utils/react/useLayoutEffect.js +1 -1
  655. package/dist/utils/react/useLocalStorage.js +1 -1
  656. package/dist/utils/react/useMergeStyles.js +1 -1
  657. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  658. package/dist/utils/react/usePopoverSync.js +1 -1
  659. package/dist/utils/react/useQaProps.js +1 -1
  660. package/dist/utils/react/useScheme.js +1 -1
  661. package/dist/utils/react/useViewportSize.js +1 -1
  662. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  663. package/dist/utils/selection.js +1 -1
  664. package/dist/utils/styles.js +1 -1
  665. package/dist/utils/tree.js +1 -1
  666. package/dist/utils/warnings.js +1 -1
  667. package/dist/version.js +2 -2
  668. package/docs/CreateComponent.md +1 -1
  669. package/docs/FieldProperties.md +17 -7
  670. package/docs/Usage.md +3 -0
  671. package/docs/components/content/Divider.md +103 -21
  672. package/docs/components/content/Tree.md +5 -4
  673. package/docs/components/fields/Checkbox.md +7 -8
  674. package/docs/components/fields/ColorInput.md +11 -13
  675. package/docs/components/fields/ColorPicker.md +2 -2
  676. package/docs/components/fields/ColorSwatchGroup.md +2 -3
  677. package/docs/components/fields/ComboBox.md +2 -4
  678. package/docs/components/fields/CommandTextArea.md +3 -5
  679. package/docs/components/fields/DatePicker.md +1 -4
  680. package/docs/components/fields/FileInput.md +1 -5
  681. package/docs/components/fields/FilterListBox.md +0 -3
  682. package/docs/components/fields/FilterPicker.md +68 -5
  683. package/docs/components/fields/HueSlider.md +1 -2
  684. package/docs/components/fields/ListBox.md +0 -3
  685. package/docs/components/fields/NumberInput.md +5 -6
  686. package/docs/components/fields/PasswordInput.md +7 -8
  687. package/docs/components/fields/PeriodPicker.md +0 -4
  688. package/docs/components/fields/Picker.md +2 -4
  689. package/docs/components/fields/RadioGroup.md +4 -5
  690. package/docs/components/fields/SearchComboBox.md +2 -4
  691. package/docs/components/fields/SearchInput.md +3 -4
  692. package/docs/components/fields/Select.md +0 -3
  693. package/docs/components/fields/Slider.md +0 -1
  694. package/docs/components/fields/Switch.md +16 -3
  695. package/docs/components/fields/TagInput.md +3 -6
  696. package/docs/components/fields/TextArea.md +9 -8
  697. package/docs/components/fields/TextInput.md +39 -10
  698. package/docs/components/overlays/Tooltip.md +1 -1
  699. package/package.json +4 -2
  700. package/dist/components/content/Divider.d.ts +0 -7
  701. package/dist/components/content/Divider.js +0 -105
  702. package/dist/components/content/Divider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ColorSwatchGroup.js","names":["useObjectRef","BaseProps","BLOCK_STYLES","BlockStyleProps","mergeStyles","OUTER_STYLES","OuterStyleProps","Styles","tasty","ForwardedRef","forwardRef","useMemo","useRef","useState","useRadio","useRadioGroup","useRadioGroupState","useEvent","useI18n","FieldBaseProps","mergeProps","useFocus","extractStyles","getValidationMods","useFieldProps","wrapWithField","HiddenInput","ColorFormat","formatColor","parseColor","toHex","useIsInsideColorPopover","ColorPicker","RadioGroupState","CubeColorSwatchItem","color","label","SELECTED_RING","SWATCH_PX","Record","small","medium","large","CUSTOM_TRIGGER_STYLES","width","height","padding","radius","border","position","CUSTOM_SWATCH_STYLES","inset","CUSTOM_SWATCH_SELECTED_STYLES","shadow","GroupElement","qa","styles","display","columns","flow","gap","placeItems","gridColumns","RadiosElement","SwatchElement","as","cursor","disabled","fill","opacity","selected","outline","focused","transition","CubeColorSwatchGroupProps","colors","value","defaultValue","onChange","format","allowCustom","size","swatchStyles","SwatchProps","colorKey","state","isDisabled","mods","Swatch","t0","$","_c","inputRef","t1","inputProps","isSelected","isRadioDisabled","isFocused","focusProps","t2","t3","t4","t5","button","t6","t7","ColorSwatchGroup","allProps","ref","t","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","value_0","onChange_0","isInvalid","isValid","ariaLabel","undefined","isInsidePopover","showCustom","seen","Map","entry","raw","parsed","key","has","set","values","swatches","internalValue","setInternalValue","currentValue","t8","selectedColor","toString","selectedKey","t9","some","s","isCustom","t10","next","publish","t11","nextKey","parsed_0","handleChange","t12","t13","isReadOnly","domRef","t14","t15","form","orientation","radioGroupProps","labelProps","t16","t17","t18","t19","t20","$columns","t21","map","swatch","t22","t23","t24","group","t25","cubeInputType","_c","useFocus","mergeProps"],"sources":["../../../../src/components/fields/ColorSwatchGroup/ColorSwatchGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n mergeStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, useMemo, useRef, useState } from 'react';\nimport { useRadio, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport { HiddenInput } from '../../HiddenInput';\nimport { ColorFormat, formatColor, parseColor, toHex } from '../color/color';\nimport { useIsInsideColorPopover } from '../color/context';\nimport { ColorPicker } from '../ColorPicker';\n\nimport type { RadioGroupState } from 'react-stately';\n\n/** A swatch: a color, and optionally a name to announce instead of the color. */\nexport type CubeColorSwatchItem = string | { color: string; label?: string };\n\n/**\n * Two rings drawn inside the swatch, as React Aria marks selection. Outer ring\n * first: earlier shadows paint over later ones, so this reads as two ring widths\n * of `#surface-text` at the edge and two of `#surface` within it. Two tones that\n * flip with the scheme stay visible against any color the swatch holds.\n */\nconst SELECTED_RING =\n 'inset 0 0 0 (2 * $ring-width) #surface-text, inset 0 0 0 (4 * $ring-width) #surface';\n\n/** The swatch edge in px, per size. `Item` takes an exact number. */\nconst SWATCH_PX: Record<string, number> = {\n small: 16,\n medium: 20,\n large: 24,\n};\n\n/**\n * The trailing picker is a button wrapping a swatch, which would otherwise read\n * as a box inside a box. Stripping its chrome leaves just the swatch, so it\n * sits in the row as one of them.\n */\nconst CUSTOM_TRIGGER_STYLES: Styles = {\n // `size` sets the control's height; the box is pinned here as well so a flex\n // row cannot let the button size itself to its content instead.\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n padding: 0,\n radius: '1r',\n border: 0,\n position: 'relative',\n};\n\n/**\n * The swatch is docked over the whole button rather than placed inside it.\n * `Item` lays its icon out in a grid that reserves room for a label even when\n * there is none, which left the swatch a pixel off centre.\n */\nconst CUSTOM_SWATCH_STYLES: Styles = {\n position: 'absolute',\n inset: 0,\n width: 'auto',\n height: 'auto',\n radius: '1r',\n};\n\n/**\n * The ring goes on the swatch, not on the button around it: an inset shadow\n * paints under child content, and the swatch covers the button edge to edge.\n */\nconst CUSTOM_SWATCH_SELECTED_STYLES = mergeStyles(CUSTOM_SWATCH_STYLES, {\n shadow: SELECTED_RING,\n});\n\nconst GroupElement = tasty({\n qa: 'ColorSwatchGroup',\n styles: {\n // Wrapping is the better default: it is a single row wherever there is\n // room, and folds instead of overflowing where there is not. A fixed\n // `columns` switches to a grid, sized to the swatches rather than to the\n // container — `1fr` tracks would stretch them apart.\n display: {\n '': 'flex',\n columns: 'grid',\n },\n flow: {\n '': 'row wrap',\n columns: 'row',\n },\n gap: '.5x',\n placeItems: {\n '': 'center start',\n columns: 'stretch',\n },\n width: {\n '': 'auto',\n columns: 'max-content',\n },\n gridColumns: 'repeat($columns, max-content)',\n\n // 20px, 16px and 24px — 1x is 8px.\n '$swatch-size': {\n '': '2.5x',\n 'size=small': '2x',\n 'size=large': '3x',\n },\n },\n});\n\n/**\n * Only the swatches belong to the radiogroup. The custom picker is a button,\n * and inside `role=\"radiogroup\"` it both misreports what the palette holds and\n * hands arrow keys to React Aria's radio walker — pressing one while the picker\n * is focused jumps into a swatch and changes the color. The box is dropped so\n * the swatches remain direct children of the group's own layout.\n */\nconst RadiosElement = tasty({\n styles: { display: 'contents' },\n});\n\nconst SwatchElement = tasty({\n as: 'label',\n qa: 'ColorSwatchOption',\n styles: {\n display: 'grid',\n placeItems: 'stretch',\n position: 'relative',\n radius: '1r',\n cursor: {\n '': 'pointer',\n disabled: 'default',\n },\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n fill: '(#color-swatch, #clear)',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n // A ring at one border-width's distance, so the color area stays whole —\n // the inner ring is the surface showing through as the gap. `outline` is\n // deliberately left to the focus ring.\n shadow: {\n '': 'inset 0 0 0 1bw #dark.15',\n selected: SELECTED_RING,\n },\n // The outline offset keeps the ring clear of the 4px gap to its neighbours.\n outline: {\n '': '(2 * $ring-width) #focus.0 / $outline-offset',\n focused: '(2 * $ring-width) #focus / $outline-offset',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeColorSwatchGroupProps\n extends\n BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The colors to offer. Duplicates of the same color are dropped. */\n colors?: CubeColorSwatchItem[];\n /** The selected color (controlled). */\n value?: string | null;\n /** The selected color (uncontrolled). */\n defaultValue?: string | null;\n /** Called with the chosen color, written in `format`. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** How many swatches per row. Defaults to a single row. */\n columns?: number;\n /**\n * Append a `ColorPicker` for colors outside the set. Ignored inside a color\n * popover, which is where that picker would otherwise recurse.\n */\n allowCustom?: boolean;\n /** The size of each swatch. */\n size?: 'small' | 'medium' | 'large' | (string & {});\n styles?: Styles;\n /** Styles of an individual swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\ninterface SwatchProps {\n colorKey: string;\n label: string;\n state: RadioGroupState;\n isDisabled?: boolean;\n size?: string;\n styles?: Styles;\n mods?: Record<string, boolean | undefined>;\n}\n\nfunction Swatch({\n colorKey,\n label,\n state,\n isDisabled,\n size,\n styles,\n mods,\n}: SwatchProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const {\n inputProps,\n isSelected,\n isDisabled: isRadioDisabled,\n } = useRadio(\n { value: colorKey, 'aria-label': label, isDisabled },\n state,\n inputRef,\n );\n // `useRadio` reports selection but not focus, and the swatch is the only\n // thing a keyboard user can see — without this the ring never appears.\n const { isFocused, focusProps } = useFocus(true);\n\n return (\n <SwatchElement\n data-size={size}\n mods={{\n selected: isSelected,\n disabled: isRadioDisabled,\n focused: isFocused,\n ...mods,\n }}\n styles={styles}\n tokens={{ '#color-swatch': colorKey }}\n >\n <HiddenInput\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n qa=\"ColorSwatchInput\"\n mods={{ button: true, disabled: isRadioDisabled }}\n />\n </SwatchElement>\n );\n}\n\n/**\n * A grid of color swatches, one of which can be selected — the palette half of\n * choosing a color, where `ColorPicker` is the freeform half.\n *\n * Swatches are keyed by their canonical hex, so the same color written two ways\n * collapses into one entry. Equivalent colors would otherwise make selection\n * ambiguous.\n */\nexport const ColorSwatchGroup = forwardRef(function ColorSwatchGroup(\n allProps: CubeColorSwatchGroupProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n colors = [],\n value,\n defaultValue,\n onChange,\n format = 'hex',\n columns,\n allowCustom,\n size = 'medium',\n isDisabled,\n isInvalid,\n isValid,\n swatchStyles,\n 'aria-label': ariaLabel,\n } = props;\n\n const styles = extractStyles(props, [...OUTER_STYLES, ...BLOCK_STYLES]);\n const isInsidePopover = useIsInsideColorPopover();\n // A custom picker inside a color popover would open a popover of its own.\n const showCustom = allowCustom && !isInsidePopover;\n\n /** Keyed by canonical hex so the same color written two ways is one swatch. */\n const swatches = useMemo(() => {\n const seen = new Map<string, { key: string; label: string }>();\n\n for (const entry of colors) {\n const raw = typeof entry === 'string' ? entry : entry.color;\n const parsed = parseColor(raw);\n\n if (!parsed) continue;\n\n const key = toHex(parsed);\n\n if (seen.has(key)) continue;\n\n seen.set(key, {\n key,\n label:\n (typeof entry === 'string' ? undefined : entry.label) ??\n formatColor(parsed, format),\n });\n }\n\n return [...seen.values()];\n }, [colors, format]);\n\n const [internalValue, setInternalValue] = useState<string | null>(\n () => defaultValue ?? null,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n const selectedColor = parseColor((currentValue ?? '').toString());\n const selectedKey = selectedColor ? toHex(selectedColor) : null;\n const isCustom =\n !!selectedKey && !swatches.some((s) => s.key === selectedKey);\n\n const publish = useEvent((next: string | null) => {\n if (value === undefined) setInternalValue(next);\n\n onChange?.(next);\n });\n\n // `null` arrives from React Aria's native form reset of a group that\n // mounted with no value.\n const handleChange = useEvent((nextKey: string | null) => {\n const parsed = nextKey == null ? null : parseColor(nextKey);\n\n publish(parsed ? formatColor(parsed, format) : null);\n });\n\n const state = useRadioGroupState({\n value: selectedKey ?? null,\n isDisabled,\n isReadOnly: props.isReadOnly,\n // Becomes the group's `aria-invalid`, which is what says the field is\n // invalid to a screen reader; the red outline says it only to the eye.\n isInvalid,\n onChange: handleChange,\n });\n\n // `useFocusableRef` wants the ref of a real focusable control to forward to,\n // and a group of radios has no single one — `RadioGroup` takes the same\n // approach for the same reason.\n const domRef = useObjectRef(ref);\n const { radioGroupProps, labelProps } = useRadioGroup(\n {\n ...props,\n // React Aria hands `form` to every swatch's input as the id of its\n // `<form>`, so the form instance would render as `form=\"[object Object]\"`.\n form: undefined,\n // Only name the group here when nothing else does: an `aria-label` set\n // unconditionally would outrank the visible label React Aria wires up.\n 'aria-label': props.label\n ? undefined\n : (ariaLabel ?? t('colorSwatchGroup.colors', 'Colors')),\n orientation: 'horizontal',\n },\n state,\n );\n\n const group = (\n <GroupElement\n ref={domRef}\n qa={qa || 'ColorSwatchGroup'}\n data-size={size}\n data-input-type=\"colorswatchgroup\"\n styles={styles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n columns: !!columns,\n }}\n tokens={columns ? { $columns: columns } : undefined}\n >\n <RadiosElement {...radioGroupProps}>\n {swatches.map((swatch) => (\n <Swatch\n key={swatch.key}\n colorKey={swatch.key}\n label={swatch.label}\n state={state}\n isDisabled={isDisabled}\n size={size}\n styles={swatchStyles}\n />\n ))}\n </RadiosElement>\n {showCustom ? (\n <ColorPicker\n isBare\n aria-label={t('colorSwatchGroup.customColor', 'Custom color')}\n qa=\"ColorSwatchGroupCustom\"\n format={format}\n type=\"clear\"\n size={SWATCH_PX[size] ?? SWATCH_PX.medium}\n value={isCustom ? (currentValue ?? null) : null}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n triggerStyles={CUSTOM_TRIGGER_STYLES}\n swatchStyles={\n isCustom ? CUSTOM_SWATCH_SELECTED_STYLES : CUSTOM_SWATCH_STYLES\n }\n onChange={publish}\n >\n {null}\n </ColorPicker>\n ) : null}\n </GroupElement>\n );\n\n return wrapWithField(group, {\n ...props,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n});\n\n(ColorSwatchGroup as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorSwatchGroup.js","names":["useObjectRef","BaseProps","mergeStyles","Styles","tasty","ForwardedRef","forwardRef","useMemo","useRef","useState","useRadio","useRadioGroup","useRadioGroupState","useEvent","useI18n","FieldBaseProps","mergeProps","useFocus","getValidationMods","useFieldProps","wrapWithField","FieldLayoutStyleProps","splitFieldLayout","HiddenInput","ColorFormat","formatColor","parseColor","toHex","useIsInsideColorPopover","ColorPicker","RadioGroupState","CubeColorSwatchItem","color","label","SELECTED_RING","SWATCH_PX","Record","small","medium","large","CUSTOM_TRIGGER_STYLES","width","height","padding","radius","border","position","CUSTOM_SWATCH_STYLES","inset","CUSTOM_SWATCH_SELECTED_STYLES","shadow","GroupElement","qa","styles","display","columns","flow","gap","placeItems","gridColumns","RadiosElement","SwatchElement","as","cursor","disabled","fill","opacity","selected","outline","focused","transition","CubeColorSwatchGroupProps","colors","value","defaultValue","onChange","format","allowCustom","size","swatchStyles","SwatchProps","colorKey","state","isDisabled","mods","Swatch","t0","$","_c","inputRef","t1","inputProps","isSelected","isRadioDisabled","isFocused","focusProps","t2","t3","t4","t5","button","t6","t7","ColorSwatchGroup","allProps","ref","t","Symbol","for","defaultValidationTrigger","valuePropsMapper","_temp","props","value_0","onChange_0","isInvalid","isValid","ariaLabel","undefined","field","isInsidePopover","showCustom","seen","Map","entry","raw","parsed","key","has","set","values","swatches","internalValue","setInternalValue","currentValue","selectedColor","toString","selectedKey","t8","some","s","isCustom","t9","next","publish","t10","nextKey","parsed_0","handleChange","t11","t12","isReadOnly","domRef","t13","t14","form","orientation","radioGroupProps","labelProps","t15","t16","t17","t18","$columns","t19","map","swatch","t20","t21","group","cubeInputType","_c","useFocus","mergeProps"],"sources":["../../../../src/components/fields/ColorSwatchGroup/ColorSwatchGroup.tsx"],"sourcesContent":["import { useObjectRef } from '@react-aria/utils';\nimport { BaseProps, mergeStyles, Styles, tasty } from '@tenphi/tasty';\nimport { ForwardedRef, forwardRef, useMemo, useRef, useState } from 'react';\nimport { useRadio, useRadioGroup } from 'react-aria';\nimport { useRadioGroupState } from 'react-stately';\n\nimport { useEvent } from '../../../_internal';\nimport { useI18n } from '../../../i18n';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { getValidationMods, useFieldProps, wrapWithField } from '../../form';\nimport {\n FieldLayoutStyleProps,\n splitFieldLayout,\n} from '../../form/field-layout';\nimport { HiddenInput } from '../../HiddenInput';\nimport { ColorFormat, formatColor, parseColor, toHex } from '../color/color';\nimport { useIsInsideColorPopover } from '../color/context';\nimport { ColorPicker } from '../ColorPicker';\n\nimport type { RadioGroupState } from 'react-stately';\n\n/** A swatch: a color, and optionally a name to announce instead of the color. */\nexport type CubeColorSwatchItem = string | { color: string; label?: string };\n\n/**\n * Two rings drawn inside the swatch, as React Aria marks selection. Outer ring\n * first: earlier shadows paint over later ones, so this reads as two ring widths\n * of `#surface-text` at the edge and two of `#surface` within it. Two tones that\n * flip with the scheme stay visible against any color the swatch holds.\n */\nconst SELECTED_RING =\n 'inset 0 0 0 (2 * $ring-width) #surface-text, inset 0 0 0 (4 * $ring-width) #surface';\n\n/** The swatch edge in px, per size. `Item` takes an exact number. */\nconst SWATCH_PX: Record<string, number> = {\n small: 16,\n medium: 20,\n large: 24,\n};\n\n/**\n * The trailing picker is a button wrapping a swatch, which would otherwise read\n * as a box inside a box. Stripping its chrome leaves just the swatch, so it\n * sits in the row as one of them.\n */\nconst CUSTOM_TRIGGER_STYLES: Styles = {\n // `size` sets the control's height; the box is pinned here as well so a flex\n // row cannot let the button size itself to its content instead.\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n padding: 0,\n radius: '1r',\n border: 0,\n position: 'relative',\n};\n\n/**\n * The swatch is docked over the whole button rather than placed inside it.\n * `Item` lays its icon out in a grid that reserves room for a label even when\n * there is none, which left the swatch a pixel off centre.\n */\nconst CUSTOM_SWATCH_STYLES: Styles = {\n position: 'absolute',\n inset: 0,\n width: 'auto',\n height: 'auto',\n radius: '1r',\n};\n\n/**\n * The ring goes on the swatch, not on the button around it: an inset shadow\n * paints under child content, and the swatch covers the button edge to edge.\n */\nconst CUSTOM_SWATCH_SELECTED_STYLES = mergeStyles(CUSTOM_SWATCH_STYLES, {\n shadow: SELECTED_RING,\n});\n\nconst GroupElement = tasty({\n qa: 'ColorSwatchGroup',\n styles: {\n // Wrapping is the better default: it is a single row wherever there is\n // room, and folds instead of overflowing where there is not. A fixed\n // `columns` switches to a grid, sized to the swatches rather than to the\n // container — `1fr` tracks would stretch them apart.\n display: {\n '': 'flex',\n columns: 'grid',\n },\n flow: {\n '': 'row wrap',\n columns: 'row',\n },\n gap: '.5x',\n placeItems: {\n '': 'center start',\n columns: 'stretch',\n },\n width: {\n '': 'auto',\n columns: 'max-content',\n },\n gridColumns: 'repeat($columns, max-content)',\n\n // 20px, 16px and 24px — 1x is 8px.\n '$swatch-size': {\n '': '2.5x',\n 'size=small': '2x',\n 'size=large': '3x',\n },\n },\n});\n\n/**\n * Only the swatches belong to the radiogroup. The custom picker is a button,\n * and inside `role=\"radiogroup\"` it both misreports what the palette holds and\n * hands arrow keys to React Aria's radio walker — pressing one while the picker\n * is focused jumps into a swatch and changes the color. The box is dropped so\n * the swatches remain direct children of the group's own layout.\n */\nconst RadiosElement = tasty({\n styles: { display: 'contents' },\n});\n\nconst SwatchElement = tasty({\n as: 'label',\n qa: 'ColorSwatchOption',\n styles: {\n display: 'grid',\n placeItems: 'stretch',\n position: 'relative',\n radius: '1r',\n cursor: {\n '': 'pointer',\n disabled: 'default',\n },\n width: '$swatch-size $swatch-size',\n height: '$swatch-size $swatch-size',\n fill: '(#color-swatch, #clear)',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n // A ring at one border-width's distance, so the color area stays whole —\n // the inner ring is the surface showing through as the gap. `outline` is\n // deliberately left to the focus ring.\n shadow: {\n '': 'inset 0 0 0 1bw #dark.15',\n selected: SELECTED_RING,\n },\n // The outline offset keeps the ring clear of the 4px gap to its neighbours.\n outline: {\n '': '(2 * $ring-width) #focus.0 / $outline-offset',\n focused: '(2 * $ring-width) #focus / $outline-offset',\n },\n transition: 'theme',\n },\n});\n\nexport interface CubeColorSwatchGroupProps\n extends\n BaseProps,\n FieldLayoutStyleProps,\n FieldBaseProps<string | null | undefined> {\n /** The colors to offer. Duplicates of the same color are dropped. */\n colors?: CubeColorSwatchItem[];\n /** The selected color (controlled). */\n value?: string | null;\n /** The selected color (uncontrolled). */\n defaultValue?: string | null;\n /** Called with the chosen color, written in `format`. */\n onChange?: (value: string | null) => void;\n /** Notation the value is written in. */\n format?: ColorFormat;\n /** How many swatches per row. Defaults to a single row. */\n columns?: number;\n /**\n * Append a `ColorPicker` for colors outside the set. Ignored inside a color\n * popover, which is where that picker would otherwise recurse.\n */\n allowCustom?: boolean;\n /** The size of each swatch. */\n size?: 'small' | 'medium' | 'large' | (string & {});\n styles?: Styles;\n /** Styles of an individual swatch. */\n swatchStyles?: Styles;\n 'aria-label'?: string;\n}\n\ninterface SwatchProps {\n colorKey: string;\n label: string;\n state: RadioGroupState;\n isDisabled?: boolean;\n size?: string;\n styles?: Styles;\n mods?: Record<string, boolean | undefined>;\n}\n\nfunction Swatch({\n colorKey,\n label,\n state,\n isDisabled,\n size,\n styles,\n mods,\n}: SwatchProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const {\n inputProps,\n isSelected,\n isDisabled: isRadioDisabled,\n } = useRadio(\n { value: colorKey, 'aria-label': label, isDisabled },\n state,\n inputRef,\n );\n // `useRadio` reports selection but not focus, and the swatch is the only\n // thing a keyboard user can see — without this the ring never appears.\n const { isFocused, focusProps } = useFocus(true);\n\n return (\n <SwatchElement\n data-size={size}\n mods={{\n selected: isSelected,\n disabled: isRadioDisabled,\n focused: isFocused,\n ...mods,\n }}\n styles={styles}\n tokens={{ '#color-swatch': colorKey }}\n >\n <HiddenInput\n {...mergeProps(inputProps, focusProps)}\n ref={inputRef}\n qa=\"ColorSwatchInput\"\n mods={{ button: true, disabled: isRadioDisabled }}\n />\n </SwatchElement>\n );\n}\n\n/**\n * A grid of color swatches, one of which can be selected — the palette half of\n * choosing a color, where `ColorPicker` is the freeform half.\n *\n * Swatches are keyed by their canonical hex, so the same color written two ways\n * collapses into one entry. Equivalent colors would otherwise make selection\n * ambiguous.\n */\nexport const ColorSwatchGroup = forwardRef(function ColorSwatchGroup(\n allProps: CubeColorSwatchGroupProps,\n ref: ForwardedRef<HTMLElement>,\n) {\n const { t } = useI18n();\n const props = useFieldProps(allProps, {\n defaultValidationTrigger: 'onChange',\n valuePropsMapper: ({ value, onChange }) => ({\n value: value as string | null | undefined,\n onChange,\n }),\n });\n\n const {\n qa,\n colors = [],\n value,\n defaultValue,\n onChange,\n format = 'hex',\n columns,\n allowCustom,\n size = 'medium',\n isDisabled,\n isInvalid,\n isValid,\n swatchStyles,\n 'aria-label': ariaLabel,\n } = props;\n\n const { styles, field } = splitFieldLayout(props);\n const isInsidePopover = useIsInsideColorPopover();\n // A custom picker inside a color popover would open a popover of its own.\n const showCustom = allowCustom && !isInsidePopover;\n\n /** Keyed by canonical hex so the same color written two ways is one swatch. */\n const swatches = useMemo(() => {\n const seen = new Map<string, { key: string; label: string }>();\n\n for (const entry of colors) {\n const raw = typeof entry === 'string' ? entry : entry.color;\n const parsed = parseColor(raw);\n\n if (!parsed) continue;\n\n const key = toHex(parsed);\n\n if (seen.has(key)) continue;\n\n seen.set(key, {\n key,\n label:\n (typeof entry === 'string' ? undefined : entry.label) ??\n formatColor(parsed, format),\n });\n }\n\n return [...seen.values()];\n }, [colors, format]);\n\n const [internalValue, setInternalValue] = useState<string | null>(\n () => defaultValue ?? null,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n const selectedColor = parseColor((currentValue ?? '').toString());\n const selectedKey = selectedColor ? toHex(selectedColor) : null;\n const isCustom =\n !!selectedKey && !swatches.some((s) => s.key === selectedKey);\n\n const publish = useEvent((next: string | null) => {\n if (value === undefined) setInternalValue(next);\n\n onChange?.(next);\n });\n\n // `null` arrives from React Aria's native form reset of a group that\n // mounted with no value.\n const handleChange = useEvent((nextKey: string | null) => {\n const parsed = nextKey == null ? null : parseColor(nextKey);\n\n publish(parsed ? formatColor(parsed, format) : null);\n });\n\n const state = useRadioGroupState({\n value: selectedKey ?? null,\n isDisabled,\n isReadOnly: props.isReadOnly,\n // Becomes the group's `aria-invalid`, which is what says the field is\n // invalid to a screen reader; the red outline says it only to the eye.\n isInvalid,\n onChange: handleChange,\n });\n\n // `useFocusableRef` wants the ref of a real focusable control to forward to,\n // and a group of radios has no single one — `RadioGroup` takes the same\n // approach for the same reason.\n const domRef = useObjectRef(ref);\n const { radioGroupProps, labelProps } = useRadioGroup(\n {\n ...props,\n // React Aria hands `form` to every swatch's input as the id of its\n // `<form>`, so the form instance would render as `form=\"[object Object]\"`.\n form: undefined,\n // Only name the group here when nothing else does: an `aria-label` set\n // unconditionally would outrank the visible label React Aria wires up.\n 'aria-label': props.label\n ? undefined\n : (ariaLabel ?? t('colorSwatchGroup.colors', 'Colors')),\n orientation: 'horizontal',\n },\n state,\n );\n\n const group = (\n <GroupElement\n ref={domRef}\n qa={qa || 'ColorSwatchGroup'}\n data-size={size}\n data-input-type=\"colorswatchgroup\"\n styles={styles}\n mods={{\n ...getValidationMods({ isInvalid, isValid }),\n columns: !!columns,\n }}\n tokens={columns ? { $columns: columns } : undefined}\n >\n <RadiosElement {...radioGroupProps}>\n {swatches.map((swatch) => (\n <Swatch\n key={swatch.key}\n colorKey={swatch.key}\n label={swatch.label}\n state={state}\n isDisabled={isDisabled}\n size={size}\n styles={swatchStyles}\n />\n ))}\n </RadiosElement>\n {showCustom ? (\n <ColorPicker\n isBare\n aria-label={t('colorSwatchGroup.customColor', 'Custom color')}\n qa=\"ColorSwatchGroupCustom\"\n format={format}\n type=\"clear\"\n size={SWATCH_PX[size] ?? SWATCH_PX.medium}\n value={isCustom ? (currentValue ?? null) : null}\n isDisabled={isDisabled}\n isReadOnly={props.isReadOnly}\n triggerStyles={CUSTOM_TRIGGER_STYLES}\n swatchStyles={\n isCustom ? CUSTOM_SWATCH_SELECTED_STYLES : CUSTOM_SWATCH_STYLES\n }\n onChange={publish}\n >\n {null}\n </ColorPicker>\n ) : null}\n </GroupElement>\n );\n\n return wrapWithField(group, {\n ...props,\n ...field,\n labelProps: mergeProps(props.labelProps, labelProps),\n });\n});\n\n(ColorSwatchGroup as any).cubeInputType = 'Picker';\n"],"mappings":"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"}
@@ -2,14 +2,15 @@
2
2
  import { FieldBaseProps, TextFieldKeyboardProps } from "../../../shared/form.js";
3
3
  import "../../../shared/index.js";
4
4
  import { CollectionItem as _CollectionItem } from "../../CollectionItem.js";
5
- import { BasePropsWithoutChildren, BaseStyleProps, ColorStyleProps, OuterStyleProps, Styles } from "@tenphi/tasty";
5
+ import { FieldLayoutStyleProps } from "../../form/field-layout.js";
6
+ import { BasePropsWithoutChildren, Styles } from "@tenphi/tasty";
6
7
  import { ForwardedRef, ReactElement, ReactNode, RefObject } from "react";
7
8
  import { Section } from "react-stately";
8
9
  import { FocusableRef, Key as Key$1 } from "@react-types/shared";
9
10
  //#region src/components/fields/ComboBox/ComboBox.d.ts
10
11
  type FilterFn = (textValue: string, inputValue: string) => boolean;
11
12
  export type PopoverTriggerAction = 'focus' | 'input' | 'manual';
12
- export interface CubeComboBoxProps<T> extends BasePropsWithoutChildren, BaseStyleProps, OuterStyleProps, ColorStyleProps, FieldBaseProps<string | null | undefined> {
13
+ export interface CubeComboBoxProps<T> extends BasePropsWithoutChildren, FieldLayoutStyleProps, FieldBaseProps<string | null | undefined> {
13
14
  /** The selected key in controlled mode */
14
15
  selectedKey?: string | null;
15
16
  /** The default selected key in uncontrolled mode */
@@ -37,8 +38,9 @@ export interface CubeComboBoxProps<T> extends BasePropsWithoutChildren, BaseStyl
37
38
  * key handling. Receives React Aria's keyboard event: `e.preventDefault()`
38
39
  * skips the built-in handling for the key. `Escape` and `Tab` go on to
39
40
  * ancestors, such as a surrounding dialog, unless ComboBox acts on them
40
- * (`Escape` closing the list or clearing the value); other keys stop at the
41
- * input unless the handler calls `e.continuePropagation()`.
41
+ * (`Escape` closing the list or clearing the value) or the handler prevents
42
+ * them; other keys stop at the input unless the handler calls
43
+ * `e.continuePropagation()`.
42
44
  */
43
45
  onKeyDown?: TextFieldKeyboardProps['onKeyDown'];
44
46
  /**