@cube-dev/ui-kit 0.163.0 → 0.165.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (676) hide show
  1. package/README.md +1 -1
  2. package/dist/CHANGELOG.md +394 -0
  3. package/dist/README.md +1 -1
  4. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  5. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  6. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  7. package/dist/_internal/hooks/use-event.js +1 -1
  8. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  9. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  10. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  11. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/dist/_internal/hooks/use-warn.js +1 -1
  13. package/dist/components/Block.js +1 -1
  14. package/dist/components/CollectionItem.js +1 -1
  15. package/dist/components/GlobalStyles.js +1 -1
  16. package/dist/components/GridProvider.js +1 -1
  17. package/dist/components/HiddenInput.js +1 -1
  18. package/dist/components/Root.d.ts +3 -2
  19. package/dist/components/Root.js +1 -1
  20. package/dist/components/Root.js.map +1 -1
  21. package/dist/components/actions/Action/Action.js +1 -1
  22. package/dist/components/actions/Banner/Banner.js +2 -5
  23. package/dist/components/actions/Banner/Banner.js.map +1 -1
  24. package/dist/components/actions/Button/Button.d.ts +3 -3
  25. package/dist/components/actions/Button/Button.js +8 -5
  26. package/dist/components/actions/Button/Button.js.map +1 -1
  27. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  28. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  29. package/dist/components/actions/ButtonSplit/context.js +1 -1
  30. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  31. package/dist/components/actions/CommandMenu/styled.js +1 -1
  32. package/dist/components/actions/ItemAction/ItemAction.d.ts +2 -2
  33. package/dist/components/actions/ItemAction/ItemAction.js +15 -6
  34. package/dist/components/actions/ItemAction/ItemAction.js.map +1 -1
  35. package/dist/components/actions/ItemActionContext.d.ts +14 -0
  36. package/dist/components/actions/ItemActionContext.js +2 -2
  37. package/dist/components/actions/ItemActionContext.js.map +1 -1
  38. package/dist/components/actions/ItemButton/ItemButton.js +56 -46
  39. package/dist/components/actions/ItemButton/ItemButton.js.map +1 -1
  40. package/dist/components/actions/Link/Link.js +1 -1
  41. package/dist/components/actions/Menu/Menu.js +1 -1
  42. package/dist/components/actions/Menu/MenuItem.js +1 -1
  43. package/dist/components/actions/Menu/MenuSection.js +1 -1
  44. package/dist/components/actions/Menu/MenuTrigger.d.ts +13 -0
  45. package/dist/components/actions/Menu/MenuTrigger.js +27 -15
  46. package/dist/components/actions/Menu/MenuTrigger.js.map +1 -1
  47. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  48. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  49. package/dist/components/actions/Menu/context.js +1 -1
  50. package/dist/components/actions/Menu/styled.js +1 -1
  51. package/dist/components/actions/index.js +1 -1
  52. package/dist/components/actions/use-action.js +1 -1
  53. package/dist/components/actions/use-anchored-menu.js +1 -1
  54. package/dist/components/actions/use-context-menu.js +1 -1
  55. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  56. package/dist/components/content/Alert/Alert.js +1 -1
  57. package/dist/components/content/Alert/use-alert.js +1 -1
  58. package/dist/components/content/Avatar/Avatar.js +1 -1
  59. package/dist/components/content/Badge/Badge.js +1 -1
  60. package/dist/components/content/Card/Card.js +1 -1
  61. package/dist/components/content/Content.js +1 -1
  62. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  63. package/dist/components/content/CopySnippet/CopySnippet.d.ts +10 -0
  64. package/dist/components/content/CopySnippet/CopySnippet.js +7 -4
  65. package/dist/components/content/CopySnippet/CopySnippet.js.map +1 -1
  66. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  67. package/dist/components/content/Divider.js +1 -1
  68. package/dist/components/content/Footer.js +1 -1
  69. package/dist/components/content/Header.js +1 -1
  70. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  71. package/dist/components/content/InfoBadge/InfoBadge.js +1 -1
  72. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  73. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  74. package/dist/components/content/Item/Item.d.ts +2 -2
  75. package/dist/components/content/Item/Item.js +13 -58
  76. package/dist/components/content/Item/Item.js.map +1 -1
  77. package/dist/components/content/ItemBadge/ItemBadge.d.ts +1 -1
  78. package/dist/components/content/ItemBadge/ItemBadge.js +7 -4
  79. package/dist/components/content/ItemBadge/ItemBadge.js.map +1 -1
  80. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  81. package/dist/components/content/Layout/GridLayout.js +1 -1
  82. package/dist/components/content/Layout/Layout.js +1 -1
  83. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  84. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  85. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  86. package/dist/components/content/Layout/LayoutContent.js +1 -1
  87. package/dist/components/content/Layout/LayoutContext.js +1 -1
  88. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  89. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  90. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  91. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  92. package/dist/components/content/Layout/LayoutPane.js +1 -1
  93. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  94. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  95. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  96. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  97. package/dist/components/content/Layout/index.js +1 -1
  98. package/dist/components/content/Layout/utils.js +1 -1
  99. package/dist/components/content/Paragraph.js +1 -1
  100. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  101. package/dist/components/content/PrismCode/PrismCode.d.ts +6 -0
  102. package/dist/components/content/PrismCode/PrismCode.js +12 -3
  103. package/dist/components/content/PrismCode/PrismCode.js.map +1 -1
  104. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  105. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  106. package/dist/components/content/Result/Result.js +1 -1
  107. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  108. package/dist/components/content/Tag/Tag.js +1 -1
  109. package/dist/components/content/Text.d.ts +14 -14
  110. package/dist/components/content/Text.js +1 -1
  111. package/dist/components/content/TextItem/TextItem.js +1 -1
  112. package/dist/components/content/Title.js +1 -1
  113. package/dist/components/content/Tree/Tree.js +1 -1
  114. package/dist/components/content/Tree/TreeNode.js +1 -1
  115. package/dist/components/content/Tree/styled.js +1 -1
  116. package/dist/components/content/Tree/tree-index.js +1 -1
  117. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  118. package/dist/components/content/Tree/use-load-data.js +1 -1
  119. package/dist/components/content/highlightText.js +1 -1
  120. package/dist/components/content/use-auto-tooltip.js +1 -1
  121. package/dist/components/data/DataTable/DataTable.js +140 -21
  122. package/dist/components/data/DataTable/DataTable.js.map +1 -1
  123. package/dist/components/data/DataTable/index.d.ts +1 -1
  124. package/dist/components/data/DataTable/types.d.ts +19 -4
  125. package/dist/components/data/ItemTable/ItemTable.js +169 -25
  126. package/dist/components/data/ItemTable/ItemTable.js.map +1 -1
  127. package/dist/components/data/ItemTable/ItemTableBulkBar.js +1 -1
  128. package/dist/components/data/ItemTable/ItemTableDragPreview.js +1 -1
  129. package/dist/components/data/ItemTable/ItemTableFooter.js +1 -1
  130. package/dist/components/data/ItemTable/ItemTableToolbar.js +1 -1
  131. package/dist/components/data/ItemTable/types.d.ts +7 -2
  132. package/dist/components/data/TableBase/ColumnResizer.js +1 -1
  133. package/dist/components/data/TableBase/RowCollection.js +1 -1
  134. package/dist/components/data/TableBase/TableHeaderCell.js +1 -1
  135. package/dist/components/data/TableBase/TableRow.js +30 -5
  136. package/dist/components/data/TableBase/TableRow.js.map +1 -1
  137. package/dist/components/data/TableBase/TableView.d.ts +2 -1
  138. package/dist/components/data/TableBase/TableView.js +299 -75
  139. package/dist/components/data/TableBase/TableView.js.map +1 -1
  140. package/dist/components/data/TableBase/column-menu.js +1 -1
  141. package/dist/components/data/TableBase/column-tint.js +12 -2
  142. package/dist/components/data/TableBase/column-tint.js.map +1 -1
  143. package/dist/components/data/TableBase/index.d.ts +1 -1
  144. package/dist/components/data/TableBase/row-menu.js +1 -1
  145. package/dist/components/data/TableBase/styled.d.ts +1 -2
  146. package/dist/components/data/TableBase/styled.js +75 -2
  147. package/dist/components/data/TableBase/styled.js.map +1 -1
  148. package/dist/components/data/TableBase/table-tree.js +129 -0
  149. package/dist/components/data/TableBase/table-tree.js.map +1 -0
  150. package/dist/components/data/TableBase/types.d.ts +46 -1
  151. package/dist/components/data/TableBase/types.js +1 -1
  152. package/dist/components/data/TableBase/types.js.map +1 -1
  153. package/dist/components/data/TableBase/use-cell-selection.d.ts +0 -1
  154. package/dist/components/data/TableBase/use-cell-selection.js +0 -0
  155. package/dist/components/data/TableBase/use-column-order.js +1 -1
  156. package/dist/components/data/TableBase/use-container-width.js +1 -1
  157. package/dist/components/data/TableBase/use-row-move-animation.js +1 -1
  158. package/dist/components/data/TableBase/use-scrollability.js +1 -1
  159. package/dist/components/data/TableBase/use-table-columns.js +1 -1
  160. package/dist/components/data/TableBase/use-table-search.js +4 -4
  161. package/dist/components/data/TableBase/use-table-search.js.map +1 -1
  162. package/dist/components/data/TableBase/use-table-selection.js +124 -24
  163. package/dist/components/data/TableBase/use-table-selection.js.map +1 -1
  164. package/dist/components/data/TableBase/use-table-sort.js +1 -1
  165. package/dist/components/data/TableBase/use-table-sorts.js +1 -1
  166. package/dist/components/data/TableBase/use-table-storage.js +1 -1
  167. package/dist/components/data/TableBase/use-table-tree-state.js +107 -0
  168. package/dist/components/data/TableBase/use-table-tree-state.js.map +1 -0
  169. package/dist/components/data/index.d.ts +2 -2
  170. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  171. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  172. package/dist/components/fields/Checkbox/context.js +1 -1
  173. package/dist/components/fields/ColorInput/ColorInput.js +12 -7
  174. package/dist/components/fields/ColorInput/ColorInput.js.map +1 -1
  175. package/dist/components/fields/ColorPicker/ColorPicker.js +3 -2
  176. package/dist/components/fields/ColorPicker/ColorPicker.js.map +1 -1
  177. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.d.ts +8 -2
  178. package/dist/components/fields/{color → ColorSwatch}/ColorSwatch.js +14 -6
  179. package/dist/components/fields/ColorSwatch/ColorSwatch.js.map +1 -0
  180. package/dist/components/fields/ColorSwatch/index.d.ts +2 -0
  181. package/dist/components/fields/ColorSwatchGroup/ColorSwatchGroup.js +1 -1
  182. package/dist/components/fields/ComboBox/ComboBox.js +2 -6
  183. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  184. package/dist/components/fields/CommandTextArea/CommandTextArea.js +8 -25
  185. package/dist/components/fields/CommandTextArea/CommandTextArea.js.map +1 -1
  186. package/dist/components/fields/CommandTextArea/caretPosition.js +1 -1
  187. package/dist/components/fields/CommandTextArea/useCaretAnchor.js +1 -1
  188. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  189. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  190. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  191. package/dist/components/fields/DatePicker/DatePickerButton.js +32 -2
  192. package/dist/components/fields/DatePicker/DatePickerButton.js.map +1 -1
  193. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  194. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  195. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  196. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  197. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  198. package/dist/components/fields/DatePicker/MonthPicker.js +1 -1
  199. package/dist/components/fields/DatePicker/PeriodPicker.js +3 -2
  200. package/dist/components/fields/DatePicker/PeriodPicker.js.map +1 -1
  201. package/dist/components/fields/DatePicker/QuarterPicker.js +1 -1
  202. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  203. package/dist/components/fields/DatePicker/WeekPicker.js +1 -1
  204. package/dist/components/fields/DatePicker/YearPicker.js +1 -1
  205. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  206. package/dist/components/fields/DatePicker/period.js +1 -1
  207. package/dist/components/fields/DatePicker/props.js +1 -1
  208. package/dist/components/fields/DatePicker/utils.js +1 -1
  209. package/dist/components/fields/FileInput/FileInput.js +1 -1
  210. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  211. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  212. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  213. package/dist/components/fields/Input/Input.js +1 -1
  214. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  215. package/dist/components/fields/ListBox/ListBox.js +1 -1
  216. package/dist/components/fields/ListBoxPopover/ListBoxPopover.js +1 -1
  217. package/dist/components/fields/ListBoxPopover/index.d.ts +0 -1
  218. package/dist/components/fields/ListBoxPopover/listNavigation.js +1 -1
  219. package/dist/components/fields/ListBoxPopover/useCompositeFocus.js +1 -1
  220. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  221. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  222. package/dist/components/fields/PasswordInput/PasswordInput.js +9 -6
  223. package/dist/components/fields/PasswordInput/PasswordInput.js.map +1 -1
  224. package/dist/components/fields/Picker/Picker.js +1 -1
  225. package/dist/components/fields/Picker/Picker.js.map +1 -1
  226. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  227. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -1
  228. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  229. package/dist/components/fields/RadioGroup/context.js +1 -1
  230. package/dist/components/fields/SearchComboBox/SearchComboBox.js +2 -6
  231. package/dist/components/fields/SearchComboBox/SearchComboBox.js.map +1 -1
  232. package/dist/components/fields/SearchInput/SearchInput.js +18 -16
  233. package/dist/components/fields/SearchInput/SearchInput.js.map +1 -1
  234. package/dist/components/fields/Select/Select.js +3 -6
  235. package/dist/components/fields/Select/Select.js.map +1 -1
  236. package/dist/components/fields/Slider/Gradation.js +1 -1
  237. package/dist/components/fields/Slider/HueSlider.js +15 -2
  238. package/dist/components/fields/Slider/HueSlider.js.map +1 -1
  239. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  240. package/dist/components/fields/Slider/Slider.js +1 -1
  241. package/dist/components/fields/Slider/SliderBase.js +1 -1
  242. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  243. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  244. package/dist/components/fields/Slider/elements.js +1 -1
  245. package/dist/components/fields/Slider/index.js +1 -1
  246. package/dist/components/fields/Switch/Switch.js +1 -1
  247. package/dist/components/fields/TextArea/TextArea.js +10 -29
  248. package/dist/components/fields/TextArea/TextArea.js.map +1 -1
  249. package/dist/components/fields/TextInput/TextInput.js +1 -1
  250. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  251. package/dist/components/fields/TextInput/useAutoSizeTextArea.js +146 -0
  252. package/dist/components/fields/TextInput/useAutoSizeTextArea.js.map +1 -0
  253. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  254. package/dist/components/fields/color/ColorPanel.js +1 -1
  255. package/dist/components/fields/color/channels.js +1 -1
  256. package/dist/components/fields/color/color.js +4 -4
  257. package/dist/components/fields/color/color.js.map +1 -1
  258. package/dist/components/fields/color/context.js +1 -1
  259. package/dist/components/fields/color/index.d.ts +0 -1
  260. package/dist/components/fields/index.d.ts +2 -1
  261. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  262. package/dist/components/form/Form/Field.js +1 -1
  263. package/dist/components/form/Form/Form.js +1 -1
  264. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  265. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  266. package/dist/components/form/Form/SubmitError.js +1 -1
  267. package/dist/components/form/Form/index.js +1 -1
  268. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  269. package/dist/components/form/Form/use-field/use-field.js +1 -1
  270. package/dist/components/form/Form/use-form.js +1 -1
  271. package/dist/components/form/Form/validation.js +1 -1
  272. package/dist/components/form/Label.js +1 -1
  273. package/dist/components/form/validation/ValidationIndicator.js +1 -1
  274. package/dist/components/form/validation/resolve-validation-props.js +1 -1
  275. package/dist/components/form/validation/use-validation-props.js +1 -1
  276. package/dist/components/form/wrapper.js +1 -1
  277. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  278. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  279. package/dist/components/layout/Board/Board.d.ts +38 -5
  280. package/dist/components/layout/Board/Board.js +11 -5
  281. package/dist/components/layout/Board/Board.js.map +1 -1
  282. package/dist/components/layout/Board/BoardProvider.js +1 -1
  283. package/dist/components/layout/Board/BoardResponsive.js +1 -1
  284. package/dist/components/layout/Board/Widget.d.ts +16 -1
  285. package/dist/components/layout/Board/Widget.js +3 -2
  286. package/dist/components/layout/Board/Widget.js.map +1 -1
  287. package/dist/components/layout/Board/WidgetHost.js +92 -17
  288. package/dist/components/layout/Board/WidgetHost.js.map +1 -1
  289. package/dist/components/layout/Board/board-context.js +5 -5
  290. package/dist/components/layout/Board/board-context.js.map +1 -1
  291. package/dist/components/layout/Board/board-store.d.ts +1 -0
  292. package/dist/components/layout/Board/board-store.js +2 -2
  293. package/dist/components/layout/Board/board-store.js.map +1 -1
  294. package/dist/components/layout/Board/grid-core/calculate.js +1 -1
  295. package/dist/components/layout/Board/grid-core/collision-modes.js +186 -0
  296. package/dist/components/layout/Board/grid-core/collision-modes.js.map +1 -0
  297. package/dist/components/layout/Board/grid-core/collision.js +1 -1
  298. package/dist/components/layout/Board/grid-core/compactors.js +1 -1
  299. package/dist/components/layout/Board/grid-core/constraints.js +1 -1
  300. package/dist/components/layout/Board/grid-core/group-move.js +1 -1
  301. package/dist/components/layout/Board/grid-core/layout.js +12 -2
  302. package/dist/components/layout/Board/grid-core/layout.js.map +1 -1
  303. package/dist/components/layout/Board/grid-core/sort.js +1 -1
  304. package/dist/components/layout/Board/grid-core/types.d.ts +19 -1
  305. package/dist/components/layout/Board/index.d.ts +2 -2
  306. package/dist/components/layout/Board/index.js +1 -1
  307. package/dist/components/layout/Board/index.js.map +1 -1
  308. package/dist/components/layout/Board/responsive-utils.js +1 -1
  309. package/dist/components/layout/Board/use-board-layout.js +1 -1
  310. package/dist/components/layout/Board/use-board-registry.js +137 -47
  311. package/dist/components/layout/Board/use-board-registry.js.map +1 -1
  312. package/dist/components/layout/Board/use-board-select-modifier-key.js +1 -1
  313. package/dist/components/layout/Board/use-board-selection.js +1 -1
  314. package/dist/components/layout/Flex.js +1 -1
  315. package/dist/components/layout/Flow.js +1 -1
  316. package/dist/components/layout/Grid.js +1 -1
  317. package/dist/components/layout/Panel.js +1 -1
  318. package/dist/components/layout/Prefix.js +1 -1
  319. package/dist/components/layout/ResizablePanel.js +1 -1
  320. package/dist/components/layout/Space.js +1 -1
  321. package/dist/components/layout/Suffix.js +1 -1
  322. package/dist/components/navigation/Pagination/Pagination.js +1 -1
  323. package/dist/components/navigation/Pagination/use-pagination.js +1 -1
  324. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  325. package/dist/components/navigation/Tabs/TabButton.js +2 -29
  326. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  327. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  328. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  329. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  330. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  331. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  332. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  333. package/dist/components/navigation/Tabs/popover-placement.js +1 -1
  334. package/dist/components/navigation/Tabs/styled.js +1 -1
  335. package/dist/components/navigation/Tabs/types.js +1 -1
  336. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  337. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  338. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  339. package/dist/components/other/Calendar/Calendar.js +1 -1
  340. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  341. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  342. package/dist/components/other/Calendar/CalendarHeader.js +1 -1
  343. package/dist/components/other/Calendar/CalendarPanel.js +1 -1
  344. package/dist/components/other/Calendar/PeriodCalendar.js +1 -1
  345. package/dist/components/other/Calendar/PeriodGrid.js +1 -1
  346. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  347. package/dist/components/other/Calendar/styled.js +1 -1
  348. package/dist/components/other/CubeLogo/CubeLogo.js +1 -1
  349. package/dist/components/other/NoDataIcon/NoDataIcon.d.ts +37 -0
  350. package/dist/components/other/NoDataIcon/NoDataIcon.js +56 -0
  351. package/dist/components/other/NoDataIcon/NoDataIcon.js.map +1 -0
  352. package/dist/components/other/NoDataIcon/index.d.ts +2 -0
  353. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  354. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  355. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  356. package/dist/components/overlays/Dialog/Dialog.js +4 -3
  357. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  358. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  359. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  360. package/dist/components/overlays/Dialog/DialogTrigger.d.ts +13 -0
  361. package/dist/components/overlays/Dialog/DialogTrigger.js +24 -5
  362. package/dist/components/overlays/Dialog/DialogTrigger.js.map +1 -1
  363. package/dist/components/overlays/Dialog/context.js +1 -1
  364. package/dist/components/overlays/Dialog/context.js.map +1 -1
  365. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  366. package/dist/components/overlays/Modal/Modal.d.ts +1 -2
  367. package/dist/components/overlays/Modal/Modal.js +1 -1
  368. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  369. package/dist/components/overlays/Modal/Overlay.d.ts +0 -1
  370. package/dist/components/overlays/Modal/Overlay.js +1 -1
  371. package/dist/components/overlays/Modal/Popover.js +1 -1
  372. package/dist/components/overlays/Modal/Tray.js +1 -1
  373. package/dist/components/overlays/Modal/Underlay.js +1 -1
  374. package/dist/components/overlays/Modal/types.d.ts +0 -1
  375. package/dist/components/overlays/Notifications/Notification.js +1 -1
  376. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  377. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  378. package/dist/components/overlays/Notifications/NotificationContext.d.ts +0 -2
  379. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  380. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  381. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  382. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  383. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  384. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  385. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  386. package/dist/components/overlays/Notifications/index.js +1 -1
  387. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  388. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  389. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  390. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  391. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  392. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  393. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  394. package/dist/components/overlays/Toast/index.js +1 -1
  395. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  396. package/dist/components/overlays/Toast/useToast.js +1 -1
  397. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  398. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  399. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  400. package/dist/components/overlays/Tooltip/context.js +1 -1
  401. package/dist/components/portal/Portal.js +1 -1
  402. package/dist/components/portal/PortalProvider.js +1 -1
  403. package/dist/components/portal/index.d.ts +0 -1
  404. package/dist/components/portal/usePortal.js +1 -1
  405. package/dist/components/shared/DraggableCollection.js +1 -1
  406. package/dist/components/shared/InvalidIcon.js +1 -1
  407. package/dist/components/shared/ValidIcon.js +1 -1
  408. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  409. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  410. package/dist/components/status/Spin/Cube.js +1 -1
  411. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  412. package/dist/components/status/Spin/Spin.js +1 -1
  413. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  414. package/dist/data/item-themes.d.ts +1 -1
  415. package/dist/data/item-themes.js +217 -46
  416. package/dist/data/item-themes.js.map +1 -1
  417. package/dist/data/themes.js +1 -1
  418. package/dist/eslint-plugin/defaults.generated.js +41 -13
  419. package/dist/eslint-plugin/defaults.generated.js.map +1 -1
  420. package/dist/eslint-plugin/index.js +1 -1
  421. package/dist/eslint-plugin/rules/no-redundant-default-prop.js +1 -1
  422. package/dist/i18n/I18nProvider.js +1 -1
  423. package/dist/i18n/createFormatter.js +1 -1
  424. package/dist/i18n/index.js +1 -1
  425. package/dist/i18n/instance.js +1 -1
  426. package/dist/i18n/locales/de-DE/uikit.js +2 -1
  427. package/dist/i18n/locales/en-US/uikit.js +2 -1
  428. package/dist/i18n/locales/en-US/uikit.json.d.ts +1 -0
  429. package/dist/i18n/locales/es-ES/uikit.js +2 -1
  430. package/dist/i18n/locales/es-MX/uikit.js +2 -1
  431. package/dist/i18n/locales/fr-FR/uikit.js +2 -1
  432. package/dist/i18n/locales/it-IT/uikit.js +2 -1
  433. package/dist/i18n/locales/ja-JP/uikit.js +2 -1
  434. package/dist/i18n/locales/nb-NO/uikit.js +2 -1
  435. package/dist/i18n/locales/pt-BR/uikit.js +2 -1
  436. package/dist/i18n/locales/pt-PT/uikit.js +2 -1
  437. package/dist/i18n/locales/sv-SE/uikit.js +2 -1
  438. package/dist/i18n/locales/vi-VN/uikit.js +2 -1
  439. package/dist/i18n/locales.js +1 -1
  440. package/dist/i18n/useFormatter.js +1 -1
  441. package/dist/i18n/useI18n.js +1 -1
  442. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  443. package/dist/icons/AdjustmentsIcon.js +1 -1
  444. package/dist/icons/AiIcon.js +1 -1
  445. package/dist/icons/AreaChartIcon.js +1 -1
  446. package/dist/icons/ArrowNarrowDownIcon.js +1 -1
  447. package/dist/icons/ArrowNarrowUpIcon.js +1 -1
  448. package/dist/icons/BackwardIcon.js +1 -1
  449. package/dist/icons/BarChartIcon.js +1 -1
  450. package/dist/icons/BellFilledIcon.js +1 -1
  451. package/dist/icons/BellIcon.js +1 -1
  452. package/dist/icons/BooleanIcon.js +1 -1
  453. package/dist/icons/CalendarEditIcon.js +1 -1
  454. package/dist/icons/CalendarIcon.js +1 -1
  455. package/dist/icons/CaretDownIcon.js +1 -1
  456. package/dist/icons/CaretUpIcon.js +1 -1
  457. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  458. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  459. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  460. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  461. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  462. package/dist/icons/ChartBarLineIcon.js +1 -1
  463. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  464. package/dist/icons/ChartBarStackedIcon.js +1 -1
  465. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  466. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  467. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  468. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  469. package/dist/icons/ChartBubbleIcon.js +1 -1
  470. package/dist/icons/ChartDonut2Icon.js +1 -1
  471. package/dist/icons/ChartFunnelIcon.js +1 -1
  472. package/dist/icons/ChartHeatmapIcon.js +1 -1
  473. package/dist/icons/ChartKPIIcon.js +1 -1
  474. package/dist/icons/ChartPie2Icon.js +1 -1
  475. package/dist/icons/ChartScatterIcon.js +1 -1
  476. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  477. package/dist/icons/CheckCircleIcon.js +1 -1
  478. package/dist/icons/CheckIcon.js +1 -1
  479. package/dist/icons/CircleFilledIcon.js +1 -1
  480. package/dist/icons/ClearIcon.js +1 -1
  481. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  482. package/dist/icons/CloseCircleIcon.js +1 -1
  483. package/dist/icons/CloseIcon.js +1 -1
  484. package/dist/icons/CodeIcon.js +1 -1
  485. package/dist/icons/ColumnTotalIcon.js +1 -1
  486. package/dist/icons/CopyIcon.js +1 -1
  487. package/dist/icons/CountIcon.js +1 -1
  488. package/dist/icons/CubeIcon.js +1 -1
  489. package/dist/icons/CubePauseIcon.js +1 -1
  490. package/dist/icons/CubePlayIcon.js +1 -1
  491. package/dist/icons/CurrencyDollarIcon.js +1 -1
  492. package/dist/icons/DangerIcon.js +1 -1
  493. package/dist/icons/DashboardIcon.js +1 -1
  494. package/dist/icons/DatabaseIcon.js +1 -1
  495. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  496. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  497. package/dist/icons/DirectionIcon.js +1 -1
  498. package/dist/icons/DonutIcon.js +1 -1
  499. package/dist/icons/DownIcon.js +1 -1
  500. package/dist/icons/EditIcon.js +1 -1
  501. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  502. package/dist/icons/ExclamationCircleIcon.js +1 -1
  503. package/dist/icons/ExclamationIcon.js +1 -1
  504. package/dist/icons/EyeIcon.js +1 -1
  505. package/dist/icons/EyeInvisibleIcon.js +1 -1
  506. package/dist/icons/FilterIcon.js +1 -1
  507. package/dist/icons/FolderFilledIcon.js +1 -1
  508. package/dist/icons/FolderIcon.js +1 -1
  509. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  510. package/dist/icons/FolderOpenIcon.js +1 -1
  511. package/dist/icons/ForwardIcon.js +1 -1
  512. package/dist/icons/GripVerticalIcon.js +1 -1
  513. package/dist/icons/HierarchyIcon.js +1 -1
  514. package/dist/icons/HierarchyOpenIcon.js +1 -1
  515. package/dist/icons/Icon.js +1 -1
  516. package/dist/icons/InfoCircleIcon.js +1 -1
  517. package/dist/icons/InfoIcon.js +1 -1
  518. package/dist/icons/KeyIcon.js +1 -1
  519. package/dist/icons/LeftIcon.js +1 -1
  520. package/dist/icons/LineChartIcon.js +1 -1
  521. package/dist/icons/LoadingIcon.js +1 -1
  522. package/dist/icons/LockFilledIcon.js +1 -1
  523. package/dist/icons/LockIcon.js +1 -1
  524. package/dist/icons/MoreIcon.js +1 -1
  525. package/dist/icons/NotAllowedIcon.js +1 -1
  526. package/dist/icons/Number123Icon.js +1 -1
  527. package/dist/icons/NumberIcon.js +1 -1
  528. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  529. package/dist/icons/PauseCircleIcon.js +1 -1
  530. package/dist/icons/PauseIcon.js +1 -1
  531. package/dist/icons/PercentageIcon.js +1 -1
  532. package/dist/icons/PieChartIcon.js +1 -1
  533. package/dist/icons/PipetteIcon.js +1 -1
  534. package/dist/icons/PlayCircleIcon.js +1 -1
  535. package/dist/icons/PlayIcon.js +1 -1
  536. package/dist/icons/PlusIcon.js +1 -1
  537. package/dist/icons/ProgressBarIcon.js +1 -1
  538. package/dist/icons/ReloadIcon.js +1 -1
  539. package/dist/icons/ReportIcon.js +1 -1
  540. package/dist/icons/ReturnIcon.js +1 -1
  541. package/dist/icons/RightIcon.js +1 -1
  542. package/dist/icons/RowTotalsIcon.js +1 -1
  543. package/dist/icons/SchemeIcon.js +1 -1
  544. package/dist/icons/SearchIcon.js +1 -1
  545. package/dist/icons/SemanticQueryIcon.js +1 -1
  546. package/dist/icons/SettingsIcon.js +1 -1
  547. package/dist/icons/ShieldFilledIcon.js +1 -1
  548. package/dist/icons/ShieldIcon.js +1 -1
  549. package/dist/icons/SlashIcon.js +1 -1
  550. package/dist/icons/SparklesIcon.js +1 -1
  551. package/dist/icons/SqlIcon.js +1 -1
  552. package/dist/icons/StatsIcon.js +1 -1
  553. package/dist/icons/StopIcon.js +1 -1
  554. package/dist/icons/StringIcon.js +1 -1
  555. package/dist/icons/SubtotalsIcon.js +1 -1
  556. package/dist/icons/SwitchIcon.js +1 -1
  557. package/dist/icons/TableIcon.js +1 -1
  558. package/dist/icons/ThumbsDownIcon.js +1 -1
  559. package/dist/icons/ThumbsUpIcon.js +1 -1
  560. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  561. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  562. package/dist/icons/ThunderboltIcon.js +1 -1
  563. package/dist/icons/TimeIcon.js +1 -1
  564. package/dist/icons/TrashIcon.js +1 -1
  565. package/dist/icons/UnlockIcon.js +1 -1
  566. package/dist/icons/UpIcon.js +1 -1
  567. package/dist/icons/UserGroupIcon.js +1 -1
  568. package/dist/icons/UserIcon.js +1 -1
  569. package/dist/icons/UserLockIcon.js +1 -1
  570. package/dist/icons/ViewIcon.js +1 -1
  571. package/dist/icons/WarningFilledIcon.js +1 -1
  572. package/dist/icons/WarningIcon.js +1 -1
  573. package/dist/icons/wrap-icon.js +1 -1
  574. package/dist/index.d.ts +10 -7
  575. package/dist/index.js +6 -4
  576. package/dist/index.js.map +1 -1
  577. package/dist/probe/canonicalize.js +1 -1
  578. package/dist/probe/css.js +1 -1
  579. package/dist/probe/index.js +1 -1
  580. package/dist/provider.js +1 -1
  581. package/dist/providers/TrackingProvider.js +1 -1
  582. package/dist/providers/navigationAdapter.default.js +1 -1
  583. package/dist/tokens/base.js +1 -1
  584. package/dist/tokens/color-seed.d.ts +44 -0
  585. package/dist/tokens/color-seed.js +48 -0
  586. package/dist/tokens/color-seed.js.map +1 -0
  587. package/dist/tokens/color-theme.d.ts +9 -1
  588. package/dist/tokens/color-theme.js +20 -7
  589. package/dist/tokens/color-theme.js.map +1 -1
  590. package/dist/tokens/colors.js +20 -3
  591. package/dist/tokens/colors.js.map +1 -1
  592. package/dist/tokens/index.d.ts +2 -1
  593. package/dist/tokens/index.js +3 -2
  594. package/dist/tokens/index.js.map +1 -1
  595. package/dist/tokens/layout.js +1 -1
  596. package/dist/tokens/lazy-styles.js +1 -1
  597. package/dist/tokens/palette-config.d.ts +304 -77
  598. package/dist/tokens/palette-config.js +188 -49
  599. package/dist/tokens/palette-config.js.map +1 -1
  600. package/dist/tokens/palette.js +617 -163
  601. package/dist/tokens/palette.js.map +1 -1
  602. package/dist/tokens/shadows.js +1 -1
  603. package/dist/tokens/sizes.js +1 -1
  604. package/dist/tokens/spacing.js +1 -1
  605. package/dist/tokens/typography.js +1 -1
  606. package/dist/utils/ResizeSensor.js +1 -1
  607. package/dist/utils/is-dev-env.js +1 -1
  608. package/dist/utils/modules.js +1 -1
  609. package/dist/utils/promise.js +1 -1
  610. package/dist/utils/raf.js +1 -1
  611. package/dist/utils/random.js +1 -1
  612. package/dist/utils/range.js +1 -1
  613. package/dist/utils/react/RenderCache.js +1 -1
  614. package/dist/utils/react/Slots.js +1 -1
  615. package/dist/utils/react/chain.js +1 -1
  616. package/dist/utils/react/disabledProps.js +1 -1
  617. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  618. package/dist/utils/react/index.js +1 -1
  619. package/dist/utils/react/interactions.js +1 -1
  620. package/dist/utils/react/isTextOnly.js +1 -1
  621. package/dist/utils/react/mapProps.js +1 -1
  622. package/dist/utils/react/mergeProps.js +1 -1
  623. package/dist/utils/react/nullableValue.js +1 -1
  624. package/dist/utils/react/resolveIcon.js +1 -1
  625. package/dist/utils/react/sharedStore.js +1 -1
  626. package/dist/utils/react/useBufferedValue.js +1 -1
  627. package/dist/utils/react/useCombinedRefs.js +1 -1
  628. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  629. package/dist/utils/react/useEventBus.js +1 -1
  630. package/dist/utils/react/useId.js +1 -1
  631. package/dist/utils/react/useIsDarwin.js +1 -1
  632. package/dist/utils/react/useKeySymbols.js +1 -1
  633. package/dist/utils/react/useLayoutEffect.js +1 -1
  634. package/dist/utils/react/useLocalStorage.js +1 -1
  635. package/dist/utils/react/useMergeStyles.js +1 -1
  636. package/dist/utils/react/usePopoverSync.js +1 -1
  637. package/dist/utils/react/useQaProps.js +1 -1
  638. package/dist/utils/react/useViewportSize.js +1 -1
  639. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  640. package/dist/utils/selection.js +1 -1
  641. package/dist/utils/styles.js +1 -1
  642. package/dist/utils/tree.js +1 -1
  643. package/dist/utils/warnings.js +1 -1
  644. package/dist/version.js +3 -3
  645. package/docs/Introduction.md +85 -97
  646. package/docs/Theming.md +471 -83
  647. package/docs/Usage.md +63 -2
  648. package/docs/components/Root.md +1 -1
  649. package/docs/components/actions/Button.md +9 -3
  650. package/docs/components/actions/ItemAction.md +3 -3
  651. package/docs/components/actions/MenuTrigger.md +54 -2
  652. package/docs/components/actions/SubMenuTrigger.md +2 -2
  653. package/docs/components/content/CopySnippet.md +5 -5
  654. package/docs/components/content/InlineInput.md +1 -1
  655. package/docs/components/content/Item.md +10 -10
  656. package/docs/components/content/ItemBadge.md +2 -2
  657. package/docs/components/content/PrismCode.md +1 -0
  658. package/docs/components/data/DataTable.md +110 -11
  659. package/docs/components/data/ItemTable.md +63 -1
  660. package/docs/components/fields/ColorSwatch.md +155 -0
  661. package/docs/components/layout/Board.md +21 -2
  662. package/docs/components/other/NoDataIcon.md +48 -0
  663. package/docs/components/overlays/DialogTrigger.md +3 -2
  664. package/docs/components/status/LoadingAnimation.md +12 -0
  665. package/docs/glaze/api.md +155 -47
  666. package/docs/glaze/methodology.md +15 -13
  667. package/docs/glaze/migration.md +36 -0
  668. package/docs/glaze/okhst.md +4 -0
  669. package/docs/tasty/ai-agents.md +3 -0
  670. package/docs/tasty/configuration.md +11 -6
  671. package/docs/tasty/dsl.md +99 -2
  672. package/docs/tasty/styles.md +3 -1
  673. package/package.json +3 -3
  674. package/dist/components/fields/ListBoxPopover/useCompositeFocus.d.ts +0 -2
  675. package/dist/components/fields/color/ColorSwatch.js.map +0 -1
  676. package/dist/components/portal/PortalProvider.d.ts +0 -2
