@cube-dev/ui-kit 0.0.0-canary-ba8ede3 → 0.0.0-canary-a9ce8b9

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 (565) hide show
  1. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  2. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  3. package/dist/_internal/hooks/use-event.js +1 -1
  4. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  5. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  6. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  7. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  8. package/dist/_internal/hooks/use-warn.js +1 -1
  9. package/dist/components/Block.js +1 -1
  10. package/dist/components/CollectionItem.js +1 -1
  11. package/dist/components/GlobalStyles.js +18 -19
  12. package/dist/components/GlobalStyles.js.map +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +1 -1
  16. package/dist/components/actions/Action/Action.js +1 -1
  17. package/dist/components/actions/Banner/Banner.js +1 -1
  18. package/dist/components/actions/Button/Button.js +1 -1
  19. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  20. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  21. package/dist/components/actions/ButtonSplit/context.js +1 -1
  22. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  23. package/dist/components/actions/CommandMenu/styled.js +1 -1
  24. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  25. package/dist/components/actions/ItemActionContext.js +1 -1
  26. package/dist/components/actions/ItemActionsWrapper.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/actions-run.js +1 -1
  38. package/dist/components/actions/index.js +1 -1
  39. package/dist/components/actions/use-action.js +1 -1
  40. package/dist/components/actions/use-anchored-menu.js +1 -1
  41. package/dist/components/actions/use-context-menu.js +1 -1
  42. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  43. package/dist/components/content/Alert/Alert.js +1 -1
  44. package/dist/components/content/Alert/use-alert.js +1 -1
  45. package/dist/components/content/Avatar/Avatar.js +1 -1
  46. package/dist/components/content/Badge/Badge.js +1 -1
  47. package/dist/components/content/Card/Card.js +1 -1
  48. package/dist/components/content/Content.js +1 -1
  49. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  51. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  52. package/dist/components/content/Divider.js +1 -1
  53. package/dist/components/content/Footer.js +1 -1
  54. package/dist/components/content/Header.js +1 -1
  55. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  56. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  58. package/dist/components/content/Item/Item.js +1 -1
  59. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  60. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  61. package/dist/components/content/Layout/GridLayout.js +1 -1
  62. package/dist/components/content/Layout/Layout.js +1 -1
  63. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  64. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  65. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  66. package/dist/components/content/Layout/LayoutContent.js +1 -1
  67. package/dist/components/content/Layout/LayoutContext.js +1 -1
  68. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  69. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  70. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  71. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutPane.js +1 -1
  73. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  75. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  76. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  77. package/dist/components/content/Layout/index.js +1 -1
  78. package/dist/components/content/Layout/utils.js +1 -1
  79. package/dist/components/content/Paragraph.js +1 -1
  80. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  81. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  82. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  83. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  84. package/dist/components/content/Result/Result.js +1 -1
  85. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  86. package/dist/components/content/Tag/Tag.js +1 -1
  87. package/dist/components/content/Text.js +1 -1
  88. package/dist/components/content/TextItem/TextItem.js +1 -1
  89. package/dist/components/content/Title.js +1 -1
  90. package/dist/components/content/Tree/Tree.js +1 -1
  91. package/dist/components/content/Tree/TreeNode.js +1 -1
  92. package/dist/components/content/Tree/styled.js +1 -1
  93. package/dist/components/content/Tree/tree-index.js +1 -1
  94. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  95. package/dist/components/content/Tree/use-load-data.js +1 -1
  96. package/dist/components/content/highlightText.js +1 -1
  97. package/dist/components/content/use-auto-tooltip.js +126 -111
  98. package/dist/components/content/use-auto-tooltip.js.map +1 -1
  99. package/dist/components/data/DataTable/DataTable.js +1 -1
  100. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  105. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  106. package/dist/components/data/TableBase/RowCollection.js +1 -1
  107. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  108. package/dist/components/data/TableBase/TableRow.js +1 -1
  109. package/dist/components/data/TableBase/TableView.js +1 -1
  110. package/dist/components/data/TableBase/column-menu.js +1 -1
  111. package/dist/components/data/TableBase/column-tint.js +1 -1
  112. package/dist/components/data/TableBase/row-menu.js +1 -1
  113. package/dist/components/data/TableBase/styled.js +1 -1
  114. package/dist/components/data/TableBase/table-tree.js +1 -1
  115. package/dist/components/data/TableBase/types.js +1 -1
  116. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  117. package/dist/components/data/TableBase/use-column-order.js +1 -1
  118. package/dist/components/data/TableBase/use-container-width.js +1 -1
  119. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  120. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  121. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  122. package/dist/components/data/TableBase/use-table-search.js +1 -1
  123. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  124. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  125. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  126. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  127. package/dist/components/data/TableBase/use-table-tree-state.js +1 -1
  128. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  129. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  130. package/dist/components/fields/Checkbox/context.js +1 -1
  131. package/dist/components/fields/ColorInput/ColorInput.js +1 -1
  132. package/dist/components/fields/ColorPicker/ColorPicker.js +1 -1
  133. package/dist/components/fields/ColorSwatch/ColorSwatch.js +1 -1
  134. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  135. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  136. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  137. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  138. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  139. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  140. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  141. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  142. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  143. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  144. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  145. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  146. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  147. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  148. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  149. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  150. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  151. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  152. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  153. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  155. package/dist/components/fields/DatePicker/period.js +1 -1
  156. package/dist/components/fields/DatePicker/props.js +1 -1
  157. package/dist/components/fields/DatePicker/utils.js +1 -1
  158. package/dist/components/fields/FileInput/FileInput.js +1 -1
  159. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  160. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  161. package/dist/components/fields/Input/Input.js +1 -1
  162. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  163. package/dist/components/fields/ListBox/ListBox.js +1 -1
  164. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  165. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  166. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  167. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  168. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  169. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  170. package/dist/components/fields/Picker/Picker.js +1 -1
  171. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  172. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  173. package/dist/components/fields/RadioGroup/context.js +1 -1
  174. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  175. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  176. package/dist/components/fields/Select/Select.js +1 -1
  177. package/dist/components/fields/Slider/Gradation.js +1 -1
  178. package/dist/components/fields/Slider/HueSlider.js +1 -1
  179. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  180. package/dist/components/fields/Slider/Slider.js +1 -1
  181. package/dist/components/fields/Slider/SliderBase.js +1 -1
  182. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  183. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  184. package/dist/components/fields/Slider/elements.js +1 -1
  185. package/dist/components/fields/Slider/index.js +1 -1
  186. package/dist/components/fields/Switch/Switch.js +1 -1
  187. package/dist/components/fields/TextArea/TextArea.js +1 -1
  188. package/dist/components/fields/TextInput/TextInput.js +1 -1
  189. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  190. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +1 -1
  191. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  192. package/dist/components/fields/TriggerActions.js +1 -1
  193. package/dist/components/fields/color/ColorPanel.js +1 -1
  194. package/dist/components/fields/color/channels.js +1 -1
  195. package/dist/components/fields/color/color.js +1 -1
  196. package/dist/components/fields/color/context.js +1 -1
  197. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  198. package/dist/components/form/Form/Field.js +1 -1
  199. package/dist/components/form/Form/Form.js +1 -1
  200. package/dist/components/form/Form/ModernFormRoot.js +1 -1
  201. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  202. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  203. package/dist/components/form/Form/SubmitError.js +1 -1
  204. package/dist/components/form/Form/backend.js +1 -1
  205. package/dist/components/form/Form/index.js +1 -1
  206. package/dist/components/form/Form/modern/actions.js +1 -1
  207. package/dist/components/form/Form/modern/context.js +1 -1
  208. package/dist/components/form/Form/modern/controller.js +1 -1
  209. package/dist/components/form/Form/modern/field-binding.js +1 -1
  210. package/dist/components/form/Form/modern/field.js +1 -1
  211. package/dist/components/form/Form/modern/react.js +1 -1
  212. package/dist/components/form/Form/modern/store.js +1 -1
  213. package/dist/components/form/Form/modern/validation.js +1 -1
  214. package/dist/components/form/Form/modern/values.js +1 -1
  215. package/dist/components/form/Form/use-field/use-field-binding.js +1 -1
  216. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  217. package/dist/components/form/Form/use-field/use-field.js +1 -1
  218. package/dist/components/form/Form/use-form.js +1 -1
  219. package/dist/components/form/Form/validation.js +1 -1
  220. package/dist/components/form/Label.js +1 -1
  221. package/dist/components/form/legacy-tooltip.js +1 -1
  222. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  223. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  224. package/dist/components/form/validation/use-validation-props.js +1 -1
  225. package/dist/components/form/wrapper.js +1 -1
  226. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  227. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  228. package/dist/components/layout/Board/Board.js +1 -1
  229. package/dist/components/layout/Board/BoardProvider.js +1 -1
  230. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  231. package/dist/components/layout/Board/Widget.js +1 -1
  232. package/dist/components/layout/Board/WidgetHost.js +1 -1
  233. package/dist/components/layout/Board/board-context.js +1 -1
  234. package/dist/components/layout/Board/board-store.js +1 -1
  235. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  236. package/dist/components/layout/Board/grid-core/collision-modes.js +1 -1
  237. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  238. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  239. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  240. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  241. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  242. package/dist/components/layout/Board/grid-core/placement.js +1 -1
  243. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  244. package/dist/components/layout/Board/index.js +1 -1
  245. package/dist/components/layout/Board/responsive-utils.js +1 -1
  246. package/dist/components/layout/Board/use-board-layout.js +1 -1
  247. package/dist/components/layout/Board/use-board-registry.js +1 -1
  248. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  249. package/dist/components/layout/Board/use-board-selection.js +1 -1
  250. package/dist/components/layout/Flex.js +1 -1
  251. package/dist/components/layout/Flow.js +1 -1
  252. package/dist/components/layout/Grid.js +1 -1
  253. package/dist/components/layout/Panel.js +1 -1
  254. package/dist/components/layout/Prefix.js +1 -1
  255. package/dist/components/layout/ResizablePanel.js +1 -1
  256. package/dist/components/layout/Space.js +1 -1
  257. package/dist/components/layout/Suffix.js +1 -1
  258. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  259. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  260. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  261. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  262. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  263. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  264. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  265. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  266. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  267. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  268. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  269. package/dist/components/navigation/Tabs/styled.js +1 -1
  270. package/dist/components/navigation/Tabs/types.js +1 -1
  271. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  272. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  273. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  274. package/dist/components/other/Calendar/Calendar.js +1 -1
  275. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  276. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  277. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  278. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  279. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  280. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  281. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  282. package/dist/components/other/Calendar/styled.js +1 -1
  283. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  284. package/dist/components/other/NoDataIcon/NoDataIcon.js +1 -1
  285. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  286. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  287. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  288. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  289. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  290. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  291. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  292. package/dist/components/overlays/Dialog/ModernDialogForm.js +1 -1
  293. package/dist/components/overlays/Dialog/context.js +1 -1
  294. package/dist/components/overlays/Dialog/use-content-overflow.js +1 -1
  295. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  296. package/dist/components/overlays/Modal/Modal.js +1 -1
  297. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  298. package/dist/components/overlays/Modal/Overlay.js +1 -1
  299. package/dist/components/overlays/Modal/Popover.js +1 -1
  300. package/dist/components/overlays/Modal/Tray.js +1 -1
  301. package/dist/components/overlays/Modal/Underlay.js +1 -1
  302. package/dist/components/overlays/Notifications/Notification.js +1 -1
  303. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  304. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  305. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  306. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  307. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  308. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  309. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  310. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  311. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  312. package/dist/components/overlays/Notifications/index.js +1 -1
  313. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  314. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  315. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  316. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  317. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  318. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  319. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  320. package/dist/components/overlays/Toast/index.js +1 -1
  321. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  322. package/dist/components/overlays/Toast/useToast.js +1 -1
  323. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  324. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  325. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  326. package/dist/components/overlays/Tooltip/context.js +1 -1
  327. package/dist/components/overlays/Tooltip/split-trigger-props.js +1 -1
  328. package/dist/components/portal/Portal.js +1 -1
  329. package/dist/components/portal/PortalProvider.js +1 -1
  330. package/dist/components/portal/usePortal.js +1 -1
  331. package/dist/components/shared/DraggableCollection.js +1 -1
  332. package/dist/components/shared/InvalidIcon.js +1 -1
  333. package/dist/components/shared/ValidIcon.js +1 -1
  334. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  335. package/dist/components/status/Spin/Cube.js +1 -1
  336. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  337. package/dist/components/status/Spin/Spin.js +1 -1
  338. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  339. package/dist/data/item-themes.js +1 -1
  340. package/dist/data/themes.js +1 -1
  341. package/dist/eslint-plugin/defaults.generated.js +1 -1
  342. package/dist/eslint-plugin/index.js +1 -1
  343. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  344. package/dist/i18n/I18nProvider.js +1 -1
  345. package/dist/i18n/createFormatter.js +1 -1
  346. package/dist/i18n/index.js +1 -1
  347. package/dist/i18n/instance.js +1 -1
  348. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  349. package/dist/i18n/locales/en-US/uikit.js +1 -1
  350. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  351. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  352. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  353. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  354. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  355. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  356. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  357. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  358. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  359. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  360. package/dist/i18n/locales.js +1 -1
  361. package/dist/i18n/useFormatter.js +1 -1
  362. package/dist/i18n/useI18n.js +1 -1
  363. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  364. package/dist/icons/AdjustmentsIcon.js +1 -1
  365. package/dist/icons/AiIcon.js +1 -1
  366. package/dist/icons/AreaChartIcon.js +1 -1
  367. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  368. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  369. package/dist/icons/BackwardIcon.js +1 -1
  370. package/dist/icons/BarChartIcon.js +1 -1
  371. package/dist/icons/BellFilledIcon.js +1 -1
  372. package/dist/icons/BellIcon.js +1 -1
  373. package/dist/icons/BooleanIcon.js +1 -1
  374. package/dist/icons/CalendarEditIcon.js +1 -1
  375. package/dist/icons/CalendarIcon.js +1 -1
  376. package/dist/icons/CaretDownIcon.js +1 -1
  377. package/dist/icons/CaretUpIcon.js +1 -1
  378. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  379. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  380. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  381. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  382. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  383. package/dist/icons/ChartBarLineIcon.js +1 -1
  384. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  385. package/dist/icons/ChartBarStackedIcon.js +1 -1
  386. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  387. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  388. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  389. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  390. package/dist/icons/ChartBubbleIcon.js +1 -1
  391. package/dist/icons/ChartDonut2Icon.js +1 -1
  392. package/dist/icons/ChartFunnelIcon.js +1 -1
  393. package/dist/icons/ChartHeatmapIcon.js +1 -1
  394. package/dist/icons/ChartKPIIcon.js +1 -1
  395. package/dist/icons/ChartPie2Icon.js +1 -1
  396. package/dist/icons/ChartScatterIcon.js +1 -1
  397. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  398. package/dist/icons/CheckCircleIcon.js +1 -1
  399. package/dist/icons/CheckIcon.js +1 -1
  400. package/dist/icons/CircleFilledIcon.js +1 -1
  401. package/dist/icons/ClearIcon.js +1 -1
  402. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  403. package/dist/icons/CloseCircleIcon.js +1 -1
  404. package/dist/icons/CloseIcon.js +1 -1
  405. package/dist/icons/CodeIcon.js +1 -1
  406. package/dist/icons/ColumnTotalIcon.js +1 -1
  407. package/dist/icons/CopyIcon.js +1 -1
  408. package/dist/icons/CountIcon.js +1 -1
  409. package/dist/icons/CubeIcon.js +1 -1
  410. package/dist/icons/CubePauseIcon.js +1 -1
  411. package/dist/icons/CubePlayIcon.js +1 -1
  412. package/dist/icons/CurrencyDollarIcon.js +1 -1
  413. package/dist/icons/DangerIcon.js +1 -1
  414. package/dist/icons/DashboardIcon.js +1 -1
  415. package/dist/icons/DatabaseIcon.js +1 -1
  416. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  417. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  418. package/dist/icons/DirectionIcon.js +1 -1
  419. package/dist/icons/DonutIcon.js +1 -1
  420. package/dist/icons/DownIcon.js +1 -1
  421. package/dist/icons/EditIcon.js +1 -1
  422. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  423. package/dist/icons/ExclamationCircleIcon.js +1 -1
  424. package/dist/icons/ExclamationIcon.js +1 -1
  425. package/dist/icons/EyeIcon.js +1 -1
  426. package/dist/icons/EyeInvisibleIcon.js +1 -1
  427. package/dist/icons/FilterIcon.js +1 -1
  428. package/dist/icons/FolderFilledIcon.js +1 -1
  429. package/dist/icons/FolderIcon.js +1 -1
  430. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  431. package/dist/icons/FolderOpenIcon.js +1 -1
  432. package/dist/icons/ForwardIcon.js +1 -1
  433. package/dist/icons/GripVerticalIcon.js +1 -1
  434. package/dist/icons/HierarchyIcon.js +1 -1
  435. package/dist/icons/HierarchyOpenIcon.js +1 -1
  436. package/dist/icons/Icon.js +1 -1
  437. package/dist/icons/InfoCircleIcon.js +1 -1
  438. package/dist/icons/InfoIcon.js +1 -1
  439. package/dist/icons/KeyIcon.js +1 -1
  440. package/dist/icons/LeftIcon.js +1 -1
  441. package/dist/icons/LineChartIcon.js +1 -1
  442. package/dist/icons/LoadingIcon.js +1 -1
  443. package/dist/icons/LockFilledIcon.js +1 -1
  444. package/dist/icons/LockIcon.js +1 -1
  445. package/dist/icons/MoreIcon.js +1 -1
  446. package/dist/icons/NotAllowedIcon.js +1 -1
  447. package/dist/icons/Number123Icon.js +1 -1
  448. package/dist/icons/NumberIcon.js +1 -1
  449. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  450. package/dist/icons/PauseCircleIcon.js +1 -1
  451. package/dist/icons/PauseIcon.js +1 -1
  452. package/dist/icons/PercentageIcon.js +1 -1
  453. package/dist/icons/PieChartIcon.js +1 -1
  454. package/dist/icons/PipetteIcon.js +1 -1
  455. package/dist/icons/PlayCircleIcon.js +1 -1
  456. package/dist/icons/PlayIcon.js +1 -1
  457. package/dist/icons/PlusIcon.js +1 -1
  458. package/dist/icons/ProgressBarIcon.js +1 -1
  459. package/dist/icons/ReloadIcon.js +1 -1
  460. package/dist/icons/ReportIcon.js +1 -1
  461. package/dist/icons/ReturnIcon.js +1 -1
  462. package/dist/icons/RightIcon.js +1 -1
  463. package/dist/icons/RowTotalsIcon.js +1 -1
  464. package/dist/icons/SchemeIcon.js +1 -1
  465. package/dist/icons/SearchIcon.js +1 -1
  466. package/dist/icons/SemanticQueryIcon.js +1 -1
  467. package/dist/icons/SettingsIcon.js +1 -1
  468. package/dist/icons/ShieldFilledIcon.js +1 -1
  469. package/dist/icons/ShieldIcon.js +1 -1
  470. package/dist/icons/SlashIcon.js +1 -1
  471. package/dist/icons/SparklesIcon.js +1 -1
  472. package/dist/icons/SqlIcon.js +1 -1
  473. package/dist/icons/StatsIcon.js +1 -1
  474. package/dist/icons/StopIcon.js +1 -1
  475. package/dist/icons/StringIcon.js +1 -1
  476. package/dist/icons/SubtotalsIcon.js +1 -1
  477. package/dist/icons/SwitchIcon.js +1 -1
  478. package/dist/icons/TableIcon.js +1 -1
  479. package/dist/icons/ThumbsDownIcon.js +1 -1
  480. package/dist/icons/ThumbsUpIcon.js +1 -1
  481. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  482. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  483. package/dist/icons/ThunderboltIcon.js +1 -1
  484. package/dist/icons/TimeIcon.js +1 -1
  485. package/dist/icons/TrashIcon.js +1 -1
  486. package/dist/icons/UnlockIcon.js +1 -1
  487. package/dist/icons/UpIcon.js +1 -1
  488. package/dist/icons/UserGroupIcon.js +1 -1
  489. package/dist/icons/UserIcon.js +1 -1
  490. package/dist/icons/UserLockIcon.js +1 -1
  491. package/dist/icons/ViewIcon.js +1 -1
  492. package/dist/icons/WarningFilledIcon.js +1 -1
  493. package/dist/icons/WarningIcon.js +1 -1
  494. package/dist/icons/wrap-icon.js +1 -1
  495. package/dist/index.js +1 -1
  496. package/dist/probe/canonicalize.js +1 -1
  497. package/dist/probe/css.js +1 -1
  498. package/dist/probe/index.js +1 -1
  499. package/dist/provider.js +1 -1
  500. package/dist/providers/TrackingProvider.js +1 -1
  501. package/dist/providers/navigationAdapter.default.js +1 -1
  502. package/dist/tokens/all-tokens.js +1 -1
  503. package/dist/tokens/base.js +1 -1
  504. package/dist/tokens/color-seed.js +1 -1
  505. package/dist/tokens/color-theme.js +5 -4
  506. package/dist/tokens/color-theme.js.map +1 -1
  507. package/dist/tokens/colors.js +1 -1
  508. package/dist/tokens/layout.js +1 -1
  509. package/dist/tokens/lazy-styles.js +1 -1
  510. package/dist/tokens/legacy-color.js +1 -1
  511. package/dist/tokens/palette-config.d.ts +0 -5
  512. package/dist/tokens/palette-config.js +7 -30
  513. package/dist/tokens/palette-config.js.map +1 -1
  514. package/dist/tokens/palette.js +1 -1
  515. package/dist/tokens/resolve.js +1 -1
  516. package/dist/tokens/shadows.js +1 -1
  517. package/dist/tokens/sizes.js +1 -1
  518. package/dist/tokens/spacing.js +1 -1
  519. package/dist/tokens/typography.js +1 -1
  520. package/dist/utils/ResizeSensor.js +1 -1
  521. package/dist/utils/colors.js +1 -1
  522. package/dist/utils/dotize.js +1 -1
  523. package/dist/utils/is-dev-env.js +1 -1
  524. package/dist/utils/modules.js +1 -1
  525. package/dist/utils/promise.js +1 -1
  526. package/dist/utils/raf.js +1 -1
  527. package/dist/utils/random.js +1 -1
  528. package/dist/utils/range.js +1 -1
  529. package/dist/utils/react/RenderCache.js +1 -1
  530. package/dist/utils/react/Slots.js +1 -1
  531. package/dist/utils/react/chain.js +1 -1
  532. package/dist/utils/react/disabledProps.js +1 -1
  533. package/dist/utils/react/escapePropagation.js +1 -1
  534. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  535. package/dist/utils/react/index.js +1 -1
  536. package/dist/utils/react/interactions.js +1 -1
  537. package/dist/utils/react/isTextOnly.js +1 -1
  538. package/dist/utils/react/mapProps.js +1 -1
  539. package/dist/utils/react/mergeProps.js +1 -1
  540. package/dist/utils/react/nullableValue.js +1 -1
  541. package/dist/utils/react/programmaticFocus.js +1 -1
  542. package/dist/utils/react/resolveIcon.js +1 -1
  543. package/dist/utils/react/sharedStore.js +1 -1
  544. package/dist/utils/react/useBufferedValue.js +1 -1
  545. package/dist/utils/react/useCombinedRefs.js +1 -1
  546. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  547. package/dist/utils/react/useEventBus.js +1 -1
  548. package/dist/utils/react/useId.js +1 -1
  549. package/dist/utils/react/useIsDarwin.js +1 -1
  550. package/dist/utils/react/useKeySymbols.js +1 -1
  551. package/dist/utils/react/useLayoutEffect.js +1 -1
  552. package/dist/utils/react/useLocalStorage.js +1 -1
  553. package/dist/utils/react/useMergeStyles.js +1 -1
  554. package/dist/utils/react/useOverlayEscapeGuard.js +1 -1
  555. package/dist/utils/react/usePopoverSync.js +1 -1
  556. package/dist/utils/react/useQaProps.js +1 -1
  557. package/dist/utils/react/useScheme.js +1 -1
  558. package/dist/utils/react/useViewportSize.js +1 -1
  559. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  560. package/dist/utils/selection.js +1 -1
  561. package/dist/utils/styles.js +1 -1
  562. package/dist/utils/tree.js +1 -1
  563. package/dist/utils/warnings.js +1 -1
  564. package/dist/version.js +2 -2
  565. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { IconLockOpen2 } from "@tabler/icons-react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { IconChevronUp } from "@tabler/icons-react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { IconAlertTriangleFilled } from "@tabler/icons-react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { wrapIcon } from "./wrap-icon.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { IconAlertTriangle } from "@tabler/icons-react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { Icon } from "./Icon.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { jsx } from "react/jsx-runtime";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { extractStyles } from "./utils/styles.js";
