@cube-dev/ui-kit 0.199.1 → 0.200.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 (705) hide show
  1. package/dist/CHANGELOG.md +47 -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 +2 -2
  13. package/dist/components/GlobalStyles.js.map +1 -1
  14. package/dist/components/GridProvider.d.ts +6 -4
  15. package/dist/components/GridProvider.js +14 -9
  16. package/dist/components/GridProvider.js.map +1 -1
  17. package/dist/components/HiddenInput.js +1 -1
  18. package/dist/components/Root.js +17 -17
  19. package/dist/components/Root.js.map +1 -1
  20. package/dist/components/actions/Action/Action.js +1 -1
  21. package/dist/components/actions/Banner/Banner.js +1 -1
  22. package/dist/components/actions/Button/Button.js +7 -9
  23. package/dist/components/actions/Button/Button.js.map +1 -1
  24. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js +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 +7 -12
  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 +35 -37
  33. package/dist/components/actions/ItemActionsWrapper.js.map +1 -1
  34. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  35. package/dist/components/actions/Link/Link.js +1 -1
  36. package/dist/components/actions/Menu/Menu.js +1 -1
  37. package/dist/components/actions/Menu/MenuCollectionItem.js +1 -1
  38. package/dist/components/actions/Menu/MenuItem.js +1 -1
  39. package/dist/components/actions/Menu/MenuSection.js +1 -1
  40. package/dist/components/actions/Menu/MenuTrigger.js +116 -127
  41. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  42. package/dist/components/actions/Menu/SubMenuTrigger.js +4 -3
  43. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  44. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  45. package/dist/components/actions/Menu/context.js +1 -1
  46. package/dist/components/actions/Menu/styled.js +5 -4
  47. package/dist/components/actions/Menu/styled.js.map +1 -1
  48. package/dist/components/actions/actions-run.js +1 -1
  49. package/dist/components/actions/index.js +1 -1
  50. package/dist/components/actions/use-action.js +1 -1
  51. package/dist/components/actions/use-anchored-menu.js +1 -1
  52. package/dist/components/actions/use-context-menu.js +32 -23
  53. package/dist/components/actions/use-context-menu.js.map +1 -1
  54. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  55. package/dist/components/content/Alert/Alert.js +1 -1
  56. package/dist/components/content/Alert/Alert.js.map +1 -1
  57. package/dist/components/content/Alert/use-alert.js +24 -27
  58. package/dist/components/content/Alert/use-alert.js.map +1 -1
  59. package/dist/components/content/Avatar/Avatar.js +1 -1
  60. package/dist/components/content/Badge/Badge.js +6 -2
  61. package/dist/components/content/Badge/Badge.js.map +1 -1
  62. package/dist/components/content/Card/Card.js +1 -1
  63. package/dist/components/content/Content.js +1 -1
  64. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -3
  65. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  66. package/dist/components/content/CopySnippet/CopySnippet.js +83 -87
  67. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  68. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  69. package/dist/components/content/Divider.js +1 -1
  70. package/dist/components/content/Footer.js +1 -1
  71. package/dist/components/content/Header.js +1 -1
  72. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  73. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  74. package/dist/components/content/InlineInput/InlineInput.js +6 -13
  75. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  76. package/dist/components/content/Item/Item.js +18 -18
  77. package/dist/components/content/Item/Item.js.map +1 -1
  78. package/dist/components/content/Item/ItemWithNativeLinks.js +1 -1
  79. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  80. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  81. package/dist/components/content/Layout/GridLayout.js +1 -1
  82. package/dist/components/content/Layout/Layout.js +10 -14
  83. package/dist/components/content/Layout/Layout.js.map +1 -1
  84. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  85. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  86. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  87. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  88. package/dist/components/content/Layout/LayoutContent.js +18 -16
  89. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  90. package/dist/components/content/Layout/LayoutContext.js +1 -1
  91. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  92. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  93. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  94. package/dist/components/content/Layout/LayoutHeader.js +2 -2
  95. package/dist/components/content/Layout/LayoutHeader.js.map +1 -1
  96. package/dist/components/content/Layout/LayoutPane.js +35 -31
  97. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  98. package/dist/components/content/Layout/LayoutPanel.js +31 -27
  99. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  100. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  101. package/dist/components/content/Layout/LayoutPanelTransition.js +1 -1
  102. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  103. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +23 -25
  104. package/dist/components/content/Layout/hooks/useTinyScrollbar.js.map +1 -1
  105. package/dist/components/content/Layout/index.js +1 -1
  106. package/dist/components/content/Layout/utils.js +1 -1
  107. package/dist/components/content/Paragraph.js +1 -1
  108. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  109. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  110. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  111. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  112. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  113. package/dist/components/content/PrismCode/prismSetup.js.map +1 -1
  114. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  115. package/dist/components/content/Result/Result.js +1 -1
  116. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  117. package/dist/components/content/Skeleton/Skeleton.js.map +1 -1
  118. package/dist/components/content/Tag/Tag.js +6 -2
  119. package/dist/components/content/Tag/Tag.js.map +1 -1
  120. package/dist/components/content/Text.js +1 -1
  121. package/dist/components/content/TextItem/TextItem.js +2 -5
  122. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  123. package/dist/components/content/Title.js +1 -1
  124. package/dist/components/content/Tree/Tree.js +11 -21
  125. package/dist/components/content/Tree/Tree.js.map +1 -1
  126. package/dist/components/content/Tree/TreeNode.js +7 -7
  127. package/dist/components/content/Tree/TreeNode.js.map +1 -1
  128. package/dist/components/content/Tree/styled.js +31 -12
  129. package/dist/components/content/Tree/styled.js.map +1 -1
  130. package/dist/components/content/Tree/tree-index.js +1 -1
  131. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  132. package/dist/components/content/Tree/use-load-data.js +1 -1
  133. package/dist/components/content/highlightText.js +1 -1
  134. package/dist/components/content/use-auto-tooltip.js +1 -1
  135. package/dist/components/data/DataTable/DataTable.js +1 -1
  136. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  137. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  138. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  139. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  140. package/dist/components/data/ItemTable/ItemTableToolbar.js +2 -2
  141. package/dist/components/data/ItemTable/ItemTableToolbar.js.map +1 -1
  142. package/dist/components/data/ItemTable/use-item-table-column-widths.js +1 -1
  143. package/dist/components/data/ItemTable/use-item-table-drag-drop.js +1 -1
  144. package/dist/components/data/ItemTable/use-item-table-pagination.js +1 -1
  145. package/dist/components/data/ItemTable/use-item-table-selection.js +1 -1
  146. package/dist/components/data/ItemTable/use-item-table-sort.js +1 -1
  147. package/dist/components/data/ItemTable/use-item-table-tree-model.js +1 -1
  148. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  149. package/dist/components/data/TableBase/RowCollection.js +1 -1
  150. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  151. package/dist/components/data/TableBase/TableRow.js +1 -1
  152. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  153. package/dist/components/data/TableBase/TableView.js +4 -7
  154. package/dist/components/data/TableBase/TableView.js.map +1 -1
  155. package/dist/components/data/TableBase/TreeGridTable.js +1 -1
  156. package/dist/components/data/TableBase/TreeGridTable.js.map +1 -1
  157. package/dist/components/data/TableBase/column-header.js +1 -1
  158. package/dist/components/data/TableBase/column-menu.js +1 -1
  159. package/dist/components/data/TableBase/column-styles.js +1 -1
  160. package/dist/components/data/TableBase/column-tint.js +1 -1
  161. package/dist/components/data/TableBase/row-menu.js +1 -1
  162. package/dist/components/data/TableBase/styled.js +36 -29
  163. package/dist/components/data/TableBase/styled.js.map +1 -1
  164. package/dist/components/data/TableBase/table-tree.js +1 -1
  165. package/dist/components/data/TableBase/types.js +1 -1
  166. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  167. package/dist/components/data/TableBase/use-column-menu.js +1 -1
  168. package/dist/components/data/TableBase/use-column-order.js +1 -1
  169. package/dist/components/data/TableBase/use-column-window.js +1 -1
  170. package/dist/components/data/TableBase/use-container-width.js +1 -1
  171. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  172. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  173. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  174. package/dist/components/data/TableBase/use-table-search.js +1 -1
  175. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  176. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  177. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  178. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  179. package/dist/components/data/TableBase/use-table-tooltip-refresh.js +1 -1
  180. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  181. package/dist/components/fields/Checkbox/Checkbox.js +3 -3
  182. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  183. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  184. package/dist/components/fields/Checkbox/context.js +1 -1
  185. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  186. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  187. package/dist/components/fields/ColorSwatch/ColorSwatch.d.ts +1 -1
  188. package/dist/components/fields/ColorSwatch/ColorSwatch.js +4 -4
  189. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -1
  190. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +12 -15
  191. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js.map +1 -1
  192. package/dist/components/fields/ComboBox/ComboBox.d.ts +1 -1
  193. package/dist/components/fields/ComboBox/ComboBox.js +174 -183
  194. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  195. package/dist/components/fields/ComboBox/comboBoxOptions.js +1 -1
  196. package/dist/components/fields/CommandTextArea/CommandTextArea.d.ts +1 -1
  197. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  198. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  199. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  200. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  201. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  202. package/dist/components/fields/DatePicker/DateInputBase.js +5 -9
  203. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  204. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  205. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  206. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  207. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  208. package/dist/components/fields/DatePicker/DatePickerSegment.js +49 -39
  209. package/dist/components/fields/DatePicker/DatePickerSegment.js.map +1 -1
  210. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  211. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  212. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  213. package/dist/components/fields/DatePicker/PeriodPicker.js +5 -3
  214. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  215. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  216. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  217. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  218. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  219. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  220. package/dist/components/fields/DatePicker/period.js +1 -1
  221. package/dist/components/fields/DatePicker/props.js +1 -1
  222. package/dist/components/fields/DatePicker/utils.js +1 -1
  223. package/dist/components/fields/FileInput/FileInput.js +2 -2
  224. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  225. package/dist/components/fields/FilterListBox/FilterListBox.js +6 -8
  226. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  227. package/dist/components/fields/FilterPicker/FilterPicker.js +2 -2
  228. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  229. package/dist/components/fields/Input/Input.js +1 -1
  230. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  231. package/dist/components/fields/ListBox/ListBox.d.ts +1 -1
  232. package/dist/components/fields/ListBox/ListBox.js +49 -24
  233. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  234. package/dist/components/fields/ListBox/optionId.js +1 -1
  235. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +2 -2
  236. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js.map +1 -1
  237. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  238. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  239. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  240. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  241. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  242. package/dist/components/fields/Picker/Picker.js +2 -2
  243. package/dist/components/fields/Picker/Picker.js.map +1 -1
  244. package/dist/components/fields/RadioGroup/Radio.js +91 -96
  245. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  246. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -3
  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/SearchComboBox/SearchComboBox.d.ts +1 -1
  250. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -2
  251. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  252. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  253. package/dist/components/fields/Select/Select.d.ts +1 -1
  254. package/dist/components/fields/Select/Select.js +4 -4
  255. package/dist/components/fields/Select/Select.js.map +1 -1
  256. package/dist/components/fields/Slider/Gradation.js +1 -1
  257. package/dist/components/fields/Slider/HueSlider.js +3 -3
  258. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  259. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  260. package/dist/components/fields/Slider/Slider.js +1 -1
  261. package/dist/components/fields/Slider/SliderBase.js +4 -6
  262. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  263. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  264. package/dist/components/fields/Slider/SliderTrack.js +5 -5
  265. package/dist/components/fields/Slider/SliderTrack.js.map +1 -1
  266. package/dist/components/fields/Slider/elements.js +7 -6
  267. package/dist/components/fields/Slider/elements.js.map +1 -1
  268. package/dist/components/fields/Slider/index.js +1 -1
  269. package/dist/components/fields/Switch/Switch.js +3 -3
  270. package/dist/components/fields/Switch/Switch.js.map +1 -1
  271. package/dist/components/fields/TagInput/TagInput.d.ts +1 -1
  272. package/dist/components/fields/TagInput/TagInput.js +1 -1
  273. package/dist/components/fields/TagInput/TagInput.js.map +1 -1
  274. package/dist/components/fields/TagInput/TagList.js +3 -3
  275. package/dist/components/fields/TagInput/TagList.js.map +1 -1
  276. package/dist/components/fields/TagInput/useActiveOption.js +1 -1
  277. package/dist/components/fields/TagInput/useTagError.js +1 -1
  278. package/dist/components/fields/TextArea/TextArea.js +1 -1
  279. package/dist/components/fields/TextInput/TextInput.js +1 -1
  280. package/dist/components/fields/TextInput/TextInputBase.js +3 -6
  281. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  282. package/dist/components/fields/TextInput/displayed-validation.js +1 -1
  283. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  284. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  285. package/dist/components/fields/TriggerActions.js +1 -1
  286. package/dist/components/fields/color/ColorPanel.js +7 -7
  287. package/dist/components/fields/color/ColorPanel.js.map +1 -1
  288. package/dist/components/fields/color/channels.js +4 -4
  289. package/dist/components/fields/color/channels.js.map +1 -1
  290. package/dist/components/fields/color/color.js +1 -1
  291. package/dist/components/fields/color/context.js +1 -1
  292. package/dist/components/fields/option-origin-press.js +1 -1
  293. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  294. package/dist/components/form/FieldWrapper/field-description.js +1 -1
  295. package/dist/components/form/Form/Field.js +1 -1
  296. package/dist/components/form/Form/Form.js +1 -1
  297. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  298. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  299. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  300. package/dist/components/form/Form/SubmitError.js +1 -1
  301. package/dist/components/form/Form/backend.js +1 -1
  302. package/dist/components/form/Form/index.js +1 -1
  303. package/dist/components/form/Form/modern/actions.js +1 -1
  304. package/dist/components/form/Form/modern/context.js +1 -1
  305. package/dist/components/form/Form/modern/controller.js +1 -1
  306. package/dist/components/form/Form/modern/field-binding.js +1 -1
  307. package/dist/components/form/Form/modern/field.js +1 -1
  308. package/dist/components/form/Form/modern/react.js +1 -1
  309. package/dist/components/form/Form/modern/store.js +1 -1
  310. package/dist/components/form/Form/modern/validation.js +1 -1
  311. package/dist/components/form/Form/modern/values.js +1 -1
  312. package/dist/components/form/Form/reset-unbound-controls.js +1 -1
  313. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  314. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  315. package/dist/components/form/Form/use-field/use-field.js +1 -1
  316. package/dist/components/form/Form/use-form.js +1 -1
  317. package/dist/components/form/Form/validation.js +1 -1
  318. package/dist/components/form/Label.js +11 -8
  319. package/dist/components/form/Label.js.map +1 -1
  320. package/dist/components/form/field-chrome.js +1 -1
  321. package/dist/components/form/legacy-tooltip.js +1 -1
  322. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  323. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  324. package/dist/components/form/validation/use-validation-props.js +1 -1
  325. package/dist/components/form/wrapper.js +1 -1
  326. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  327. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  328. package/dist/components/layout/Flex.js +1 -1
  329. package/dist/components/layout/Flow.js +1 -1
  330. package/dist/components/layout/Grid.js +1 -1
  331. package/dist/components/layout/Panel.js +13 -38
  332. package/dist/components/layout/Panel.js.map +1 -1
  333. package/dist/components/layout/Prefix.js +16 -22
  334. package/dist/components/layout/Prefix.js.map +1 -1
  335. package/dist/components/layout/ResizablePanel.js +30 -25
  336. package/dist/components/layout/ResizablePanel.js.map +1 -1
  337. package/dist/components/layout/Space.js +1 -1
  338. package/dist/components/layout/Suffix.js +16 -22
  339. package/dist/components/layout/Suffix.js.map +1 -1
  340. package/dist/components/navigation/Pagination/Pagination.js +2 -2
  341. package/dist/components/navigation/Pagination/Pagination.js.map +1 -1
  342. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  343. package/dist/components/navigation/Tabs/BoardDragActiveProvider.js +1 -1
  344. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  345. package/dist/components/navigation/Tabs/TabButton.js +2 -1
  346. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  347. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  348. package/dist/components/navigation/Tabs/TabPanel.js +2 -2
  349. package/dist/components/navigation/Tabs/TabPanel.js.map +1 -1
  350. package/dist/components/navigation/Tabs/TabPicker.js +62 -68
  351. package/dist/components/navigation/Tabs/TabPicker.js.map +1 -1
  352. package/dist/components/navigation/Tabs/Tabs.js +6 -9
  353. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  354. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  355. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  356. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  357. package/dist/components/navigation/Tabs/styled.js +20 -17
  358. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  359. package/dist/components/navigation/Tabs/types.js +1 -1
  360. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  361. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  362. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  363. package/dist/components/other/Calendar/Calendar.js +1 -1
  364. package/dist/components/other/Calendar/CalendarCell.js +6 -6
  365. package/dist/components/other/Calendar/CalendarCell.js.map +1 -1
  366. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  367. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  368. package/dist/components/other/Calendar/CalendarPanel.js +3 -3
  369. package/dist/components/other/Calendar/CalendarPanel.js.map +1 -1
  370. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  371. package/dist/components/other/Calendar/PeriodGrid.js +6 -6
  372. package/dist/components/other/Calendar/PeriodGrid.js.map +1 -1
  373. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  374. package/dist/components/other/Calendar/styled.js +4 -4
  375. package/dist/components/other/Calendar/styled.js.map +1 -1
  376. package/dist/components/other/CubeLogo/CubeLogo.js +3 -4
  377. package/dist/components/other/CubeLogo/CubeLogo.js.map +1 -1
  378. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  379. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  380. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  381. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  382. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  383. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  384. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  385. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  386. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  387. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  388. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  389. package/dist/components/overlays/Dialog/context.js +1 -1
  390. package/dist/components/overlays/Dialog/default-button-text.js +1 -1
  391. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  392. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  393. package/dist/components/overlays/Dialog/use-dialog-open-sync.js +1 -1
  394. package/dist/components/overlays/Dialog/use-retained-dialog-focus.js +1 -1
  395. package/dist/components/overlays/Modal/Modal.js +3 -3
  396. package/dist/components/overlays/Modal/Modal.js.map +1 -1
  397. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  398. package/dist/components/overlays/Modal/Overlay.js +1 -1
  399. package/dist/components/overlays/Modal/Popover.js +1 -1
  400. package/dist/components/overlays/Modal/Popover.js.map +1 -1
  401. package/dist/components/overlays/Modal/Tray.js +5 -6
  402. package/dist/components/overlays/Modal/Tray.js.map +1 -1
  403. package/dist/components/overlays/Modal/Underlay.js +2 -2
  404. package/dist/components/overlays/Modal/Underlay.js.map +1 -1
  405. package/dist/components/overlays/Modal/modal-containment.js +1 -1
  406. package/dist/components/overlays/Notifications/Notification.js +1 -1
  407. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  408. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  409. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  410. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  411. package/dist/components/overlays/Notifications/OverlayContainer.js +28 -13
  412. package/dist/components/overlays/Notifications/OverlayContainer.js.map +1 -1
  413. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  414. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  415. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  416. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  417. package/dist/components/overlays/Notifications/index.js +1 -1
  418. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  419. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  420. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  421. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  422. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  423. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  424. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  425. package/dist/components/overlays/Toast/index.js +1 -1
  426. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  427. package/dist/components/overlays/Toast/useToast.js +1 -1
  428. package/dist/components/overlays/Tooltip/Tooltip.js +8 -6
  429. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  430. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  431. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  432. package/dist/components/overlays/Tooltip/context.js +1 -1
  433. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  434. package/dist/components/portal/Portal.js +1 -1
  435. package/dist/components/portal/PortalProvider.js +1 -1
  436. package/dist/components/portal/usePortal.js +1 -1
  437. package/dist/components/shared/DraggableCollection.js +1 -1
  438. package/dist/components/shared/InvalidIcon.js +1 -1
  439. package/dist/components/shared/ValidIcon.js +1 -1
  440. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +58 -57
  441. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  442. package/dist/components/status/Spin/Cube.js +1 -1
  443. package/dist/components/status/Spin/Cube.js.map +1 -1
  444. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  445. package/dist/components/status/Spin/Spin.js +1 -1
  446. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  447. package/dist/data/item-themes.js +153 -188
  448. package/dist/data/item-themes.js.map +1 -1
  449. package/dist/data/themes.js +1 -1
  450. package/dist/eslint-plugin/defaults.generated.js +2 -2
  451. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  452. package/dist/eslint-plugin/index.js +1 -1
  453. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  454. package/dist/i18n/I18nProvider.js +1 -1
  455. package/dist/i18n/createFormatter.js +1 -1
  456. package/dist/i18n/index.js +1 -1
  457. package/dist/i18n/instance.js +1 -1
  458. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  459. package/dist/i18n/locales/en-US/uikit.js +1 -1
  460. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  461. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  462. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  463. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  464. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  465. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  466. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  467. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  468. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  469. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  470. package/dist/i18n/locales.js +1 -1
  471. package/dist/i18n/namespace.js +1 -1
  472. package/dist/i18n/useFormatter.js +1 -1
  473. package/dist/i18n/useI18n.js +1 -1
  474. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  475. package/dist/icons/AdjustmentsIcon.js +1 -1
  476. package/dist/icons/AiIcon.js +1 -1
  477. package/dist/icons/AreaChartIcon.js +1 -1
  478. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  479. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  480. package/dist/icons/BackwardIcon.js +1 -1
  481. package/dist/icons/BarChartIcon.js +1 -1
  482. package/dist/icons/BellFilledIcon.js +1 -1
  483. package/dist/icons/BellIcon.js +1 -1
  484. package/dist/icons/BooleanIcon.js +1 -1
  485. package/dist/icons/CalendarEditIcon.js +1 -1
  486. package/dist/icons/CalendarIcon.js +1 -1
  487. package/dist/icons/CaretDownIcon.js +1 -1
  488. package/dist/icons/CaretUpIcon.js +1 -1
  489. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  490. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  491. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  492. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  493. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  494. package/dist/icons/ChartBarLineIcon.js +1 -1
  495. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  496. package/dist/icons/ChartBarStackedIcon.js +1 -1
  497. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  498. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  499. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  500. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  501. package/dist/icons/ChartBubbleIcon.js +1 -1
  502. package/dist/icons/ChartDonut2Icon.js +1 -1
  503. package/dist/icons/ChartFunnelIcon.js +1 -1
  504. package/dist/icons/ChartHeatmapIcon.js +1 -1
  505. package/dist/icons/ChartKPIIcon.js +1 -1
  506. package/dist/icons/ChartPie2Icon.js +1 -1
  507. package/dist/icons/ChartScatterIcon.js +1 -1
  508. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  509. package/dist/icons/CheckCircleIcon.js +1 -1
  510. package/dist/icons/CheckIcon.js +1 -1
  511. package/dist/icons/CircleFilledIcon.js +1 -1
  512. package/dist/icons/ClearIcon.js +1 -1
  513. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  514. package/dist/icons/CloseCircleIcon.js +1 -1
  515. package/dist/icons/CloseIcon.js +1 -1
  516. package/dist/icons/CodeIcon.js +1 -1
  517. package/dist/icons/ColumnTotalIcon.js +1 -1
  518. package/dist/icons/CopyIcon.js +1 -1
  519. package/dist/icons/CountIcon.js +1 -1
  520. package/dist/icons/CubeIcon.js +1 -1
  521. package/dist/icons/CubePauseIcon.js +1 -1
  522. package/dist/icons/CubePlayIcon.js +1 -1
  523. package/dist/icons/CurrencyDollarIcon.js +1 -1
  524. package/dist/icons/DangerIcon.js +1 -1
  525. package/dist/icons/DashboardIcon.js +1 -1
  526. package/dist/icons/DatabaseIcon.js +1 -1
  527. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  528. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  529. package/dist/icons/DirectionIcon.js +25 -22
  530. package/dist/icons/DirectionIcon.js.map +1 -1
  531. package/dist/icons/DonutIcon.js +1 -1
  532. package/dist/icons/DownIcon.js +1 -1
  533. package/dist/icons/EditIcon.js +1 -1
  534. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  535. package/dist/icons/ExclamationCircleIcon.js +1 -1
  536. package/dist/icons/ExclamationIcon.js +1 -1
  537. package/dist/icons/EyeIcon.js +1 -1
  538. package/dist/icons/EyeInvisibleIcon.js +1 -1
  539. package/dist/icons/FilterIcon.js +1 -1
  540. package/dist/icons/FolderFilledIcon.js +1 -1
  541. package/dist/icons/FolderIcon.js +1 -1
  542. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  543. package/dist/icons/FolderOpenIcon.js +1 -1
  544. package/dist/icons/ForwardIcon.js +1 -1
  545. package/dist/icons/GripVerticalIcon.js +1 -1
  546. package/dist/icons/HierarchyIcon.js +1 -1
  547. package/dist/icons/HierarchyOpenIcon.js +1 -1
  548. package/dist/icons/Icon.js +21 -38
  549. package/dist/icons/Icon.js.map +1 -1
  550. package/dist/icons/InfoCircleIcon.js +1 -1
  551. package/dist/icons/InfoIcon.js +1 -1
  552. package/dist/icons/KeyIcon.js +1 -1
  553. package/dist/icons/LeftIcon.js +1 -1
  554. package/dist/icons/LineChartIcon.js +1 -1
  555. package/dist/icons/LoadingIcon.js +1 -1
  556. package/dist/icons/LockFilledIcon.js +1 -1
  557. package/dist/icons/LockIcon.js +1 -1
  558. package/dist/icons/MoreIcon.js +1 -1
  559. package/dist/icons/NotAllowedIcon.js +1 -1
  560. package/dist/icons/Number123Icon.js +1 -1
  561. package/dist/icons/NumberIcon.js +1 -1
  562. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  563. package/dist/icons/PauseCircleIcon.js +1 -1
  564. package/dist/icons/PauseIcon.js +1 -1
  565. package/dist/icons/PercentageIcon.js +1 -1
  566. package/dist/icons/PieChartIcon.js +1 -1
  567. package/dist/icons/PipetteIcon.js +1 -1
  568. package/dist/icons/PlayCircleIcon.js +7 -2
  569. package/dist/icons/PlayCircleIcon.js.map +1 -1
  570. package/dist/icons/PlayIcon.js +1 -1
  571. package/dist/icons/PlusIcon.js +1 -1
  572. package/dist/icons/ProgressBarIcon.js +1 -1
  573. package/dist/icons/ReloadIcon.js +1 -1
  574. package/dist/icons/ReportIcon.js +1 -1
  575. package/dist/icons/ReturnIcon.js +1 -1
  576. package/dist/icons/RightIcon.js +1 -1
  577. package/dist/icons/RowTotalsIcon.js +1 -1
  578. package/dist/icons/SchemeIcon.js +1 -1
  579. package/dist/icons/SearchIcon.js +1 -1
  580. package/dist/icons/SemanticQueryIcon.js +1 -1
  581. package/dist/icons/SettingsIcon.js +1 -1
  582. package/dist/icons/ShieldFilledIcon.js +1 -1
  583. package/dist/icons/ShieldIcon.js +1 -1
  584. package/dist/icons/SlashIcon.js +1 -1
  585. package/dist/icons/SparklesIcon.js +1 -1
  586. package/dist/icons/SqlIcon.js +1 -1
  587. package/dist/icons/StatsIcon.js +1 -1
  588. package/dist/icons/StopIcon.js +1 -1
  589. package/dist/icons/StringIcon.js +1 -1
  590. package/dist/icons/SubtotalsIcon.js +1 -1
  591. package/dist/icons/SwitchIcon.js +1 -1
  592. package/dist/icons/TableIcon.js +1 -1
  593. package/dist/icons/ThumbsDownIcon.js +1 -1
  594. package/dist/icons/ThumbsUpIcon.js +1 -1
  595. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  596. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  597. package/dist/icons/ThunderboltIcon.js +1 -1
  598. package/dist/icons/TimeIcon.js +1 -1
  599. package/dist/icons/TrashIcon.js +1 -1
  600. package/dist/icons/UnlockIcon.js +1 -1
  601. package/dist/icons/UpIcon.js +1 -1
  602. package/dist/icons/UserGroupIcon.js +1 -1
  603. package/dist/icons/UserIcon.js +1 -1
  604. package/dist/icons/UserLockIcon.js +1 -1
  605. package/dist/icons/ViewIcon.js +1 -1
  606. package/dist/icons/WarningFilledIcon.js +1 -1
  607. package/dist/icons/WarningIcon.js +1 -1
  608. package/dist/icons/wrap-icon.js +1 -1
  609. package/dist/index.js +1 -1
  610. package/dist/probe/canonicalize.js +1 -1
  611. package/dist/probe/css.js +1 -1
  612. package/dist/probe/index.js +1 -1
  613. package/dist/provider.js +1 -1
  614. package/dist/providers/TrackingProvider.js +1 -1
  615. package/dist/providers/navigation-url.js +1 -1
  616. package/dist/providers/navigationAdapter.default.js +1 -1
  617. package/dist/providers/use-navigation.js +1 -1
  618. package/dist/tokens/all-tokens.js +1 -1
  619. package/dist/tokens/base.js +12 -2
  620. package/dist/tokens/base.js.map +1 -1
  621. package/dist/tokens/color-seed.js +1 -1
  622. package/dist/tokens/color-theme.js +1 -1
  623. package/dist/tokens/colors.js +4 -4
  624. package/dist/tokens/colors.js.map +1 -1
  625. package/dist/tokens/layout.js +1 -1
  626. package/dist/tokens/lazy-styles.js +1 -1
  627. package/dist/tokens/legacy-color.js +1 -1
  628. package/dist/tokens/palette-config.js +1 -1
  629. package/dist/tokens/palette.js +1 -1
  630. package/dist/tokens/palette.js.map +1 -1
  631. package/dist/tokens/resolve.js +1 -1
  632. package/dist/tokens/resolve.js.map +1 -1
  633. package/dist/tokens/shadows.d.ts +0 -1
  634. package/dist/tokens/shadows.js +2 -3
  635. package/dist/tokens/shadows.js.map +1 -1
  636. package/dist/tokens/sizes.js +1 -1
  637. package/dist/tokens/spacing.js +1 -1
  638. package/dist/tokens/typography.js +1 -1
  639. package/dist/utils/ResizeSensor.js +1 -1
  640. package/dist/utils/colors.js +1 -1
  641. package/dist/utils/dotize.js +1 -1
  642. package/dist/utils/is-dev-env.js +1 -1
  643. package/dist/utils/modules.js +1 -1
  644. package/dist/utils/promise.js +1 -1
  645. package/dist/utils/raf.js +1 -1
  646. package/dist/utils/random.js +1 -1
  647. package/dist/utils/range.js +1 -1
  648. package/dist/utils/react/RenderCache.js +1 -1
  649. package/dist/utils/react/Slots.js +1 -1
  650. package/dist/utils/react/chain.js +1 -1
  651. package/dist/utils/react/disabledProps.js +1 -1
  652. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  653. package/dist/utils/react/index.js +1 -1
  654. package/dist/utils/react/interactions.js +1 -1
  655. package/dist/utils/react/isTextOnly.js +1 -1
  656. package/dist/utils/react/mapProps.js +1 -1
  657. package/dist/utils/react/mergeProps.js +1 -1
  658. package/dist/utils/react/nullableValue.js +1 -1
  659. package/dist/utils/react/overlayKeyPropagation.js +1 -1
  660. package/dist/utils/react/programmaticFocus.js +1 -1
  661. package/dist/utils/react/resolveIcon.js +1 -1
  662. package/dist/utils/react/sharedStore.js +1 -1
  663. package/dist/utils/react/useBufferedValue.js +1 -1
  664. package/dist/utils/react/useCombinedRefs.js +1 -1
  665. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  666. package/dist/utils/react/useEventBus.js +1 -1
  667. package/dist/utils/react/useId.js +1 -1
  668. package/dist/utils/react/useIsDarwin.js +1 -1
  669. package/dist/utils/react/useKeySymbols.js +1 -1
  670. package/dist/utils/react/useLayoutEffect.js +1 -1
  671. package/dist/utils/react/useLocalStorage.js +1 -1
  672. package/dist/utils/react/useMergeStyles.js +1 -1
  673. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  674. package/dist/utils/react/usePopoverSync.js +1 -1
  675. package/dist/utils/react/useQaProps.js +1 -1
  676. package/dist/utils/react/useScheme.js +1 -1
  677. package/dist/utils/react/useViewportSize.js +1 -1
  678. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  679. package/dist/utils/selection.js +1 -1
  680. package/dist/utils/styles.js +1 -1
  681. package/dist/utils/tree.js +1 -1
  682. package/dist/utils/warnings.js +1 -1
  683. package/dist/version.js +3 -3
  684. package/docs/BaseProperties.md +2 -0
  685. package/docs/ComplexLayout.md +1 -1
  686. package/docs/Usage.md +47 -2
  687. package/docs/Utilities.md +5 -2
  688. package/docs/components/GridProvider.md +3 -3
  689. package/docs/components/content/HotKeys.md +2 -2
  690. package/docs/components/content/InlineInput.md +2 -2
  691. package/docs/components/content/Item.md +5 -5
  692. package/docs/components/content/Layout.md +8 -8
  693. package/docs/components/content/Text.md +1 -1
  694. package/docs/components/fields/ComboBox.md +1 -1
  695. package/docs/components/fields/CommandTextArea.md +1 -1
  696. package/docs/components/fields/FilterListBox.md +1 -1
  697. package/docs/components/fields/FilterPicker.md +1 -1
  698. package/docs/components/fields/ListBox.md +2 -2
  699. package/docs/components/fields/Picker.md +1 -1
  700. package/docs/components/fields/SearchComboBox.md +1 -1
  701. package/docs/components/fields/Select.md +1 -1
  702. package/docs/components/fields/TagInput.md +1 -1
  703. package/docs/tasty/react-api.md +1 -1
  704. package/package.json +3 -3
  705. package/tasty.config.ts +206 -4
