@cube-dev/ui-kit 0.0.0-canary-694a764 → 0.0.0-canary-dcbc0fb

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 (568) 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.d.ts +1 -0
  21. package/dist/components/actions/Button/Button.js +1 -1
  22. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  23. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  24. package/dist/components/actions/ButtonSplit/context.js +1 -1
  25. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  26. package/dist/components/actions/CommandMenu/styled.js +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  58. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  59. package/dist/components/content/Item/Item.js +1 -1
  60. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  61. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  62. package/dist/components/content/Layout/GridLayout.js +1 -1
  63. package/dist/components/content/Layout/Layout.js +1 -1
  64. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  65. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  66. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  67. package/dist/components/content/Layout/LayoutContent.js +1 -1
  68. package/dist/components/content/Layout/LayoutContext.js +1 -1
  69. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  70. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  71. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  72. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  73. package/dist/components/content/Layout/LayoutPane.js +1 -1
  74. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  76. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  77. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  78. package/dist/components/content/Layout/index.js +1 -1
  79. package/dist/components/content/Layout/utils.js +1 -1
  80. package/dist/components/content/Paragraph.js +1 -1
  81. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  82. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  83. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  84. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  85. package/dist/components/content/Result/Result.js +1 -1
  86. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  87. package/dist/components/content/Tag/Tag.js +1 -1
  88. package/dist/components/content/Text.d.ts +14 -14
  89. package/dist/components/content/Text.js +1 -1
  90. package/dist/components/content/TextItem/TextItem.js +1 -1
  91. package/dist/components/content/Title.js +1 -1
  92. package/dist/components/content/Tree/Tree.js +1 -1
  93. package/dist/components/content/Tree/TreeNode.js +1 -1
  94. package/dist/components/content/Tree/styled.js +1 -1
  95. package/dist/components/content/Tree/tree-index.js +1 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/data/DataTable/DataTable.js +1 -1
  101. package/dist/components/data/ItemTable/ItemTable.js +1 -1
  102. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  103. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  104. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  105. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  106. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  107. package/dist/components/data/TableBase/RowCollection.js +1 -1
  108. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  109. package/dist/components/data/TableBase/TableRow.js +1 -1
  110. package/dist/components/data/TableBase/TableView.js +1 -1
  111. package/dist/components/data/TableBase/column-menu.js +1 -1
  112. package/dist/components/data/TableBase/column-tint.js +1 -1
  113. package/dist/components/data/TableBase/row-menu.js +1 -1
  114. package/dist/components/data/TableBase/styled.d.ts +2 -1
  115. package/dist/components/data/TableBase/styled.js +1 -1
  116. package/dist/components/data/TableBase/types.js +1 -1
  117. package/dist/components/data/TableBase/use-cell-selection.d.ts +1 -0
  118. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  119. package/dist/components/data/TableBase/use-column-order.js +1 -1
  120. package/dist/components/data/TableBase/use-container-width.js +1 -1
  121. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  122. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  123. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  124. package/dist/components/data/TableBase/use-table-search.js +1 -1
  125. package/dist/components/data/TableBase/use-table-selection.js +1 -1
  126. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  127. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  128. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  129. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  130. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  131. package/dist/components/fields/Checkbox/context.js +1 -1
  132. package/dist/components/fields/ColorInput/ColorInput.js +3 -2
  133. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  134. package/dist/components/fields/ColorPicker/ColorPicker.js +2 -2
  135. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  136. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.d.ts +8 -2
  137. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.js +14 -6
  138. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -0
  139. package/dist/components/fields/ColorSwatch/index.d.ts +2 -0
  140. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  141. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  142. package/dist/components/fields/CommandTextArea/CommandTextArea.js +1 -1
  143. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  144. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  145. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  146. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  147. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  148. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  149. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  150. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  151. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  152. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  153. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  154. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  155. package/dist/components/fields/DatePicker/PeriodPicker.js +1 -1
  156. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  157. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  158. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  159. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  160. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  161. package/dist/components/fields/DatePicker/period.js +1 -1
  162. package/dist/components/fields/DatePicker/props.js +1 -1
  163. package/dist/components/fields/DatePicker/utils.js +1 -1
  164. package/dist/components/fields/FileInput/FileInput.js +1 -1
  165. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  166. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  167. package/dist/components/fields/Input/Input.js +1 -1
  168. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  169. package/dist/components/fields/ListBox/ListBox.js +1 -1
  170. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  171. package/dist/components/fields/ListBoxPopover/index.d.ts +1 -0
  172. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  173. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +2 -0
  174. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  175. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  176. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  177. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  178. package/dist/components/fields/Picker/Picker.js +1 -1
  179. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  180. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -1
  181. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  182. package/dist/components/fields/RadioGroup/context.js +1 -1
  183. package/dist/components/fields/SearchComboBox/SearchComboBox.js +1 -1
  184. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  185. package/dist/components/fields/Select/Select.js +1 -1
  186. package/dist/components/fields/Slider/Gradation.js +1 -1
  187. package/dist/components/fields/Slider/HueSlider.js +15 -2
  188. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  189. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  190. package/dist/components/fields/Slider/Slider.js +1 -1
  191. package/dist/components/fields/Slider/SliderBase.js +1 -1
  192. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  193. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  194. package/dist/components/fields/Slider/elements.js +1 -1
  195. package/dist/components/fields/Slider/index.js +1 -1
  196. package/dist/components/fields/Switch/Switch.js +1 -1
  197. package/dist/components/fields/TextArea/TextArea.js +1 -1
  198. package/dist/components/fields/TextInput/TextInput.js +1 -1
  199. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  200. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  201. package/dist/components/fields/color/ColorPanel.js +1 -1
  202. package/dist/components/fields/color/channels.js +1 -1
  203. package/dist/components/fields/color/color.js +1 -1
  204. package/dist/components/fields/color/context.js +1 -1
  205. package/dist/components/fields/color/index.d.ts +0 -1
  206. package/dist/components/fields/index.d.ts +2 -1
  207. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  208. package/dist/components/form/Form/Field.js +1 -1
  209. package/dist/components/form/Form/Form.js +1 -1
  210. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  211. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  212. package/dist/components/form/Form/SubmitError.js +1 -1
  213. package/dist/components/form/Form/index.js +1 -1
  214. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  215. package/dist/components/form/Form/use-field/use-field.js +1 -1
  216. package/dist/components/form/Form/use-form.js +1 -1
  217. package/dist/components/form/Form/validation.js +1 -1
  218. package/dist/components/form/Label.js +1 -1
  219. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  220. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  221. package/dist/components/form/validation/use-validation-props.js +1 -1
  222. package/dist/components/form/wrapper.js +1 -1
  223. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  224. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  225. package/dist/components/layout/Board/Board.js +1 -1
  226. package/dist/components/layout/Board/BoardProvider.js +1 -1
  227. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  228. package/dist/components/layout/Board/Widget.js +1 -1
  229. package/dist/components/layout/Board/WidgetHost.js +1 -1
  230. package/dist/components/layout/Board/board-context.js +1 -1
  231. package/dist/components/layout/Board/board-store.js +1 -1
  232. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  233. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  234. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  235. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  236. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  237. package/dist/components/layout/Board/grid-core/layout.js +1 -1
  238. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  239. package/dist/components/layout/Board/index.js +1 -1
  240. package/dist/components/layout/Board/responsive-utils.js +1 -1
  241. package/dist/components/layout/Board/use-board-layout.js +1 -1
  242. package/dist/components/layout/Board/use-board-registry.js +1 -1
  243. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  244. package/dist/components/layout/Board/use-board-selection.js +1 -1
  245. package/dist/components/layout/Flex.js +1 -1
  246. package/dist/components/layout/Flow.js +1 -1
  247. package/dist/components/layout/Grid.js +1 -1
  248. package/dist/components/layout/Panel.js +1 -1
  249. package/dist/components/layout/Prefix.js +1 -1
  250. package/dist/components/layout/ResizablePanel.js +1 -1
  251. package/dist/components/layout/Space.js +1 -1
  252. package/dist/components/layout/Suffix.js +1 -1
  253. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  254. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  255. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  256. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  257. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  258. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  259. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  260. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  261. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  262. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  263. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  264. package/dist/components/navigation/Tabs/styled.js +1 -1
  265. package/dist/components/navigation/Tabs/types.js +1 -1
  266. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  267. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  268. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  269. package/dist/components/other/Calendar/Calendar.js +1 -1
  270. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  271. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  272. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  273. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  274. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  275. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  276. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  277. package/dist/components/other/Calendar/styled.js +1 -1
  278. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  279. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  280. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  281. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  282. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  283. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  284. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  285. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  286. package/dist/components/overlays/Dialog/context.js +1 -1
  287. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  288. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  289. package/dist/components/overlays/Modal/Modal.js +1 -1
  290. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  291. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  292. package/dist/components/overlays/Modal/Overlay.js +1 -1
  293. package/dist/components/overlays/Modal/Popover.js +1 -1
  294. package/dist/components/overlays/Modal/Tray.js +1 -1
  295. package/dist/components/overlays/Modal/Underlay.js +1 -1
  296. package/dist/components/overlays/Modal/types.d.ts +1 -0
  297. package/dist/components/overlays/Notifications/Notification.js +1 -1
  298. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  299. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  300. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  301. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  302. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  303. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  304. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  305. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  306. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  307. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  308. package/dist/components/overlays/Notifications/index.js +1 -1
  309. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  310. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  311. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  312. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  313. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  314. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  315. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  316. package/dist/components/overlays/Toast/index.js +1 -1
  317. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  318. package/dist/components/overlays/Toast/useToast.js +1 -1
  319. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  320. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  321. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  322. package/dist/components/overlays/Tooltip/context.js +1 -1
  323. package/dist/components/portal/Portal.js +1 -1
  324. package/dist/components/portal/PortalProvider.d.ts +2 -0
  325. package/dist/components/portal/PortalProvider.js +1 -1
  326. package/dist/components/portal/index.d.ts +1 -0
  327. package/dist/components/portal/usePortal.js +1 -1
  328. package/dist/components/shared/DraggableCollection.js +1 -1
  329. package/dist/components/shared/InvalidIcon.js +1 -1
  330. package/dist/components/shared/ValidIcon.js +1 -1
  331. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  332. package/dist/components/status/Spin/Cube.js +1 -1
  333. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  334. package/dist/components/status/Spin/Spin.js +1 -1
  335. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  336. package/dist/data/item-themes.js +1 -1
  337. package/dist/data/themes.js +1 -1
  338. package/dist/eslint-plugin/defaults.generated.js +1 -1
  339. package/dist/eslint-plugin/index.js +1 -1
  340. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  341. package/dist/i18n/I18nProvider.js +1 -1
  342. package/dist/i18n/createFormatter.js +1 -1
  343. package/dist/i18n/index.js +1 -1
  344. package/dist/i18n/instance.js +1 -1
  345. package/dist/i18n/locales/de-DE/uikit.js +1 -1
  346. package/dist/i18n/locales/en-US/uikit.js +1 -1
  347. package/dist/i18n/locales/es-ES/uikit.js +1 -1
  348. package/dist/i18n/locales/es-MX/uikit.js +1 -1
  349. package/dist/i18n/locales/fr-FR/uikit.js +1 -1
  350. package/dist/i18n/locales/it-IT/uikit.js +1 -1
  351. package/dist/i18n/locales/ja-JP/uikit.js +1 -1
  352. package/dist/i18n/locales/nb-NO/uikit.js +1 -1
  353. package/dist/i18n/locales/pt-BR/uikit.js +1 -1
  354. package/dist/i18n/locales/pt-PT/uikit.js +1 -1
  355. package/dist/i18n/locales/sv-SE/uikit.js +1 -1
  356. package/dist/i18n/locales/vi-VN/uikit.js +1 -1
  357. package/dist/i18n/locales.js +1 -1
  358. package/dist/i18n/useFormatter.js +1 -1
  359. package/dist/i18n/useI18n.js +1 -1
  360. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  361. package/dist/icons/AdjustmentsIcon.js +1 -1
  362. package/dist/icons/AiIcon.js +1 -1
  363. package/dist/icons/AreaChartIcon.js +1 -1
  364. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  365. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  366. package/dist/icons/BackwardIcon.js +1 -1
  367. package/dist/icons/BarChartIcon.js +1 -1
  368. package/dist/icons/BellFilledIcon.js +1 -1
  369. package/dist/icons/BellIcon.js +1 -1
  370. package/dist/icons/BooleanIcon.js +1 -1
  371. package/dist/icons/CalendarEditIcon.js +1 -1
  372. package/dist/icons/CalendarIcon.js +1 -1
  373. package/dist/icons/CaretDownIcon.js +1 -1
  374. package/dist/icons/CaretUpIcon.js +1 -1
  375. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  376. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  377. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  378. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  379. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  380. package/dist/icons/ChartBarLineIcon.js +1 -1
  381. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  382. package/dist/icons/ChartBarStackedIcon.js +1 -1
  383. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  384. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  385. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  386. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  387. package/dist/icons/ChartBubbleIcon.js +1 -1
  388. package/dist/icons/ChartDonut2Icon.js +1 -1
  389. package/dist/icons/ChartFunnelIcon.js +1 -1
  390. package/dist/icons/ChartHeatmapIcon.js +1 -1
  391. package/dist/icons/ChartKPIIcon.js +1 -1
  392. package/dist/icons/ChartPie2Icon.js +1 -1
  393. package/dist/icons/ChartScatterIcon.js +1 -1
  394. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  395. package/dist/icons/CheckCircleIcon.js +1 -1
  396. package/dist/icons/CheckIcon.js +1 -1
  397. package/dist/icons/CircleFilledIcon.js +1 -1
  398. package/dist/icons/ClearIcon.js +1 -1
  399. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  400. package/dist/icons/CloseCircleIcon.js +1 -1
  401. package/dist/icons/CloseIcon.js +1 -1
  402. package/dist/icons/CodeIcon.js +1 -1
  403. package/dist/icons/ColumnTotalIcon.js +1 -1
  404. package/dist/icons/CopyIcon.js +1 -1
  405. package/dist/icons/CountIcon.js +1 -1
  406. package/dist/icons/CubeIcon.js +1 -1
  407. package/dist/icons/CubePauseIcon.js +1 -1
  408. package/dist/icons/CubePlayIcon.js +1 -1
  409. package/dist/icons/CurrencyDollarIcon.js +1 -1
  410. package/dist/icons/DangerIcon.js +1 -1
  411. package/dist/icons/DashboardIcon.js +1 -1
  412. package/dist/icons/DatabaseIcon.js +1 -1
  413. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  414. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  415. package/dist/icons/DirectionIcon.js +1 -1
  416. package/dist/icons/DonutIcon.js +1 -1
  417. package/dist/icons/DownIcon.js +1 -1
  418. package/dist/icons/EditIcon.js +1 -1
  419. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  420. package/dist/icons/ExclamationCircleIcon.js +1 -1
  421. package/dist/icons/ExclamationIcon.js +1 -1
  422. package/dist/icons/EyeIcon.js +1 -1
  423. package/dist/icons/EyeInvisibleIcon.js +1 -1
  424. package/dist/icons/FilterIcon.js +1 -1
  425. package/dist/icons/FolderFilledIcon.js +1 -1
  426. package/dist/icons/FolderIcon.js +1 -1
  427. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  428. package/dist/icons/FolderOpenIcon.js +1 -1
  429. package/dist/icons/ForwardIcon.js +1 -1
  430. package/dist/icons/GripVerticalIcon.js +1 -1
  431. package/dist/icons/HierarchyIcon.js +1 -1
  432. package/dist/icons/HierarchyOpenIcon.js +1 -1
  433. package/dist/icons/Icon.js +1 -1
  434. package/dist/icons/InfoCircleIcon.js +1 -1
  435. package/dist/icons/InfoIcon.js +1 -1
  436. package/dist/icons/KeyIcon.js +1 -1
  437. package/dist/icons/LeftIcon.js +1 -1
  438. package/dist/icons/LineChartIcon.js +1 -1
  439. package/dist/icons/LoadingIcon.js +1 -1
  440. package/dist/icons/LockFilledIcon.js +1 -1
  441. package/dist/icons/LockIcon.js +1 -1
  442. package/dist/icons/MoreIcon.js +1 -1
  443. package/dist/icons/NotAllowedIcon.js +1 -1
  444. package/dist/icons/Number123Icon.js +1 -1
  445. package/dist/icons/NumberIcon.js +1 -1
  446. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  447. package/dist/icons/PauseCircleIcon.js +1 -1
  448. package/dist/icons/PauseIcon.js +1 -1
  449. package/dist/icons/PercentageIcon.js +1 -1
  450. package/dist/icons/PieChartIcon.js +1 -1
  451. package/dist/icons/PipetteIcon.js +1 -1
  452. package/dist/icons/PlayCircleIcon.js +1 -1
  453. package/dist/icons/PlayIcon.js +1 -1
  454. package/dist/icons/PlusIcon.js +1 -1
  455. package/dist/icons/ProgressBarIcon.js +1 -1
  456. package/dist/icons/ReloadIcon.js +1 -1
  457. package/dist/icons/ReportIcon.js +1 -1
  458. package/dist/icons/ReturnIcon.js +1 -1
  459. package/dist/icons/RightIcon.js +1 -1
  460. package/dist/icons/RowTotalsIcon.js +1 -1
  461. package/dist/icons/SchemeIcon.js +1 -1
  462. package/dist/icons/SearchIcon.js +1 -1
  463. package/dist/icons/SemanticQueryIcon.js +1 -1
  464. package/dist/icons/SettingsIcon.js +1 -1
  465. package/dist/icons/ShieldFilledIcon.js +1 -1
  466. package/dist/icons/ShieldIcon.js +1 -1
  467. package/dist/icons/SlashIcon.js +1 -1
  468. package/dist/icons/SparklesIcon.js +1 -1
  469. package/dist/icons/SqlIcon.js +1 -1
  470. package/dist/icons/StatsIcon.js +1 -1
  471. package/dist/icons/StopIcon.js +1 -1
  472. package/dist/icons/StringIcon.js +1 -1
  473. package/dist/icons/SubtotalsIcon.js +1 -1
  474. package/dist/icons/SwitchIcon.js +1 -1
  475. package/dist/icons/TableIcon.js +1 -1
  476. package/dist/icons/ThumbsDownIcon.js +1 -1
  477. package/dist/icons/ThumbsUpIcon.js +1 -1
  478. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  479. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  480. package/dist/icons/ThunderboltIcon.js +1 -1
  481. package/dist/icons/TimeIcon.js +1 -1
  482. package/dist/icons/TrashIcon.js +1 -1
  483. package/dist/icons/UnlockIcon.js +1 -1
  484. package/dist/icons/UpIcon.js +1 -1
  485. package/dist/icons/UserGroupIcon.js +1 -1
  486. package/dist/icons/UserIcon.js +1 -1
  487. package/dist/icons/UserLockIcon.js +1 -1
  488. package/dist/icons/ViewIcon.js +1 -1
  489. package/dist/icons/WarningFilledIcon.js +1 -1
  490. package/dist/icons/WarningIcon.js +1 -1
  491. package/dist/icons/wrap-icon.js +1 -1
  492. package/dist/index.d.ts +4 -3
  493. package/dist/index.js +5 -4
  494. package/dist/index.js.map +1 -1
  495. package/dist/probe/canonicalize.js +1 -1
  496. package/dist/probe/css.js +1 -1
  497. package/dist/probe/index.js +1 -1
  498. package/dist/provider.js +1 -1
  499. package/dist/providers/TrackingProvider.js +1 -1
  500. package/dist/providers/navigationAdapter.default.js +1 -1
  501. package/dist/tokens/base.js +1 -1
  502. package/dist/tokens/color-seed.d.ts +44 -0
  503. package/dist/tokens/color-seed.js +48 -0
  504. package/dist/tokens/color-seed.js.map +1 -0
  505. package/dist/tokens/color-theme.d.ts +8 -1
  506. package/dist/tokens/color-theme.js +19 -7
  507. package/dist/tokens/color-theme.js.map +1 -1
  508. package/dist/tokens/colors.js +1 -1
  509. package/dist/tokens/index.d.ts +2 -1
  510. package/dist/tokens/index.js +3 -2
  511. package/dist/tokens/index.js.map +1 -1
  512. package/dist/tokens/layout.js +1 -1
  513. package/dist/tokens/lazy-styles.js +1 -1
  514. package/dist/tokens/palette-config.d.ts +175 -9
  515. package/dist/tokens/palette-config.js +62 -10
  516. package/dist/tokens/palette-config.js.map +1 -1
  517. package/dist/tokens/palette.js +398 -157
  518. package/dist/tokens/palette.js.map +1 -1
  519. package/dist/tokens/shadows.js +1 -1
  520. package/dist/tokens/sizes.js +1 -1
  521. package/dist/tokens/spacing.js +1 -1
  522. package/dist/tokens/typography.js +1 -1
  523. package/dist/utils/ResizeSensor.js +1 -1
  524. package/dist/utils/is-dev-env.js +1 -1
  525. package/dist/utils/modules.js +1 -1
  526. package/dist/utils/promise.js +1 -1
  527. package/dist/utils/raf.js +1 -1
  528. package/dist/utils/random.js +1 -1
  529. package/dist/utils/range.js +1 -1
  530. package/dist/utils/react/RenderCache.js +1 -1
  531. package/dist/utils/react/Slots.js +1 -1
  532. package/dist/utils/react/chain.js +1 -1
  533. package/dist/utils/react/disabledProps.js +1 -1
  534. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  535. package/dist/utils/react/index.js +1 -1
  536. package/dist/utils/react/interactions.js +1 -1
  537. package/dist/utils/react/isTextOnly.js +1 -1
  538. package/dist/utils/react/mapProps.js +1 -1
  539. package/dist/utils/react/mergeProps.js +1 -1
  540. package/dist/utils/react/nullableValue.js +1 -1
  541. package/dist/utils/react/resolveIcon.js +1 -1
  542. package/dist/utils/react/sharedStore.js +1 -1
  543. package/dist/utils/react/useBufferedValue.js +1 -1
  544. package/dist/utils/react/useCombinedRefs.js +1 -1
  545. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  546. package/dist/utils/react/useEventBus.js +1 -1
  547. package/dist/utils/react/useId.js +1 -1
  548. package/dist/utils/react/useIsDarwin.js +1 -1
  549. package/dist/utils/react/useKeySymbols.js +1 -1
  550. package/dist/utils/react/useLayoutEffect.js +1 -1
  551. package/dist/utils/react/useLocalStorage.js +1 -1
  552. package/dist/utils/react/useMergeStyles.js +1 -1
  553. package/dist/utils/react/usePopoverSync.js +1 -1
  554. package/dist/utils/react/useQaProps.js +1 -1
  555. package/dist/utils/react/useViewportSize.js +1 -1
  556. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  557. package/dist/utils/selection.js +1 -1
  558. package/dist/utils/styles.js +1 -1
  559. package/dist/utils/tree.js +1 -1
  560. package/dist/utils/warnings.js +1 -1
  561. package/dist/version.js +2 -2
  562. package/docs/Theming.md +306 -30
  563. package/docs/components/fields/ColorSwatch.md +148 -0
  564. package/docs/glaze/api.md +117 -38
  565. package/docs/glaze/methodology.md +15 -13
  566. package/docs/glaze/okhst.md +4 -0
  567. package/package.json +2 -2
  568. 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-694a764 | Cube Dev Team */