3
3
  import { chain } from "./utils/react/chain.js";
4
4
  import { getDisabledElementProps, omitActivationEventProps } from "./utils/react/disabledProps.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  //#region src/probe/canonicalize.ts
3
3
  /**
4
4
  * Normalising generated identifiers out of rendered output.
package/dist/probe/css.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { getCSSTextForNode } from "@tenphi/tasty";
3
3
 
4
4
  //#region src/probe/css.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { canonicalize, canonicalizeClassNames, canonicalizeIds } from "./canonicalize.js";
3
3
  import { captureCss, diffRules, splitRules } from "./css.js";
4
4
 
package/dist/provider.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { EventBusProvider } from "./utils/react/useEventBus.js";
3
3
  import { defaultNavigationAdapter } from "./providers/navigationAdapter.default.js";
4
4
  import { c } from "react-compiler-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { c } from "react-compiler-runtime";
3
3
  import { createContext, useContext } from "react";
4
4
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  //#region src/providers/navigationAdapter.default.ts
3
3
  /**
4
4
  * Converts a Path object to a string URL
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { getPaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  //#region src/tokens/base.ts
3
3
  /**
4
4
  * Base design system tokens.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { glaze } from "@tenphi/glaze";
3
3
 
4
4
  //#region src/tokens/color-seed.ts
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
- import { DEFAULT_HUE, DEFAULT_SATURATION, getPaletteConfig, getPaletteVersion, usePaletteValue } from "./palette-config.js";
3
+ import { DEFAULT_HUE, DEFAULT_SATURATION, getPaletteConfig, getPaletteVersion, usePaletteVersion } from "./palette-config.js";
4
4
  import { tintRecipe } from "./palette.js";
5
5
  import { c } from "react-compiler-runtime";
6
6
  import { useGlobalStyles } from "@tenphi/tasty";
@@ -160,13 +160,14 @@ function getColorTheme(config) {
160
160
  */