@@ -1,94 +1,255 @@
1
1
 
2
2
  //#region src/tokens/palette-config.d.ts
3
- /** Hue / saturation seed override for one colored theme. */
4
- interface PaletteThemeSeed {
3
+ /**
4
+ * Ceiling on a base saturation derived from a {@link PaletteConfig.base} color.
5
+ *
6
+ * A named base color lands the chrome near itself rather than at the 12% share the
7
+ * accent lends it, which is the whole reason to name one — but a fully saturated
8
+ * chrome stops being chrome. `50` is well past where the base colors begin to
9
+ * converge (`surface-inverse` tops out around `25`), so the clip costs nothing that
10
+ * was still moving and stops a vivid brand hex from being read as an instruction to
11
+ * paint the page with it.
12
+ *
13
+ * The manual slider in the tuner shares the number, so the two agree on what the top
14
+ * of the range means.
15
+ */
16
+ declare const MAX_BASE_SATURATION = 50;
17
+ /** The numeric arm of a {@link PaletteSeed}. */
18
+ interface PaletteNumericSeed {
5
19
  /** Hue in degrees (0–360). */
6
20
  hue?: number;
7
- /** Saturation (0–100). Defaults to the palette-level `saturation`. */
21
+ /** Saturation (0–100). */
8
22
  saturation?: number;
9
23
  }
24
+ /**
25
+ * One zone's seed: a **color**, or the **numbers**.
26
+ *
27
+ * A string is a color — anything Glaze parses: hex, `rgb()`, `hsl()`, `okhsl()`,
28
+ * `okhst()`, `oklch()`. CSS color keywords (`rebeccapurple`) are not supported, and an
29
+ * unparseable value warns once and falls back to the numeric path with nothing pinned.
30
+ *
31
+ * The union **is** the exclusivity. A zone is seeded one way or the other — never both,
32
+ * never layered — so there is no precedence rule to learn and no contradiction to warn
33
+ * about. It also means a patch that switches form *replaces* rather than merges; layering
34
+ * happens within a path. See {@link resolvePaletteConfig}.
35
+ *
36
+ * What a color supplies differs by zone, and each zone's own field says so:
37
+ * {@link PaletteConfig.accent} keeps the tone but lends the palette none of its chroma,
38
+ * {@link PaletteConfig.base} discards the tone, and a status theme keeps the tone *and*
39
+ * takes the chroma as its seed.
40
+ */
41
+ type PaletteSeed = string | PaletteNumericSeed;
10
42
  /**
11
43
  * The `code-*` syntax family takes a saturation and nothing else — and answers to
12
44
  * nothing else either. This is the one knob that moves it.
13
45
  *
14
46
  * Its hues are absolute literals by design, so syntax colors never rotate with the
15
- * brand — strings would collide with numbers the moment the brand went green. Unlike
16
- * every other theme, its saturation does **not** inherit the palette-level one: the
17
- * code palette is calibrated once and stays there, so re-seeding the app cannot
18
- * quietly wash out a code block. {@link PaletteConfig.pastel} skips it for the same
19
- * reason.
47
+ * brand — strings would collide with numbers the moment the brand went green, which is
48
+ * also why it is not a {@link PaletteSeed} and cannot take a color. Unlike every other
49
+ * theme, its saturation does **not** inherit the palette-level one: the code palette is
50
+ * calibrated once and stays there, so re-seeding the app cannot quietly wash out a code
51
+ * block. {@link PaletteConfig.pastel} skips it for the same reason.
20
52
  */
21
53
  interface PaletteCodeSeed {
22
- /** Saturation (0–100). Defaults to {@link DEFAULT_CODE_SATURATION}, not to `saturation`. */
54
+ /** Saturation (0–100). Defaults to {@link DEFAULT_CODE_SATURATION}, not to the accent's. */
23
55
  saturation?: number;
24
56
  }
57
+ /**
58
+ * Where the neutral surface ramp sits on the tone scale — see
59
+ * {@link PaletteConfig.surfaceMode}.
60
+ */
61
+ type SurfaceMode = 'neutral' | 'tinted';
25
62
  /** Names of the themes whose seeds can be overridden individually. */
26
63
  type PaletteThemeName = 'success' | 'danger' | 'warning' | 'note' | 'code';
27
64
  /**
28
- * Palette tuning. Every field is optional; omitted fields keep their default,
29
- * and per-theme fields left unset inherit the palette-level value.
65
+ * Palette tuning. Every field is optional; omitted fields keep their default, and
66
+ * per-theme fields left unset inherit the palette-level value.
67
+ *
68
+ * Every zone takes the same {@link PaletteSeed} — a color or the numbers — so the whole
69
+ * config is one idea spelled once, and a settings UI can drive all six zones with one
70
+ * control.
30
71
  */
31
72
  interface PaletteConfig {
32
73
  /**
33
- * Accent hue in degrees (0–360) — the brand.
74
+ * The **accent** zone — the brand. Drives the `accent-*` family on every theme,
75
+ * `primary` / `purple` / `special`, and the brand-tinted odds and ends (`focus`, the
76
+ * loading faces, the disabled chip). Its hue is also the default for
77
+ * {@link PaletteConfig.base}, and its saturation the default every status theme
78
+ * inherits.
79
+ *
80
+ * **As numbers** — `{ hue, saturation }`. One saturation scale for the whole theme, by
81
+ * design: every color's own `saturation` is a 0–1 factor of this seed — `surface` at
82
+ * 0.12, `border` at 0.175, the text ramp at 0.2, the accent family at ~1.0 — so moving
83
+ * it rescales the palette while keeping those proportions. Unlike hue, which is
84
+ * configured separately for the brand and for each status theme, saturation is
85
+ * deliberately not split: the ratio between a subtle surface tint and a saturated
86
+ * accent is part of the design.
87
+ *
88
+ * A `saturation` **belongs to the non-pastel path**, and writing one says so: with no
89
+ * {@link PaletteConfig.pastel} beside it, it turns pastel off, because tuning a
90
+ * saturation is the non-pastel path by definition. Pastel is one flat chroma ceiling,
91
+ * so under it there is exactly one seed and it is the top of the scale. A
92
+ * `pastel: true` written next to a saturation wins and the saturation is ignored (with
93
+ * a dev warning) — but it is kept rather than dropped, so turning pastel back off
94
+ * restores your number.
95
+ *
96
+ * **As a color** — the brand, as you have it. Unlike a
97
+ * {@link PaletteConfig.base} color, which keeps only hue and saturation, this keeps
98
+ * the **tone** as well — which is the whole point. Without it the brand fill is
99
+ * authored as a fixed tone step off white, so every accent hue lands at roughly the
100
+ * same lightness and the color you asked for never actually appears.
34
101
  *
35
- * Drives the `accent-*` family on every theme, `primary` / `purple` / `special`,
36
- * and the brand-tinted odds and ends (`focus`, the loading faces, the disabled
37
- * chip). Also the default for {@link PaletteConfig.baseHue}.
102
+ * The **light, normal-contrast** variant reproduces the color; dark and high contrast
103
+ * adapt, as every other color in the palette does. Two things cost exactness even
104
+ * there: {@link PaletteConfig.pastel} caps chroma (so `#FFD400` softens), and the fill
105
+ * answers to two APCA floors of deliberately different sizes — **Lc 45 against the
106
+ * white label** it carries, because a label is text, and only **Lc 25 against
107
+ * `surface`**, because a fill is a shape. It moves as far as the nearer one requires
108
+ * and no further.
109
+ *
110
+ * Those floors are APCA, not WCAG, and the difference is deliberate: one WCAG ratio
111
+ * means two very different things by scheme (3:1 measures Lc 56 in light but only
112
+ * Lc 23 in dark), which crushed light brands while letting dark ones through. A
113
+ * consequence worth stating plainly — **the emitted fill can sit below WCAG 3:1**.
114
+ * `#0EA5E9` renders at 2.77:1 against a white page and is correct at that value; the
115
+ * Lc is the guarantee, not the ratio.
116
+ *
117
+ * A color's own chroma is **not** adopted as the zone's seed saturation, which stays at
118
+ * its default. The accent family gets the chroma through Glaze's `from`, where it is
119
+ * absolute and seed-independent, and leaving the seed alone is what keeps a saturated
120
+ * brand out of every status theme that inherits it. A status theme's color behaves the
121
+ * other way round for the same reason inverted — nothing inherits from a status theme.
38
122
  */
39
- hue?: number;
123
+ accent?: PaletteSeed;
40
124
  /**
41
- * Hue of the **base** zone in degrees (0–360): the neutral chrome — `surface`
42
- * and its ladder, the `surface-text*` ramp, `border`, `placeholder`. Defaults to
43
- * `hue`, so the chrome carries a faint tint of the brand unless you say otherwise.
44
- *
45
- * Splitting it lets the chrome sit on a different hue from the accent — a warm
46
- * grey UI with a cool blue brand, say. Only the `default` theme is affected: a
47
- * colored theme's tinted `surface` deliberately follows *its own* hue, because a
48
- * danger banner should read as red.
125
+ * The **base** zone: the neutral chrome — `surface` and its ladder, the
126
+ * `surface-text*` ramp, `border`, `placeholder`.
127
+ *
128
+ * **Omit it and the zone follows the accent** — the chrome carries a faint tint of the
129
+ * brand, at {@link SURFACE_SATURATION_SHARE} of its chroma, unless you say otherwise.
130
+ * That is the third state, and the reason this field is worth reading back from
131
+ * {@link getPaletteConfigInput}: absent, an object, or a string are three different
132
+ * answers to "does the chrome have a seed of its own".
133
+ *
134
+ * **As numbers** — `{ hue, saturation }`, each independently optional. Splitting the
135
+ * hue off lets the chrome sit on a different one from the accent — a warm grey UI with
136
+ * a cool blue brand, say. Only the `default` theme is affected: a colored theme's
137
+ * tinted `surface` deliberately follows *its own* hue, because a danger banner should
138
+ * read as red.
139
+ *
140
+ * The saturation is on the same 0–100 scale as the accent's, and read the same way.
141
+ * **The shipped chrome is `12`** — a faint tint is what a neutral surface is — so the
142
+ * useful range is mostly below a third, and the numbers above it are a deliberately
143
+ * tinted theme rather than a neutral one. Set it and the base zone stops following the
144
+ * brand: a vivid accent over near-grey chrome, or a muted accent over visibly warm
145
+ * chrome, are both one number away and neither is reachable from a single scale.
146
+ *
147
+ * The base colors keep their proportions to one another — `border` more than `surface`,
148
+ * the text ramp more than `border` — until the highest of them hits the top of the
149
+ * scale, which happens around `25`. Past that they converge.
150
+ *
151
+ * Under {@link PaletteConfig.surfaceMode} `'neutral'` it reaches `surface-2`…
152
+ * `surface-4`, `border`, `placeholder` and the text ramp, but not the page surface: at
153
+ * the end of the tone scale there is no room for chroma, whatever the seed says.
154
+ * `'tinted'` is what gives it somewhere to land.
155
+ *
156
+ * **As a color** — its **hue and saturation** are read; its **tone is discarded**,
157
+ * because the chrome's lightness ladder is the design. A base color says which way the
158
+ * greys lean and how far, not how dark they are.
159
+ *
160
+ * The saturation is clipped to {@link MAX_BASE_SATURATION}. Naming a base color says
161
+ * "the chrome is this color", so it lands near it rather than at the share it would
162
+ * inherit from the accent — but a fully saturated chrome is no longer chrome, so there
163
+ * is a ceiling on how far "near" goes.
164
+ *
165
+ * Unlike the accent's, writing a base saturation does *not* turn pastel off: how much
166
+ * hue the chrome carries says nothing about which chroma space the palette is in.
49
167
  */
50
- baseHue?: number;
168
+ base?: PaletteSeed;
51
169
  /**
52
- * Seed saturation (0–100), and the fallback for every theme that does not set
53
- * its own.
54
- *
55
- * One scale for the whole theme, by design. Every color's own `saturation` is a
56
- * 0–1 factor of this seed `surface` at 0.12, `border` at 0.175, the text ramp
57
- * at 0.2, the accent family at ~1.0 so moving it rescales the palette while
58
- * keeping those proportions. Unlike hue, which is configured separately for the
59
- * brand and for each status theme, saturation is deliberately not split: the
60
- * ratio between a subtle surface tint and a saturated accent is part of the
61
- * design.
170
+ * Global. Where the neutral surface ramp sits on the tone scale.
171
+ *
172
+ * - `'neutral'` — `surface` is the extreme: pure white in light, the darkest
173
+ * step the dark tone window allows in dark. No room for chroma, so the page
174
+ * carries no hue however saturated the base zone is.
175
+ * - `'tinted'` the whole ramp moves two tones inward, off the extreme.
176
+ *
177
+ * Two tones is not a visible lightness change; what it buys is *room*. Chroma
178
+ * needs distance from white to exist at all, so at the extreme a light page is
179
+ * white no matter what the base saturation says. Tinted trades two tones of
180
+ * headroom for a page that actually carries its base hue.
181
+ *
182
+ * Everything below `surface` is positioned relative to it, so the ladder, the
183
+ * borders and the text ramp all follow — and the contrast floors on the text
184
+ * re-solve against the new background rather than drifting.
62
185
  */
63
- saturation?: number;
186
+ surfaceMode?: SurfaceMode;
64
187
  /**
65
188
  * Global. Widens the usable chroma range by relaxing the sRGB-safe limit,
66
189
  * producing a softer, more even palette across hues. Glaze treats `pastel` as
67
190
  * instance-level, so it is threaded into every theme.
68
191
  *
69
- * Every theme except `code`. The syntax family is calibrated on its own
70
- * saturation and is deliberately left out softening it collapses the chroma
71
- * spread the syntax hues rely on to stay apart. To soften a code block, lower
192
+ * It also **pins the accent's saturation to 100**: the even, hue-independent ceiling
193
+ * is what pastel is for, and a second saturation scale on top of it would only undo
194
+ * that. Two paths, then pastel with no saturation knob, or `pastel: false` with a
195
+ * free 0–100 one.
196
+ *
197
+ * Which is why a lone `accent: { saturation }` picks the second path for you. State
198
+ * this field only to override that: it is the coarser of the two choices, so it wins
199
+ * wherever both are set, and a saturation it shadows is ignored with a dev warning.
200
+ *
201
+ * The same ceiling is why a color seed cannot render exactly under pastel — `#FFD400`
202
+ * softens to `#e4d8ad`. Under pastel a color contributes its hue and its tone; turn
203
+ * pastel off to get its chroma too.
204
+ *
205
+ * Every theme except `code`. The syntax family is calibrated on its own saturation and
206
+ * is deliberately left out — softening it collapses the chroma spread the syntax hues
207
+ * rely on to stay apart. To soften a code block, lower
72
208
  * {@link PaletteCodeSeed.saturation} instead.
73
209
  */
74
210
  pastel?: boolean;
75
211
  /**
76
- * Global. `'auto'` (the default) keeps the two-tier model: normal colors plus
77
- * a separate high-contrast tier driven by `<html data-contrast="high">` /
78
- * `prefers-contrast: more`.
79
- *
80
- * A number (0–100) replaces that switch with a slider — and, because a manual
81
- * level already carries the contrast preference, **drops the high-contrast
82
- * tier entirely**. `0` reproduces the normal output and `100` the
83
- * high-contrast output, bit for bit.
212
+ * Global. `'auto'` (the default) leaves contrast entirely to the two-tier model:
213
+ * normal colors plus a high-contrast tier driven by `<html data-contrast="high">`
214
+ * / `prefers-contrast: more`.
215
+ *
216
+ * A number (0–100) additionally positions the **normal** colors on a slider, so
217
+ * a product can offer its own contrast control. `0` is the shipped palette and
218
+ * `100` is the high-contrast one, bit for bit.
219
+ *
220
+ * The two **compose** rather than replace each other: the high-contrast tier
221
+ * stays the true high-contrast resolution at every level — identical to what
222
+ * `'auto'` emits — so a slider raises the baseline while
223
+ * `prefers-contrast: more` still escalates on top of it. The one exception is
224
+ * `100`, where the normal colors already *are* the high-contrast ones and a
225
+ * second tier would only duplicate them.
84
226
  */
85
227
  contrastLevel?: number | 'auto';
86
- /** Per-theme seed overrides. */
228
+ /**
229
+ * Per-theme seed overrides. Each status theme takes the same {@link PaletteSeed} the
230
+ * accent zone does, and inherits the accent's saturation until it sets its own.
231
+ *
232
+ * **As numbers** — `{ hue, saturation }`. Status hues have to stay semantically
233
+ * legible (danger red, warning amber, success green) and far enough apart from each
234
+ * other and from the brand to read as different things.
235
+ *
236
+ * **As a color** — the theme's accent family becomes that color, on the same terms
237
+ * {@link PaletteConfig.accent} sets: the light/normal-contrast variant reproduces it,
238
+ * the softened APCA floors apply instead of the white-anchored ladder's WCAG ones, and
239
+ * the tone is capped so the `#white` label every `type="primary"` item paints on the
240
+ * fill survives.
241
+ *
242
+ * Here the color's chroma **does** become the theme's seed saturation, unlike the
243
+ * accent's. Nothing inherits from a status theme, so there is nothing to
244
+ * re-chromatize — and it is what keeps the theme's tinted banner surface, border and
245
+ * text ramp at their shipped proportions to the fill instead of drifting relative to
246
+ * it.
247
+ */
87
248
  themes?: {
88
- success?: PaletteThemeSeed;
89
- danger?: PaletteThemeSeed;
90
- warning?: PaletteThemeSeed;
91
- note?: PaletteThemeSeed;
249
+ success?: PaletteSeed;
250
+ danger?: PaletteSeed;
251
+ warning?: PaletteSeed;
252
+ note?: PaletteSeed;
92
253
  code?: PaletteCodeSeed;
93
254
  };
94
255
  }
@@ -97,30 +258,95 @@ interface ResolvedPaletteConfig {
97
258
  hue: number;
98
259
  baseHue: number;
99
260
  saturation: number;
261
+ baseSaturation: number;
262
+ surfaceMode: SurfaceMode;
263
+ /**
264
+ * The accent color as given, handed to Glaze's `from` so the brand family renders
265
+ * as that literal value rather than as a shade re-derived from the seed.
266
+ *
267
+ * `null` — the common case — means no accent color was supplied and the family keeps
268
+ * its white-anchored derivation, which is the only arrangement that reproduces the
269
+ * shipped palette bit for bit.
270
+ */
271
+ accentColor: string | null;
272
+ /**
273
+ * The base color as given, or `null`.
274
+ *
275
+ * Nothing renders from it — the hue and the saturation it derives are what reach the
276
+ * palette. It is resolved anyway so {@link isSameConfig} can compare it, which is the
277
+ * only way a write that changes the *string* without changing either derived number
278
+ * still counts as a change. `MAX_BASE_SATURATION` makes that a live case rather than
279
+ * a theoretical one: every color above the clip on a given hue derives the same pair,
280
+ * so without this a color picker's whole upper range — and its entire tone axis, which
281
+ * a base color discards — would drop writes silently and leave the field stale.
282
+ */
283
+ baseColor: string | null;
284
+ /**
285
+ * The tone of {@link ResolvedPaletteConfig.accentColor}, or `null` alongside it.
286
+ *
287
+ * `from` carries the tone itself, so this exists for the one thing that needs the
288
+ * *number*: the hover brand text sits a fixed tone step past the rest one, and a
289
+ * step has to be computed.
290
+ */
291
+ accentTone: number | null;
292
+ /**
293
+ * The saturation of {@link ResolvedPaletteConfig.accentColor}, or `null` beside it.
294
+ *
295
+ * On the palette's 0–100 scale, like every other saturation here — and deliberately
296
+ * *not* the same number as {@link ResolvedPaletteConfig.saturation}, which a color
297
+ * never raises. The accent family gets this chroma through Glaze's `from`, where it is
298
+ * absolute; the seed stays where it was so the status themes that inherit it are left
299
+ * alone.
300
+ *
301
+ * Kept as a number because the accent seed is rebuilt from its three components rather
302
+ * than handed over as the literal: the tone is capped so a white label survives on the
303
+ * fill, and a capped tone means reconstructing the color anyway.
304
+ */
305
+ accentSaturation: number | null;
100
306
  pastel: boolean;
101
307
  contrastLevel: number | 'auto';
102
308
  themes: {
103
- success: {
104
- hue: number;
105
- saturation: number;
106
- };
107
- danger: {
108
- hue: number;
109
- saturation: number;
110
- };
111
- warning: {
112
- hue: number;
113
- saturation: number;
114
- };
115
- note: {
116
- hue: number;
117
- saturation: number;
118
- };
309
+ success: ResolvedThemeSeed;
310
+ danger: ResolvedThemeSeed;
311
+ warning: ResolvedThemeSeed;
312
+ note: ResolvedThemeSeed;
119
313
  code: {
120
314
  saturation: number;
121
315
  };
122
316
  };
123
317
  }
318
+ /** One status theme's seed, resolved. */
319
+ interface ResolvedThemeSeed {
320
+ hue: number;
321
+ /**
322
+ * The theme's Glaze seed, and a ceiling on every color in it.
323
+ *
324
+ * On the numeric path this inherits the accent's saturation until the theme pins its
325
+ * own. On the color path it **is** the color's chroma, which is what keeps the theme's
326
+ * tinted surface, border and text ramp at their shipped proportions to a fill whose
327
+ * chroma arrives absolute through `from`. See {@link PaletteConfig.themes} for why the
328
+ * accent zone does the opposite.
329
+ */
330
+ saturation: number;
331
+ /**
332
+ * The color as given, handed to Glaze's `from` so this theme's accent family renders
333
+ * as that literal value rather than as a shade re-derived from the seed.
334
+ *
335
+ * `null` — the common case — means the theme is on the numeric path and its accent
336
+ * family keeps the white-anchored derivation, which is the only arrangement that
337
+ * reproduces the shipped palette bit for bit.
338
+ */
339
+ color: string | null;
340
+ /**
341
+ * The tone of {@link ResolvedThemeSeed.color}, or `null` alongside it.
342
+ *
343
+ * `from` carries the tone itself, so this exists for the two things that need the
344
+ * *number*: the hover brand text sits a fixed tone step past the rest one, and the
345
+ * tone is capped so the `#white` label a `type="primary"` item paints on the fill
346
+ * survives. Both are arithmetic, and neither can be done to a string.
347
+ */
348
+ colorTone: number | null;
349
+ }
124
350
  /**
125
351
  * The palette as it ships, with no tuning applied. Frozen — it is the baseline
126
352
  * every resolution falls back to, so a stray write to it would move the defaults
@@ -136,8 +362,8 @@ declare const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig;
136
362
  * object, and re-applying the same object twice is the same as applying it once.
137
363
  *
138
364
  * ```ts
139
- * setPaletteConfig({ hue: 200, baseHue: 60 });
140
- * setPaletteConfig({ hue: 200 }); // baseHue is gone — back to inheriting `hue`
365
+ * setPaletteConfig({ accent: { hue: 200 }, base: { hue: 60 } });
366
+ * setPaletteConfig({ accent: { hue: 200 } }); // `base` is gone — follows accent again
141
367
  * ```
142
368
  *
143
369
  * To adjust one field of the config already in place — a slider in a settings UI —
@@ -145,7 +371,7 @@ declare const DEFAULT_PALETTE_CONFIG: ResolvedPaletteConfig;
145
371
  * preserves which fields are pinned and which still inherit:
146
372
  *
147
373
  * ```ts
148
- * setPaletteConfig((config) => ({ ...config, hue: 200 }));
374
+ * setPaletteConfig((config) => ({ ...config, accent: { hue: 200 } }));
149
375
  * ```
150
376
  *
151
377
  * The palette is rebuilt lazily on the next token read, and any mounted `<Root>`
@@ -178,10 +404,10 @@ declare function getPaletteConfig(): ResolvedPaletteConfig;
178
404
  * to offer a way back:
179
405
  *
180
406
  * ```ts
181
- * const pinned = getPaletteConfigInput().baseHue !== undefined;
407
+ * const own = getPaletteConfigInput().base !== undefined;
182
408
  *
183
409
  * // Re-link it to the brand by dropping the field.
184
- * setPaletteConfig(({ baseHue, ...config }) => config);
410
+ * setPaletteConfig(({ base, ...config }) => config);
185
411
  * ```
186
412
  *
187
413
  * It is also the value handed to a {@link setPaletteConfig} updater.
@@ -213,17 +439,18 @@ declare function usePaletteVersion(): number;
213
439
  *
214
440
  * <HueSlider
215
441
  * value={palette.hue}
216
- * onChange={(hue) => setPalette((config) => ({ ...config, hue }))}
442
+ * onChange={(hue) => setPalette((config) => ({ ...config, accent: { hue } }))}
217
443
  * />
218
444
  * ```
219
445
  *
220
- * The first element is the *resolved* config, so `palette.hue` is always a number.
221
- * The updater's argument is the sparse one see {@link getPaletteConfigInput}.
446
+ * The first element is the *resolved* config, so `palette.hue` is always a number — it
447
+ * keeps the flat shape the recipe reads, whichever way the zones were seeded. The
448
+ * updater's argument is the sparse one — see {@link getPaletteConfigInput}.
222
449
  *
223
450
  * The config is global process state, so every consumer of this hook — and every
224
451
  * mounted `<Root>` — sees the same palette.
225
452
  */
226
453
  declare function usePaletteConfig(): readonly [ResolvedPaletteConfig, typeof setPaletteConfig];
227
454
  //#endregion
228
- export { DEFAULT_PALETTE_CONFIG, PaletteCodeSeed, PaletteConfig, PaletteThemeName, PaletteThemeSeed, ResolvedPaletteConfig, getPaletteConfig, getPaletteConfigInput, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
455
+ export { DEFAULT_PALETTE_CONFIG, MAX_BASE_SATURATION, PaletteCodeSeed, PaletteConfig, PaletteNumericSeed, PaletteSeed, PaletteThemeName, ResolvedPaletteConfig, ResolvedThemeSeed, SurfaceMode, getPaletteConfig, getPaletteConfigInput, invalidatePaletteTokens, resetPaletteConfig, resolvePaletteConfig, setPaletteConfig, subscribePaletteConfig, usePaletteConfig, usePaletteVersion };
229
456
  //# sourceMappingURL=palette-config.d.ts.map