@cube-dev/ui-kit 0.0.0-canary-7a50d11 → 0.0.0-canary-4f9d7d0

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 (557) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.d.ts +4 -4
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/Root.js.map +1 -1
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.js +1 -1
  20. package/dist/components/actions/Button/Button.js +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  36. package/dist/components/actions/Menu/context.js +1 -1
  37. package/dist/components/actions/Menu/styled.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 +1 -1
  98. package/dist/components/data/DataTable/DataTable.js +1 -1
  99. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  100. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  104. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  105. package/dist/components/data/TableBase/RowCollection.js +1 -1
  106. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  107. package/dist/components/data/TableBase/TableRow.js +1 -1
  108. package/dist/components/data/TableBase/TableView.js +1 -1
  109. package/dist/components/data/TableBase/column-menu.js +1 -1
  110. package/dist/components/data/TableBase/column-tint.js +1 -1
  111. package/dist/components/data/TableBase/row-menu.js +1 -1
  112. package/dist/components/data/TableBase/styled.js +1 -1
  113. package/dist/components/data/TableBase/types.js +1 -1
  114. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  115. package/dist/components/data/TableBase/use-column-order.js +1 -1
  116. package/dist/components/data/TableBase/use-container-width.js +1 -1
  117. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  118. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  119. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  120. package/dist/components/data/TableBase/use-table-search.js +1 -1
  121. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  122. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  123. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  124. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  125. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  126. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  127. package/dist/components/fields/Checkbox/context.js +1 -1
  128. package/dist/components/fields/ColorInput/ColorInput.js +3 -2
  129. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  130. package/dist/components/fields/ColorPicker/ColorPicker.js +2 -2
  131. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  132. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.d.ts +8 -2
  133. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.js +14 -6
  134. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -0
  135. package/dist/components/fields/ColorSwatch/index.d.ts +2 -0
  136. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  137. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  138. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  139. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  140. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  141. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  142. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  143. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  144. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  145. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  146. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  148. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  149. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  150. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  151. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  152. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  153. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  154. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  157. package/dist/components/fields/DatePicker/period.js +1 -1
  158. package/dist/components/fields/DatePicker/props.js +1 -1
  159. package/dist/components/fields/DatePicker/utils.js +1 -1
  160. package/dist/components/fields/FileInput/FileInput.js +1 -1
  161. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  162. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  163. package/dist/components/fields/Input/Input.js +1 -1
  164. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  165. package/dist/components/fields/ListBox/ListBox.js +1 -1
  166. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  167. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  168. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  169. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  170. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  171. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  172. package/dist/components/fields/Picker/Picker.js +1 -1
  173. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  174. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -1
  175. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  176. package/dist/components/fields/RadioGroup/context.js +1 -1
  177. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  178. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  179. package/dist/components/fields/Select/Select.js +1 -1
  180. package/dist/components/fields/Slider/Gradation.js +1 -1
  181. package/dist/components/fields/Slider/HueSlider.js +15 -2
  182. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  183. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  184. package/dist/components/fields/Slider/Slider.js +1 -1
  185. package/dist/components/fields/Slider/SliderBase.js +1 -1
  186. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  187. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  188. package/dist/components/fields/Slider/elements.js +1 -1
  189. package/dist/components/fields/Slider/index.js +1 -1
  190. package/dist/components/fields/Switch/Switch.js +1 -1
  191. package/dist/components/fields/TextArea/TextArea.js +1 -1
  192. package/dist/components/fields/TextInput/TextInput.js +1 -1
  193. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  194. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  195. package/dist/components/fields/color/ColorPanel.js +1 -1
  196. package/dist/components/fields/color/channels.js +1 -1
  197. package/dist/components/fields/color/color.js +1 -1
  198. package/dist/components/fields/color/context.js +1 -1
  199. package/dist/components/fields/color/index.d.ts +0 -1
  200. package/dist/components/fields/index.d.ts +2 -1
  201. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  202. package/dist/components/form/Form/Field.js +1 -1
  203. package/dist/components/form/Form/Form.js +1 -1
  204. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  205. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  206. package/dist/components/form/Form/SubmitError.js +1 -1
  207. package/dist/components/form/Form/index.js +1 -1
  208. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  209. package/dist/components/form/Form/use-field/use-field.js +1 -1
  210. package/dist/components/form/Form/use-form.js +1 -1
  211. package/dist/components/form/Form/validation.js +1 -1
  212. package/dist/components/form/Label.js +1 -1
  213. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  214. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  215. package/dist/components/form/validation/use-validation-props.js +1 -1
  216. package/dist/components/form/wrapper.js +1 -1
  217. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  218. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  219. package/dist/components/layout/Board/Board.js +1 -1
  220. package/dist/components/layout/Board/BoardProvider.js +1 -1
  221. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  222. package/dist/components/layout/Board/Widget.js +1 -1
  223. package/dist/components/layout/Board/WidgetHost.js +1 -1
  224. package/dist/components/layout/Board/board-context.js +1 -1
  225. package/dist/components/layout/Board/board-store.js +1 -1
  226. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  227. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  228. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  229. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  230. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  231. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  232. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  233. package/dist/components/layout/Board/index.js +1 -1
  234. package/dist/components/layout/Board/responsive-utils.js +1 -1
  235. package/dist/components/layout/Board/use-board-layout.js +1 -1
  236. package/dist/components/layout/Board/use-board-registry.js +1 -1
  237. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  238. package/dist/components/layout/Board/use-board-selection.js +1 -1
  239. package/dist/components/layout/Flex.js +1 -1
  240. package/dist/components/layout/Flow.js +1 -1
  241. package/dist/components/layout/Grid.js +1 -1
  242. package/dist/components/layout/Panel.js +1 -1
  243. package/dist/components/layout/Prefix.js +1 -1
  244. package/dist/components/layout/ResizablePanel.js +1 -1
  245. package/dist/components/layout/Space.js +1 -1
  246. package/dist/components/layout/Suffix.js +1 -1
  247. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  248. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  249. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  250. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  251. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  252. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  253. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  254. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  255. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  256. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  257. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  258. package/dist/components/navigation/Tabs/styled.js +1 -1
  259. package/dist/components/navigation/Tabs/types.js +1 -1
  260. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  261. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  262. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  263. package/dist/components/other/Calendar/Calendar.js +1 -1
  264. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  265. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  266. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  267. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  268. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  269. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  270. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  271. package/dist/components/other/Calendar/styled.js +1 -1
  272. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  273. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  274. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  275. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  276. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  277. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  278. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  279. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  280. package/dist/components/overlays/Dialog/context.js +1 -1
  281. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  282. package/dist/components/overlays/Modal/Modal.js +1 -1
  283. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  284. package/dist/components/overlays/Modal/Overlay.js +1 -1
  285. package/dist/components/overlays/Modal/Popover.js +1 -1
  286. package/dist/components/overlays/Modal/Tray.js +1 -1
  287. package/dist/components/overlays/Modal/Underlay.js +1 -1
  288. package/dist/components/overlays/Notifications/Notification.js +1 -1
  289. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  290. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  291. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  292. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  293. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  294. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  295. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  296. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  297. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  298. package/dist/components/overlays/Notifications/index.js +1 -1
  299. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  300. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  301. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  302. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  303. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  304. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  305. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  306. package/dist/components/overlays/Toast/index.js +1 -1
  307. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  308. package/dist/components/overlays/Toast/useToast.js +1 -1
  309. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  310. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  311. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  312. package/dist/components/overlays/Tooltip/context.js +1 -1
  313. package/dist/components/portal/Portal.js +1 -1
  314. package/dist/components/portal/PortalProvider.js +1 -1
  315. package/dist/components/portal/usePortal.js +1 -1
  316. package/dist/components/shared/DraggableCollection.js +1 -1
  317. package/dist/components/shared/InvalidIcon.js +1 -1
  318. package/dist/components/shared/ValidIcon.js +1 -1
  319. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  320. package/dist/components/status/Spin/Cube.js +1 -1
  321. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  322. package/dist/components/status/Spin/Spin.js +1 -1
  323. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  324. package/dist/data/item-themes.js +1 -1
  325. package/dist/data/themes.js +1 -1
  326. package/dist/eslint-plugin/defaults.generated.js +1 -1
  327. package/dist/eslint-plugin/index.js +1 -1
  328. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  329. package/dist/i18n/I18nProvider.js +1 -1
  330. package/dist/i18n/createFormatter.js +1 -1
  331. package/dist/i18n/index.js +1 -1
  332. package/dist/i18n/instance.js +1 -1
  333. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  334. package/dist/i18n/locales/en-US/uikit.js +1 -1
  335. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  336. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  337. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  338. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  339. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  340. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  341. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  342. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  343. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  344. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  345. package/dist/i18n/locales.js +1 -1
  346. package/dist/i18n/useFormatter.js +1 -1
  347. package/dist/i18n/useI18n.js +1 -1
  348. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  349. package/dist/icons/AdjustmentsIcon.js +1 -1
  350. package/dist/icons/AiIcon.js +1 -1
  351. package/dist/icons/AreaChartIcon.js +1 -1
  352. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  353. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  354. package/dist/icons/BackwardIcon.js +1 -1
  355. package/dist/icons/BarChartIcon.js +1 -1
  356. package/dist/icons/BellFilledIcon.js +1 -1
  357. package/dist/icons/BellIcon.js +1 -1
  358. package/dist/icons/BooleanIcon.js +1 -1
  359. package/dist/icons/CalendarEditIcon.js +1 -1
  360. package/dist/icons/CalendarIcon.js +1 -1
  361. package/dist/icons/CaretDownIcon.js +1 -1
  362. package/dist/icons/CaretUpIcon.js +1 -1
  363. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  364. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  365. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  366. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  367. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  368. package/dist/icons/ChartBarLineIcon.js +1 -1
  369. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  370. package/dist/icons/ChartBarStackedIcon.js +1 -1
  371. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  372. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  373. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  374. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  375. package/dist/icons/ChartBubbleIcon.js +1 -1
  376. package/dist/icons/ChartDonut2Icon.js +1 -1
  377. package/dist/icons/ChartFunnelIcon.js +1 -1
  378. package/dist/icons/ChartHeatmapIcon.js +1 -1
  379. package/dist/icons/ChartKPIIcon.js +1 -1
  380. package/dist/icons/ChartPie2Icon.js +1 -1
  381. package/dist/icons/ChartScatterIcon.js +1 -1
  382. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  383. package/dist/icons/CheckCircleIcon.js +1 -1
  384. package/dist/icons/CheckIcon.js +1 -1
  385. package/dist/icons/CircleFilledIcon.js +1 -1
  386. package/dist/icons/ClearIcon.js +1 -1
  387. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  388. package/dist/icons/CloseCircleIcon.js +1 -1
  389. package/dist/icons/CloseIcon.js +1 -1
  390. package/dist/icons/CodeIcon.js +1 -1
  391. package/dist/icons/ColumnTotalIcon.js +1 -1
  392. package/dist/icons/CopyIcon.js +1 -1
  393. package/dist/icons/CountIcon.js +1 -1
  394. package/dist/icons/CubeIcon.js +1 -1
  395. package/dist/icons/CubePauseIcon.js +1 -1
  396. package/dist/icons/CubePlayIcon.js +1 -1
  397. package/dist/icons/CurrencyDollarIcon.js +1 -1
  398. package/dist/icons/DangerIcon.js +1 -1
  399. package/dist/icons/DashboardIcon.js +1 -1
  400. package/dist/icons/DatabaseIcon.js +1 -1
  401. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  402. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  403. package/dist/icons/DirectionIcon.js +1 -1
  404. package/dist/icons/DonutIcon.js +1 -1
  405. package/dist/icons/DownIcon.js +1 -1
  406. package/dist/icons/EditIcon.js +1 -1
  407. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  408. package/dist/icons/ExclamationCircleIcon.js +1 -1
  409. package/dist/icons/ExclamationIcon.js +1 -1
  410. package/dist/icons/EyeIcon.js +1 -1
  411. package/dist/icons/EyeInvisibleIcon.js +1 -1
  412. package/dist/icons/FilterIcon.js +1 -1
  413. package/dist/icons/FolderFilledIcon.js +1 -1
  414. package/dist/icons/FolderIcon.js +1 -1
  415. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  416. package/dist/icons/FolderOpenIcon.js +1 -1
  417. package/dist/icons/ForwardIcon.js +1 -1
  418. package/dist/icons/GripVerticalIcon.js +1 -1
  419. package/dist/icons/HierarchyIcon.js +1 -1
  420. package/dist/icons/HierarchyOpenIcon.js +1 -1
  421. package/dist/icons/Icon.js +1 -1
  422. package/dist/icons/InfoCircleIcon.js +1 -1
  423. package/dist/icons/InfoIcon.js +1 -1
  424. package/dist/icons/KeyIcon.js +1 -1
  425. package/dist/icons/LeftIcon.js +1 -1
  426. package/dist/icons/LineChartIcon.js +1 -1
  427. package/dist/icons/LoadingIcon.js +1 -1
  428. package/dist/icons/LockFilledIcon.js +1 -1
  429. package/dist/icons/LockIcon.js +1 -1
  430. package/dist/icons/MoreIcon.js +1 -1
  431. package/dist/icons/NotAllowedIcon.js +1 -1
  432. package/dist/icons/Number123Icon.js +1 -1
  433. package/dist/icons/NumberIcon.js +1 -1
  434. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  435. package/dist/icons/PauseCircleIcon.js +1 -1
  436. package/dist/icons/PauseIcon.js +1 -1
  437. package/dist/icons/PercentageIcon.js +1 -1
  438. package/dist/icons/PieChartIcon.js +1 -1
  439. package/dist/icons/PipetteIcon.js +1 -1
  440. package/dist/icons/PlayCircleIcon.js +1 -1
  441. package/dist/icons/PlayIcon.js +1 -1
  442. package/dist/icons/PlusIcon.js +1 -1
  443. package/dist/icons/ProgressBarIcon.js +1 -1
  444. package/dist/icons/ReloadIcon.js +1 -1
  445. package/dist/icons/ReportIcon.js +1 -1
  446. package/dist/icons/ReturnIcon.js +1 -1
  447. package/dist/icons/RightIcon.js +1 -1
  448. package/dist/icons/RowTotalsIcon.js +1 -1
  449. package/dist/icons/SchemeIcon.js +1 -1
  450. package/dist/icons/SearchIcon.js +1 -1
  451. package/dist/icons/SemanticQueryIcon.js +1 -1
  452. package/dist/icons/SettingsIcon.js +1 -1
  453. package/dist/icons/ShieldFilledIcon.js +1 -1
  454. package/dist/icons/ShieldIcon.js +1 -1
  455. package/dist/icons/SlashIcon.js +1 -1
  456. package/dist/icons/SparklesIcon.js +1 -1
  457. package/dist/icons/SqlIcon.js +1 -1
  458. package/dist/icons/StatsIcon.js +1 -1
  459. package/dist/icons/StopIcon.js +1 -1
  460. package/dist/icons/StringIcon.js +1 -1
  461. package/dist/icons/SubtotalsIcon.js +1 -1
  462. package/dist/icons/SwitchIcon.js +1 -1
  463. package/dist/icons/TableIcon.js +1 -1
  464. package/dist/icons/ThumbsDownIcon.js +1 -1
  465. package/dist/icons/ThumbsUpIcon.js +1 -1
  466. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  467. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  468. package/dist/icons/ThunderboltIcon.js +1 -1
  469. package/dist/icons/TimeIcon.js +1 -1
  470. package/dist/icons/TrashIcon.js +1 -1
  471. package/dist/icons/UnlockIcon.js +1 -1
  472. package/dist/icons/UpIcon.js +1 -1
  473. package/dist/icons/UserGroupIcon.js +1 -1
  474. package/dist/icons/UserIcon.js +1 -1
  475. package/dist/icons/UserLockIcon.js +1 -1
  476. package/dist/icons/ViewIcon.js +1 -1
  477. package/dist/icons/WarningFilledIcon.js +1 -1
  478. package/dist/icons/WarningIcon.js +1 -1
  479. package/dist/icons/wrap-icon.js +1 -1
  480. package/dist/index.d.ts +4 -3
  481. package/dist/index.js +5 -4
  482. package/dist/index.js.map +1 -1
  483. package/dist/probe/canonicalize.js +1 -1
  484. package/dist/probe/css.js +1 -1
  485. package/dist/probe/index.js +1 -1
  486. package/dist/provider.js +1 -1
  487. package/dist/providers/TrackingProvider.js +1 -1
  488. package/dist/providers/navigationAdapter.default.js +1 -1
  489. package/dist/tokens/base.js +1 -1
  490. package/dist/tokens/color-seed.d.ts +44 -0
  491. package/dist/tokens/color-seed.js +48 -0
  492. package/dist/tokens/color-seed.js.map +1 -0
  493. package/dist/tokens/color-theme.d.ts +8 -1
  494. package/dist/tokens/color-theme.js +19 -7
  495. package/dist/tokens/color-theme.js.map +1 -1
  496. package/dist/tokens/colors.js +1 -1
  497. package/dist/tokens/index.d.ts +2 -1
  498. package/dist/tokens/index.js +3 -2
  499. package/dist/tokens/index.js.map +1 -1
  500. package/dist/tokens/layout.js +1 -1
  501. package/dist/tokens/lazy-styles.js +1 -1
  502. package/dist/tokens/palette-config.d.ts +175 -9
  503. package/dist/tokens/palette-config.js +62 -10
  504. package/dist/tokens/palette-config.js.map +1 -1
  505. package/dist/tokens/palette.js +422 -157
  506. package/dist/tokens/palette.js.map +1 -1
  507. package/dist/tokens/shadows.js +1 -1
  508. package/dist/tokens/sizes.js +1 -1
  509. package/dist/tokens/spacing.js +1 -1
  510. package/dist/tokens/typography.js +1 -1
  511. package/dist/utils/ResizeSensor.js +1 -1
  512. package/dist/utils/is-dev-env.js +1 -1
  513. package/dist/utils/modules.js +1 -1
  514. package/dist/utils/promise.js +1 -1
  515. package/dist/utils/raf.js +1 -1
  516. package/dist/utils/random.js +1 -1
  517. package/dist/utils/range.js +1 -1
  518. package/dist/utils/react/RenderCache.js +1 -1
  519. package/dist/utils/react/Slots.js +1 -1
  520. package/dist/utils/react/chain.js +1 -1
  521. package/dist/utils/react/disabledProps.js +1 -1
  522. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  523. package/dist/utils/react/index.js +1 -1
  524. package/dist/utils/react/interactions.js +1 -1
  525. package/dist/utils/react/isTextOnly.js +1 -1
  526. package/dist/utils/react/mapProps.js +1 -1
  527. package/dist/utils/react/mergeProps.js +1 -1
  528. package/dist/utils/react/nullableValue.js +1 -1
  529. package/dist/utils/react/resolveIcon.js +1 -1
  530. package/dist/utils/react/sharedStore.js +1 -1
  531. package/dist/utils/react/useBufferedValue.js +1 -1
  532. package/dist/utils/react/useCombinedRefs.js +1 -1
  533. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  534. package/dist/utils/react/useEventBus.js +1 -1
  535. package/dist/utils/react/useId.js +1 -1
  536. package/dist/utils/react/useIsDarwin.js +1 -1
  537. package/dist/utils/react/useKeySymbols.js +1 -1
  538. package/dist/utils/react/useLayoutEffect.d.ts +1 -1
  539. package/dist/utils/react/useLayoutEffect.js +1 -1
  540. package/dist/utils/react/useLocalStorage.js +1 -1
  541. package/dist/utils/react/useMergeStyles.js +1 -1
  542. package/dist/utils/react/usePopoverSync.js +1 -1
  543. package/dist/utils/react/useQaProps.js +1 -1
  544. package/dist/utils/react/useViewportSize.js +1 -1
  545. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  546. package/dist/utils/selection.js +1 -1
  547. package/dist/utils/styles.js +1 -1
  548. package/dist/utils/tree.js +1 -1
  549. package/dist/utils/warnings.js +1 -1
  550. package/dist/version.js +2 -2
  551. package/docs/Theming.md +306 -30
  552. package/docs/components/fields/ColorSwatch.md +148 -0
  553. package/docs/glaze/api.md +117 -38
  554. package/docs/glaze/methodology.md +15 -13
  555. package/docs/glaze/okhst.md +4 -0
  556. package/package.json +2 -2
  557. package/dist/components/fields/color/ColorSwatch.js.map +0 -1