161
161
  function useColorTheme(config) {
162
162
  const $ = c(4);
163
+ usePaletteVersion();
163
164
  let t0;
164
165
  if ($[0] !== config) {
165
- t0 = () => getColorTheme(config);
166
+ t0 = getColorTheme(config);
166
167
  $[0] = config;
167
168
  $[1] = t0;
168
169
  } else t0 = $[1];
169
- const theme = usePaletteValue(t0);
170
+ const theme = t0;
170
171
  const t1 = `cube-color-theme-${theme.name}`;
171
172
  let t2;
172
173
  if ($[2] !== t1) {
@@ -1 +1 @@
1
- {"version":3,"file":"color-theme.js","names":["glaze","useGlobalStyles","colorSeed","tintRecipe","DEFAULT_HUE","DEFAULT_SATURATION","getPaletteConfig","getPaletteVersion","usePaletteValue","ColorMap","GlazeConfigOverride","Styles","ColorThemeConfig","hue","saturation","pastel","colors","ColorTheme","name","tokens","Record","hashString","input","hash","i","length","charCodeAt","Math","imul","toString","hashSeed","seed","ResolvedSeed","JSON","stringify","toFixed","stableStringify","value","Array","isArray","map","join","entries","Object","sort","a","b","key","item","colorThemeSeed","cache","Map","lastVersion","getColorTheme","config","version","clear","paletteConfig","parsed","cached","get","overrides","contrastLevel","theme","keys","undefined","raw","tasty","format","startsWith","bare","slice","token","result","set","useColorTheme","$","_c","t0","t1","t2","id"],"sources":["../../src/tokens/color-theme.ts"],"sourcesContent":["import { glaze } from '@tenphi/glaze';\nimport { useGlobalStyles } from '@tenphi/tasty';\n\n// Imported for its SIDE EFFECT as much as for `tintRecipe`.\n//\n// `palette.ts` runs `glaze.configure({ states: { dark: '@dark', highContrast:\n// '@hc' }, modes: …, darkTone: … })` at module scope, and that global config is\n// what makes a theme emit `'@dark'` / `'@hc'` keys at all. Without this import\n// a runtime theme falls back to Glaze's defaults — `@media(prefers-color-scheme:\n// dark)` keys and NO high-contrast tier — which still renders, so the failure is\n// silent. `color-theme.test.ts` asserts the `'@hc'` key exists to catch it.\nimport { colorSeed } from './color-seed';\nimport { tintRecipe } from './palette';\nimport {\n DEFAULT_HUE,\n DEFAULT_SATURATION,\n getPaletteConfig,\n getPaletteVersion,\n usePaletteValue,\n} from './palette-config';\n\nimport type { ColorMap, GlazeConfigOverride } from '@tenphi/glaze';\nimport type { Styles } from '@tenphi/tasty';\n\nexport interface ColorThemeConfig {\n /**\n * A hue in 0–360, or any colour Glaze parses — hex, `rgb()`, `hsl()`,\n * `okhsl()`, `okhst()`, `oklch()`.\n *\n * From a colour only the HUE and SATURATION are taken; the lightness is\n * discarded and re-derived per scheme. That is what makes the result adaptive\n * rather than a value that happens to work in one theme.\n */\n hue: number | string;\n /** 0–100. @default the palette's own saturation seed */\n saturation?: number;\n pastel?: boolean;\n /**\n * Extra colour definitions, merged over {@link tintRecipe}. Anything Glaze's\n * `theme.colors()` accepts, including `contrast` floors against a sibling.\n */\n colors?: ColorMap;\n}\n\nexport interface ColorTheme {\n /**\n * A hash of the config, and the token prefix — `'tint-1a2b3c'`.\n *\n * Content-addressed rather than positional so two components asking for the\n * same colour name the same theme, and therefore share one injection. Also\n * makes it safe to stamp on the DOM as an identifier.\n */\n name: string;\n /**\n * Tasty token declarations, one state map per colour:\n * `{ '#tint-1a2b3c-surface': { '': …, '@dark': …, '@hc': …, '@dark & @hc': … } }`\n */\n tokens: Styles;\n /** Token references by their unprefixed name — `{ surface: '#tint-1a2b3c-surface' }`. */\n colors: Record<string, string>;\n}\n\n/**\n * FNV-1a, base36. Short, stable and dependency-free.\n *\n * These hashes name CSS custom properties and land in DOM attributes, so they\n * have to be deterministic across processes (SSR and the client must agree) and\n * safe as identifiers — but not cryptographic.\n */\nexport function hashString(input: string): string {\n let hash = 0x811c9dc5;\n\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i);\n // >>> 0 keeps it an unsigned 32-bit int; `Math.imul` is the 32-bit multiply.\n hash = Math.imul(hash, 0x01000193) >>> 0;\n }\n\n return hash.toString(36);\n}\n\n/**\n * Hashes the RESOLVED seed, not the config as written.\n *\n * `{ hue: '#0ea5e9' }` and `{ hue: 237.32, saturation: 98.19 }` are the same\n * colour said two ways; hashing the input would give them two names, two\n * injections and two sets of generated rules. Rounded, because a seed that\n * differs in the twelfth decimal is the same colour to every eye and every\n * renderer — and an unrounded float would defeat the deduplication it is here to\n * provide.\n */\nfunction hashSeed(seed: ResolvedSeed): string {\n return `tint-${hashString(\n JSON.stringify([\n seed.hue.toFixed(4),\n seed.saturation.toFixed(4),\n seed.pastel,\n seed.colors ? stableStringify(seed.colors) : null,\n ]),\n )}`;\n}\n\ninterface ResolvedSeed {\n hue: number;\n saturation: number;\n pastel: boolean;\n colors?: ColorMap;\n}\n\n/** Key order must not change the hash, or two identical configs get two slots. */\nfunction stableStringify(value: unknown): string {\n if (value === null || typeof value !== 'object') return JSON.stringify(value);\n\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(',')}]`;\n }\n\n const entries = Object.entries(value as Record<string, unknown>).sort(\n ([a], [b]) => (a < b ? -1 : a > b ? 1 : 0),\n );\n\n return `{${entries\n .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n .join(',')}}`;\n}\n\n/**\n * The hue and saturation of a colour, for use as a theme seed.\n *\n * ```ts\n * colorThemeSeed('#0ea5e9'); // → { hue: 237.32, saturation: 98.19 }\n * ```\n *\n * The tone {@link colorSeed} also reads is dropped here on purpose: a tint theme\n * re-derives its lightness per scheme, which is what makes it adaptive. The palette's\n * The palette's accent zone keeps the tone, because a brand fill has to *be* the\n * colour.\n *\n * An unparseable value falls back to the shipped seed rather than throwing — a hue\n * typed into a settings field should not take the render down.\n */\nexport function colorThemeSeed(value: string): {\n hue: number;\n saturation: number;\n} {\n const seed = colorSeed(value);\n\n if (!seed) return { hue: DEFAULT_HUE, saturation: DEFAULT_SATURATION };\n\n return { hue: seed.hue, saturation: seed.saturation };\n}\n\n/**\n * Cached by `${paletteVersion}:${name}`.\n *\n * The palette version is in the KEY rather than triggering a clear, so a stale\n * entry is simply unreachable. `lastVersion` still clears the map on a change,\n * or repeated `setPaletteConfig` calls would grow it without bound.\n */\nconst cache = new Map<string, ColorTheme>();\nlet lastVersion = -1;\n\n/**\n * Build (or reuse) an adaptive theme from a hue.\n *\n * Pure and memoized: the same config returns the same object identity until the\n * palette is re-seeded. Registering the tokens is {@link useColorTheme}'s job —\n * this only computes them, so it is safe to call while rendering or from a test.\n */\nexport function getColorTheme(config: ColorThemeConfig): ColorTheme {\n const version = getPaletteVersion();\n\n if (version !== lastVersion) {\n cache.clear();\n lastVersion = version;\n }\n\n const paletteConfig = getPaletteConfig();\n const parsed =\n typeof config.hue === 'string' ? colorThemeSeed(config.hue) : null;\n const seed: ResolvedSeed = {\n hue: parsed ? parsed.hue : (config.hue as number),\n saturation:\n config.saturation ??\n parsed?.saturation ??\n paletteConfig.saturation ??\n DEFAULT_SATURATION,\n pastel: config.pastel ?? paletteConfig.pastel ?? false,\n colors: config.colors,\n };\n\n const name = hashSeed(seed);\n const cached = cache.get(name);\n\n if (cached) return cached;\n\n const { hue, saturation } = seed;\n\n // `pastel` and `contrastLevel` are instance-level in Glaze, not settable\n // through `glaze.configure`, so a runtime theme has to carry them itself or it\n // would ignore a pastel palette. Omitted entirely when off, so the default\n // output is provably the same as passing nothing.\n const overrides: GlazeConfigOverride = {\n ...(paletteConfig.contrastLevel != null\n ? { contrastLevel: paletteConfig.contrastLevel }\n : null),\n ...(seed.pastel ? { pastel: true } : null),\n };\n\n const theme = glaze(\n hue,\n saturation,\n Object.keys(overrides).length ? overrides : undefined,\n );\n\n // The recipe follows the palette's `surfaceMode`, so a runtime tint sits the same\n // distance off the page as a built-in status theme does. Safe to read here rather\n // than hash into the seed: the cache is cleared on every palette version change,\n // and `surfaceMode` is one of the fields that bumps it.\n theme.colors({ ...tintRecipe(paletteConfig), ...config.colors });\n\n // `prefix` is a palette-only option, so the keys are renamed here. `oklch`\n // because that is what the palette emits; tasty converts to the configured\n // colour space on the way out either way.\n const raw = theme.tasty({ format: 'oklch' }) as Record<string, unknown>;\n const tokens: Styles = {};\n const colors: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(raw)) {\n // Only the `#colour` entries are renamed; `splitHue` is off, so there are no\n // `$…-hue` companions to worry about, but a future one must not be mangled.\n if (!key.startsWith('#')) {\n (tokens as Record<string, unknown>)[key] = value;\n continue;\n }\n\n const bare = key.slice(1);\n const token = `#${name}-${bare}`;\n\n (tokens as Record<string, unknown>)[token] = value;\n colors[bare] = token;\n }\n\n const result: ColorTheme = { name, tokens, colors };\n\n cache.set(name, result);\n\n return result;\n}\n\n/**\n * Register an adaptive theme's tokens once per document, and get it back.\n *\n * The tokens land on `body` under a slot keyed by the theme's name, which is a\n * hash of the config — so every component asking for the same colour shares one\n * injection no matter how many of them there are. Tasty's global-style slots are\n * also permanent, which is what makes that safe: one component unmounting cannot\n * strip tokens another is still referencing.\n *\n * `body` rather than `:root`, which emits nothing at all — the same selector\n * `GlobalStyles` uses for the palette's own tokens. Custom properties inherit, so\n * anything rendered inside the document sees them; the one thing this cannot\n * reach is content portalled outside `<body>`, which nothing does.\n *\n * Because the slot id hashes the CONFIG rather than the resolved values,\n * re-seeding the palette replaces the same slot instead of leaking a new one.\n *\n * ```tsx\n * const theme = useColorTheme({ hue: '#0ea5e9' });\n * // theme.colors.surface → '#tint-1a2b3c-surface'\n * ```\n */\nexport function useColorTheme(config: ColorThemeConfig): ColorTheme {\n // Read through the store, not as a bare `getColorTheme(config)` call: that call\n // is memoized on `config` in the compiled build, so a re-seed with the same\n // config would keep injecting the old tokens. `getColorTheme` returns one\n // identity per config until the palette changes, which is what a snapshot needs.\n const theme = usePaletteValue(() => getColorTheme(config));\n\n useGlobalStyles('body', theme.tokens, {\n id: `cube-color-theme-${theme.name}`,\n });\n\n return theme;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"color-theme.js","names":["glaze","useGlobalStyles","colorSeed","tintRecipe","DEFAULT_HUE","DEFAULT_SATURATION","getPaletteConfig","getPaletteVersion","usePaletteVersion","ColorMap","GlazeConfigOverride","Styles","ColorThemeConfig","hue","saturation","pastel","colors","ColorTheme","name","tokens","Record","hashString","input","hash","i","length","charCodeAt","Math","imul","toString","hashSeed","seed","ResolvedSeed","JSON","stringify","toFixed","stableStringify","value","Array","isArray","map","join","entries","Object","sort","a","b","key","item","colorThemeSeed","cache","Map","lastVersion","getColorTheme","config","version","clear","paletteConfig","parsed","cached","get","overrides","contrastLevel","theme","keys","undefined","raw","tasty","format","startsWith","bare","slice","token","result","set","useColorTheme","$","_c","t0","t1","t2","id"],"sources":["../../src/tokens/color-theme.ts"],"sourcesContent":["import { glaze } from '@tenphi/glaze';\nimport { useGlobalStyles } from '@tenphi/tasty';\n\n// Imported for its SIDE EFFECT as much as for `tintRecipe`.\n//\n// `palette.ts` runs `glaze.configure({ states: { dark: '@dark', highContrast:\n// '@hc' }, modes: …, darkTone: … })` at module scope, and that global config is\n// what makes a theme emit `'@dark'` / `'@hc'` keys at all. Without this import\n// a runtime theme falls back to Glaze's defaults — `@media(prefers-color-scheme:\n// dark)` keys and NO high-contrast tier — which still renders, so the failure is\n// silent. `color-theme.test.ts` asserts the `'@hc'` key exists to catch it.\nimport { colorSeed } from './color-seed';\nimport { tintRecipe } from './palette';\nimport {\n DEFAULT_HUE,\n DEFAULT_SATURATION,\n getPaletteConfig,\n getPaletteVersion,\n usePaletteVersion,\n} from './palette-config';\n\nimport type { ColorMap, GlazeConfigOverride } from '@tenphi/glaze';\nimport type { Styles } from '@tenphi/tasty';\n\nexport interface ColorThemeConfig {\n /**\n * A hue in 0–360, or any colour Glaze parses — hex, `rgb()`, `hsl()`,\n * `okhsl()`, `okhst()`, `oklch()`.\n *\n * From a colour only the HUE and SATURATION are taken; the lightness is\n * discarded and re-derived per scheme. That is what makes the result adaptive\n * rather than a value that happens to work in one theme.\n */\n hue: number | string;\n /** 0–100. @default the palette's own saturation seed */\n saturation?: number;\n pastel?: boolean;\n /**\n * Extra colour definitions, merged over {@link tintRecipe}. Anything Glaze's\n * `theme.colors()` accepts, including `contrast` floors against a sibling.\n */\n colors?: ColorMap;\n}\n\nexport interface ColorTheme {\n /**\n * A hash of the config, and the token prefix — `'tint-1a2b3c'`.\n *\n * Content-addressed rather than positional so two components asking for the\n * same colour name the same theme, and therefore share one injection. Also\n * makes it safe to stamp on the DOM as an identifier.\n */\n name: string;\n /**\n * Tasty token declarations, one state map per colour:\n * `{ '#tint-1a2b3c-surface': { '': …, '@dark': …, '@hc': …, '@dark & @hc': … } }`\n */\n tokens: Styles;\n /** Token references by their unprefixed name — `{ surface: '#tint-1a2b3c-surface' }`. */\n colors: Record<string, string>;\n}\n\n/**\n * FNV-1a, base36. Short, stable and dependency-free.\n *\n * These hashes name CSS custom properties and land in DOM attributes, so they\n * have to be deterministic across processes (SSR and the client must agree) and\n * safe as identifiers — but not cryptographic.\n */\nexport function hashString(input: string): string {\n let hash = 0x811c9dc5;\n\n for (let i = 0; i < input.length; i++) {\n hash ^= input.charCodeAt(i);\n // >>> 0 keeps it an unsigned 32-bit int; `Math.imul` is the 32-bit multiply.\n hash = Math.imul(hash, 0x01000193) >>> 0;\n }\n\n return hash.toString(36);\n}\n\n/**\n * Hashes the RESOLVED seed, not the config as written.\n *\n * `{ hue: '#0ea5e9' }` and `{ hue: 237.32, saturation: 98.19 }` are the same\n * colour said two ways; hashing the input would give them two names, two\n * injections and two sets of generated rules. Rounded, because a seed that\n * differs in the twelfth decimal is the same colour to every eye and every\n * renderer — and an unrounded float would defeat the deduplication it is here to\n * provide.\n */\nfunction hashSeed(seed: ResolvedSeed): string {\n return `tint-${hashString(\n JSON.stringify([\n seed.hue.toFixed(4),\n seed.saturation.toFixed(4),\n seed.pastel,\n seed.colors ? stableStringify(seed.colors) : null,\n ]),\n )}`;\n}\n\ninterface ResolvedSeed {\n hue: number;\n saturation: number;\n pastel: boolean;\n colors?: ColorMap;\n}\n\n/** Key order must not change the hash, or two identical configs get two slots. */\nfunction stableStringify(value: unknown): string {\n if (value === null || typeof value !== 'object') return JSON.stringify(value);\n\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(',')}]`;\n }\n\n const entries = Object.entries(value as Record<string, unknown>).sort(\n ([a], [b]) => (a < b ? -1 : a > b ? 1 : 0),\n );\n\n return `{${entries\n .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n .join(',')}}`;\n}\n\n/**\n * The hue and saturation of a colour, for use as a theme seed.\n *\n * ```ts\n * colorThemeSeed('#0ea5e9'); // → { hue: 237.32, saturation: 98.19 }\n * ```\n *\n * The tone {@link colorSeed} also reads is dropped here on purpose: a tint theme\n * re-derives its lightness per scheme, which is what makes it adaptive. The palette's\n * The palette's accent zone keeps the tone, because a brand fill has to *be* the\n * colour.\n *\n * An unparseable value falls back to the shipped seed rather than throwing — a hue\n * typed into a settings field should not take the render down.\n */\nexport function colorThemeSeed(value: string): {\n hue: number;\n saturation: number;\n} {\n const seed = colorSeed(value);\n\n if (!seed) return { hue: DEFAULT_HUE, saturation: DEFAULT_SATURATION };\n\n return { hue: seed.hue, saturation: seed.saturation };\n}\n\n/**\n * Cached by `${paletteVersion}:${name}`.\n *\n * The palette version is in the KEY rather than triggering a clear, so a stale\n * entry is simply unreachable. `lastVersion` still clears the map on a change,\n * or repeated `setPaletteConfig` calls would grow it without bound.\n */\nconst cache = new Map<string, ColorTheme>();\nlet lastVersion = -1;\n\n/**\n * Build (or reuse) an adaptive theme from a hue.\n *\n * Pure and memoized: the same config returns the same object identity until the\n * palette is re-seeded. Registering the tokens is {@link useColorTheme}'s job —\n * this only computes them, so it is safe to call while rendering or from a test.\n */\nexport function getColorTheme(config: ColorThemeConfig): ColorTheme {\n const version = getPaletteVersion();\n\n if (version !== lastVersion) {\n cache.clear();\n lastVersion = version;\n }\n\n const paletteConfig = getPaletteConfig();\n const parsed =\n typeof config.hue === 'string' ? colorThemeSeed(config.hue) : null;\n const seed: ResolvedSeed = {\n hue: parsed ? parsed.hue : (config.hue as number),\n saturation:\n config.saturation ??\n parsed?.saturation ??\n paletteConfig.saturation ??\n DEFAULT_SATURATION,\n pastel: config.pastel ?? paletteConfig.pastel ?? false,\n colors: config.colors,\n };\n\n const name = hashSeed(seed);\n const cached = cache.get(name);\n\n if (cached) return cached;\n\n const { hue, saturation } = seed;\n\n // `pastel` and `contrastLevel` are instance-level in Glaze, not settable\n // through `glaze.configure`, so a runtime theme has to carry them itself or it\n // would ignore a pastel palette. Omitted entirely when off, so the default\n // output is provably the same as passing nothing.\n const overrides: GlazeConfigOverride = {\n ...(paletteConfig.contrastLevel != null\n ? { contrastLevel: paletteConfig.contrastLevel }\n : null),\n ...(seed.pastel ? { pastel: true } : null),\n };\n\n const theme = glaze(\n hue,\n saturation,\n Object.keys(overrides).length ? overrides : undefined,\n );\n\n // The recipe follows the palette's `surfaceMode`, so a runtime tint sits the same\n // distance off the page as a built-in status theme does. Safe to read here rather\n // than hash into the seed: the cache is cleared on every palette version change,\n // and `surfaceMode` is one of the fields that bumps it.\n theme.colors({ ...tintRecipe(paletteConfig), ...config.colors });\n\n // `prefix` is a palette-only option, so the keys are renamed here. `oklch`\n // because that is what the palette emits; tasty converts to the configured\n // colour space on the way out either way.\n const raw = theme.tasty({ format: 'oklch' }) as Record<string, unknown>;\n const tokens: Styles = {};\n const colors: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(raw)) {\n // Only the `#colour` entries are renamed; `splitHue` is off, so there are no\n // `$…-hue` companions to worry about, but a future one must not be mangled.\n if (!key.startsWith('#')) {\n (tokens as Record<string, unknown>)[key] = value;\n continue;\n }\n\n const bare = key.slice(1);\n const token = `#${name}-${bare}`;\n\n (tokens as Record<string, unknown>)[token] = value;\n colors[bare] = token;\n }\n\n const result: ColorTheme = { name, tokens, colors };\n\n cache.set(name, result);\n\n return result;\n}\n\n/**\n * Register an adaptive theme's tokens once per document, and get it back.\n *\n * The tokens land on `body` under a slot keyed by the theme's name, which is a\n * hash of the config — so every component asking for the same colour shares one\n * injection no matter how many of them there are. Tasty's global-style slots are\n * also permanent, which is what makes that safe: one component unmounting cannot\n * strip tokens another is still referencing.\n *\n * `body` rather than `:root`, which emits nothing at all — the same selector\n * `GlobalStyles` uses for the palette's own tokens. Custom properties inherit, so\n * anything rendered inside the document sees them; the one thing this cannot\n * reach is content portalled outside `<body>`, which nothing does.\n *\n * Because the slot id hashes the CONFIG rather than the resolved values,\n * re-seeding the palette replaces the same slot instead of leaking a new one.\n *\n * ```tsx\n * const theme = useColorTheme({ hue: '#0ea5e9' });\n * // theme.colors.surface → '#tint-1a2b3c-surface'\n * ```\n */\nexport function useColorTheme(config: ColorThemeConfig): ColorTheme {\n // Subscribes this component to a re-seed. `getColorTheme` reads the version\n // itself for its cache, so the value is unused here — the subscription is the\n // point, and it is what makes the tokens below re-inject.\n usePaletteVersion();\n\n const theme = getColorTheme(config);\n\n useGlobalStyles('body', theme.tokens, {\n id: `cube-color-theme-${theme.name}`,\n });\n\n return theme;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { getPaletteVersion } from "./palette-config.js";
3
3
  import { BASE_TOKENS } from "./base.js";
4
4
  import { lazyStyles } from "./lazy-styles.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  //#region src/tokens/layout.ts
3
3
  /**
4
4
  * Layout-related tokens for common UI dimensions.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  //#region src/tokens/lazy-styles.ts
3
3
  /**
4
4
  * Proxy that defers to `factory()` on every property / enumeration access.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { parseSrgbColor } from "../utils/colors.js";
3
3
  import { srgbToHex } from "@tenphi/glaze";
4
4
 
@@ -427,11 +427,6 @@ declare function subscribePaletteConfig(listener: () => void): () => void;
427
427
  /**
428
428
  * Re-render on palette config changes. Returns the version, not the config, so
429
429
  * the snapshot is a primitive and React never warns about an uncached snapshot.
430
- *
431
- * The re-render alone does not refresh a value derived from the palette. Under
432
- * React Compiler, a getter called beside this hook is memoized on the getter's
433
- * own arguments, and a version that is only subscribed to — never read — is in
434
- * none of its cache keys. Read derived values through {@link usePaletteValue}.
435
430
  */
436
431
  declare function usePaletteVersion(): number;
437
432
  /**
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-ba8ede3 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-a9ce8b9 | Cube Dev Team */
2
2
  import { colorSeed } from "./color-seed.js";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import { useSyncExternalStore } from "react";
@@ -426,32 +426,11 @@ function subscribePaletteConfig(listener) {
426
426
  /**
427
427
  * Re-render on palette config changes. Returns the version, not the config, so
428
428
  * the snapshot is a primitive and React never warns about an uncached snapshot.
429
- *
430
- * The re-render alone does not refresh a value derived from the palette. Under
431
- * React Compiler, a getter called beside this hook is memoized on the getter's
432
- * own arguments, and a version that is only subscribed to — never read — is in
433
- * none of its cache keys. Read derived values through {@link usePaletteValue}.
434
429
  */
435
430
  function usePaletteVersion() {
436
431
  return useSyncExternalStore(subscribePaletteConfig, getPaletteVersion, getPaletteVersion);
437
432
  }
438
433
  /**
439
- * Read a value derived from the palette, and re-render when it changes.
440
- *
441
- * The value is the store snapshot, so it is what the caller's memoization
442
- * depends on. That is the difference from calling a getter beside
443
- * {@link usePaletteVersion}: the published build runs React Compiler, which keys
444
- * each cache on what a component reads, so a subscribed-but-unread version drops
445
- * out of every key and the derived value freezes at the first render.
446
- *
447
- * `read` must return the same identity until the palette changes — as
448
- * `getPaletteConfig`, `getTokens` and `getColorTheme` do — or React re-renders
449
- * forever.
450
- */
451
- function usePaletteValue(read) {
452
- return useSyncExternalStore(subscribePaletteConfig, read, read);
453
- }
454
- /**
455
434
  * Read and tune the palette from React, `useState`-style — including the part
456
435
  * where the setter *replaces*. A control that changes one field wants the updater
457
436
  * form, or it will drop every other field:
@@ -473,18 +452,16 @@ function usePaletteValue(read) {
473
452
  * mounted `<Root>` — sees the same palette.
474
453
  */
475
454
  function usePaletteConfig() {
476
- const $ = c(2);
455
+ const $ = c(1);
477
456
  usePaletteVersion();
478
- const config = usePaletteValue(getPaletteConfig);
479
457
  let t0;
480
- if ($[0] !== config) {
481
- t0 = [config, setPaletteConfig];
482
- $[0] = config;
483
- $[1] = t0;
484
- } else t0 = $[1];
458
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
459
+ t0 = [getPaletteConfig(), setPaletteConfig];
460
+ $[0] = t0;
461
+ } else t0 = $[0];
485
462
  return t0;
486
463
  }
487
464
 
488
465
  //#endregion
489
- export { DEFAULT_HUE, DEFAULT_PALETTE_CONFIG, DEFAULT_SATURATION, MAX_BASE_SATURATION, SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteValue, usePaletteVersion };
466
+ export { DEFAULT_HUE, DEFAULT_PALETTE_CONFIG, DEFAULT_SATURATION, MAX_BASE_SATURATION, SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteConfigInput, getPaletteVersion, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
490
467
  //# sourceMappingURL=palette-config.js.map