package/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,52 @@
1
1
  # @cube-dev/ui-kit
2
2
 
3
+ ## 0.200.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1573](https://github.com/cube-js/cube-ui-kit/pull/1573) [`7caf4add`](https://github.com/cube-js/cube-ui-kit/commit/7caf4add01f06c1cfa5ed9ef7c7cea92c29fa611) Thanks [@tenphi](https://github.com/tenphi)! - The published `tasty.config.ts` lists the components a consumer customizes through their props rather than by restyling them, as `protectedComponents`. With `@tenphi/eslint-plugin-tasty` 1.12.0 or newer, a project that extends the config gets `tasty/no-protected-restyle` reports for:
8
+
9
+ - instance `styles` and `*Styles` props;
10
+ - appearance style props such as `fill`, `color`, `border` or `radius`;
11
+ - `tasty()` wrappers that restyle one of these components.
12
+
13
+ Every component is protected except the layout and typography primitives, the `Action` base and the icons. Style props that place or size a component stay allowed. Containers also keep the ones that lay out their content: `Card`, `Panel`, `ResizablePanel`, `Content`, `Header`, `Footer`, `Layout` and `GridLayout`. A component's own prop that shares a name with a style, such as a field's `filter` or `ColorSwatch`'s `color`, passes.
14
+
15
+ The rule is a warning in both of the plugin's presets, so a project that uses a preset sees these warnings once it updates. A project that lists its rules sees them only after it enables `tasty/no-protected-restyle`. The Usage docs (Customizing components) describe the contract.
16
+
17
+ ### Patch Changes
18
+
19
+ - [#1572](https://github.com/cube-js/cube-ui-kit/pull/1572) [`3268c4a5`](https://github.com/cube-js/cube-ui-kit/commit/3268c4a5450af0a8776e40423515975df1d05afa) Thanks [@tenphi](https://github.com/tenphi)! - A virtualized `ListBox` and `Tree`, the `Slider` value label and `DatePicker` segments now size and place themselves through Tasty tokens instead of inline `style`, and render the same. A virtualized `ListBox` takes its height from a spacer, so a `listStyles` height now applies to it: a cap such as `height: 'max 30x'` still caps the list, which now scrolls its whole length at once, and a fixed height, which the inline height used to replace, now sets it. A `position` in `listStyles`, or a `position`, `inset` or `transform` in an option's `styles`, now takes over from the virtualizer's value; before, the inline value won. `Tree` now wraps its rows in a Tasty element with `data-qa="TreeSizer"`.
20
+
21
+ - [#1567](https://github.com/cube-js/cube-ui-kit/pull/1567) [`72048186`](https://github.com/cube-js/cube-ui-kit/commit/720481868f209b382230ae498870ab205546ef6d) Thanks [@tenphi](https://github.com/tenphi)! - Add the `$outline-offset` token (`1px`), the gap between a focus outline and its element. The focus rings of `Button`, `ItemAction`, `Item`, `InlineInput`, `Checkbox`, `Switch`, `Slider`, `TagInput`'s tags, `Calendar` (at half), `ListBox` options (inward), the `TableBase` column resizer and drop indicator, and the `Layout` and `ResizablePanel` resize handles use it. The `TableBase` and `ListBox` offsets no longer follow `--border-width`. `FileInput`'s padding and `CopyPasteBlock`'s padding and focus border compensate for a border, so they now use the `bw` unit and follow `--border-width`. The `Tabs` drop-indicator offset and `ItemTable`'s search width cap use the `x` unit. Rendered sizes are unchanged at the defaults.
22
+
23
+ - [#1569](https://github.com/cube-js/cube-ui-kit/pull/1569) [`5e6a5f33`](https://github.com/cube-js/cube-ui-kit/commit/5e6a5f33d8f448a6b152c52c4524123e61319ed7) Thanks [@tenphi](https://github.com/tenphi)! - Stop using the `bw` unit for values that aren't border widths, so changing `--border-width` now moves only borders, dividers and the sizes that make room for a border. Two new tokens cover the shared values:
24
+
25
+ - `$ring-width` (`1px`), the width of a hairline focus or selection ring. The hairline focus outlines use it (a field's thick focus ring stays `ow`, `$outline-width`), and so do the rings drawn with `shadow` in `TableBase`, `Tabs`, `ColorSwatchGroup` and the color-picker thumb. `RadioGroup` and `ColorSwatchGroup` also take their ring offset from `$outline-offset` now.
26
+ - `$item-gap` (`1px`), the hairline between adjacent items. `Menu`, `Select`, `ListBox` and the other `listGap` lists, `Item` actions, `Pagination`, vertical `Tabs` and the `Layout` breadcrumbs use it, and `listGap` documents it as its default.
27
+
28
+ The resize-handle dot gaps, `Calendar` cell spacing, `DatePicker` segment padding, the `Tabs` indicator, the `TableBase` drop indicators and the resizer's hover line keep their own device-pixel sizes, and `$item-shadow`'s offset is a plain `1px`. Rendered sizes are unchanged at the defaults.
29
+
30
+ - [#1570](https://github.com/cube-js/cube-ui-kit/pull/1570) [`39629fb1`](https://github.com/cube-js/cube-ui-kit/commit/39629fb15bf0a0735cb9488a5220634bfda21fed) Thanks [@tenphi](https://github.com/tenphi)! - `GridProvider` sets its grid custom properties through `tokens`, so a container resize updates them inline instead of generating a new class for every measured width. Its `width`, `initialWidth` and `gap` props now take a single value (`string | number`): a state map, such as a responsive `gap`, is no longer accepted, since `tokens` take one value. A number now means pixels, and the default `gap` is `0` pixels instead of `'0'`. A unitless value makes `--column-width` invalid, so a string needs a unit (`'8px'`, `'1x'`).
31
+
32
+ `InlineInput`'s `inputStyles`, the `resize` prop of `TextInput` and `TextArea`, and `Icon`'s `size` and `stroke` are now merged with Tasty's merge instead of an object spread. A state map without a `''` key in one of them now extends the same property in the styles it is merged over (`styles.Input`, `inputStyles` or `styles`) instead of replacing it. `Panel` now sends its inner style props (`padding`, `gap`, `fill`, …) to the inner element even when the value is falsy, such as `padding={0}`; before, a falsy value went to the outer element.
33
+
34
+ - [#1571](https://github.com/cube-js/cube-ui-kit/pull/1571) [`aa1ef937`](https://github.com/cube-js/cube-ui-kit/commit/aa1ef937e117a9c45981d043a8873494f37800e3) Thanks [@tenphi](https://github.com/tenphi)! - `Tag` and `Badge` with an icon no longer paint a sliver of their label over the icon or past their edge when squeezed below their label. A cut label now starts right after the icon, and the element clips what passes its edge unless it has end content (a close button, suffix or right icon). A label that fits is placed as before.
35
+
36
+ - [#1567](https://github.com/cube-js/cube-ui-kit/pull/1567) [`72048186`](https://github.com/cube-js/cube-ui-kit/commit/720481868f209b382230ae498870ab205546ef6d) Thanks [@tenphi](https://github.com/tenphi)! - Update Tasty to 3.14.0 (from 3.13.0). Components that pass their props through `filterBaseProps` (`Block`, `Flex`, `Text`, `Card`, `Action` and others) now apply a consumer's `tokens` instead of dropping them, render a Tasty `theme` as `data-theme`, and render `isChecked` as `data-checked`. `Alert`'s own `theme` prop, its status theme, still renders only through `data-type`. Sub-elements created by `elements` also accept `theme` now.
37
+
38
+ ## 0.199.2
39
+
40
+ ### Patch Changes
41
+
42
+ - [#1563](https://github.com/cube-js/cube-ui-kit/pull/1563) [`88e80cda`](https://github.com/cube-js/cube-ui-kit/commit/88e80cda412ca4dc637a52b77b5b723ed9e638da) Thanks [@tenphi](https://github.com/tenphi)! - Add two duration tokens: `$overlay-transition` (`250ms`), for a modal, tray or underlay entering and leaving, and `$scrollbar-transition` (`150ms`), for an auto-hiding (tiny) scrollbar fading in and out. `Modal`, `Tray`, `Underlay`, the `Layout` scrollbars and the `Tabs` scrollbar use them, at the same timings as before. Both are listed in the published `tasty.config.ts`.
43
+
44
+ - [#1559](https://github.com/cube-js/cube-ui-kit/pull/1559) [`ddedc8cb`](https://github.com/cube-js/cube-ui-kit/commit/ddedc8cbbac894e7bb1b7bb3ddce1862ca518d34) Thanks [@tenphi](https://github.com/tenphi)! - Components now pass runtime values through Tasty `tokens` instead of inline `style`. `Prefix`, `Suffix`, `DirectionIcon`, `ResizablePanel`, `Layout.Panel`, `Layout.Pane` and `Layout.Content` keep a `style` you pass them, which their own inline style used to replace. `ComboBox` and `SearchComboBox` take their focused stacking from their styles, so a `styles.zIndex` override now applies.
45
+
46
+ `tasty.config.ts` now lists every color token the palette emits (45 were missing, including the `special` theme's accent tokens, the `*-accent-disabled-text`, `*-accent-selected-fill` and `*-accent-surface-border` tokens, and `#current-fill`) and the `@dark` and `@hc` states, so projects that extend it no longer get unknown-token or unknown-state errors for them from `@tenphi/eslint-plugin-tasty`.
47
+
48
+ - [#1562](https://github.com/cube-js/cube-ui-kit/pull/1562) [`4e44c0a5`](https://github.com/cube-js/cube-ui-kit/commit/4e44c0a510b60eac72fc14b82d07e5aaad77b714) Thanks [@tenphi](https://github.com/tenphi)! - `Tabs`: a tab is now a `type="button"` button, so tabs inside a `<form>` no longer submit it when clicked or activated with Enter or Space, and Enter in a field of a tab panel no longer submits the form through the first tab. With `prerender` or `keepMounted`, each rendered panel now gets its own id, so the selected tab's `aria-controls` points at its own panel instead of the first one.
49
+
3
50
  ## 0.199.1
4
51
 
5
52
  ### Patch Changes
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  //#region src/_internal/hooks/use-debounced-value.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { deprecationWarning } from "../../utils/warnings.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import React, { useEffect } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useSyncRef } from "./use-sync-ref.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  //#region src/_internal/hooks/use-event.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  //#region src/_internal/hooks/use-is-first-render.ts
4
4
  function useIsFirstRender() {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  //#region src/_internal/hooks/use-timer/timer.ts
3
3
  var Timer = class {
4
4
  callback;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useEvent } from "../use-event.js";
3
3
  import { Timer } from "./timer.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useEvent } from "./use-event.js";
3
3
  import { warn } from "../../utils/warnings.js";
4
4
  import { useRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { ItemAction } from "./actions/ItemAction/ItemAction.js";
3
3
  import { ItemBadge } from "./content/ItemBadge/ItemBadge.js";
4
4
  import { Item } from "react-stately";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { mergeStyleLayers } from "../utils/styles.js";
3
3
  import { usePaletteValue } from "../tokens/palette-config.js";
4
4
  import { getTokens } from "../tokens/all-tokens.js";
@@ -15,7 +15,7 @@ import { useGlobalStyles, useRawCSS } from "@tenphi/tasty";
15
15
  const BODY_STYLES = {
16
16
  overscrollBehaviorY: "none",
17
17
  fill: "#surface",
18
- fontFamily: "var(--font-sans)",
18
+ fontFamily: "$font-sans",
19
19
  "-webkit-font-smoothing": "antialiased",
20
20
  "-moz-osx-font-smoothing": "grayscale",
21
21
  margin: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalStyles.js","names":["useGlobalStyles","useRawCSS","getTokens","usePaletteValue","mergeStyleLayers","Styles","GlobalStylesProps","bodyStyles","key","fonts","fontDisplay","publicUrl","font","monospaceFont","applyLegacyTokens","BODY_STYLES","overscrollBehaviorY","fill","fontFamily","margin","padding","color","preset","letterSpacing","STATIC_CSS","GlobalStyles","props","$","_c","tokens","t0","bodyTokenStyles","t1","Symbol","for","id","t2","t3","fontValue","monospaceFontValue","_c"],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\n\nimport { getTokens } from '../tokens';\nimport { usePaletteValue } from '../tokens/palette-config';\nimport { mergeStyleLayers } from '../utils/styles';\n\nimport type { Styles } from '@tenphi/tasty';\n\ninterface GlobalStylesProps {\n bodyStyles?: { [key: string]: string };\n fonts?: boolean;\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n publicUrl?: string;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via useGlobalStyles */\n applyLegacyTokens?: boolean;\n}\n\n/**\n * Body styles applied via useGlobalStyles.\n *\n * `fill` and `color` use scheme-aware Glaze tokens so the whole page flips\n * automatically when `<html data-scheme=\"dark\">` (or `prefers-color-scheme: dark`)\n * is active — see `src/tokens/palette.ts` and `src/components/Root.tsx`.\n */\nconst BODY_STYLES: Styles = {\n overscrollBehaviorY: 'none',\n fill: '#surface',\n fontFamily: 'var(--font-sans)',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n margin: 0,\n padding: 0,\n color: '#surface-text-soft',\n preset: 't3',\n letterSpacing: '0.02em',\n};\n\n// Static CSS that doesn't depend on props\nconst STATIC_CSS = `\n @font-face {\n font-family: text-security-disc;\n src: url(data:font/woff2;base64,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) format('woff2');\n }\n\n kbd {\n font-family: var(--c2-font-family);\n font-weight: var(--c2-font-weight);\n font-size: var(--c2-font-size);\n border: var(--border-width) solid var(--dark-04-color);\n background-color: var(--surface-color);\n color: var(--dark-color);\n border-radius: var(--radius);\n padding: 0 var(--outline-width);\n }\n\n :not([data-qa$=\"Icon\"]) > .tabler-icon {\n font-size: var(--icon-size);\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n max-height: 1em;\n stroke-width: var(--stroke-width);\n }\n\n .cube-animation-spin {\n animation: cube-animation-spin 1s linear infinite;\n }\n\n @keyframes cube-animation-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n b, strong {\n font-weight: var(--bold-font-weight, 700);\n }\n\n [type=reset], [type=submit], button, html [type=button] {\n -webkit-appearance: none;\n }\n\n code {\n font-family: var(--font-mono);\n }\n\n /*\n * Prism syntax highlighting.\n *\n * All token colors come from the scheme-aware Glaze \\`code-*\\` palette\n * (defined in src/tokens/palette.ts). Each \\`code-*\\` token has \\`mode: 'auto'\\`\n * with a numeric contrast floor of 4.5 against \\`#surface\\` so every token\n * reads at WCAG AA in light AND dark schemes (AAA in high-contrast).\n * Diff insertion / deletion re-use the adaptive \\`success-*\\` and \\`danger-*\\`\n * ramps for both the line bg and the token color.\n */\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: var(--surface-text-color);\n background: none;\n font-family: var(--s3-font-family, var(--font-mono));\n text-align: left;\n font-weight: var(--s3-font-weight, 400);\n font-size: var(--s3-font-size, 14px);\n line-height: var(--s3-line-height, 20px);\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n border-radius: 6px;\n border: none;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n pre[class*=\"language-\"]::-moz-selection, pre[class*=\"language-\"] ::-moz-selection,\n code[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection {\n text-shadow: none;\n background: color-mix(in oklab, var(--primary-color) 20%, transparent);\n }\n\n pre[class*=\"language-\"]::selection, pre[class*=\"language-\"] ::selection,\n code[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: color-mix(in oklab, var(--primary-color) 20%, transparent);\n }\n\n @media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*=\"language-\"] {\n overflow: auto;\n }\n\n :not(pre) > code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n background: transparent;\n }\n\n /* Inline code */\n :not(pre) > code[class*=\"language-\"] {\n border-radius: .3em;\n white-space: normal;\n }\n\n /* Diff (re-uses success/danger ramps; both bg and text adapt to scheme) */\n .token.inserted-sign {\n background-color: var(--success-bg-color);\n color: var(--success-text-color);\n }\n\n .token.inserted {\n color: var(--success-text-color);\n }\n\n .token.deleted-sign {\n background-color: var(--danger-bg-color);\n color: var(--danger-text-color);\n }\n\n .token.deleted {\n color: var(--danger-text-color);\n }\n\n /* Comments — subdued gray-ish, AA floor */\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: var(--code-comment-color);\n }\n\n /* Operators / punctuation — subdued purple, AA floor */\n .token.operator,\n .token.punctuation {\n color: var(--code-punctuation-color);\n }\n\n .namespace {\n opacity: .7;\n }\n\n /* Keywords / language constructs — violet */\n .token.boolean,\n .token.constant,\n .token.keyword,\n .token.atrule {\n color: var(--code-keyword-color);\n font-weight: 500;\n }\n\n /* Numbers / numeric entities — orange */\n .token.entity,\n .token.number {\n color: var(--code-number-color);\n }\n\n /* Strings / character literals / URLs — green */\n .token.string,\n .token.char,\n .token.attr-value,\n .token.url,\n .language-css .token.string,\n .style .token.string {\n color: var(--code-string-color);\n }\n\n /* Names: functions, class names, regex, variables — pink/coral */\n .token.function,\n .token.class-name,\n .token.regex,\n .token.important,\n .token.variable {\n color: var(--code-function-color);\n }\n\n /* HTML/XML tag names — same hue as keywords (see Colors / CodeSyntax) */\n .token.tag {\n color: var(--code-keyword-color);\n }\n\n /* Attributes / properties / selectors / built-ins — cyan */\n .token.attr-name,\n .token.property,\n .token.symbol,\n .token.key,\n .token.builtin,\n .token.selector {\n color: var(--code-attribute-color);\n }\n\n /*\n * prism-react-renderer flattens nested markup tokens and prefixes parent\n * types onto each leaf (e.g. \\`token tag attr-value\\`). Re-assert leaf\n * colors so the bare \\`.token.tag\\` rule does not wash the whole tag.\n */\n .token.tag.attr-name {\n color: var(--code-attribute-color);\n }\n\n .token.tag.attr-value {\n color: var(--code-string-color);\n }\n\n .token.tag.punctuation {\n color: var(--code-punctuation-color);\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n`;\n\nexport function GlobalStyles(props: GlobalStylesProps) {\n const { bodyStyles, font, monospaceFont } = props;\n\n // Re-resolve the tokens whenever the palette is re-seeded at runtime (see\n // `src/tokens/palette-config.ts`). Nothing else has to re-render: every color\n // in the kit compiles to `var(--<name>-color)`, so replacing this one rule\n // recolors the whole UI. `getTokens()` returns a new map only when the palette\n // changes, and taking it as the store value makes it the memo's dependency —\n // a version listed in the deps but never read is dropped by React Compiler.\n const tokens = usePaletteValue(getTokens);\n\n // Merge token styles with the base body styles, then the custom ones. Keys\n // are passed through as-is (tasty handles both camelCase and kebab-case).\n const bodyTokenStyles = mergeStyleLayers(tokens, BODY_STYLES, bodyStyles);\n\n // Apply tokens and body styles via useGlobalStyles.\n //\n // Replacement does not depend on the `id`: tasty keys its injection slot on\n // `id ?? selector`, so `'body'` on its own already disposes the previous block\n // before writing the new one — which is what removes stale `@hc` rules when the\n // palette is re-seeded, rather than shadowing them. The `id` buys two other\n // things. It gives the token block its own slot, so a host app calling\n // `useGlobalStyles('body', …)` for its own body styles cannot evict ours (and\n // vice versa) — they would otherwise share the `'body'` slot and dispose each\n // other on every change. And under SSR it makes the collector key stable and\n // last-write-wins, instead of content-hashed and first-write-wins.\n useGlobalStyles('body', bodyTokenStyles, { id: 'cube-ui-kit-tokens' });\n\n // Apply static CSS and font definitions via useRawCSS\n useRawCSS(() => {\n const fontValue = font ? `${font}, ` : '';\n const monospaceFontValue = monospaceFont ? `${monospaceFont}, ` : '';\n\n return `\n html {\n overscroll-behavior-y: none;\n --font-sans: ${fontValue}system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif;\n --font-mono: ${monospaceFontValue}ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n }\n${STATIC_CSS}`;\n }, [font, monospaceFont]);\n\n return null;\n}\n"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMe,cAAsB;CAC1BC,qBAAqB;CACrBC,MAAM;CACNC,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3BC,QAAQ;CACRC,SAAS;CACTC,OAAO;CACPC,QAAQ;CACRC,eAAe;AACjB;AAGA,MAAMC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgPnB,SAAOC,aAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACL,MAAA,EAAArB,YAAAK,MAAAC,kBAA4Ca;CAQ5C,MAAAG,SAAe1B,gBAAgBD,SAAS;CAAE,IAAA4B;CAAA,IAAAH,EAAA,OAAApB,cAAAoB,EAAA,OAAAE,QAAA;EAIlBC,KAAA1B,iBAAiByB,QAAQd,aAAaR,UAAU;EAACoB,EAAA,KAAApB;EAAAoB,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAzE,MAAAI,kBAAwBD;CAAkD,IAAAE;CAAA,IAAAL,EAAA,OAAAM,OAAAC,IAAA,2BAAA,GAAA;EAajCF,KAAA,EAAAG,IAAM,qBAAqB;EAACR,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAArE3B,gBAAgB,QAAQ+B,iBAAiBC,EAA4B;CAAC,IAAAI;CAAA,IAAAC;CAAA,IAAAV,EAAA,OAAAf,QAAAe,EAAA,OAAAd,eAAA;EAG5DuB,WAAA;GAE6D,OAE9D;;;mBAHWxB,OAAA,GAAUA,KAAI,MAAd,GAMM;mBALGC,gBAAA,GAAmBA,cAAa,MAAhC,GAMM;;EAEnCW;EAAY;EACTa,KAAA,CAACzB,MAAMC,aAAa;EAACc,EAAA,KAAAf;EAAAe,EAAA,KAAAd;EAAAc,EAAA,KAAAS;EAAAT,EAAA,KAAAU;CAAA,OAAA;EAAAD,KAAAT,EAAA;EAAAU,KAAAV,EAAA;CAAA;CAXxB1B,UAAUmC,IAWPC,EAAqB;CAAC,OAElB;AAAI"}
1
+ {"version":3,"file":"GlobalStyles.js","names":["useGlobalStyles","useRawCSS","getTokens","usePaletteValue","mergeStyleLayers","Styles","GlobalStylesProps","bodyStyles","key","fonts","fontDisplay","publicUrl","font","monospaceFont","applyLegacyTokens","BODY_STYLES","overscrollBehaviorY","fill","fontFamily","margin","padding","color","preset","letterSpacing","STATIC_CSS","GlobalStyles","props","$","_c","tokens","t0","bodyTokenStyles","t1","Symbol","for","id","t2","t3","fontValue","monospaceFontValue","_c"],"sources":["../../src/components/GlobalStyles.tsx"],"sourcesContent":["import { useGlobalStyles, useRawCSS } from '@tenphi/tasty';\n\nimport { getTokens } from '../tokens';\nimport { usePaletteValue } from '../tokens/palette-config';\nimport { mergeStyleLayers } from '../utils/styles';\n\nimport type { Styles } from '@tenphi/tasty';\n\ninterface GlobalStylesProps {\n bodyStyles?: { [key: string]: string };\n fonts?: boolean;\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n publicUrl?: string;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via useGlobalStyles */\n applyLegacyTokens?: boolean;\n}\n\n/**\n * Body styles applied via useGlobalStyles.\n *\n * `fill` and `color` use scheme-aware Glaze tokens so the whole page flips\n * automatically when `<html data-scheme=\"dark\">` (or `prefers-color-scheme: dark`)\n * is active — see `src/tokens/palette.ts` and `src/components/Root.tsx`.\n */\nconst BODY_STYLES: Styles = {\n overscrollBehaviorY: 'none',\n fill: '#surface',\n fontFamily: '$font-sans',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n margin: 0,\n padding: 0,\n color: '#surface-text-soft',\n preset: 't3',\n letterSpacing: '0.02em',\n};\n\n// Static CSS that doesn't depend on props\nconst STATIC_CSS = `\n @font-face {\n font-family: text-security-disc;\n src: url(data:font/woff2;base64,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) format('woff2');\n }\n\n kbd {\n font-family: var(--c2-font-family);\n font-weight: var(--c2-font-weight);\n font-size: var(--c2-font-size);\n border: var(--border-width) solid var(--dark-04-color);\n background-color: var(--surface-color);\n color: var(--dark-color);\n border-radius: var(--radius);\n padding: 0 var(--outline-width);\n }\n\n :not([data-qa$=\"Icon\"]) > .tabler-icon {\n font-size: var(--icon-size);\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n max-height: 1em;\n stroke-width: var(--stroke-width);\n }\n\n .cube-animation-spin {\n animation: cube-animation-spin 1s linear infinite;\n }\n\n @keyframes cube-animation-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n }\n\n b, strong {\n font-weight: var(--bold-font-weight, 700);\n }\n\n [type=reset], [type=submit], button, html [type=button] {\n -webkit-appearance: none;\n }\n\n code {\n font-family: var(--font-mono);\n }\n\n /*\n * Prism syntax highlighting.\n *\n * All token colors come from the scheme-aware Glaze \\`code-*\\` palette\n * (defined in src/tokens/palette.ts). Each \\`code-*\\` token has \\`mode: 'auto'\\`\n * with a numeric contrast floor of 4.5 against \\`#surface\\` so every token\n * reads at WCAG AA in light AND dark schemes (AAA in high-contrast).\n * Diff insertion / deletion re-use the adaptive \\`success-*\\` and \\`danger-*\\`\n * ramps for both the line bg and the token color.\n */\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n color: var(--surface-text-color);\n background: none;\n font-family: var(--s3-font-family, var(--font-mono));\n text-align: left;\n font-weight: var(--s3-font-weight, 400);\n font-size: var(--s3-font-size, 14px);\n line-height: var(--s3-line-height, 20px);\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n border-radius: 6px;\n border: none;\n\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n }\n\n pre[class*=\"language-\"]::-moz-selection, pre[class*=\"language-\"] ::-moz-selection,\n code[class*=\"language-\"]::-moz-selection, code[class*=\"language-\"] ::-moz-selection {\n text-shadow: none;\n background: color-mix(in oklab, var(--primary-color) 20%, transparent);\n }\n\n pre[class*=\"language-\"]::selection, pre[class*=\"language-\"] ::selection,\n code[class*=\"language-\"]::selection, code[class*=\"language-\"] ::selection {\n text-shadow: none;\n background: color-mix(in oklab, var(--primary-color) 20%, transparent);\n }\n\n @media print {\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n text-shadow: none;\n }\n }\n\n /* Code blocks */\n pre[class*=\"language-\"] {\n overflow: auto;\n }\n\n :not(pre) > code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n background: transparent;\n }\n\n /* Inline code */\n :not(pre) > code[class*=\"language-\"] {\n border-radius: .3em;\n white-space: normal;\n }\n\n /* Diff (re-uses success/danger ramps; both bg and text adapt to scheme) */\n .token.inserted-sign {\n background-color: var(--success-bg-color);\n color: var(--success-text-color);\n }\n\n .token.inserted {\n color: var(--success-text-color);\n }\n\n .token.deleted-sign {\n background-color: var(--danger-bg-color);\n color: var(--danger-text-color);\n }\n\n .token.deleted {\n color: var(--danger-text-color);\n }\n\n /* Comments — subdued gray-ish, AA floor */\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: var(--code-comment-color);\n }\n\n /* Operators / punctuation — subdued purple, AA floor */\n .token.operator,\n .token.punctuation {\n color: var(--code-punctuation-color);\n }\n\n .namespace {\n opacity: .7;\n }\n\n /* Keywords / language constructs — violet */\n .token.boolean,\n .token.constant,\n .token.keyword,\n .token.atrule {\n color: var(--code-keyword-color);\n font-weight: 500;\n }\n\n /* Numbers / numeric entities — orange */\n .token.entity,\n .token.number {\n color: var(--code-number-color);\n }\n\n /* Strings / character literals / URLs — green */\n .token.string,\n .token.char,\n .token.attr-value,\n .token.url,\n .language-css .token.string,\n .style .token.string {\n color: var(--code-string-color);\n }\n\n /* Names: functions, class names, regex, variables — pink/coral */\n .token.function,\n .token.class-name,\n .token.regex,\n .token.important,\n .token.variable {\n color: var(--code-function-color);\n }\n\n /* HTML/XML tag names — same hue as keywords (see Colors / CodeSyntax) */\n .token.tag {\n color: var(--code-keyword-color);\n }\n\n /* Attributes / properties / selectors / built-ins — cyan */\n .token.attr-name,\n .token.property,\n .token.symbol,\n .token.key,\n .token.builtin,\n .token.selector {\n color: var(--code-attribute-color);\n }\n\n /*\n * prism-react-renderer flattens nested markup tokens and prefixes parent\n * types onto each leaf (e.g. \\`token tag attr-value\\`). Re-assert leaf\n * colors so the bare \\`.token.tag\\` rule does not wash the whole tag.\n */\n .token.tag.attr-name {\n color: var(--code-attribute-color);\n }\n\n .token.tag.attr-value {\n color: var(--code-string-color);\n }\n\n .token.tag.punctuation {\n color: var(--code-punctuation-color);\n }\n\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n\n .token.italic {\n font-style: italic;\n }\n\n .token.entity {\n cursor: help;\n }\n`;\n\nexport function GlobalStyles(props: GlobalStylesProps) {\n const { bodyStyles, font, monospaceFont } = props;\n\n // Re-resolve the tokens whenever the palette is re-seeded at runtime (see\n // `src/tokens/palette-config.ts`). Nothing else has to re-render: every color\n // in the kit compiles to `var(--<name>-color)`, so replacing this one rule\n // recolors the whole UI. `getTokens()` returns a new map only when the palette\n // changes, and taking it as the store value makes it the memo's dependency —\n // a version listed in the deps but never read is dropped by React Compiler.\n const tokens = usePaletteValue(getTokens);\n\n // Merge token styles with the base body styles, then the custom ones. Keys\n // are passed through as-is (tasty handles both camelCase and kebab-case).\n const bodyTokenStyles = mergeStyleLayers(tokens, BODY_STYLES, bodyStyles);\n\n // Apply tokens and body styles via useGlobalStyles.\n //\n // Replacement does not depend on the `id`: tasty keys its injection slot on\n // `id ?? selector`, so `'body'` on its own already disposes the previous block\n // before writing the new one — which is what removes stale `@hc` rules when the\n // palette is re-seeded, rather than shadowing them. The `id` buys two other\n // things. It gives the token block its own slot, so a host app calling\n // `useGlobalStyles('body', …)` for its own body styles cannot evict ours (and\n // vice versa) — they would otherwise share the `'body'` slot and dispose each\n // other on every change. And under SSR it makes the collector key stable and\n // last-write-wins, instead of content-hashed and first-write-wins.\n useGlobalStyles('body', bodyTokenStyles, { id: 'cube-ui-kit-tokens' });\n\n // Apply static CSS and font definitions via useRawCSS\n useRawCSS(() => {\n const fontValue = font ? `${font}, ` : '';\n const monospaceFontValue = monospaceFont ? `${monospaceFont}, ` : '';\n\n return `\n html {\n overscroll-behavior-y: none;\n --font-sans: ${fontValue}system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", sans-serif;\n --font-mono: ${monospaceFontValue}ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n }\n${STATIC_CSS}`;\n }, [font, monospaceFont]);\n\n return null;\n}\n"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAMe,cAAsB;CAC1BC,qBAAqB;CACrBC,MAAM;CACNC,YAAY;CACZ,0BAA0B;CAC1B,2BAA2B;CAC3BC,QAAQ;CACRC,SAAS;CACTC,OAAO;CACPC,QAAQ;CACRC,eAAe;AACjB;AAGA,MAAMC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgPnB,SAAOC,aAAAC,OAAA;CAAA,MAAAC,IAAAC,EAAA,CAAA;CACL,MAAA,EAAArB,YAAAK,MAAAC,kBAA4Ca;CAQ5C,MAAAG,SAAe1B,gBAAgBD,SAAS;CAAE,IAAA4B;CAAA,IAAAH,EAAA,OAAApB,cAAAoB,EAAA,OAAAE,QAAA;EAIlBC,KAAA1B,iBAAiByB,QAAQd,aAAaR,UAAU;EAACoB,EAAA,KAAApB;EAAAoB,EAAA,KAAAE;EAAAF,EAAA,KAAAG;CAAA,OAAAA,KAAAH,EAAA;CAAzE,MAAAI,kBAAwBD;CAAkD,IAAAE;CAAA,IAAAL,EAAA,OAAAM,OAAAC,IAAA,2BAAA,GAAA;EAajCF,KAAA,EAAAG,IAAM,qBAAqB;EAACR,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAArE3B,gBAAgB,QAAQ+B,iBAAiBC,EAA4B;CAAC,IAAAI;CAAA,IAAAC;CAAA,IAAAV,EAAA,OAAAf,QAAAe,EAAA,OAAAd,eAAA;EAG5DuB,WAAA;GAE6D,OAE9D;;;mBAHWxB,OAAA,GAAUA,KAAI,MAAd,GAMM;mBALGC,gBAAA,GAAmBA,cAAa,MAAhC,GAMM;;EAEnCW;EAAY;EACTa,KAAA,CAACzB,MAAMC,aAAa;EAACc,EAAA,KAAAf;EAAAe,EAAA,KAAAd;EAAAc,EAAA,KAAAS;EAAAT,EAAA,KAAAU;CAAA,OAAA;EAAAD,KAAAT,EAAA;EAAAU,KAAAV,EAAA;CAAA;CAXxB1B,UAAUmC,IAWPC,EAAqB;CAAC,OAElB;AAAI"}
@@ -1,13 +1,15 @@
1
1
 
2
- import { Styles } from "@tenphi/tasty";
3
2
  import { ReactNode } from "react";
4
3
  //#region src/components/GridProvider.d.ts
5
4
  export interface CubeGridProviderProps {
6
5
  children: ReactNode;
7
6
  columns?: number;
8
- gap?: Styles['gap'];
9
- width?: Styles['width'];
10
- initialWidth?: Styles['width'];
7
+ /** Gap between columns, as a single Tasty value such as `'1x'`, or a number of pixels. */
8
+ gap?: string | number;
9
+ /** Forced container width, as a single Tasty value, or a number of pixels. */
10
+ width?: string | number;
11
+ /** Width before the resize observer measures the container, as a single Tasty value, or a number of pixels. */
12
+ initialWidth?: string | number;
11
13
  }
12
14
  export declare const GridProvider: import("react").ForwardRefExoticComponent<CubeGridProviderProps & import("react").RefAttributes<HTMLDivElement>>;
13
15
  //#endregion
@@ -1,14 +1,20 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { useCombinedRefs } from "../utils/react/useCombinedRefs.js";
3
3
  import { filterBaseProps, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef, useCallback, useEffect, useState } from "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
6
  //#region src/components/GridProvider.tsx
7
- const GridElement = tasty({ styles: { display: "contents" } });
8
- const COLUMN_WIDTH = "(($grid-width - ($column-gap * ($columns-amount - 1))) / $columns-amount)";
7
+ const GridElement = tasty({ styles: {
8
+ display: "contents",
9
+ "$column-width": "(($grid-width - ($column-gap * ($columns-amount - 1))) / $columns-amount)"
10
+ } });
11
+ /** Numbers are pixels: a custom property gets no default unit. */
12
+ function toLength(value) {
13
+ return typeof value === "number" ? `${value}px` : value;
14
+ }
9
15
  const GridProvider = forwardRef(function GridProvider(props, outerRef) {
10
16
  let ref = useCombinedRefs(outerRef);
11
- let { children, columns = 2, gap = "0", width: forcedWidth, initialWidth } = props;
17
+ let { children, columns = 2, gap = 0, width: forcedWidth, initialWidth } = props;
12
18
  let [width, setWidth] = useState(forcedWidth || initialWidth || "100vw");
13
19
  const resizeCallback = useCallback(() => {
14
20
  const el = ref?.current?.parentElement;
@@ -40,11 +46,10 @@ const GridProvider = forwardRef(function GridProvider(props, outerRef) {
40
46
  return /* @__PURE__ */ jsx(GridElement, {
41
47
  ...filterBaseProps(props, { eventProps: true }),
42
48
  ref,
43
- styles: {
44
- "--grid-width": width,
45
- "--columns-amount": columns,
46
- "--column-gap": gap,
47
- "--column-width": COLUMN_WIDTH
49
+ tokens: {
50
+ "$grid-width": toLength(width),
51
+ "$columns-amount": columns,
52
+ "$column-gap": toLength(gap)
48
53
  },
49
54
  children
50
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GridProvider.js","names":["filterBaseProps","Styles","tasty","forwardRef","ReactNode","useCallback","useEffect","useState","useCombinedRefs","GridElement","styles","display","COLUMN_WIDTH","CubeGridProviderProps","children","columns","gap","width","initialWidth","GridProvider","HTMLDivElement","props","outerRef","ref","forcedWidth","setWidth","resizeCallback","el","current","parentElement","computedStyle","getComputedStyle","containerWidth","clientWidth","parseFloat","paddingLeft","paddingRight","parentNode","sensor","then","module","ResizeSensor","detach","eventProps"],"sources":["../../src/components/GridProvider.tsx"],"sourcesContent":["import { filterBaseProps, Styles, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode, useCallback, useEffect, useState } from 'react';\n\nimport { useCombinedRefs } from '../utils/react';\n\nconst GridElement = tasty({\n styles: {\n display: 'contents',\n },\n});\n\nconst COLUMN_WIDTH =\n '(($grid-width - ($column-gap * ($columns-amount - 1))) / $columns-amount)';\n\nexport interface CubeGridProviderProps {\n children: ReactNode;\n columns?: number;\n gap?: Styles['gap'];\n width?: Styles['width'];\n initialWidth?: Styles['width'];\n}\n\nexport const GridProvider = forwardRef<HTMLDivElement, CubeGridProviderProps>(\n function GridProvider(props, outerRef) {\n let ref = useCombinedRefs(outerRef);\n\n let {\n children,\n columns = 2,\n gap = '0',\n width: forcedWidth,\n initialWidth,\n } = props;\n\n let [width, setWidth] = useState<Styles['width']>(\n forcedWidth || initialWidth || '100vw',\n );\n\n const resizeCallback = useCallback(() => {\n const el = ref?.current?.parentElement;\n\n if (!el) return;\n\n const computedStyle = getComputedStyle(el);\n const containerWidth =\n el.clientWidth -\n parseFloat(computedStyle.paddingLeft) -\n parseFloat(computedStyle.paddingRight);\n\n setWidth(`${containerWidth}px`);\n }, [ref, columns, gap]);\n\n useEffect(() => {\n if (forcedWidth) return;\n\n const el = ref && ref.current && ref.current.parentNode;\n\n if (!el) return;\n\n let sensor;\n\n import('../utils/ResizeSensor')\n .then((module) => module.ResizeSensor)\n .then((ResizeSensor) => {\n sensor = new ResizeSensor(el, resizeCallback);\n });\n\n return () => {\n if (sensor) {\n sensor.detach();\n }\n };\n }, [resizeCallback]);\n\n useEffect(() => {\n if (forcedWidth) return;\n\n resizeCallback();\n }, [resizeCallback]);\n\n return (\n <GridElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={{\n '--grid-width': width,\n '--columns-amount': columns,\n '--column-gap': gap,\n '--column-width': COLUMN_WIDTH,\n }}\n >\n {children}\n </GridElement>\n );\n },\n);\n"],"mappings":";;;;;;AAKA,MAAMS,cAAcP,MAAM,EACxBQ,QAAQ,EACNC,SAAS,WACX,EACF,CAAC;AAED,MAAMC,eACJ;AAUF,MAAaO,eAAehB,WAC1B,SAASgB,aAAaE,OAAOC,UAAU;CACrC,IAAIC,MAAMf,gBAAgBc,QAAQ;CAElC,IAAI,EACFR,UACAC,UAAU,GACVC,MAAM,KACNC,OAAOO,aACPN,iBACEG;CAEJ,IAAI,CAACJ,OAAOQ,YAAYlB,SACtBiB,eAAeN,gBAAgB,OACjC;CAEA,MAAMQ,iBAAiBrB,kBAAkB;EACvC,MAAMsB,KAAKJ,KAAKK,SAASC;EAEzB,IAAI,CAACF,IAAI;EAET,MAAMG,gBAAgBC,iBAAiBJ,EAAE;EACzC,MAAMK,iBACJL,GAAGM,cACHC,WAAWJ,cAAcK,WAAW,IACpCD,WAAWJ,cAAcM,YAAY;EAEvCX,SAAS,GAAGO,eAAc,GAAI;CAChC,GAAG;EAACT;EAAKR;EAASC;CAAG,CAAC;CAEtBV,gBAAgB;EACd,IAAIkB,aAAa;EAEjB,MAAMG,OAAKJ,OAAOA,IAAIK,WAAWL,IAAIK,QAAQS;EAE7C,IAAI,CAACV,MAAI;EAET,IAAIW;EAEJ,OAAO,2BAAwB,CAC5BC,MAAMC,WAAWA,OAAOC,YAAY,CAAC,CACrCF,MAAME,iBAAiB;GACtBH,SAAS,IAAIG,aAAad,MAAID,cAAc;EAC9C,CAAC;EAEH,aAAa;GACX,IAAIY,QACFA,OAAOI,OAAO;EAElB;CACF,GAAG,CAAChB,cAAc,CAAC;CAEnBpB,gBAAgB;EACd,IAAIkB,aAAa;EAEjBE,eAAe;CACjB,GAAG,CAACA,cAAc,CAAC;CAEnB,OACE,oBAAC,aAAD;EACE,GAAI1B,gBAAgBqB,OAAO,EAAEsB,YAAY,KAAK,CAAC;EAC1CpB;EACL,QAAQ;GACN,gBAAgBN;GAChB,oBAAoBF;GACpB,gBAAgBC;GAChB,kBAAkBJ;EACpB;EAECE;CACU,CAAA;AAEjB,CACF"}
1
+ {"version":3,"file":"GridProvider.js","names":["filterBaseProps","tasty","forwardRef","ReactNode","useCallback","useEffect","useState","useCombinedRefs","GridElement","styles","display","toLength","value","CubeGridProviderProps","children","columns","gap","width","initialWidth","GridProvider","HTMLDivElement","props","outerRef","ref","forcedWidth","setWidth","resizeCallback","el","current","parentElement","computedStyle","getComputedStyle","containerWidth","clientWidth","parseFloat","paddingLeft","paddingRight","parentNode","sensor","then","module","ResizeSensor","detach","eventProps"],"sources":["../../src/components/GridProvider.tsx"],"sourcesContent":["import { filterBaseProps, tasty } from '@tenphi/tasty';\nimport { forwardRef, ReactNode, useCallback, useEffect, useState } from 'react';\n\nimport { useCombinedRefs } from '../utils/react';\n\nconst GridElement = tasty({\n styles: {\n display: 'contents',\n '$column-width':\n '(($grid-width - ($column-gap * ($columns-amount - 1))) / $columns-amount)',\n },\n});\n\n/** Numbers are pixels: a custom property gets no default unit. */\nfunction toLength(value: string | number) {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport interface CubeGridProviderProps {\n children: ReactNode;\n columns?: number;\n /** Gap between columns, as a single Tasty value such as `'1x'`, or a number of pixels. */\n gap?: string | number;\n /** Forced container width, as a single Tasty value, or a number of pixels. */\n width?: string | number;\n /** Width before the resize observer measures the container, as a single Tasty value, or a number of pixels. */\n initialWidth?: string | number;\n}\n\nexport const GridProvider = forwardRef<HTMLDivElement, CubeGridProviderProps>(\n function GridProvider(props, outerRef) {\n let ref = useCombinedRefs(outerRef);\n\n let {\n children,\n columns = 2,\n gap = 0,\n width: forcedWidth,\n initialWidth,\n } = props;\n\n let [width, setWidth] = useState<string | number>(\n forcedWidth || initialWidth || '100vw',\n );\n\n const resizeCallback = useCallback(() => {\n const el = ref?.current?.parentElement;\n\n if (!el) return;\n\n const computedStyle = getComputedStyle(el);\n const containerWidth =\n el.clientWidth -\n parseFloat(computedStyle.paddingLeft) -\n parseFloat(computedStyle.paddingRight);\n\n setWidth(`${containerWidth}px`);\n }, [ref, columns, gap]);\n\n useEffect(() => {\n if (forcedWidth) return;\n\n const el = ref && ref.current && ref.current.parentNode;\n\n if (!el) return;\n\n let sensor;\n\n import('../utils/ResizeSensor')\n .then((module) => module.ResizeSensor)\n .then((ResizeSensor) => {\n sensor = new ResizeSensor(el, resizeCallback);\n });\n\n return () => {\n if (sensor) {\n sensor.detach();\n }\n };\n }, [resizeCallback]);\n\n useEffect(() => {\n if (forcedWidth) return;\n\n resizeCallback();\n }, [resizeCallback]);\n\n return (\n <GridElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n tokens={{\n '$grid-width': toLength(width),\n '$columns-amount': columns,\n '$column-gap': toLength(gap),\n }}\n >\n {children}\n </GridElement>\n );\n },\n);\n"],"mappings":";;;;;;AAKA,MAAMQ,cAAcP,MAAM,EACxBQ,QAAQ;CACNC,SAAS;CACT,iBACE;AACJ,EACF,CAAC;;AAGD,SAASC,SAASC,OAAwB;CACxC,OAAO,OAAOA,UAAU,WAAW,GAAGA,MAAK,MAAOA;AACpD;AAaA,MAAaO,eAAejB,WAC1B,SAASiB,aAAaE,OAAOC,UAAU;CACrC,IAAIC,MAAMhB,gBAAgBe,QAAQ;CAElC,IAAI,EACFR,UACAC,UAAU,GACVC,MAAM,GACNC,OAAOO,aACPN,iBACEG;CAEJ,IAAI,CAACJ,OAAOQ,YAAYnB,SACtBkB,eAAeN,gBAAgB,OACjC;CAEA,MAAMQ,iBAAiBtB,kBAAkB;EACvC,MAAMuB,KAAKJ,KAAKK,SAASC;EAEzB,IAAI,CAACF,IAAI;EAET,MAAMG,gBAAgBC,iBAAiBJ,EAAE;EACzC,MAAMK,iBACJL,GAAGM,cACHC,WAAWJ,cAAcK,WAAW,IACpCD,WAAWJ,cAAcM,YAAY;EAEvCX,SAAS,GAAGO,eAAc,GAAI;CAChC,GAAG;EAACT;EAAKR;EAASC;CAAG,CAAC;CAEtBX,gBAAgB;EACd,IAAImB,aAAa;EAEjB,MAAMG,OAAKJ,OAAOA,IAAIK,WAAWL,IAAIK,QAAQS;EAE7C,IAAI,CAACV,MAAI;EAET,IAAIW;EAEJ,OAAO,2BAAwB,CAC5BC,MAAMC,WAAWA,OAAOC,YAAY,CAAC,CACrCF,MAAME,iBAAiB;GACtBH,SAAS,IAAIG,aAAad,MAAID,cAAc;EAC9C,CAAC;EAEH,aAAa;GACX,IAAIY,QACFA,OAAOI,OAAO;EAElB;CACF,GAAG,CAAChB,cAAc,CAAC;CAEnBrB,gBAAgB;EACd,IAAImB,aAAa;EAEjBE,eAAe;CACjB,GAAG,CAACA,cAAc,CAAC;CAEnB,OACE,oBAAC,aAAD;EACE,GAAI1B,gBAAgBqB,OAAO,EAAEsB,YAAY,KAAK,CAAC;EAC1CpB;EACL,QAAQ;GACN,eAAeZ,SAASM,KAAK;GAC7B,mBAAmBF;GACnB,eAAeJ,SAASK,GAAG;EAC7B;EAECF;CACU,CAAA;AAEjB,CACF"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { tasty } from "@tenphi/tasty";
3
3
  //#region src/components/HiddenInput.tsx
4
4
  const HiddenInput = tasty({
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../utils/styles.js";
3
3
  import { AMBIENT_PREDEFINED_STATES } from "../utils/react/useScheme.js";
4
4
  import { EventBusProvider } from "../utils/react/useEventBus.js";
@@ -146,13 +146,13 @@ function Root(allProps) {
146
146
  const t10 = filterBaseProps(props, { eventProps: true });
147
147
  const t11 = cursorStrategy === "web" ? "pointer" : "default";
148
148
  let t12;
149
- if ($[8] !== style || $[9] !== t11) {
149
+ if ($[8] !== t11 || $[9] !== tokens) {
150
150
  t12 = {
151
- "--pointer": t11,
152
- ...style
151
+ $pointer: t11,
152
+ ...tokens
153
153
  };
154
- $[8] = style;
155
- $[9] = t11;
154
+ $[8] = t11;
155
+ $[9] = tokens;
156
156
  $[10] = t12;
157
157
  } else t12 = $[10];
158
158
  let t13;
@@ -183,7 +183,7 @@ function Root(allProps) {
183
183
  $[19] = t14;
184
184
  } else t14 = $[19];
185
185
  let t15;
186
- if ($[20] !== T4 || $[21] !== fontDisplay || $[22] !== styles || $[23] !== t10 || $[24] !== t12 || $[25] !== t13 || $[26] !== t14 || $[27] !== t8 || $[28] !== t9 || $[29] !== tokens) {
186
+ if ($[20] !== T4 || $[21] !== fontDisplay || $[22] !== style || $[23] !== styles || $[24] !== t10 || $[25] !== t12 || $[26] !== t13 || $[27] !== t14 || $[28] !== t8 || $[29] !== t9) {
187
187
  t15 = /* @__PURE__ */ jsxs(T4, {
188
188
  ref,
189
189
  "data-uikit": t8,
@@ -191,20 +191,20 @@ function Root(allProps) {
191
191
  "data-font-display": fontDisplay,
192
192
  ...t10,
193
193
  styles,
194
- style: t12,
195
- tokens,
194
+ tokens: t12,
195
+ style,
196
196
  children: [t13, t14]
197
197
  });
198
198
  $[20] = T4;
199
199
  $[21] = fontDisplay;
200
- $[22] = styles;
201
- $[23] = t10;
202
- $[24] = t12;
203
- $[25] = t13;
204
- $[26] = t14;
205
- $[27] = t8;
206
- $[28] = t9;
207
- $[29] = tokens;
200
+ $[22] = style;
201
+ $[23] = styles;
202
+ $[24] = t10;
203
+ $[25] = t12;
204
+ $[26] = t13;
205
+ $[27] = t14;
206
+ $[28] = t8;
207
+ $[29] = t9;
208
208
  $[30] = t15;
209
209
  } else t15 = $[30];
210
210
  let t16;
@@ -1 +1 @@
1
- {"version":3,"file":"Root.js","names":["BASE_STYLES","BaseProps","BLOCK_STYLES","configure","filterBaseProps","setGlobalPredefinedStates","tasty","TastyBatchProvider","useEffect","useLayoutEffect","useRef","useState","ModalProvider","I18nProvider","Provider","NavigationAdapter","TrackingProps","TrackingProvider","PaletteConfig","setPaletteConfig","EventBusProvider","AMBIENT_PREDEFINED_STATES","extractStyles","TASTY_VERSION","VERSION","GlobalStyles","AlertDialogApiProvider","OverlayProvider","PortalProvider","i18n","I18nInstance","batchInjection","units","x","r","cr","bw","ow","recipes","reset","margin","padding","border","outline","boxSizing","button","appearance","touchAction","textDecoration","fill","color","cursor","disabled","input","wordSpacing","caretColor","shadow","preset","hide","RootElement","id","styles","display","STYLES","CubeRootProps","tokens","key","palette","bodyStyles","fontDisplay","fonts","publicUrl","navigation","font","monospaceFont","applyLegacyTokens","tracking","cursorStrategy","locale","Root","allProps","$","_c","children","t0","_applyLegacyTokens","t1","style","props","undefined","t2","t3","t4","ref","rootRef","setRootRef","t5","current","t6","Symbol","for","T0","T1","T2","T3","t7","event","T4","t10","eventProps","t11","t12","t13","t14","t15","t8","t9","t16","t17","t18","t19","_c","I18nProvider"],"sources":["../../src/components/Root.tsx"],"sourcesContent":["import {\n BASE_STYLES,\n BaseProps,\n BLOCK_STYLES,\n configure,\n filterBaseProps,\n setGlobalPredefinedStates,\n tasty,\n TastyBatchProvider,\n} from '@tenphi/tasty';\nimport { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { ModalProvider } from 'react-aria';\n\nimport { I18nProvider } from '../i18n';\nimport { Provider } from '../provider';\nimport { NavigationAdapter } from '../providers/navigation.types';\nimport { TrackingProps, TrackingProvider } from '../providers/TrackingProvider';\nimport { PaletteConfig, setPaletteConfig } from '../tokens/palette-config';\nimport { EventBusProvider } from '../utils/react/useEventBus';\nimport { AMBIENT_PREDEFINED_STATES } from '../utils/react/useScheme';\nimport { extractStyles } from '../utils/styles';\nimport { TASTY_VERSION, VERSION } from '../version';\n\nimport { GlobalStyles } from './GlobalStyles';\nimport { AlertDialogApiProvider } from './overlays/AlertDialog/AlertDialogApiProvider';\nimport { OverlayProvider } from './overlays/Notifications/OverlayProvider';\nimport { PortalProvider } from './portal';\n\nimport type { i18n as I18nInstance } from 'i18next';\n\n// Color-scheme aliases for the Glaze-generated palette (see `src/tokens/palette.ts`).\n// Attribute opt-in wins over system preference:\n// <html data-scheme=\"dark\"> → forces the dark scheme\n// <html data-contrast=\"high\"> → forces the high-contrast scheme\n// Otherwise falls back to the user's `prefers-color-scheme` / `prefers-contrast`.\n//\n// The strings live in `useScheme.ts`, which also reads the same two conditions\n// from JS (`useScheme()` / `useHighContrast()`) — one definition, so the CSS and\n// the JS answers cannot drift apart.\nsetGlobalPredefinedStates(AMBIENT_PREDEFINED_STATES);\n\nconfigure({\n // Collapse the kit's stylesheet writes into one style invalidation per commit\n // instead of one per component. Only takes effect inside a\n // `<TastyBatchProvider>` window, and windows have to be opened per portal\n // boundary because a commit that mounts a portal does not re-render `<Root>`.\n // The kit opens three: here, in `<Portal>` (tooltips, Select and\n // ListBoxPopover lists, notifications, AlertDialogZone) and in `<Overlay>`\n // (popovers, modals, trays — i.e. Dialog and Menu). Writes in any commit\n // without a window go straight through exactly as before, so a\n // `useLayoutEffect` can never measure an element whose rules have not landed.\n batchInjection: true,\n units: {\n x: 'var(--gap)',\n r: 'var(--radius)',\n cr: 'var(--card-radius)',\n bw: 'var(--border-width)',\n ow: 'var(--outline-width)',\n },\n recipes: {\n reset: {\n margin: 0,\n padding: 0,\n border: 0,\n outline: 0,\n boxSizing: 'border-box',\n },\n button: {\n appearance: 'none',\n touchAction: 'manipulation',\n textDecoration: 'none',\n '-webkit-tap-highlight-color': 'transparent',\n fill: '#clear',\n color: 'inherit',\n cursor: {\n '': 'default',\n ':is(a)': 'pointer',\n ':is(button)': '$pointer',\n disabled: 'not-allowed',\n },\n },\n input: {\n appearance: 'none',\n wordSpacing: 'initial',\n color: 'inherit',\n fill: '#clear',\n },\n 'input-autofill': {\n '@autofill': ':-webkit-autofill | :autofill',\n appearance: {\n '@autofill': 'none',\n },\n '-webkit-text-fill-color': {\n '': 'currentColor',\n '@autofill': '#primary-text',\n },\n caretColor: {\n '@autofill': '#primary-text',\n },\n shadow: {\n '@autofill': '0 0 0 9999rem #surface inset',\n },\n preset: {\n '@autofill': 'inherit',\n },\n '-webkit-opacity': {\n '': false,\n '[disabled]': '1',\n },\n },\n 'input-placeholder': {\n '-webkit-text-fill-color': '#placeholder',\n color: '#placeholder',\n },\n 'input-search-cancel-button': {\n hide: true,\n appearance: 'none',\n },\n },\n});\n\nconst RootElement = tasty({\n id: 'cube-ui-kit-root',\n styles: {\n display: 'contents',\n color: '#dark-02',\n preset: 't3',\n },\n});\n\nconst STYLES = [...BASE_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeRootProps extends BaseProps {\n tokens?: { [key: string]: string };\n /**\n * Tune the generated color palette. Every zone — `accent`, `base` and each status\n * theme — takes the same seed: a color, or `{ hue, saturation }`. Plus the global\n * `surfaceMode`, `pastel` and `contrastLevel`. Omitted fields take their default, so\n * this prop describes the whole palette and dropping a field from it drops the\n * customization.\n *\n * Removing the prop entirely is the one thing that does *not* reset the\n * palette, so `<Root>` with no `palette` cannot clobber a host's imperative\n * `setPaletteConfig()` call. Pass `{}` to ask for the default.\n *\n * The first mount applies it during render, so the first paint is already\n * tuned; a later change applies in a layout effect, before paint.\n *\n * The palette is global process state, so this is a declarative wrapper over\n * `setPaletteConfig()`; both drive the same store, and the last write wins.\n * Root's layout effect runs after its descendants' in the same commit, so a\n * descendant's `setPaletteConfig()` from a layout effect in that commit loses\n * to the prop; write from a passive effect or an event handler instead.\n * See `Getting Started/Theming` in Storybook.\n */\n palette?: PaletteConfig;\n bodyStyles?: { [key: string]: string };\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n fonts?: boolean;\n publicUrl?: string;\n navigation?: NavigationAdapter;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via GlobalStyles */\n applyLegacyTokens?: boolean;\n tracking?: TrackingProps;\n cursorStrategy?: 'web' | 'native';\n /**\n * i18next instance for this tree. During SSR, pass a request-local instance\n * created with `createUIKitI18n(locale)`.\n */\n i18n?: I18nInstance;\n /** Override the React Aria formatting locale. */\n locale?: string;\n}\n\nexport function Root(allProps: CubeRootProps) {\n let {\n children,\n /** Raw css styles for body element */\n bodyStyles,\n fontDisplay = 'swap',\n fonts,\n publicUrl,\n navigation,\n font,\n monospaceFont,\n applyLegacyTokens: _applyLegacyTokens, // deprecated, ignored\n tracking,\n cursorStrategy = 'web',\n style,\n tokens,\n palette,\n i18n,\n locale,\n ...props\n } = allProps;\n\n // The first mount applies the palette during render, so the first paint and\n // SSR output already use it and `GlobalStyles` below reads it directly. A lazy\n // initializer runs once per mount, which React Compiler preserves; a `useMemo`\n // compiles to a call on every render. A later change waits for the layout\n // effect: a write notifies every palette subscriber, and React rejects\n // updating another component while this one renders. Updates from a layout\n // effect still land before paint. `setPaletteConfig` is a no-op when the\n // resolved config is unchanged, so the effect's mount pass, an inline object\n // literal and StrictMode's double calls cost nothing.\n //\n // A `<Root>` that mounts while another tree already subscribes, with a\n // different palette, still notifies that tree during its first render.\n useState(() => {\n if (palette) setPaletteConfig(palette);\n });\n\n useLayoutEffect(() => {\n if (palette) setPaletteConfig(palette);\n }, [palette]);\n\n const ref = useRef(null);\n\n const [rootRef, setRootRef] = useState();\n\n useEffect(() => {\n if (!rootRef) {\n // @ts-ignore\n setRootRef(ref?.current);\n }\n }, []);\n\n const styles = extractStyles(props, STYLES);\n\n return (\n <TastyBatchProvider>\n <I18nProvider i18n={i18n} locale={locale}>\n <Provider navigation={navigation} root={rootRef}>\n <TrackingProvider event={tracking?.event}>\n <RootElement\n ref={ref}\n data-uikit={VERSION}\n data-tasty={TASTY_VERSION}\n data-font-display={fontDisplay}\n {...filterBaseProps(props, { eventProps: true })}\n styles={styles}\n style={{\n '--pointer': cursorStrategy === 'web' ? 'pointer' : 'default',\n ...style,\n }}\n tokens={tokens}\n >\n <GlobalStyles\n bodyStyles={bodyStyles}\n publicUrl={publicUrl}\n fonts={fonts}\n font={font}\n monospaceFont={monospaceFont}\n fontDisplay={fontDisplay}\n />\n <ModalProvider>\n <PortalProvider value={ref}>\n <EventBusProvider>\n <OverlayProvider>\n <AlertDialogApiProvider>\n {children}\n </AlertDialogApiProvider>\n </OverlayProvider>\n </EventBusProvider>\n </PortalProvider>\n </ModalProvider>\n </RootElement>\n </TrackingProvider>\n </Provider>\n </I18nProvider>\n </TastyBatchProvider>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Root.js","names":["BASE_STYLES","BaseProps","BLOCK_STYLES","configure","filterBaseProps","setGlobalPredefinedStates","tasty","TastyBatchProvider","useEffect","useLayoutEffect","useRef","useState","ModalProvider","I18nProvider","Provider","NavigationAdapter","TrackingProps","TrackingProvider","PaletteConfig","setPaletteConfig","EventBusProvider","AMBIENT_PREDEFINED_STATES","extractStyles","TASTY_VERSION","VERSION","GlobalStyles","AlertDialogApiProvider","OverlayProvider","PortalProvider","i18n","I18nInstance","batchInjection","units","x","r","cr","bw","ow","recipes","reset","margin","padding","border","outline","boxSizing","button","appearance","touchAction","textDecoration","fill","color","cursor","disabled","input","wordSpacing","caretColor","shadow","preset","hide","RootElement","id","styles","display","STYLES","CubeRootProps","tokens","key","palette","bodyStyles","fontDisplay","fonts","publicUrl","navigation","font","monospaceFont","applyLegacyTokens","tracking","cursorStrategy","locale","Root","allProps","$","_c","children","t0","_applyLegacyTokens","t1","style","props","undefined","t2","t3","t4","ref","rootRef","setRootRef","t5","current","t6","Symbol","for","T0","T1","T2","T3","t7","event","T4","t10","eventProps","t11","t12","$pointer","t13","t14","t15","t8","t9","t16","t17","t18","t19","_c","I18nProvider"],"sources":["../../src/components/Root.tsx"],"sourcesContent":["import {\n BASE_STYLES,\n BaseProps,\n BLOCK_STYLES,\n configure,\n filterBaseProps,\n setGlobalPredefinedStates,\n tasty,\n TastyBatchProvider,\n} from '@tenphi/tasty';\nimport { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { ModalProvider } from 'react-aria';\n\nimport { I18nProvider } from '../i18n';\nimport { Provider } from '../provider';\nimport { NavigationAdapter } from '../providers/navigation.types';\nimport { TrackingProps, TrackingProvider } from '../providers/TrackingProvider';\nimport { PaletteConfig, setPaletteConfig } from '../tokens/palette-config';\nimport { EventBusProvider } from '../utils/react/useEventBus';\nimport { AMBIENT_PREDEFINED_STATES } from '../utils/react/useScheme';\nimport { extractStyles } from '../utils/styles';\nimport { TASTY_VERSION, VERSION } from '../version';\n\nimport { GlobalStyles } from './GlobalStyles';\nimport { AlertDialogApiProvider } from './overlays/AlertDialog/AlertDialogApiProvider';\nimport { OverlayProvider } from './overlays/Notifications/OverlayProvider';\nimport { PortalProvider } from './portal';\n\nimport type { i18n as I18nInstance } from 'i18next';\n\n// Color-scheme aliases for the Glaze-generated palette (see `src/tokens/palette.ts`).\n// Attribute opt-in wins over system preference:\n// <html data-scheme=\"dark\"> → forces the dark scheme\n// <html data-contrast=\"high\"> → forces the high-contrast scheme\n// Otherwise falls back to the user's `prefers-color-scheme` / `prefers-contrast`.\n//\n// The strings live in `useScheme.ts`, which also reads the same two conditions\n// from JS (`useScheme()` / `useHighContrast()`) — one definition, so the CSS and\n// the JS answers cannot drift apart.\nsetGlobalPredefinedStates(AMBIENT_PREDEFINED_STATES);\n\nconfigure({\n // Collapse the kit's stylesheet writes into one style invalidation per commit\n // instead of one per component. Only takes effect inside a\n // `<TastyBatchProvider>` window, and windows have to be opened per portal\n // boundary because a commit that mounts a portal does not re-render `<Root>`.\n // The kit opens three: here, in `<Portal>` (tooltips, Select and\n // ListBoxPopover lists, notifications, AlertDialogZone) and in `<Overlay>`\n // (popovers, modals, trays — i.e. Dialog and Menu). Writes in any commit\n // without a window go straight through exactly as before, so a\n // `useLayoutEffect` can never measure an element whose rules have not landed.\n batchInjection: true,\n units: {\n x: 'var(--gap)',\n r: 'var(--radius)',\n cr: 'var(--card-radius)',\n bw: 'var(--border-width)',\n ow: 'var(--outline-width)',\n },\n recipes: {\n reset: {\n margin: 0,\n padding: 0,\n border: 0,\n outline: 0,\n boxSizing: 'border-box',\n },\n button: {\n appearance: 'none',\n touchAction: 'manipulation',\n textDecoration: 'none',\n '-webkit-tap-highlight-color': 'transparent',\n fill: '#clear',\n color: 'inherit',\n cursor: {\n '': 'default',\n ':is(a)': 'pointer',\n ':is(button)': '$pointer',\n disabled: 'not-allowed',\n },\n },\n input: {\n appearance: 'none',\n wordSpacing: 'initial',\n color: 'inherit',\n fill: '#clear',\n },\n 'input-autofill': {\n '@autofill': ':-webkit-autofill | :autofill',\n appearance: {\n '@autofill': 'none',\n },\n '-webkit-text-fill-color': {\n '': 'currentColor',\n '@autofill': '#primary-text',\n },\n caretColor: {\n '@autofill': '#primary-text',\n },\n shadow: {\n '@autofill': '0 0 0 9999rem #surface inset',\n },\n preset: {\n '@autofill': 'inherit',\n },\n '-webkit-opacity': {\n '': false,\n '[disabled]': '1',\n },\n },\n 'input-placeholder': {\n '-webkit-text-fill-color': '#placeholder',\n color: '#placeholder',\n },\n 'input-search-cancel-button': {\n hide: true,\n appearance: 'none',\n },\n },\n});\n\nconst RootElement = tasty({\n id: 'cube-ui-kit-root',\n styles: {\n display: 'contents',\n color: '#dark-02',\n preset: 't3',\n },\n});\n\nconst STYLES = [...BASE_STYLES, ...BLOCK_STYLES];\n\nexport interface CubeRootProps extends BaseProps {\n tokens?: { [key: string]: string };\n /**\n * Tune the generated color palette. Every zone — `accent`, `base` and each status\n * theme — takes the same seed: a color, or `{ hue, saturation }`. Plus the global\n * `surfaceMode`, `pastel` and `contrastLevel`. Omitted fields take their default, so\n * this prop describes the whole palette and dropping a field from it drops the\n * customization.\n *\n * Removing the prop entirely is the one thing that does *not* reset the\n * palette, so `<Root>` with no `palette` cannot clobber a host's imperative\n * `setPaletteConfig()` call. Pass `{}` to ask for the default.\n *\n * The first mount applies it during render, so the first paint is already\n * tuned; a later change applies in a layout effect, before paint.\n *\n * The palette is global process state, so this is a declarative wrapper over\n * `setPaletteConfig()`; both drive the same store, and the last write wins.\n * Root's layout effect runs after its descendants' in the same commit, so a\n * descendant's `setPaletteConfig()` from a layout effect in that commit loses\n * to the prop; write from a passive effect or an event handler instead.\n * See `Getting Started/Theming` in Storybook.\n */\n palette?: PaletteConfig;\n bodyStyles?: { [key: string]: string };\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n fonts?: boolean;\n publicUrl?: string;\n navigation?: NavigationAdapter;\n font?: string;\n monospaceFont?: string;\n /** @deprecated Tokens are now always applied via GlobalStyles */\n applyLegacyTokens?: boolean;\n tracking?: TrackingProps;\n cursorStrategy?: 'web' | 'native';\n /**\n * i18next instance for this tree. During SSR, pass a request-local instance\n * created with `createUIKitI18n(locale)`.\n */\n i18n?: I18nInstance;\n /** Override the React Aria formatting locale. */\n locale?: string;\n}\n\nexport function Root(allProps: CubeRootProps) {\n let {\n children,\n /** Raw css styles for body element */\n bodyStyles,\n fontDisplay = 'swap',\n fonts,\n publicUrl,\n navigation,\n font,\n monospaceFont,\n applyLegacyTokens: _applyLegacyTokens, // deprecated, ignored\n tracking,\n cursorStrategy = 'web',\n style,\n tokens,\n palette,\n i18n,\n locale,\n ...props\n } = allProps;\n\n // The first mount applies the palette during render, so the first paint and\n // SSR output already use it and `GlobalStyles` below reads it directly. A lazy\n // initializer runs once per mount, which React Compiler preserves; a `useMemo`\n // compiles to a call on every render. A later change waits for the layout\n // effect: a write notifies every palette subscriber, and React rejects\n // updating another component while this one renders. Updates from a layout\n // effect still land before paint. `setPaletteConfig` is a no-op when the\n // resolved config is unchanged, so the effect's mount pass, an inline object\n // literal and StrictMode's double calls cost nothing.\n //\n // A `<Root>` that mounts while another tree already subscribes, with a\n // different palette, still notifies that tree during its first render.\n useState(() => {\n if (palette) setPaletteConfig(palette);\n });\n\n useLayoutEffect(() => {\n if (palette) setPaletteConfig(palette);\n }, [palette]);\n\n const ref = useRef(null);\n\n const [rootRef, setRootRef] = useState();\n\n useEffect(() => {\n if (!rootRef) {\n // @ts-ignore\n setRootRef(ref?.current);\n }\n }, []);\n\n const styles = extractStyles(props, STYLES);\n\n return (\n <TastyBatchProvider>\n <I18nProvider i18n={i18n} locale={locale}>\n <Provider navigation={navigation} root={rootRef}>\n <TrackingProvider event={tracking?.event}>\n <RootElement\n ref={ref}\n data-uikit={VERSION}\n data-tasty={TASTY_VERSION}\n data-font-display={fontDisplay}\n {...filterBaseProps(props, { eventProps: true })}\n styles={styles}\n tokens={{\n $pointer: cursorStrategy === 'web' ? 'pointer' : 'default',\n ...tokens,\n }}\n // oxlint-disable-next-line tasty/no-style-prop -- forwards the consumer's public `style` prop\n style={style}\n >\n <GlobalStyles\n bodyStyles={bodyStyles}\n publicUrl={publicUrl}\n fonts={fonts}\n font={font}\n monospaceFont={monospaceFont}\n fontDisplay={fontDisplay}\n />\n <ModalProvider>\n <PortalProvider value={ref}>\n <EventBusProvider>\n <OverlayProvider>\n <AlertDialogApiProvider>\n {children}\n </AlertDialogApiProvider>\n </OverlayProvider>\n </EventBusProvider>\n </PortalProvider>\n </ModalProvider>\n </RootElement>\n </TrackingProvider>\n </Provider>\n </I18nProvider>\n </TastyBatchProvider>\n );\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useAction } from "../use-action.js";
4
4
  import { c } from "react/compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.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 { Item as _Item } from "../../content/Item/Item.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.199.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.200.0 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { getDisabledElementProps, omitActivationEventProps } from "../../../utils/react/disabledProps.js";
@@ -15,7 +15,7 @@ import { mergeTooltipFocusProps } from "../../overlays/Tooltip/split-trigger-pro
15
15
  import { useAction } from "../use-action.js";
16
16
  import { IconSwitch } from "../../helpers/IconSwitch/IconSwitch.js";
17
17
  import { useButtonSplitContext } from "../ButtonSplit/context.js";
18
- import { CONTAINER_STYLES, TEXT_STYLES, tasty } from "@tenphi/tasty";
18
+ import { CONTAINER_STYLES, TEXT_STYLES, mergeStyles, tasty } from "@tenphi/tasty";
19
19
  import { Children, forwardRef, isValidElement, useMemo, useRef, useState } from "react";
20
20
  import { jsx, jsxs } from "react/jsx-runtime";
21
21
  //#region src/components/actions/Button/Button.tsx
@@ -57,7 +57,7 @@ const DEFAULT_BUTTON_STYLES = {
57
57
  "size=xlarge": "t2m",
58
58
  "type=link": "strong"
59
59
  },
60
- outlineOffset: 1,
60
+ outlineOffset: "$outline-offset",
61
61
  padding: {
62
62
  "": 0,
63
63
  "raw-children & !has-icons": "$block-padding $inline-padding $block-padding $inline-padding",
@@ -115,8 +115,7 @@ const DEFAULT_BUTTON_STYLES = {
115
115
  "": "$inline-padding",
116
116
  "is-right-icon-shown": "0px"
117
117
  },
118
- Icon: {
119
- ...DEFAULT_ICON_STYLES,
118
+ Icon: mergeStyles(DEFAULT_ICON_STYLES, {
120
119
  width: {
121
120
  "": "fixed 0px",
122
121
  "is-icon-shown": "fixed ($size - 2bw)"
@@ -129,9 +128,8 @@ const DEFAULT_BUTTON_STYLES = {
129
128
  "": "($size * 1 / 4) 0",
130
129
  "is-icon-shown": "0 0"
131
130
  }
132
- },
133
- RightIcon: {
134
- ...DEFAULT_ICON_STYLES,
131
+ }),
132
+ RightIcon: mergeStyles(DEFAULT_ICON_STYLES, {
135
133
  width: {
136
134
  "": "fixed 0px",
137
135
  "is-right-icon-shown": "fixed ($size - 2bw)"
@@ -144,7 +142,7 @@ const DEFAULT_BUTTON_STYLES = {
144
142
  "": "($size * -1 / 4) 0",
145
143
  "is-right-icon-shown": "0 0"
146
144
  }
147
- },
145
+ }),
148
146
  Label: {
149
147
  $: ">",
150
148
  display: "block",