@@ -1,5 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-7a50d11 | Cube Dev Team */
2
- import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4f9d7d0 | Cube Dev Team */
2
+ import { SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
3
3
  import { lazyStyles } from "./lazy-styles.js";
4
4
  import { glaze } from "@tenphi/glaze";
5
5
 
@@ -30,12 +30,181 @@ const CODE_STRING_HUE = 280.3;
30
30
  * Saturation factor of the neutral `surface`.
31
31
  *
32
32
  * Shared with the code theme, which mirrors `surface` to solve its contrast floors
33
- * against the real page background — the two must not drift apart.
33
+ * against the real page background — the two must not drift apart. Shared with the
34
+ * config too, which needs it to work out the share of the accent zone's chroma the
35
+ * chrome takes when no `baseColor` names one outright; it lives there because the
36
+ * config cannot import from here, and is re-exported under this name because that is
37
+ * what the recipe calls it.
34
38
  */
35
- const SURFACE_SATURATION = .12;
39
+ const SURFACE_SATURATION = SURFACE_SATURATION_SHARE;
36
40
  const TINTED_SURFACE_SATURATION = .2;
37
41
  const TINTED_SURFACE_TONE_OFFSET = 2;
38
42
  /**
43
+ * How far `surfaceMode: 'tinted'` moves the neutral ramp off the end of the tone
44
+ * scale.
45
+ *
46
+ * Small on purpose. Two tones is below the threshold where a page reads as
47
+ * "grey" rather than "white", and it is not lightness this buys: chroma needs
48
+ * distance from the extreme to exist at all, so at tone 100 a light surface is
49
+ * white whatever saturation it asks for. Two tones is the cheapest room in which
50
+ * the base hue becomes visible.
51
+ *
52
+ * Everything under `surface` is positioned relative to it, so the shift carries
53
+ * the whole ladder — and the text ramp's contrast floors re-solve against the new
54
+ * background instead of drifting.
55
+ */
56
+ const TINTED_SURFACE_TONE_SHIFT = 2;
57
+ /** Tone of the neutral `surface`, per {@link ResolvedPaletteConfig.surfaceMode}. */
58
+ function surfaceTone(config) {
59
+ return config.surfaceMode === "tinted" ? 100 - TINTED_SURFACE_TONE_SHIFT : 100;
60
+ }
61
+ /**
62
+ * Tone of a TINTED `surface` — a status theme's, or a runtime tint's —
63
+ * as `[light, highContrast]`.
64
+ *
65
+ * A tinted surface is a banner sitting *on* the page, so its tone is authored as
66
+ * an offset from the page's rather than as an absolute. Under
67
+ * `surfaceMode: 'tinted'` the page itself moves down to 98, which is exactly where
68
+ * these used to sit: a `note` banner would come out the same tone as the surface
69
+ * behind it and stop reading as a banner at all. Anchoring both on
70
+ * {@link surfaceTone} keeps the separation the offset was chosen for.
71
+ *
72
+ * The text ramps on these themes are relative (`base: 'surface'`), so they follow
73
+ * on their own — only the absolute tone needs the anchor.
74
+ */
75
+ function tintedSurfaceTone(config) {
76
+ const page = surfaceTone(config);
77
+ return [page - TINTED_SURFACE_TONE_OFFSET, page - TINTED_SURFACE_TONE_OFFSET * 2];
78
+ }
79
+ /**
80
+ * Rescale the base-zone saturation factors onto the base zone's own seed.
81
+ *
82
+ * Every color's `saturation` is a 0–1 factor of its **theme's** seed, and the
83
+ * neutral family shares a theme instance with the accent one — it has to, since
84
+ * `accent-surface` is positioned against `surface`. A separate base seed therefore
85
+ * cannot be a second theme; it arrives as a scale over the authored factors.
86
+ *
87
+ * The scale is anchored on `surface`: dividing by `SURFACE_SATURATION` turns each
88
+ * factor into its share *of the surface's tint*, and multiplying by
89
+ * `baseSaturation / saturation` re-expresses that share against the base seed.
90
+ * `surface` therefore lands on exactly `baseSaturation` on the 0–100 scale, and
91
+ * every sibling keeps its proportion to it. At the shipped
92
+ * `baseSaturation = saturation × 0.12` the scale is `1` and nothing moves.
93
+ *
94
+ * Clamped because Glaze reads the factor as 0–1, which is also why the proportions
95
+ * converge at the top: `surface-inverse` (the highest at `0.475`) saturates first,
96
+ * around `baseSaturation: 25`.
97
+ *
98
+ * A palette seed of `0` leaves no chroma for any factor to scale, so the base zone
99
+ * is grey there whatever it asks for — the ceiling belongs to the theme instance,
100
+ * not to this scale.
101
+ */
102
+ function baseSaturationScale(config) {
103
+ return config.saturation > 0 ? config.baseSaturation / (SURFACE_SATURATION * config.saturation) : 0;
104
+ }
105
+ /**
106
+ * The floor for a pinned brand FILL, measured from white — APCA `large`, Lc 45.
107
+ *
108
+ * "From white" falls out of the anchor rather than replacing it. The base stays
109
+ * `surface`, and `roleToPolarity('surface')` gives this the `bg` polarity, so Glaze
110
+ * solves `apcaContrast(surface, fill)` — in light, where `surface` IS `oklch(1 0 0)`,
111
+ * that is literally white-on-fill, the pair every `type="primary"` label depends on.
112
+ *
113
+ * Re-anchoring to `accent-surface-text` to say "from white" in both schemes was tried
114
+ * and is wrong: in dark the label root is near-white while the page is not, so the
115
+ * floor stops constraining the fill against the page and a dark brand disappears into
116
+ * it — `#111827` came out at WCAG 1.16 against the dark surface. Keeping `surface`
117
+ * means the floor reads as the label pair in light and as page separation in dark,
118
+ * which is the constraint that actually matters in each.
119
+ *
120
+ * Why APCA and not a WCAG ratio. WCAG 2.x is polarity-blind, so one number means two
121
+ * very different things: the previous `3` measured Lc 56 in light but only Lc 23 in
122
+ * dark (12 hues, spread under 2 Lc — hue is not a factor, polarity is). That is 2.4x
123
+ * stricter in light than in dark, which is why light brands kept getting crushed while
124
+ * dark ones sailed through under the same rule. Lc 45 is one number that means one
125
+ * thing in both schemes.
126
+ *
127
+ * Still a FLOOR, not a target: a brand already past it is emitted exactly as given.
128
+ *
129
+ * The HC entry is `85`, spelled rather than left to Glaze's +15 enhancement, because
130
+ * +15 would land it at Lc 60 — weaker in light than the WCAG `7` it replaces. It also
131
+ * cannot be written as a WCAG ratio: Glaze rejects a `contrast` pair that switches
132
+ * metric ("a WCAG ratio and an APCA Lc are different scales"), which is a fair guard,
133
+ * so the tier moves to APCA with the rest.
134
+ *
135
+ * Lc 85 is the closest single value to the old AAA guarantee, and it cannot reproduce
136
+ * it exactly — WCAG 7 measures Lc 83.5 in light but only Lc 54.4 in dark, so no one
137
+ * number says "AAA" on both sides. At 85 the fill lands ~6.1 in light (a shade under
138
+ * AAA) and ~15 in dark (well past it). Fidelity to a requested color is a preference;
139
+ * the high-contrast tier is not — anyone seeing it has asked for separation over brand.
140
+ */
141
+ const ACCENT_FILL_CONTRAST = { apca: [45, 85] };
142
+ /**
143
+ * Floors for the two brand TEXT tokens: rest, then hover — APCA `content` and `body`.
144
+ *
145
+ * Also "from white", in the same sense as {@link ACCENT_FILL_CONTRAST}: both solve
146
+ * against `accent-selected-fill`, which is `oklch(0.975 0.0037 284.4)` in light — white
147
+ * for every practical purpose, and the surface these labels actually sit on. These are
148
+ * foreground spots, so they keep the default `fg` polarity and Glaze solves
149
+ * `apcaContrast(text, base)`.
150
+ *
151
+ * Lc 60 is APCA's `content` tier, the floor for ordinary body text, which is what a
152
+ * link is. The hover takes `body`/75 so the rest→hover intensify stays visible; one
153
+ * preset step apart is what keeps the two from solving onto the same color.
154
+ *
155
+ * The HC entries are spelled `85` and `92` rather than left to Glaze's +15, for the
156
+ * same reason as {@link ACCENT_FILL_CONTRAST}, and they stay apart so the rest→hover
157
+ * intensify survives the tier that needs it most. They replace the hand-measured
158
+ * `[4.5, 9]` pair, whose `9` existed only because a WCAG ratio that high is unreachable
159
+ * for a saturated hue against a chromatic base: `#FFD400` in dark high contrast used to
160
+ * pin to pure black and come out a hover link *less* readable than its rest state. An
161
+ * Lc target is reachable in both schemes because it is polarity-aware, so the
162
+ * pathological case has no equivalent here.
163
+ */
164
+ const ACCENT_TEXT_CONTRAST = { apca: [60, 85] };
165
+ const ACCENT_TEXT_HOVER_CONTRAST = { apca: [75, 92] };
166
+ /**
167
+ * Tone steps of the brand fill ramp, measured from `accent-surface`.
168
+ *
169
+ * They reproduce the white-anchored `-49 / -52 / -55 / -58` ladder exactly once the
170
+ * fill is pinned, because those four deltas share an anchor and differ by 3 / 6 / 9.
171
+ */
172
+ const ACCENT_RAMP = {
173
+ surface2: "-3",
174
+ surface3: "-6",
175
+ hover: "-9"
176
+ };
177
+ /**
178
+ * How far the hover brand text sits past the rest one, in tone.
179
+ *
180
+ * Both are pinned to the caller's tone otherwise, and a pair at the same tone behind
181
+ * the same floor resolves to one color — which would silently delete the rest→hover
182
+ * intensify that `accent-text` exists for. Tone is contrast-uniform, so one step is
183
+ * one step in either scheme.
184
+ */
185
+ const ACCENT_TEXT_HOVER_STEP = 6;
186
+ /**
187
+ * Opaque stand-in for the BASE selected fill used by outline / outline-2 / clear Item
188
+ * types (`#surface|#surface-2|#surface-3` + `#accent-surface.09`).
189
+ *
190
+ * Anchors the `accent-text*` contrast. `value: 9` matches the `.09` alpha overlay;
191
+ * `space: 'srgb'` approximates CSS two-layer compositing. Inherited so colored themes
192
+ * re-resolve against their own `surface` + `accent-surface` (default `surface-2` /
193
+ * `surface-3` are `inherit: false` and can't be the mix base). Primary's tinted
194
+ * `surface` makes this slightly harder than default clear-selected, covering
195
+ * outline / outline-2 selected fills as well.
196
+ *
197
+ * The same in both accent arrangements — it is defined by its two ends, and both of
198
+ * those move with the seed on their own.
199
+ */
200
+ const ACCENT_SELECTED_FILL = { "accent-selected-fill": {
201
+ type: "mix",
202
+ base: "surface",
203
+ target: "accent-surface",
204
+ value: 9,
205
+ space: "srgb"
206
+ } };
207
+ /**
39
208
  * Syntax highlighting for `PrismCode`, as its own theme.
40
209
  *
41
210
  * A small palette of *adaptive* colored tokens. Each one is anchored to `surface`
@@ -127,14 +296,14 @@ const CODE_COLORS = {
127
296
  function buildCodeTheme(config, instanceConfig) {
128
297
  const codeSaturation = config.themes.code.saturation;
129
298
  const theme = glaze(config.hue, codeSaturation, instanceConfig);
130
- let mirrorFactor = SURFACE_SATURATION * (config.saturation / codeSaturation);
299
+ let mirrorFactor = config.baseSaturation / codeSaturation;
131
300
  if (mirrorFactor > 1) {
132
- console.warn(`[cube-ui-kit] themes.code.saturation (${codeSaturation}) is too low for saturation ${config.saturation}: the mirrored code surface would need a factor of ${mirrorFactor.toFixed(3)}. Clamped to 1; raise the code saturation to keep syntax contrast accurate.`);
301
+ console.warn(`[cube-ui-kit] themes.code.saturation (${codeSaturation}) is too low for baseSaturation ${config.baseSaturation}: the mirrored code surface would need a factor of ${mirrorFactor.toFixed(3)}. Clamped to 1; raise the code saturation to keep syntax contrast accurate.`);
133
302
  mirrorFactor = 1;
134
303
  }
135
304
  theme.colors({
136
305
  surface: {
137
- tone: 100,
306
+ tone: surfaceTone(config),
138
307
  saturation: mirrorFactor
139
308
  },
140
309
  ...CODE_COLORS
@@ -160,19 +329,17 @@ glaze.configure({
160
329
  darkDesaturation: 0
161
330
  });
162
331
  /**
163
- * Per-colored-theme overrides on top of the default theme:
164
- * - `surface` — bumped saturation so the banner bg is visibly tinted.
165
- * - `border` — bumped saturation so OUTLINE-variant borders pick up the
166
- * theme hue (used by `#<theme>-border` in `item-themes.ts`). Mirrors the
167
- * default-theme `border` shape (`base: 'surface'`, tone window) but
168
- * with higher saturation. Glaze's `extend({ colors })` redefines each
169
- * listed color from scratch, so we restate the full definition here.
332
+ * The config-free half of a colored theme's overrides — everything anchored to
333
+ * the theme's own `surface` with a *relative* tone, so it follows wherever
334
+ * {@link tintedSurfaceTone} puts that surface.
335
+ *
336
+ * - `border` — bumped saturation so OUTLINE-variant borders pick up the theme
337
+ * hue (used by `#<theme>-border` in `item-themes.ts`). Mirrors the
338
+ * default-theme `border` shape (`base: 'surface'`, tone window) but with
339
+ * higher saturation. Glaze's `extend({ colors })` redefines each listed color
340
+ * from scratch, so we restate the full definition here.
170
341
  */
171
- const TINTED_SURFACE_OVERRIDE = {
172
- surface: {
173
- tone: [100 - TINTED_SURFACE_TONE_OFFSET, 100 - TINTED_SURFACE_TONE_OFFSET * 2],
174
- saturation: TINTED_SURFACE_SATURATION
175
- },
342
+ const TINTED_SURFACE_RAMP = {
176
343
  border: {
177
344
  base: "surface",
178
345
  tone: ["-10", "-30"],
@@ -198,13 +365,31 @@ const TINTED_SURFACE_OVERRIDE = {
198
365
  }
199
366
  };
200
367
  /**
368
+ * Per-colored-theme overrides on top of the default theme: a `surface` bumped in
369
+ * saturation so the banner background is visibly tinted, plus
370
+ * {@link TINTED_SURFACE_RAMP}.
371
+ *
372
+ * A function of the config because the surface's tone is — see
373
+ * {@link tintedSurfaceTone}.
374
+ */
375
+ function tintedSurfaceOverride(config) {
376
+ return {
377
+ surface: {
378
+ tone: tintedSurfaceTone(config),
379
+ saturation: TINTED_SURFACE_SATURATION
380
+ },
381
+ ...TINTED_SURFACE_RAMP
382
+ };
383
+ }
384
+ /**
201
385
  * A tinted surface, a banding step, and text guaranteed to read on both.
202
386
  *
203
387
  * The recipe behind {@link getColorTheme} in `./color-theme.ts`, which builds
204
388
  * one-off themes at runtime from an arbitrary hue. It lives here so it shares
205
389
  * `TINTED_SURFACE_SATURATION`, the tone offsets and the text ramp with
206
- * {@link TINTED_SURFACE_OVERRIDE} above rather than forking them — a runtime tint
207
- * and a built-in theme's `surface` should be the same colour for the same hue.
390
+ * {@link tintedSurfaceOverride} above rather than forking them — a runtime tint
391
+ * and a built-in theme's `surface` should be the same colour for the same hue,
392
+ * which also means both have to follow the page when `surfaceMode` moves it.
208
393
  *
209
394
  * Three colours, because that is what banded, readable table column needs:
210
395
  * `surface` for even rows, `surface-2` one tone step down for odd rows and
@@ -216,29 +401,185 @@ const TINTED_SURFACE_OVERRIDE = {
216
401
  * clears it on both bands. The neutral ramp's own `surface-2-text` is shaped the
217
402
  * same way for the same reason.
218
403
  */
219
- const TINT_RECIPE = {
220
- surface: {
221
- tone: [100 - TINTED_SURFACE_TONE_OFFSET, 100 - TINTED_SURFACE_TONE_OFFSET * 2],
222
- saturation: TINTED_SURFACE_SATURATION
223
- },
224
- "surface-2": {
225
- base: "surface",
226
- tone: ["-2", "-4"],
227
- saturation: TINTED_SURFACE_SATURATION
228
- },
229
- "surface-2-text": {
230
- base: "surface-2",
231
- tone: `${TEXT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
232
- saturation: .25,
233
- contrast: ["AA", "AAA"]
234
- },
235
- "surface-2-text-soft": {
236
- base: "surface-2",
237
- tone: `${TEXT_SOFT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
238
- saturation: .25,
239
- contrast: ["AA", "AAA"]
240
- }
241
- };
404
+ function tintRecipe(config) {
405
+ return {
406
+ surface: {
407
+ tone: tintedSurfaceTone(config),
408
+ saturation: TINTED_SURFACE_SATURATION
409
+ },
410
+ "surface-2": {
411
+ base: "surface",
412
+ tone: ["-2", "-4"],
413
+ saturation: TINTED_SURFACE_SATURATION
414
+ },
415
+ "surface-2-text": {
416
+ base: "surface-2",
417
+ tone: `${TEXT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
418
+ saturation: .25,
419
+ contrast: ["AA", "AAA"]
420
+ },
421
+ "surface-2-text-soft": {
422
+ base: "surface-2",
423
+ tone: `${TEXT_SOFT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
424
+ saturation: .25,
425
+ contrast: ["AA", "AAA"]
426
+ }
427
+ };
428
+ }
429
+ /**
430
+ * The brand family, in one of two arrangements.
431
+ *
432
+ * **`null`** — the shipped one, verbatim. Every fill hangs off a fixed white
433
+ * `accent-surface-text` at a relative tone delta behind an `['AA','AAA']` floor, and
434
+ * the text pair hangs off `accent-selected-fill` at `-49`. Those floors are
435
+ * load-bearing rather than decorative: relaxing them moves the shipped `accent-text`
436
+ * light tone from 38.76 to 48.63 and the `accent-surface` high-contrast tone from
437
+ * 36.08 to 51.00. Nothing on this path may change — `palette.test.ts` snapshots it.
438
+ *
439
+ * **A color** — the caller handed us one, and the job is to render *that*. Glaze's
440
+ * `from` takes the value directly: it supplies the hue, the tone, and an absolute
441
+ * saturation that does not answer to the theme seed, and it reproduces the value
442
+ * exactly in the light/normal-contrast variant. The floors drop to
443
+ * {@link ACCENT_FILL_CONTRAST} on top, because anchored the shipped way every accent
444
+ * lands at roughly tone 50 whatever went in, and a 4.5 floor then crushes anything
445
+ * light besides.
446
+ *
447
+ * Two details worth keeping straight:
448
+ *
449
+ * - **The ramp carries no floor.** Re-anchored onto the fill, an `['AA','AAA']` floor
450
+ * is measured against the *fill* rather than white and collapses all three steps to
451
+ * near-black. A plain tone step is what the relationship actually is.
452
+ * - **The text pair stays `mode: 'auto'`.** Link text has to invert on a dark page, so
453
+ * exactness belongs to the fill; the text is a brand-toned companion of it.
454
+ */
455
+ function accentFillColors(accent) {
456
+ if (accent == null) return {
457
+ "accent-surface-text": {
458
+ tone: 100,
459
+ mode: "fixed"
460
+ },
461
+ "accent-surface": {
462
+ base: "accent-surface-text",
463
+ tone: "-49",
464
+ contrast: ["AA", "AAA"],
465
+ mode: "fixed"
466
+ },
467
+ "accent-surface-2": {
468
+ base: "accent-surface-text",
469
+ tone: "-52",
470
+ contrast: ["AA", "AAA"],
471
+ mode: "fixed"
472
+ },
473
+ "accent-surface-3": {
474
+ base: "accent-surface-text",
475
+ tone: "-55",
476
+ contrast: ["AA", "AAA"],
477
+ mode: "fixed"
478
+ },
479
+ "accent-surface-hover": {
480
+ base: "accent-surface-text",
481
+ tone: "-58",
482
+ contrast: ["AA", "AAA"],
483
+ mode: "fixed"
484
+ },
485
+ "accent-surface-border": {
486
+ base: "accent-surface",
487
+ tone: "+13",
488
+ mode: "fixed"
489
+ }
490
+ };
491
+ return {
492
+ "accent-surface-text": {
493
+ tone: 100,
494
+ mode: "fixed"
495
+ },
496
+ "accent-surface": {
497
+ from: accent.color,
498
+ base: "surface",
499
+ contrast: ACCENT_FILL_CONTRAST,
500
+ mode: "fixed"
501
+ },
502
+ "accent-surface-2": {
503
+ base: "accent-surface",
504
+ tone: ACCENT_RAMP.surface2,
505
+ mode: "fixed"
506
+ },
507
+ "accent-surface-3": {
508
+ base: "accent-surface",
509
+ tone: ACCENT_RAMP.surface3,
510
+ mode: "fixed"
511
+ },
512
+ "accent-surface-hover": {
513
+ base: "accent-surface",
514
+ tone: ACCENT_RAMP.hover,
515
+ mode: "fixed"
516
+ },
517
+ "accent-surface-border": {
518
+ base: "accent-surface",
519
+ tone: "+13",
520
+ mode: "fixed"
521
+ }
522
+ };
523
+ }
524
+ /**
525
+ * The brand FOREGROUNDS — text on a neutral surface, and the icon.
526
+ *
527
+ * Split from {@link accentFillColors} because the two have different audiences: the
528
+ * fill ramp is shared with the standalone `special` theme, which builds its own
529
+ * purpose-made subset and must not gain tokens it does not consume. Only the default
530
+ * theme (and the colored themes that inherit from it) takes these.
531
+ *
532
+ * These stay `mode: 'auto'` in both arrangements — a link has to invert on a dark page,
533
+ * so exactness belongs to the fill and these are its brand-toned companions.
534
+ */
535
+ function accentTextColors(accent) {
536
+ if (accent == null) return {
537
+ ...ACCENT_SELECTED_FILL,
538
+ "accent-text": {
539
+ base: "accent-selected-fill",
540
+ tone: "-49",
541
+ saturation: 1,
542
+ contrast: [6, 11]
543
+ },
544
+ "accent-text-soft": {
545
+ base: "accent-selected-fill",
546
+ tone: "-49",
547
+ saturation: 1,
548
+ contrast: ["AA", "AAA"]
549
+ },
550
+ "accent-icon": {
551
+ base: "surface",
552
+ tone: "-38",
553
+ saturation: .9375
554
+ }
555
+ };
556
+ return {
557
+ ...ACCENT_SELECTED_FILL,
558
+ "accent-text": {
559
+ from: accent.color,
560
+ base: "accent-selected-fill",
561
+ tone: Math.max(0, accent.tone - ACCENT_TEXT_HOVER_STEP),
562
+ contrast: ACCENT_TEXT_HOVER_CONTRAST
563
+ },
564
+ "accent-text-soft": {
565
+ from: accent.color,
566
+ base: "accent-selected-fill",
567
+ contrast: ACCENT_TEXT_CONTRAST
568
+ },
569
+ "accent-icon": {
570
+ from: accent.color,
571
+ base: "surface",
572
+ contrast: ACCENT_TEXT_CONTRAST
573
+ }
574
+ };
575
+ }
576
+ /** Every accent token the default theme carries — fills, foregrounds, and the mix. */
577
+ function accentColors(accent) {
578
+ return {
579
+ ...accentFillColors(accent),
580
+ ...accentTextColors(accent)
581
+ };
582
+ }
242
583
  /**
243
584
  * Build the full palette from a resolved config.
244
585
  *
@@ -248,7 +589,14 @@ const TINT_RECIPE = {
248
589
  * seed and a `GlazePalette` has no mutation API, so re-seeding means rebuilding.
249
590
  */
250
591
  function buildPalette(config, options = {}) {
251
- const { hue, baseHue, saturation, pastel, themes, contrastLevel } = config;
592
+ const { hue, baseHue, saturation, accentColor, accentTone, pastel, themes, contrastLevel } = config;
593
+ const accent = accentColor !== null && accentTone !== null ? {
594
+ color: accentColor,
595
+ tone: accentTone
596
+ } : null;
597
+ const baseTone = surfaceTone(config);
598
+ const baseScale = baseSaturationScale(config);
599
+ const baseChroma = (factor) => Math.min(1, factor * baseScale);
252
600
  const sharedOverrides = options.isolateContrastLevel ? { contrastLevel } : {};
253
601
  const overrides = {
254
602
  ...sharedOverrides,
@@ -262,43 +610,43 @@ function buildPalette(config, options = {}) {
262
610
  const defaultTheme = glaze(hue, saturation, instanceConfig);
263
611
  defaultTheme.colors({
264
612
  surface: {
265
- tone: 100,
266
- saturation: SURFACE_SATURATION,
613
+ tone: baseTone,
614
+ saturation: baseChroma(SURFACE_SATURATION),
267
615
  hue: baseHue
268
616
  },
269
617
  "surface-2": {
270
618
  hue: baseHue,
271
619
  base: "surface",
272
620
  tone: ["-2", "-4"],
273
- saturation: .1,
621
+ saturation: baseChroma(.1),
274
622
  inherit: false
275
623
  },
276
624
  "surface-3": {
277
625
  hue: baseHue,
278
626
  base: "surface",
279
627
  tone: ["-4", "-8"],
280
- saturation: .1,
628
+ saturation: baseChroma(.1),
281
629
  inherit: false
282
630
  },
283
631
  "surface-4": {
284
632
  hue: baseHue,
285
633
  base: "surface",
286
634
  tone: ["-6", "-12"],
287
- saturation: .1,
635
+ saturation: baseChroma(.1),
288
636
  inherit: false
289
637
  },
290
638
  "surface-text": {
291
639
  hue: baseHue,
292
640
  base: "surface",
293
641
  tone: `${TEXT_TONE - 2}`,
294
- saturation: .2,
642
+ saturation: baseChroma(.2),
295
643
  contrast: ["AA", "AAA"]
296
644
  },
297
645
  "surface-text-soft": {
298
646
  hue: baseHue,
299
647
  base: "surface",
300
648
  tone: `${TEXT_SOFT_TONE - 2}`,
301
- saturation: .2,
649
+ saturation: baseChroma(.2),
302
650
  contrast: ["AA", "AAA"],
303
651
  inherit: false
304
652
  },
@@ -306,7 +654,7 @@ function buildPalette(config, options = {}) {
306
654
  hue: baseHue,
307
655
  base: "surface",
308
656
  tone: `${TEXT_SOFT2_TONE - 2}`,
309
- saturation: .2,
657
+ saturation: baseChroma(.2),
310
658
  contrast: ["AA", "AAA"],
311
659
  inherit: false
312
660
  },
@@ -314,7 +662,7 @@ function buildPalette(config, options = {}) {
314
662
  hue: baseHue,
315
663
  base: "surface-2",
316
664
  tone: `${TEXT_TONE + SURFACE_2_TEXT_OFFSET}`,
317
- saturation: .2,
665
+ saturation: baseChroma(.2),
318
666
  contrast: ["AA", "AAA"],
319
667
  inherit: false
320
668
  },
@@ -322,7 +670,7 @@ function buildPalette(config, options = {}) {
322
670
  hue: baseHue,
323
671
  base: "surface-2",
324
672
  tone: `${TEXT_SOFT_TONE + SURFACE_2_TEXT_OFFSET}`,
325
- saturation: .2,
673
+ saturation: baseChroma(.2),
326
674
  contrast: ["AA", "AAA"],
327
675
  inherit: false
328
676
  },
@@ -330,7 +678,7 @@ function buildPalette(config, options = {}) {
330
678
  hue: baseHue,
331
679
  base: "surface-3",
332
680
  tone: `${TEXT_TONE + SURFACE_3_TEXT_OFFSET}`,
333
- saturation: .2,
681
+ saturation: baseChroma(.2),
334
682
  contrast: ["AA", "AAA"],
335
683
  inherit: false
336
684
  },
@@ -338,7 +686,7 @@ function buildPalette(config, options = {}) {
338
686
  hue: baseHue,
339
687
  base: "surface-3",
340
688
  tone: `${TEXT_SOFT_TONE + SURFACE_3_TEXT_OFFSET}`,
341
- saturation: .2,
689
+ saturation: baseChroma(.2),
342
690
  contrast: ["AA", "AAA"],
343
691
  inherit: false
344
692
  },
@@ -346,13 +694,13 @@ function buildPalette(config, options = {}) {
346
694
  hue: baseHue,
347
695
  base: "surface",
348
696
  tone: ["-10", "-30"],
349
- saturation: .175
697
+ saturation: baseChroma(.175)
350
698
  },
351
699
  placeholder: {
352
700
  hue: baseHue,
353
701
  base: "surface",
354
702
  tone: "-33",
355
- saturation: .175,
703
+ saturation: baseChroma(.175),
356
704
  inherit: false
357
705
  },
358
706
  focus: {
@@ -370,7 +718,7 @@ function buildPalette(config, options = {}) {
370
718
  hue: baseHue,
371
719
  base: "surface",
372
720
  tone: "-3.5",
373
- saturation: .2,
721
+ saturation: baseChroma(.2),
374
722
  inherit: false
375
723
  },
376
724
  "disabled-surface-text": {
@@ -382,67 +730,11 @@ function buildPalette(config, options = {}) {
382
730
  "surface-inverse": {
383
731
  hue: baseHue,
384
732
  tone: 12,
385
- saturation: .475,
733
+ saturation: baseChroma(.475),
386
734
  mode: "fixed",
387
735
  inherit: false
388
736
  },
389
- "accent-surface-text": {
390
- tone: 100,
391
- mode: "fixed"
392
- },
393
- "accent-surface": {
394
- base: "accent-surface-text",
395
- tone: "-49",
396
- contrast: ["AA", "AAA"],
397
- mode: "fixed"
398
- },
399
- "accent-surface-2": {
400
- base: "accent-surface-text",
401
- tone: "-52",
402
- contrast: ["AA", "AAA"],
403
- mode: "fixed"
404
- },
405
- "accent-surface-3": {
406
- base: "accent-surface-text",
407
- tone: "-55",
408
- contrast: ["AA", "AAA"],
409
- mode: "fixed"
410
- },
411
- "accent-surface-hover": {
412
- base: "accent-surface-text",
413
- tone: "-58",
414
- contrast: ["AA", "AAA"],
415
- mode: "fixed"
416
- },
417
- "accent-surface-border": {
418
- base: "accent-surface",
419
- tone: "+13",
420
- mode: "fixed"
421
- },
422
- "accent-selected-fill": {
423
- type: "mix",
424
- base: "surface",
425
- target: "accent-surface",
426
- value: 9,
427
- space: "srgb"
428
- },
429
- "accent-text": {
430
- base: "accent-selected-fill",
431
- tone: "-49",
432
- saturation: 1,
433
- contrast: [6, 11]
434
- },
435
- "accent-text-soft": {
436
- base: "accent-selected-fill",
437
- tone: "-49",
438
- saturation: 1,
439
- contrast: ["AA", "AAA"]
440
- },
441
- "accent-icon": {
442
- base: "surface",
443
- tone: "-38",
444
- saturation: .9375
445
- },
737
+ ...accentColors(accent),
446
738
  "accent-disabled-surface": {
447
739
  base: "surface",
448
740
  tone: "-13",
@@ -501,26 +793,31 @@ function buildPalette(config, options = {}) {
501
793
  hue: baseHue
502
794
  }
503
795
  });
504
- const primaryTheme = defaultTheme.extend({ colors: TINTED_SURFACE_OVERRIDE });
796
+ const tintedSurface = tintedSurfaceOverride(config);
797
+ const primaryTheme = defaultTheme.extend({ colors: tintedSurface });
798
+ const statusColors = accent == null ? tintedSurface : {
799
+ ...tintedSurface,
800
+ ...accentColors(null)
801
+ };
505
802
  const successTheme = defaultTheme.extend({
506
803
  hue: themes.success.hue,
507
804
  saturation: themes.success.saturation,
508
- colors: TINTED_SURFACE_OVERRIDE
805
+ colors: statusColors
509
806
  });
510
807
  const dangerTheme = defaultTheme.extend({
511
808
  hue: themes.danger.hue,
512
809
  saturation: themes.danger.saturation,
513
- colors: TINTED_SURFACE_OVERRIDE
810
+ colors: statusColors
514
811
  });
515
812
  const warningTheme = defaultTheme.extend({
516
813
  hue: themes.warning.hue,
517
814
  saturation: themes.warning.saturation,
518
- colors: TINTED_SURFACE_OVERRIDE
815
+ colors: statusColors
519
816
  });
520
817
  const noteTheme = defaultTheme.extend({
521
818
  hue: themes.note.hue,
522
819
  saturation: themes.note.saturation,
523
- colors: TINTED_SURFACE_OVERRIDE
820
+ colors: statusColors
524
821
  });
525
822
  const specialTheme = glaze(hue, saturation, instanceConfig);
526
823
  specialTheme.colors({
@@ -529,39 +826,7 @@ function buildPalette(config, options = {}) {
529
826
  saturation: .475,
530
827
  mode: "fixed"
531
828
  },
532
- "accent-surface-text": {
533
- tone: 100,
534
- mode: "fixed"
535
- },
536
- "accent-surface": {
537
- base: "accent-surface-text",
538
- tone: "-49",
539
- contrast: ["AA", "AAA"],
540
- mode: "fixed"
541
- },
542
- "accent-surface-2": {
543
- base: "accent-surface-text",
544
- tone: "-52",
545
- contrast: ["AA", "AAA"],
546
- mode: "fixed"
547
- },
548
- "accent-surface-3": {
549
- base: "accent-surface-text",
550
- tone: "-55",
551
- contrast: ["AA", "AAA"],
552
- mode: "fixed"
553
- },
554
- "accent-surface-border": {
555
- base: "accent-surface",
556
- tone: "+13",
557
- mode: "fixed"
558
- },
559
- "accent-surface-hover": {
560
- base: "accent-surface-text",
561
- tone: "-58",
562
- contrast: ["AA", "AAA"],
563
- mode: "fixed"
564
- },
829
+ ...accentFillColors(accent),
565
830
  "accent-text": {
566
831
  base: "accent-surface-text",
567
832
  tone: "-58",
@@ -750,5 +1015,5 @@ function renderPaletteTokens(options = {}) {
750
1015
  const PALETTE_TOKENS = lazyStyles(getPaletteTokens);
751
1016
 
752
1017
  //#endregion
753
- export { PALETTE_TOKENS, TINT_RECIPE, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens };
1018
+ export { PALETTE_TOKENS, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens, tintRecipe };
754
1019
  //# sourceMappingURL=palette.js.map