@cube-dev/ui-kit 0.0.0-canary-2e2405c → 0.0.0-canary-4e3e97e

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 (558) 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 +2 -3
  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/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  133. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  134. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  135. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  136. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  137. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  138. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  139. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  140. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  141. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  142. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  143. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  144. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  145. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  146. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  147. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  148. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  149. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  150. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  151. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  152. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  153. package/dist/components/fields/DatePicker/period.js +1 -1
  154. package/dist/components/fields/DatePicker/props.js +1 -1
  155. package/dist/components/fields/DatePicker/utils.js +1 -1
  156. package/dist/components/fields/FileInput/FileInput.js +1 -1
  157. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  158. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  159. package/dist/components/fields/Input/Input.js +1 -1
  160. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  161. package/dist/components/fields/ListBox/ListBox.js +1 -1
  162. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  163. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  164. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  165. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  166. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  167. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  168. package/dist/components/fields/Picker/Picker.js +1 -1
  169. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  170. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -2
  171. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  172. package/dist/components/fields/RadioGroup/context.js +1 -1
  173. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  174. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  175. package/dist/components/fields/Select/Select.js +1 -1
  176. package/dist/components/fields/Slider/Gradation.js +1 -1
  177. package/dist/components/fields/Slider/HueSlider.js +2 -15
  178. package/dist/components/fields/Slider/HueSlider.js.map +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/TextInputMapper/TextInputMapper.js +1 -1
  191. package/dist/components/fields/color/ColorPanel.js +1 -1
  192. package/dist/components/fields/{ColorSwatch → color}/ColorSwatch.d.ts +2 -8
  193. package/dist/components/fields/{ColorSwatch → color}/ColorSwatch.js +6 -14
  194. package/dist/components/fields/color/ColorSwatch.js.map +1 -0
  195. package/dist/components/fields/color/channels.js +1 -1
  196. package/dist/components/fields/color/color.js +4 -4
  197. package/dist/components/fields/color/color.js.map +1 -1
  198. package/dist/components/fields/color/context.js +1 -1
  199. package/dist/components/fields/color/index.d.ts +1 -0
  200. package/dist/components/fields/index.d.ts +1 -2
  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 +3 -4
  481. package/dist/index.js +4 -5
  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-theme.d.ts +1 -8
  491. package/dist/tokens/color-theme.js +7 -19
  492. package/dist/tokens/color-theme.js.map +1 -1
  493. package/dist/tokens/colors.js +1 -1
  494. package/dist/tokens/index.d.ts +1 -2
  495. package/dist/tokens/index.js +2 -3
  496. package/dist/tokens/index.js.map +1 -1
  497. package/dist/tokens/layout.js +1 -1
  498. package/dist/tokens/lazy-styles.js +1 -1
  499. package/dist/tokens/palette-config.d.ts +9 -175
  500. package/dist/tokens/palette-config.js +10 -62
  501. package/dist/tokens/palette-config.js.map +1 -1
  502. package/dist/tokens/palette.js +158 -515
  503. package/dist/tokens/palette.js.map +1 -1
  504. package/dist/tokens/shadows.js +1 -1
  505. package/dist/tokens/sizes.js +1 -1
  506. package/dist/tokens/spacing.js +1 -1
  507. package/dist/tokens/typography.js +1 -1
  508. package/dist/utils/ResizeSensor.js +1 -1
  509. package/dist/utils/is-dev-env.js +1 -1
  510. package/dist/utils/modules.js +1 -1
  511. package/dist/utils/promise.js +1 -1
  512. package/dist/utils/raf.js +1 -1
  513. package/dist/utils/random.js +1 -1
  514. package/dist/utils/range.js +1 -1
  515. package/dist/utils/react/RenderCache.js +1 -1
  516. package/dist/utils/react/Slots.js +1 -1
  517. package/dist/utils/react/chain.js +1 -1
  518. package/dist/utils/react/disabledProps.js +1 -1
  519. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  520. package/dist/utils/react/index.js +1 -1
  521. package/dist/utils/react/interactions.js +1 -1
  522. package/dist/utils/react/isTextOnly.js +1 -1
  523. package/dist/utils/react/mapProps.js +1 -1
  524. package/dist/utils/react/mergeProps.js +1 -1
  525. package/dist/utils/react/nullableValue.js +1 -1
  526. package/dist/utils/react/resolveIcon.js +1 -1
  527. package/dist/utils/react/sharedStore.js +1 -1
  528. package/dist/utils/react/useBufferedValue.js +1 -1
  529. package/dist/utils/react/useCombinedRefs.js +1 -1
  530. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  531. package/dist/utils/react/useEventBus.js +1 -1
  532. package/dist/utils/react/useId.js +1 -1
  533. package/dist/utils/react/useIsDarwin.js +1 -1
  534. package/dist/utils/react/useKeySymbols.js +1 -1
  535. package/dist/utils/react/useLayoutEffect.js +1 -1
  536. package/dist/utils/react/useLocalStorage.js +1 -1
  537. package/dist/utils/react/useMergeStyles.js +1 -1
  538. package/dist/utils/react/usePopoverSync.js +1 -1
  539. package/dist/utils/react/useQaProps.js +1 -1
  540. package/dist/utils/react/useViewportSize.js +1 -1
  541. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  542. package/dist/utils/selection.js +1 -1
  543. package/dist/utils/styles.js +1 -1
  544. package/dist/utils/tree.js +1 -1
  545. package/dist/utils/warnings.js +1 -1
  546. package/dist/version.js +2 -2
  547. package/docs/Theming.md +30 -306
  548. package/docs/glaze/api.md +47 -155
  549. package/docs/glaze/methodology.md +13 -15
  550. package/docs/glaze/migration.md +0 -36
  551. package/docs/glaze/okhst.md +0 -4
  552. package/package.json +3 -3
  553. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +0 -1
  554. package/dist/components/fields/ColorSwatch/index.d.ts +0 -2
  555. package/dist/tokens/color-seed.d.ts +0 -44
  556. package/dist/tokens/color-seed.js +0 -48
  557. package/dist/tokens/color-seed.js.map +0 -1
  558. package/docs/components/fields/ColorSwatch.md +0 -148