2
- import { getPaletteConfig, getPaletteVersion, resolvePaletteConfig } from "./palette-config.js";
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-dcbc0fb | 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,157 @@ 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
+ * Contrast floors for a pinned brand color: `[normal, highContrast]`.
107
+ *
108
+ * `3` is WCAG's non-text floor — enough that the button reads as a shape against the
109
+ * page, and low enough that most brands clear it untouched. It is a FLOOR and not a
110
+ * target: a brand already at 5:1 or 17:1 is emitted exactly as given. Lower would let a
111
+ * fill vanish into the page; the shipped `['AA','AAA']` is too high to survive a light
112
+ * brand at all (it crushes `#FFD400` from tone 88 to 50).
113
+ *
114
+ * The high-contrast entry stays at AAA regardless. Fidelity to a requested color is a
115
+ * preference; the high-contrast tier is not — it exists for users who cannot read the
116
+ * normal one, and it is selected by `prefers-contrast: more` or an explicit
117
+ * `data-contrast="high"`, so anyone seeing it has asked for separation over brand.
118
+ * Note the pair also means an unreachable HC target is a real possibility for a very
119
+ * light brand, and Glaze pins it to the nearest tone and warns rather than failing.
120
+ */
121
+ const ACCENT_FILL_CONTRAST = [3, 7];
122
+ /**
123
+ * Floors for the two brand TEXT tokens: rest, then hover.
124
+ *
125
+ * The normal entries relax so a vivid brand can be the actual link color. The
126
+ * high-contrast entries do not — same reasoning as {@link ACCENT_FILL_CONTRAST} — and
127
+ * they stay one step apart so the rest→hover intensify survives the tier that needs it
128
+ * most. A single shared HC number would collapse the pair onto one color: both would
129
+ * simply solve to it.
130
+ *
131
+ * The hover's `9` is measured, not chosen for roundness. It is the highest target
132
+ * reachable across `#7A4DBF` `#EF4444` `#0EA5E9` `#22C55E` `#FFD400` `#111827` in both
133
+ * high-contrast schemes, and it holds a ~2.0 gap over the rest color in every one. The
134
+ * shipped `11` is not usable here: 11:1 from a fully saturated hue against a chromatic
135
+ * `accent-selected-fill` is unreachable, and `#FFD400` in dark high contrast pins to
136
+ * pure black — a hover link *less* readable than its rest state, at 2.23 against 7.07.
137
+ * The shipped palette can afford 11 because its fill is a desaturated mix; a pinned
138
+ * brand color is not.
139
+ */
140
+ const ACCENT_TEXT_CONTRAST = [3, 7];
141
+ const ACCENT_TEXT_HOVER_CONTRAST = [4.5, 9];
142
+ /**
143
+ * Tone steps of the brand fill ramp, measured from `accent-surface`.
144
+ *
145
+ * They reproduce the white-anchored `-49 / -52 / -55 / -58` ladder exactly once the
146
+ * fill is pinned, because those four deltas share an anchor and differ by 3 / 6 / 9.
147
+ */
148
+ const ACCENT_RAMP = {
149
+ surface2: "-3",
150
+ surface3: "-6",
151
+ hover: "-9"
152
+ };
153
+ /**
154
+ * How far the hover brand text sits past the rest one, in tone.
155
+ *
156
+ * Both are pinned to the caller's tone otherwise, and a pair at the same tone behind
157
+ * the same floor resolves to one color — which would silently delete the rest→hover
158
+ * intensify that `accent-text` exists for. Tone is contrast-uniform, so one step is
159
+ * one step in either scheme.
160
+ */
161
+ const ACCENT_TEXT_HOVER_STEP = 6;
162
+ /**
163
+ * Opaque stand-in for the BASE selected fill used by outline / outline-2 / clear Item
164
+ * types (`#surface|#surface-2|#surface-3` + `#accent-surface.09`).
165
+ *
166
+ * Anchors the `accent-text*` contrast. `value: 9` matches the `.09` alpha overlay;
167
+ * `space: 'srgb'` approximates CSS two-layer compositing. Inherited so colored themes
168
+ * re-resolve against their own `surface` + `accent-surface` (default `surface-2` /
169
+ * `surface-3` are `inherit: false` and can't be the mix base). Primary's tinted
170
+ * `surface` makes this slightly harder than default clear-selected, covering
171
+ * outline / outline-2 selected fills as well.
172
+ *
173
+ * The same in both accent arrangements — it is defined by its two ends, and both of
174
+ * those move with the seed on their own.
175
+ */
176
+ const ACCENT_SELECTED_FILL = { "accent-selected-fill": {
177
+ type: "mix",
178
+ base: "surface",
179
+ target: "accent-surface",
180
+ value: 9,
181
+ space: "srgb"
182
+ } };
183
+ /**
39
184
  * Syntax highlighting for `PrismCode`, as its own theme.
40
185
  *
41
186
  * A small palette of *adaptive* colored tokens. Each one is anchored to `surface`
@@ -127,14 +272,14 @@ const CODE_COLORS = {
127
272
  function buildCodeTheme(config, instanceConfig) {
128
273
  const codeSaturation = config.themes.code.saturation;
129
274
  const theme = glaze(config.hue, codeSaturation, instanceConfig);
130
- let mirrorFactor = SURFACE_SATURATION * (config.saturation / codeSaturation);
275
+ let mirrorFactor = config.baseSaturation / codeSaturation;
131
276
  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.`);
277
+ 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
278
  mirrorFactor = 1;
134
279
  }
135
280
  theme.colors({
136
281
  surface: {
137
- tone: 100,
282
+ tone: surfaceTone(config),
138
283
  saturation: mirrorFactor
139
284
  },
140
285
  ...CODE_COLORS
@@ -160,19 +305,17 @@ glaze.configure({
160
305
  darkDesaturation: 0
161
306
  });
162
307
  /**
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.
308
+ * The config-free half of a colored theme's overrides — everything anchored to
309
+ * the theme's own `surface` with a *relative* tone, so it follows wherever
310
+ * {@link tintedSurfaceTone} puts that surface.
311
+ *
312
+ * - `border` — bumped saturation so OUTLINE-variant borders pick up the theme
313
+ * hue (used by `#<theme>-border` in `item-themes.ts`). Mirrors the
314
+ * default-theme `border` shape (`base: 'surface'`, tone window) but with
315
+ * higher saturation. Glaze's `extend({ colors })` redefines each listed color
316
+ * from scratch, so we restate the full definition here.
170
317
  */
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
- },
318
+ const TINTED_SURFACE_RAMP = {
176
319
  border: {
177
320
  base: "surface",
178
321
  tone: ["-10", "-30"],
@@ -198,13 +341,31 @@ const TINTED_SURFACE_OVERRIDE = {
198
341
  }
199
342
  };
200
343
  /**
344
+ * Per-colored-theme overrides on top of the default theme: a `surface` bumped in
345
+ * saturation so the banner background is visibly tinted, plus
346
+ * {@link TINTED_SURFACE_RAMP}.
347
+ *
348
+ * A function of the config because the surface's tone is — see
349
+ * {@link tintedSurfaceTone}.
350
+ */
351
+ function tintedSurfaceOverride(config) {
352
+ return {
353
+ surface: {
354
+ tone: tintedSurfaceTone(config),
355
+ saturation: TINTED_SURFACE_SATURATION
356
+ },
357
+ ...TINTED_SURFACE_RAMP
358
+ };
359
+ }
360
+ /**
201
361
  * A tinted surface, a banding step, and text guaranteed to read on both.
202
362
  *
203
363
  * The recipe behind {@link getColorTheme} in `./color-theme.ts`, which builds
204
364
  * one-off themes at runtime from an arbitrary hue. It lives here so it shares
205
365
  * `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.
366
+ * {@link tintedSurfaceOverride} above rather than forking them — a runtime tint
367
+ * and a built-in theme's `surface` should be the same colour for the same hue,
368
+ * which also means both have to follow the page when `surfaceMode` moves it.
208
369
  *
209
370
  * Three colours, because that is what banded, readable table column needs:
210
371
  * `surface` for even rows, `surface-2` one tone step down for odd rows and
@@ -216,29 +377,185 @@ const TINTED_SURFACE_OVERRIDE = {
216
377
  * clears it on both bands. The neutral ramp's own `surface-2-text` is shaped the
217
378
  * same way for the same reason.
218
379
  */
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
- };
380
+ function tintRecipe(config) {
381
+ return {
382
+ surface: {
383
+ tone: tintedSurfaceTone(config),
384
+ saturation: TINTED_SURFACE_SATURATION
385
+ },
386
+ "surface-2": {
387
+ base: "surface",
388
+ tone: ["-2", "-4"],
389
+ saturation: TINTED_SURFACE_SATURATION
390
+ },
391
+ "surface-2-text": {
392
+ base: "surface-2",
393
+ tone: `${TEXT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
394
+ saturation: .25,
395
+ contrast: ["AA", "AAA"]
396
+ },
397
+ "surface-2-text-soft": {
398
+ base: "surface-2",
399
+ tone: `${TEXT_SOFT_TONE - TINTED_SURFACE_TONE_OFFSET - SURFACE_2_TEXT_OFFSET}`,
400
+ saturation: .25,
401
+ contrast: ["AA", "AAA"]
402
+ }
403
+ };
404
+ }
405
+ /**
406
+ * The brand family, in one of two arrangements.
407
+ *
408
+ * **`null`** — the shipped one, verbatim. Every fill hangs off a fixed white
409
+ * `accent-surface-text` at a relative tone delta behind an `['AA','AAA']` floor, and
410
+ * the text pair hangs off `accent-selected-fill` at `-49`. Those floors are
411
+ * load-bearing rather than decorative: relaxing them moves the shipped `accent-text`
412
+ * light tone from 38.76 to 48.63 and the `accent-surface` high-contrast tone from
413
+ * 36.08 to 51.00. Nothing on this path may change — `palette.test.ts` snapshots it.
414
+ *
415
+ * **A color** — the caller handed us one, and the job is to render *that*. Glaze's
416
+ * `from` takes the value directly: it supplies the hue, the tone, and an absolute
417
+ * saturation that does not answer to the theme seed, and it reproduces the value
418
+ * exactly in the light/normal-contrast variant. The floors drop to
419
+ * {@link ACCENT_FILL_CONTRAST} on top, because anchored the shipped way every accent
420
+ * lands at roughly tone 50 whatever went in, and a 4.5 floor then crushes anything
421
+ * light besides.
422
+ *
423
+ * Two details worth keeping straight:
424
+ *
425
+ * - **The ramp carries no floor.** Re-anchored onto the fill, an `['AA','AAA']` floor
426
+ * is measured against the *fill* rather than white and collapses all three steps to
427
+ * near-black. A plain tone step is what the relationship actually is.
428
+ * - **The text pair stays `mode: 'auto'`.** Link text has to invert on a dark page, so
429
+ * exactness belongs to the fill; the text is a brand-toned companion of it.
430
+ */
431
+ function accentFillColors(accent) {
432
+ if (accent == null) return {
433
+ "accent-surface-text": {
434
+ tone: 100,
435
+ mode: "fixed"
436
+ },
437
+ "accent-surface": {
438
+ base: "accent-surface-text",
439
+ tone: "-49",
440
+ contrast: ["AA", "AAA"],
441
+ mode: "fixed"
442
+ },
443
+ "accent-surface-2": {
444
+ base: "accent-surface-text",
445
+ tone: "-52",
446
+ contrast: ["AA", "AAA"],
447
+ mode: "fixed"
448
+ },
449
+ "accent-surface-3": {
450
+ base: "accent-surface-text",
451
+ tone: "-55",
452
+ contrast: ["AA", "AAA"],
453
+ mode: "fixed"
454
+ },
455
+ "accent-surface-hover": {
456
+ base: "accent-surface-text",
457
+ tone: "-58",
458
+ contrast: ["AA", "AAA"],
459
+ mode: "fixed"
460
+ },
461
+ "accent-surface-border": {
462
+ base: "accent-surface",
463
+ tone: "+13",
464
+ mode: "fixed"
465
+ }
466
+ };
467
+ return {
468
+ "accent-surface-text": {
469
+ tone: 100,
470
+ mode: "fixed"
471
+ },
472
+ "accent-surface": {
473
+ from: accent.color,
474
+ base: "surface",
475
+ contrast: ACCENT_FILL_CONTRAST,
476
+ mode: "fixed"
477
+ },
478
+ "accent-surface-2": {
479
+ base: "accent-surface",
480
+ tone: ACCENT_RAMP.surface2,
481
+ mode: "fixed"
482
+ },
483
+ "accent-surface-3": {
484
+ base: "accent-surface",
485
+ tone: ACCENT_RAMP.surface3,
486
+ mode: "fixed"
487
+ },
488
+ "accent-surface-hover": {
489
+ base: "accent-surface",
490
+ tone: ACCENT_RAMP.hover,
491
+ mode: "fixed"
492
+ },
493
+ "accent-surface-border": {
494
+ base: "accent-surface",
495
+ tone: "+13",
496
+ mode: "fixed"
497
+ }
498
+ };
499
+ }
500
+ /**
501
+ * The brand FOREGROUNDS — text on a neutral surface, and the icon.
502
+ *
503
+ * Split from {@link accentFillColors} because the two have different audiences: the
504
+ * fill ramp is shared with the standalone `special` theme, which builds its own
505
+ * purpose-made subset and must not gain tokens it does not consume. Only the default
506
+ * theme (and the colored themes that inherit from it) takes these.
507
+ *
508
+ * These stay `mode: 'auto'` in both arrangements — a link has to invert on a dark page,
509
+ * so exactness belongs to the fill and these are its brand-toned companions.
510
+ */
511
+ function accentTextColors(accent) {
512
+ if (accent == null) return {
513
+ ...ACCENT_SELECTED_FILL,
514
+ "accent-text": {
515
+ base: "accent-selected-fill",
516
+ tone: "-49",
517
+ saturation: 1,
518
+ contrast: [6, 11]
519
+ },
520
+ "accent-text-soft": {
521
+ base: "accent-selected-fill",
522
+ tone: "-49",
523
+ saturation: 1,
524
+ contrast: ["AA", "AAA"]
525
+ },
526
+ "accent-icon": {
527
+ base: "surface",
528
+ tone: "-38",
529
+ saturation: .9375
530
+ }
531
+ };
532
+ return {
533
+ ...ACCENT_SELECTED_FILL,
534
+ "accent-text": {
535
+ from: accent.color,
536
+ base: "accent-selected-fill",
537
+ tone: Math.max(0, accent.tone - ACCENT_TEXT_HOVER_STEP),
538
+ contrast: ACCENT_TEXT_HOVER_CONTRAST
539
+ },
540
+ "accent-text-soft": {
541
+ from: accent.color,
542
+ base: "accent-selected-fill",
543
+ contrast: ACCENT_TEXT_CONTRAST
544
+ },
545
+ "accent-icon": {
546
+ from: accent.color,
547
+ base: "surface",
548
+ contrast: ACCENT_TEXT_CONTRAST
549
+ }
550
+ };
551
+ }
552
+ /** Every accent token the default theme carries — fills, foregrounds, and the mix. */
553
+ function accentColors(accent) {
554
+ return {
555
+ ...accentFillColors(accent),
556
+ ...accentTextColors(accent)
557
+ };
558
+ }
242
559
  /**
243
560
  * Build the full palette from a resolved config.
244
561
  *
@@ -248,7 +565,14 @@ const TINT_RECIPE = {
248
565
  * seed and a `GlazePalette` has no mutation API, so re-seeding means rebuilding.
249
566
  */
250
567
  function buildPalette(config, options = {}) {
251
- const { hue, baseHue, saturation, pastel, themes, contrastLevel } = config;
568
+ const { hue, baseHue, saturation, accentColor, accentTone, pastel, themes, contrastLevel } = config;
569
+ const accent = accentColor !== null && accentTone !== null ? {
570
+ color: accentColor,
571
+ tone: accentTone
572
+ } : null;
573
+ const baseTone = surfaceTone(config);
574
+ const baseScale = baseSaturationScale(config);
575
+ const baseChroma = (factor) => Math.min(1, factor * baseScale);
252
576
  const sharedOverrides = options.isolateContrastLevel ? { contrastLevel } : {};
253
577
  const overrides = {
254
578
  ...sharedOverrides,
@@ -262,43 +586,43 @@ function buildPalette(config, options = {}) {
262
586
  const defaultTheme = glaze(hue, saturation, instanceConfig);
263
587
  defaultTheme.colors({
264
588
  surface: {
265
- tone: 100,
266
- saturation: SURFACE_SATURATION,
589
+ tone: baseTone,
590
+ saturation: baseChroma(SURFACE_SATURATION),
267
591
  hue: baseHue
268
592
  },
269
593
  "surface-2": {
270
594
  hue: baseHue,
271
595
  base: "surface",
272
596
  tone: ["-2", "-4"],
273
- saturation: .1,
597
+ saturation: baseChroma(.1),
274
598
  inherit: false
275
599
  },
276
600
  "surface-3": {
277
601
  hue: baseHue,
278
602
  base: "surface",
279
603
  tone: ["-4", "-8"],
280
- saturation: .1,
604
+ saturation: baseChroma(.1),
281
605
  inherit: false
282
606
  },
283
607
  "surface-4": {
284
608
  hue: baseHue,
285
609
  base: "surface",
286
610
  tone: ["-6", "-12"],
287
- saturation: .1,
611
+ saturation: baseChroma(.1),
288
612
  inherit: false
289
613
  },
290
614
  "surface-text": {
291
615
  hue: baseHue,
292
616
  base: "surface",
293
617
  tone: `${TEXT_TONE - 2}`,
294
- saturation: .2,
618
+ saturation: baseChroma(.2),
295
619
  contrast: ["AA", "AAA"]
296
620
  },
297
621
  "surface-text-soft": {
298
622
  hue: baseHue,
299
623
  base: "surface",
300
624
  tone: `${TEXT_SOFT_TONE - 2}`,
301
- saturation: .2,
625
+ saturation: baseChroma(.2),
302
626
  contrast: ["AA", "AAA"],
303
627
  inherit: false
304
628
  },
@@ -306,7 +630,7 @@ function buildPalette(config, options = {}) {
306
630
  hue: baseHue,
307
631
  base: "surface",
308
632
  tone: `${TEXT_SOFT2_TONE - 2}`,
309
- saturation: .2,
633
+ saturation: baseChroma(.2),
310
634
  contrast: ["AA", "AAA"],
311
635
  inherit: false
312
636
  },
@@ -314,7 +638,7 @@ function buildPalette(config, options = {}) {
314
638
  hue: baseHue,
315
639
  base: "surface-2",
316
640
  tone: `${TEXT_TONE + SURFACE_2_TEXT_OFFSET}`,
317
- saturation: .2,
641
+ saturation: baseChroma(.2),
318
642
  contrast: ["AA", "AAA"],
319
643
  inherit: false
320
644
  },
@@ -322,7 +646,7 @@ function buildPalette(config, options = {}) {
322
646
  hue: baseHue,
323
647
  base: "surface-2",
324
648
  tone: `${TEXT_SOFT_TONE + SURFACE_2_TEXT_OFFSET}`,
325
- saturation: .2,
649
+ saturation: baseChroma(.2),
326
650
  contrast: ["AA", "AAA"],
327
651
  inherit: false
328
652
  },
@@ -330,7 +654,7 @@ function buildPalette(config, options = {}) {
330
654
  hue: baseHue,
331
655
  base: "surface-3",
332
656
  tone: `${TEXT_TONE + SURFACE_3_TEXT_OFFSET}`,
333
- saturation: .2,
657
+ saturation: baseChroma(.2),
334
658
  contrast: ["AA", "AAA"],
335
659
  inherit: false
336
660
  },
@@ -338,7 +662,7 @@ function buildPalette(config, options = {}) {
338
662
  hue: baseHue,
339
663
  base: "surface-3",
340
664
  tone: `${TEXT_SOFT_TONE + SURFACE_3_TEXT_OFFSET}`,
341
- saturation: .2,
665
+ saturation: baseChroma(.2),
342
666
  contrast: ["AA", "AAA"],
343
667
  inherit: false
344
668
  },
@@ -346,13 +670,13 @@ function buildPalette(config, options = {}) {
346
670
  hue: baseHue,
347
671
  base: "surface",
348
672
  tone: ["-10", "-30"],
349
- saturation: .175
673
+ saturation: baseChroma(.175)
350
674
  },
351
675
  placeholder: {
352
676
  hue: baseHue,
353
677
  base: "surface",
354
678
  tone: "-33",
355
- saturation: .175,
679
+ saturation: baseChroma(.175),
356
680
  inherit: false
357
681
  },
358
682
  focus: {
@@ -370,7 +694,7 @@ function buildPalette(config, options = {}) {
370
694
  hue: baseHue,
371
695
  base: "surface",
372
696
  tone: "-3.5",
373
- saturation: .2,
697
+ saturation: baseChroma(.2),
374
698
  inherit: false
375
699
  },
376
700
  "disabled-surface-text": {
@@ -382,67 +706,11 @@ function buildPalette(config, options = {}) {
382
706
  "surface-inverse": {
383
707
  hue: baseHue,
384
708
  tone: 12,
385
- saturation: .475,
709
+ saturation: baseChroma(.475),
386
710
  mode: "fixed",
387
711
  inherit: false
388
712
  },
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
- },
713
+ ...accentColors(accent),
446
714
  "accent-disabled-surface": {
447
715
  base: "surface",
448
716
  tone: "-13",
@@ -501,26 +769,31 @@ function buildPalette(config, options = {}) {
501
769
  hue: baseHue
502
770
  }
503
771
  });
504
- const primaryTheme = defaultTheme.extend({ colors: TINTED_SURFACE_OVERRIDE });
772
+ const tintedSurface = tintedSurfaceOverride(config);
773
+ const primaryTheme = defaultTheme.extend({ colors: tintedSurface });
774
+ const statusColors = accent == null ? tintedSurface : {
775
+ ...tintedSurface,
776
+ ...accentColors(null)
777
+ };
505
778
  const successTheme = defaultTheme.extend({
506
779
  hue: themes.success.hue,
507
780
  saturation: themes.success.saturation,
508
- colors: TINTED_SURFACE_OVERRIDE
781
+ colors: statusColors
509
782
  });
510
783
  const dangerTheme = defaultTheme.extend({
511
784
  hue: themes.danger.hue,
512
785
  saturation: themes.danger.saturation,
513
- colors: TINTED_SURFACE_OVERRIDE
786
+ colors: statusColors
514
787
  });
515
788
  const warningTheme = defaultTheme.extend({
516
789
  hue: themes.warning.hue,
517
790
  saturation: themes.warning.saturation,
518
- colors: TINTED_SURFACE_OVERRIDE
791
+ colors: statusColors
519
792
  });
520
793
  const noteTheme = defaultTheme.extend({
521
794
  hue: themes.note.hue,
522
795
  saturation: themes.note.saturation,
523
- colors: TINTED_SURFACE_OVERRIDE
796
+ colors: statusColors
524
797
  });
525
798
  const specialTheme = glaze(hue, saturation, instanceConfig);
526
799
  specialTheme.colors({
@@ -529,39 +802,7 @@ function buildPalette(config, options = {}) {
529
802
  saturation: .475,
530
803
  mode: "fixed"
531
804
  },
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
- },
805
+ ...accentFillColors(accent),
565
806
  "accent-text": {
566
807
  base: "accent-surface-text",
567
808
  tone: "-58",
@@ -750,5 +991,5 @@ function renderPaletteTokens(options = {}) {
750
991
  const PALETTE_TOKENS = lazyStyles(getPaletteTokens);
751
992
 
752
993
  //#endregion
753
- export { PALETTE_TOKENS, TINT_RECIPE, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens };
994
+ export { PALETTE_TOKENS, getCodeTheme, getPalette, getPaletteTokens, renderPaletteTokens, tintRecipe };
754
995
  //# sourceMappingURL=palette.js.map