@@ -1,7 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-2e2405c | Cube Dev Team */
2
- import { SURFACE_SATURATION_SHARE, getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-4e3e97e | Cube Dev Team */
2
+ import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
3
3
  import { lazyStyles } from "./lazy-styles.js";
4
- import { apcaContrast, glaze, okhslToLinearSrgb, variantToOkhsl } from "@tenphi/glaze";
4
+ import { glaze } from "@tenphi/glaze";
5
5
 
6
6
  //#region src/tokens/palette.ts
7
7
  /**
@@ -30,276 +30,12 @@ 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. 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.
33
+ * against the real page background — the two must not drift apart.
38
34
  */
39
- const SURFACE_SATURATION = SURFACE_SATURATION_SHARE;
35
+ const SURFACE_SATURATION = .12;
40
36
  const TINTED_SURFACE_SATURATION = .2;
41
37
  const TINTED_SURFACE_TONE_OFFSET = 2;
42
38
  /**
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
- * The white label's own floor on the brand fill, as an APCA Lc.
188
- *
189
- * The same 45 as {@link ACCENT_FILL_CONTRAST}, and deliberately so: it is the same
190
- * surface being constrained, just against the other thing that has to survive on it.
191
- *
192
- * Two floors rather than one because in dark they pull opposite ways, and dropping
193
- * either one produces the mirror image of the other's failure. The fill has to be dark
194
- * enough for the `#white` label every `type="primary"` item paints on it, and light
195
- * enough to separate from a dark page. In light mode the page IS white, so both
196
- * collapse into the single measurement Glaze already makes and this cap never fires.
197
- *
198
- * Measured, in dark, with only the page floor: `#FFFFFF` clears it at WCAG 14.4 while
199
- * the label lands on **Lc 0** — the label is exactly its own fill. With only the white
200
- * floor the failure mirrors: `#111827` puts the fill at **Lc 0.0 against the page**, a
201
- * blazing white label on a shape that is not there. The border does not stand in for
202
- * the fill here — it is deliberately low-contrast — so the fill has to carry it.
203
- */
204
- const ACCENT_LABEL_LC = 45;
205
- const accentCapCache = /* @__PURE__ */ new Map();
206
- /** APCA Lc of pure white on one resolved variant. */
207
- function labelLcOf(variant) {
208
- const { h, s, l } = variantToOkhsl(variant);
209
- const gamma = (c) => c <= .0031308 ? 12.92 * c : 1.055 * Math.pow(c, 1 / 2.4) - .055;
210
- const y = (rgb) => {
211
- const [r, g, b] = rgb.map((c) => Math.max(0, Math.min(1, gamma(c))));
212
- return .2126 * r ** 2.4 + .7152 * g ** 2.4 + .0722 * b ** 2.4;
213
- };
214
- return Math.abs(apcaContrast(y([
215
- 1,
216
- 1,
217
- 1
218
- ]), y(okhslToLinearSrgb(h, s, l, false))));
219
- }
220
- /**
221
- * Pull a brand tone down until a white label survives on every variant of the fill.
222
- *
223
- * The search runs against Glaze's own fixed-mode resolution — the same mapping
224
- * `accent-surface` goes through — rather than reimplementing the dark tone window, and
225
- * checks all four variants so the cap is a property of the seed and not of one scheme.
226
- *
227
- * Only ever lowers, so a brand already dark enough comes back untouched.
228
- */
229
- function capAccentTone(color, tone) {
230
- const cached = accentCapCache.get(color);
231
- if (cached !== void 0) return Math.min(tone, cached);
232
- const { h: hue, s: saturation } = glaze.color(color).resolve().light;
233
- const labelLc = (candidate) => {
234
- const resolved = glaze.color({
235
- from: {
236
- h: hue,
237
- s: saturation,
238
- t: candidate / 100
239
- },
240
- mode: "fixed"
241
- }).resolve();
242
- return Math.min(labelLcOf(resolved.light), labelLcOf(resolved.dark), labelLcOf(resolved.lightContrast), labelLcOf(resolved.darkContrast));
243
- };
244
- let cap = 100;
245
- if (labelLc(tone) < ACCENT_LABEL_LC) {
246
- let low = 0;
247
- let high = tone;
248
- for (let i = 0; i < 24; i++) {
249
- const mid = (low + high) / 2;
250
- if (labelLc(mid) >= ACCENT_LABEL_LC) low = mid;
251
- else high = mid;
252
- }
253
- cap = low;
254
- }
255
- accentCapCache.set(color, cap);
256
- return Math.min(tone, cap);
257
- }
258
- /**
259
- * The brand seed with its tone capped, rebuilt as a literal Glaze can read.
260
- *
261
- * The string has to be rebuilt, not just the number: `from` reads the tone off it, so
262
- * handing Glaze the original would re-solve at the uncapped tone. An uncapped brand
263
- * keeps its original literal rather than round-tripping through `okhst()`.
264
- */
265
- function cappedAccent(color, tone) {
266
- const capped = capAccentTone(color, tone);
267
- if (capped >= tone) return {
268
- color,
269
- tone
270
- };
271
- const { h, s } = glaze.color(color).resolve().light;
272
- return {
273
- color: {
274
- h,
275
- s,
276
- t: capped / 100
277
- },
278
- tone: capped
279
- };
280
- }
281
- /**
282
- * Opaque stand-in for the BASE selected fill used by outline / outline-2 / clear Item
283
- * types (`#surface|#surface-2|#surface-3` + `#accent-surface.09`).
284
- *
285
- * Anchors the `accent-text*` contrast. `value: 9` matches the `.09` alpha overlay;
286
- * `space: 'srgb'` approximates CSS two-layer compositing. Inherited so colored themes
287
- * re-resolve against their own `surface` + `accent-surface` (default `surface-2` /
288
- * `surface-3` are `inherit: false` and can't be the mix base). Primary's tinted
289
- * `surface` makes this slightly harder than default clear-selected, covering
290
- * outline / outline-2 selected fills as well.
291
- *
292
- * The same in both accent arrangements — it is defined by its two ends, and both of
293
- * those move with the seed on their own.
294
- */
295
- const ACCENT_SELECTED_FILL = { "accent-selected-fill": {
296
- type: "mix",
297
- base: "surface",
298
- target: "accent-surface",
299
- value: 9,
300
- space: "srgb"
301
- } };
302
- /**
303
39
  * Syntax highlighting for `PrismCode`, as its own theme.
304
40
  *
305
41
  * A small palette of *adaptive* colored tokens. Each one is anchored to `surface`
@@ -391,14 +127,14 @@ const CODE_COLORS = {
391
127
  function buildCodeTheme(config, instanceConfig) {
392
128
  const codeSaturation = config.themes.code.saturation;
393
129
  const theme = glaze(config.hue, codeSaturation, instanceConfig);
394
- let mirrorFactor = config.baseSaturation / codeSaturation;
130
+ let mirrorFactor = SURFACE_SATURATION * (config.saturation / codeSaturation);
395
131
  if (mirrorFactor > 1) {
396
- 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.`);
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.`);
397
133
  mirrorFactor = 1;
398
134
  }
399
135
  theme.colors({
400
136
  surface: {
401
- tone: surfaceTone(config),
137
+ tone: 100,
402
138
  saturation: mirrorFactor
403
139
  },
404
140
  ...CODE_COLORS
@@ -424,17 +160,19 @@ glaze.configure({
424
160
  darkDesaturation: 0
425
161
  });
426
162
  /**
427
- * The config-free half of a colored theme's overrides — everything anchored to
428
- * the theme's own `surface` with a *relative* tone, so it follows wherever
429
- * {@link tintedSurfaceTone} puts that surface.
430
- *
431
- * - `border` — bumped saturation so OUTLINE-variant borders pick up the theme
432
- * hue (used by `#<theme>-border` in `item-themes.ts`). Mirrors the
433
- * default-theme `border` shape (`base: 'surface'`, tone window) but with
434
- * higher saturation. Glaze's `extend({ colors })` redefines each listed color
435
- * from scratch, so we restate the full definition here.
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.
436
170
  */
437
- const TINTED_SURFACE_RAMP = {
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
+ },
438
176
  border: {
439
177
  base: "surface",
440
178
  tone: ["-10", "-30"],
@@ -460,31 +198,13 @@ const TINTED_SURFACE_RAMP = {
460
198
  }
461
199
  };
462
200
  /**
463
- * Per-colored-theme overrides on top of the default theme: a `surface` bumped in
464
- * saturation so the banner background is visibly tinted, plus
465
- * {@link TINTED_SURFACE_RAMP}.
466
- *
467
- * A function of the config because the surface's tone is — see
468
- * {@link tintedSurfaceTone}.
469
- */
470
- function tintedSurfaceOverride(config) {
471
- return {
472
- surface: {
473
- tone: tintedSurfaceTone(config),
474
- saturation: TINTED_SURFACE_SATURATION
475
- },
476
- ...TINTED_SURFACE_RAMP
477
- };
478
- }
479
- /**
480
201
  * A tinted surface, a banding step, and text guaranteed to read on both.
481
202
  *
482
203
  * The recipe behind {@link getColorTheme} in `./color-theme.ts`, which builds
483
204
  * one-off themes at runtime from an arbitrary hue. It lives here so it shares
484
205
  * `TINTED_SURFACE_SATURATION`, the tone offsets and the text ramp with
485
- * {@link tintedSurfaceOverride} above rather than forking them — a runtime tint
486
- * and a built-in theme's `surface` should be the same colour for the same hue,
487
- * which also means both have to follow the page when `surfaceMode` moves it.
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.
488
208
  *
489
209
  * Three colours, because that is what banded, readable table column needs:
490
210
  * `surface` for even rows, `surface-2` one tone step down for odd rows and
@@ -496,185 +216,29 @@ function tintedSurfaceOverride(config) {
496
216
  * clears it on both bands. The neutral ramp's own `surface-2-text` is shaped the
497
217
  * same way for the same reason.
498
218
  */
499
- function tintRecipe(config) {
500
- return {
501
- surface: {
502
- tone: tintedSurfaceTone(config),
503
- saturation: TINTED_SURFACE_SATURATION
504
- },
505
- "surface-2": {
506
- base: "surface",
507
- tone: ["-2", "-4"],
508
- saturation: TINTED_SURFACE_SATURATION
509
- },
510
- "surface-2-text": {
511
- base: "surface-2",
512
- tone: `${TEXT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
513
- saturation: .25,
514
- contrast: ["AA", "AAA"]
515
- },
516
- "surface-2-text-soft": {
517
- base: "surface-2",
518
- tone: `${TEXT_SOFT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
519
- saturation: .25,
520
- contrast: ["AA", "AAA"]
521
- }
522
- };
523
- }
524
- /**
525
- * The brand family, in one of two arrangements.
526
- *
527
- * **`null`** — the shipped one, verbatim. Every fill hangs off a fixed white
528
- * `accent-surface-text` at a relative tone delta behind an `['AA','AAA']` floor, and
529
- * the text pair hangs off `accent-selected-fill` at `-49`. Those floors are
530
- * load-bearing rather than decorative: relaxing them moves the shipped `accent-text`
531
- * light tone from 38.76 to 48.63 and the `accent-surface` high-contrast tone from
532
- * 36.08 to 51.00. Nothing on this path may change — `palette.test.ts` snapshots it.
533
- *
534
- * **A color** — the caller handed us one, and the job is to render *that*. Glaze's
535
- * `from` takes the value directly: it supplies the hue, the tone, and an absolute
536
- * saturation that does not answer to the theme seed, and it reproduces the value
537
- * exactly in the light/normal-contrast variant. The floors drop to
538
- * {@link ACCENT_FILL_CONTRAST} on top, because anchored the shipped way every accent
539
- * lands at roughly tone 50 whatever went in, and a 4.5 floor then crushes anything
540
- * light besides.
541
- *
542
- * Two details worth keeping straight:
543
- *
544
- * - **The ramp carries no floor.** Re-anchored onto the fill, an `['AA','AAA']` floor
545
- * is measured against the *fill* rather than white and collapses all three steps to
546
- * near-black. A plain tone step is what the relationship actually is.
547
- * - **The text pair stays `mode: 'auto'`.** Link text has to invert on a dark page, so
548
- * exactness belongs to the fill; the text is a brand-toned companion of it.
549
- */
550
- function accentFillColors(accent) {
551
- if (accent == null) return {
552
- "accent-surface-text": {
553
- tone: 100,
554
- mode: "fixed"
555
- },
556
- "accent-surface": {
557
- base: "accent-surface-text",
558
- tone: "-49",
559
- contrast: ["AA", "AAA"],
560
- mode: "fixed"
561
- },
562
- "accent-surface-2": {
563
- base: "accent-surface-text",
564
- tone: "-52",
565
- contrast: ["AA", "AAA"],
566
- mode: "fixed"
567
- },
568
- "accent-surface-3": {
569
- base: "accent-surface-text",
570
- tone: "-55",
571
- contrast: ["AA", "AAA"],
572
- mode: "fixed"
573
- },
574
- "accent-surface-hover": {
575
- base: "accent-surface-text",
576
- tone: "-58",
577
- contrast: ["AA", "AAA"],
578
- mode: "fixed"
579
- },
580
- "accent-surface-border": {
581
- base: "accent-surface",
582
- tone: "+13",
583
- mode: "fixed"
584
- }
585
- };
586
- return {
587
- "accent-surface-text": {
588
- tone: 100,
589
- mode: "fixed"
590
- },
591
- "accent-surface": {
592
- from: accent.color,
593
- base: "surface",
594
- contrast: ACCENT_FILL_CONTRAST,
595
- mode: "fixed"
596
- },
597
- "accent-surface-2": {
598
- base: "accent-surface",
599
- tone: ACCENT_RAMP.surface2,
600
- mode: "fixed"
601
- },
602
- "accent-surface-3": {
603
- base: "accent-surface",
604
- tone: ACCENT_RAMP.surface3,
605
- mode: "fixed"
606
- },
607
- "accent-surface-hover": {
608
- base: "accent-surface",
609
- tone: ACCENT_RAMP.hover,
610
- mode: "fixed"
611
- },
612
- "accent-surface-border": {
613
- base: "accent-surface",
614
- tone: "+13",
615
- mode: "fixed"
616
- }
617
- };
618
- }
619
- /**
620
- * The brand FOREGROUNDS — text on a neutral surface, and the icon.
621
- *
622
- * Split from {@link accentFillColors} because the two have different audiences: the
623
- * fill ramp is shared with the standalone `special` theme, which builds its own
624
- * purpose-made subset and must not gain tokens it does not consume. Only the default
625
- * theme (and the colored themes that inherit from it) takes these.
626
- *
627
- * These stay `mode: 'auto'` in both arrangements — a link has to invert on a dark page,
628
- * so exactness belongs to the fill and these are its brand-toned companions.
629
- */
630
- function accentTextColors(accent) {
631
- if (accent == null) return {
632
- ...ACCENT_SELECTED_FILL,
633
- "accent-text": {
634
- base: "accent-selected-fill",
635
- tone: "-49",
636
- saturation: 1,
637
- contrast: [6, 11]
638
- },
639
- "accent-text-soft": {
640
- base: "accent-selected-fill",
641
- tone: "-49",
642
- saturation: 1,
643
- contrast: ["AA", "AAA"]
644
- },
645
- "accent-icon": {
646
- base: "surface",
647
- tone: "-38",
648
- saturation: .9375
649
- }
650
- };
651
- return {
652
- ...ACCENT_SELECTED_FILL,
653
- "accent-text": {
654
- from: accent.color,
655
- base: "accent-selected-fill",
656
- tone: Math.max(0, accent.tone - ACCENT_TEXT_HOVER_STEP),
657
- contrast: ACCENT_TEXT_HOVER_CONTRAST
658
- },
659
- "accent-text-soft": {
660
- from: accent.color,
661
- base: "accent-selected-fill",
662
- contrast: ACCENT_TEXT_CONTRAST
663
- },
664
- "accent-icon": {
665
- from: accent.color,
666
- base: "surface",
667
- contrast: ACCENT_TEXT_CONTRAST
668
- }
669
- };
670
- }
671
- /** Every accent token the default theme carries — fills, foregrounds, and the mix. */
672
- function accentColors(accent) {
673
- return {
674
- ...accentFillColors(accent),
675
- ...accentTextColors(accent)
676
- };
677
- }
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
+ };
678
242
  /**
679
243
  * Build the full palette from a resolved config.
680
244
  *
@@ -684,11 +248,7 @@ function accentColors(accent) {
684
248
  * seed and a `GlazePalette` has no mutation API, so re-seeding means rebuilding.
685
249
  */
686
250
  function buildPalette(config, options = {}) {
687
- const { hue, baseHue, saturation, accentColor, accentTone, pastel, themes, contrastLevel } = config;
688
- const accent = accentColor !== null && accentTone !== null ? cappedAccent(accentColor, accentTone) : null;
689
- const baseTone = surfaceTone(config);
690
- const baseScale = baseSaturationScale(config);
691
- const baseChroma = (factor) => Math.min(1, factor * baseScale);
251
+ const { hue, baseHue, saturation, pastel, themes, contrastLevel } = config;
692
252
  const sharedOverrides = options.isolateContrastLevel ? { contrastLevel } : {};
693
253
  const overrides = {
694
254
  ...sharedOverrides,
@@ -702,43 +262,43 @@ function buildPalette(config, options = {}) {
702
262
  const defaultTheme = glaze(hue, saturation, instanceConfig);
703
263
  defaultTheme.colors({
704
264
  surface: {
705
- tone: baseTone,
706
- saturation: baseChroma(SURFACE_SATURATION),
265
+ tone: 100,
266
+ saturation: SURFACE_SATURATION,
707
267
  hue: baseHue
708
268
  },
709
269
  "surface-2": {
710
270
  hue: baseHue,
711
271
  base: "surface",
712
272
  tone: ["-2", "-4"],
713
- saturation: baseChroma(.1),
273
+ saturation: .1,
714
274
  inherit: false
715
275
  },
716
276
  "surface-3": {
717
277
  hue: baseHue,
718
278
  base: "surface",
719
279
  tone: ["-4", "-8"],
720
- saturation: baseChroma(.1),
280
+ saturation: .1,
721
281
  inherit: false
722
282
  },
723
283
  "surface-4": {
724
284
  hue: baseHue,
725
285
  base: "surface",
726
286
  tone: ["-6", "-12"],
727
- saturation: baseChroma(.1),
287
+ saturation: .1,
728
288
  inherit: false
729
289
  },
730
290
  "surface-text": {
731
291
  hue: baseHue,
732
292
  base: "surface",
733
293
  tone: `${TEXT_TONE - 2}`,
734
- saturation: baseChroma(.2),
294
+ saturation: .2,
735
295
  contrast: ["AA", "AAA"]
736
296
  },
737
297
  "surface-text-soft": {
738
298
  hue: baseHue,
739
299
  base: "surface",
740
300
  tone: `${TEXT_SOFT_TONE - 2}`,
741
- saturation: baseChroma(.2),
301
+ saturation: .2,
742
302
  contrast: ["AA", "AAA"],
743
303
  inherit: false
744
304
  },
@@ -746,7 +306,7 @@ function buildPalette(config, options = {}) {
746
306
  hue: baseHue,
747
307
  base: "surface",
748
308
  tone: `${TEXT_SOFT2_TONE - 2}`,
749
- saturation: baseChroma(.2),
309
+ saturation: .2,
750
310
  contrast: ["AA", "AAA"],
751
311
  inherit: false
752
312
  },
@@ -754,7 +314,7 @@ function buildPalette(config, options = {}) {
754
314
  hue: baseHue,
755
315
  base: "surface-2",
756
316
  tone: `${TEXT_TONE + SURFACE_2_TEXT_OFFSET}`,
757
- saturation: baseChroma(.2),
317
+ saturation: .2,
758
318
  contrast: ["AA", "AAA"],
759
319
  inherit: false
760
320
  },
@@ -762,7 +322,7 @@ function buildPalette(config, options = {}) {
762
322
  hue: baseHue,
763
323
  base: "surface-2",
764
324
  tone: `${TEXT_SOFT_TONE + SURFACE_2_TEXT_OFFSET}`,
765
- saturation: baseChroma(.2),
325
+ saturation: .2,
766
326
  contrast: ["AA", "AAA"],
767
327
  inherit: false
768
328
  },
@@ -770,7 +330,7 @@ function buildPalette(config, options = {}) {
770
330
  hue: baseHue,
771
331
  base: "surface-3",
772
332
  tone: `${TEXT_TONE + SURFACE_3_TEXT_OFFSET}`,
773
- saturation: baseChroma(.2),
333
+ saturation: .2,
774
334
  contrast: ["AA", "AAA"],
775
335
  inherit: false
776
336
  },
@@ -778,7 +338,7 @@ function buildPalette(config, options = {}) {
778
338
  hue: baseHue,
779
339
  base: "surface-3",
780
340
  tone: `${TEXT_SOFT_TONE + SURFACE_3_TEXT_OFFSET}`,
781
- saturation: baseChroma(.2),
341
+ saturation: .2,
782
342
  contrast: ["AA", "AAA"],
783
343
  inherit: false
784
344
  },
@@ -786,13 +346,13 @@ function buildPalette(config, options = {}) {
786
346
  hue: baseHue,
787
347
  base: "surface",
788
348
  tone: ["-10", "-30"],
789
- saturation: baseChroma(.175)
349
+ saturation: .175
790
350
  },
791
351
  placeholder: {
792
352
  hue: baseHue,
793
353
  base: "surface",
794
354
  tone: "-33",
795
- saturation: baseChroma(.175),
355
+ saturation: .175,
796
356
  inherit: false
797
357
  },
798
358
  focus: {
@@ -810,7 +370,7 @@ function buildPalette(config, options = {}) {
810
370
  hue: baseHue,
811
371
  base: "surface",
812
372
  tone: "-3.5",
813
- saturation: baseChroma(.2),
373
+ saturation: .2,
814
374
  inherit: false
815
375
  },
816
376
  "disabled-surface-text": {
@@ -822,11 +382,67 @@ function buildPalette(config, options = {}) {
822
382
  "surface-inverse": {
823
383
  hue: baseHue,
824
384
  tone: 12,
825
- saturation: baseChroma(.475),
385
+ saturation: .475,
826
386
  mode: "fixed",
827
387
  inherit: false
828
388
  },
829
- ...accentColors(accent),
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
+ },
830
446
  "accent-disabled-surface": {
831
447
  base: "surface",
832
448
  tone: "-13",
@@ -885,31 +501,26 @@ function buildPalette(config, options = {}) {
885
501
  hue: baseHue
886
502
  }
887
503
  });
888
- const tintedSurface = tintedSurfaceOverride(config);
889
- const primaryTheme = defaultTheme.extend({ colors: tintedSurface });
890
- const statusColors = accent == null ? tintedSurface : {
891
- ...tintedSurface,
892
- ...accentColors(null)
893
- };
504
+ const primaryTheme = defaultTheme.extend({ colors: TINTED_SURFACE_OVERRIDE });
894
505
  const successTheme = defaultTheme.extend({
895
506
  hue: themes.success.hue,
896
507
  saturation: themes.success.saturation,
897
- colors: statusColors
508
+ colors: TINTED_SURFACE_OVERRIDE
898
509
  });
899
510
  const dangerTheme = defaultTheme.extend({
900
511
  hue: themes.danger.hue,
901
512
  saturation: themes.danger.saturation,
902
- colors: statusColors
513
+ colors: TINTED_SURFACE_OVERRIDE
903
514
  });
904
515
  const warningTheme = defaultTheme.extend({
905
516
  hue: themes.warning.hue,
906
517
  saturation: themes.warning.saturation,
907
- colors: statusColors
518
+ colors: TINTED_SURFACE_OVERRIDE
908
519
  });
909
520
  const noteTheme = defaultTheme.extend({
910
521
  hue: themes.note.hue,
911
522
  saturation: themes.note.saturation,
912
- colors: statusColors
523
+ colors: TINTED_SURFACE_OVERRIDE
913
524
  });
914
525
  const specialTheme = glaze(hue, saturation, instanceConfig);
915
526
  specialTheme.colors({
@@ -918,7 +529,39 @@ function buildPalette(config, options = {}) {
918
529
  saturation: .475,
919
530
  mode: "fixed"
920
531
  },
921
- ...accentFillColors(accent),
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
+ },
922
565
  "accent-text": {
923
566
  base: "accent-surface-text",
924
567
  tone: "-58",
@@ -1107,5 +750,5 @@ function renderPaletteTokens(options = {}) {
1107
750
  const PALETTE_TOKENS = lazyStyles(getPaletteTokens);
1108
751
 
1109
752
  //#endregion
1110
- export { PALETTE_TOKENS, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens, tintRecipe };
753
+ export { PALETTE_TOKENS, TINT_RECIPE, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens };
1111
754
  //# sourceMappingURL=palette.js.map