@cube-dev/ui-kit 0.137.1 → 0.138.1

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 (470) hide show
  1. package/dist/CHANGELOG.md +25 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +54 -43
  14. package/dist/components/GlobalStyles.js.map +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +9 -4
  18. package/dist/components/Root.js.map +1 -1
  19. package/dist/components/actions/Action/Action.js +1 -1
  20. package/dist/components/actions/Banner/Banner.js +1 -1
  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 +3 -3
  27. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  28. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  29. package/dist/components/actions/ItemActionContext.js +1 -1
  30. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/dist/components/actions/Link/Link.js +1 -1
  32. package/dist/components/actions/Menu/Menu.js +1 -1
  33. package/dist/components/actions/Menu/MenuItem.js +1 -1
  34. package/dist/components/actions/Menu/MenuSection.js +1 -1
  35. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  37. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  38. package/dist/components/actions/Menu/context.js +1 -1
  39. package/dist/components/actions/Menu/styled.js +5 -5
  40. package/dist/components/actions/Menu/styled.js.map +1 -1
  41. package/dist/components/actions/index.js +1 -1
  42. package/dist/components/actions/use-action.js +1 -1
  43. package/dist/components/actions/use-anchored-menu.js +1 -1
  44. package/dist/components/actions/use-context-menu.js +1 -1
  45. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  46. package/dist/components/content/Alert/Alert.js +1 -1
  47. package/dist/components/content/Alert/use-alert.js +1 -1
  48. package/dist/components/content/Avatar/Avatar.js +1 -1
  49. package/dist/components/content/Badge/Badge.js +1 -1
  50. package/dist/components/content/Card/Card.js +2 -2
  51. package/dist/components/content/Card/Card.js.map +1 -1
  52. package/dist/components/content/Content.js +1 -1
  53. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  55. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  56. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  57. package/dist/components/content/Divider.js +1 -1
  58. package/dist/components/content/Footer.js +1 -1
  59. package/dist/components/content/Header.js +1 -1
  60. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  61. package/dist/components/content/InlineInput/InlineInput.js +1 -1
  62. package/dist/components/content/Item/Item.js +2 -2
  63. package/dist/components/content/Item/Item.js.map +1 -1
  64. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  65. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  66. package/dist/components/content/Layout/GridLayout.js +1 -1
  67. package/dist/components/content/Layout/Layout.js +1 -1
  68. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  69. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  70. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  71. package/dist/components/content/Layout/LayoutContent.js +1 -1
  72. package/dist/components/content/Layout/LayoutContext.js +1 -1
  73. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  74. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  75. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  76. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutPane.js +2 -2
  78. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  79. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  80. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  81. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  82. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  83. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  84. package/dist/components/content/Layout/index.js +1 -1
  85. package/dist/components/content/Layout/utils.js +1 -1
  86. package/dist/components/content/Paragraph.js +1 -1
  87. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  88. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  89. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  90. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  91. package/dist/components/content/Result/Result.js +1 -1
  92. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  93. package/dist/components/content/Tag/Tag.js +1 -1
  94. package/dist/components/content/Text.js +1 -1
  95. package/dist/components/content/TextItem/TextItem.js +1 -1
  96. package/dist/components/content/Title.js +1 -1
  97. package/dist/components/content/Tree/Tree.js +1 -1
  98. package/dist/components/content/Tree/TreeNode.js +1 -1
  99. package/dist/components/content/Tree/styled.js +1 -1
  100. package/dist/components/content/Tree/tree-index.js +1 -1
  101. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  102. package/dist/components/content/Tree/use-load-data.js +1 -1
  103. package/dist/components/content/highlightText.js +1 -1
  104. package/dist/components/content/use-auto-tooltip.js +1 -1
  105. package/dist/components/fields/Checkbox/Checkbox.js +5 -5
  106. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  107. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/dist/components/fields/Checkbox/context.js +1 -1
  109. package/dist/components/fields/ComboBox/ComboBox.js +2 -2
  110. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  111. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  112. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  113. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  114. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  117. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  118. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  119. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  120. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  121. package/dist/components/fields/DatePicker/intl.js +1 -1
  122. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  123. package/dist/components/fields/DatePicker/props.js +1 -1
  124. package/dist/components/fields/DatePicker/utils.js +1 -1
  125. package/dist/components/fields/FileInput/FileInput.js +3 -3
  126. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  127. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  128. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  129. package/dist/components/fields/Input/Input.js +1 -1
  130. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  131. package/dist/components/fields/ListBox/ListBox.js +6 -6
  132. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  133. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  134. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  135. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  136. package/dist/components/fields/Picker/Picker.js +1 -1
  137. package/dist/components/fields/RadioGroup/Radio.js +4 -4
  138. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  139. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  140. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  141. package/dist/components/fields/RadioGroup/context.js +1 -1
  142. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  143. package/dist/components/fields/Select/Select.js +5 -5
  144. package/dist/components/fields/Select/Select.js.map +1 -1
  145. package/dist/components/fields/Slider/Gradation.js +1 -1
  146. package/dist/components/fields/Slider/HueSlider.js +1 -1
  147. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  148. package/dist/components/fields/Slider/Slider.js +1 -1
  149. package/dist/components/fields/Slider/SliderBase.js +1 -1
  150. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  151. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  152. package/dist/components/fields/Slider/elements.js +3 -3
  153. package/dist/components/fields/Slider/elements.js.map +1 -1
  154. package/dist/components/fields/Slider/index.js +1 -1
  155. package/dist/components/fields/Switch/Switch.js +2 -2
  156. package/dist/components/fields/Switch/Switch.js.map +1 -1
  157. package/dist/components/fields/TextArea/TextArea.js +1 -1
  158. package/dist/components/fields/TextInput/TextInput.js +1 -1
  159. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  160. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  161. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  162. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  163. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  164. package/dist/components/form/Form/Field.js +1 -1
  165. package/dist/components/form/Form/Form.js +1 -1
  166. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  167. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  168. package/dist/components/form/Form/SubmitError.js +1 -1
  169. package/dist/components/form/Form/index.js +1 -1
  170. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  171. package/dist/components/form/Form/use-field/use-field.js +1 -1
  172. package/dist/components/form/Form/use-form.js +1 -1
  173. package/dist/components/form/Form/validation.js +1 -1
  174. package/dist/components/form/Label.js +1 -1
  175. package/dist/components/form/wrapper.js +1 -1
  176. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  177. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  178. package/dist/components/layout/Flex.js +1 -1
  179. package/dist/components/layout/Flow.js +1 -1
  180. package/dist/components/layout/Grid.js +1 -1
  181. package/dist/components/layout/Panel.js +1 -1
  182. package/dist/components/layout/Prefix.js +1 -1
  183. package/dist/components/layout/ResizablePanel.js +2 -2
  184. package/dist/components/layout/ResizablePanel.js.map +1 -1
  185. package/dist/components/layout/Space.js +1 -1
  186. package/dist/components/layout/Suffix.js +1 -1
  187. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  188. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  189. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  190. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  191. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  192. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  193. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  194. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  195. package/dist/components/navigation/Tabs/styled.js +3 -3
  196. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  197. package/dist/components/navigation/Tabs/types.js +1 -1
  198. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  199. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  200. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  201. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  202. package/dist/components/organisms/StatsCard/StatsCard.js +2 -2
  203. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  204. package/dist/components/other/Calendar/Calendar.js +1 -1
  205. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  206. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  207. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  208. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  209. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  210. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  211. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  212. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  213. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  214. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  215. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  216. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  217. package/dist/components/overlays/Dialog/context.js +1 -1
  218. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  219. package/dist/components/overlays/Modal/Modal.js +1 -1
  220. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  221. package/dist/components/overlays/Modal/Overlay.js +1 -1
  222. package/dist/components/overlays/Modal/Popover.js +1 -1
  223. package/dist/components/overlays/Modal/Tray.js +1 -1
  224. package/dist/components/overlays/Modal/Underlay.js +1 -1
  225. package/dist/components/overlays/Notifications/Notification.js +1 -1
  226. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  227. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  228. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  229. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  230. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  231. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  232. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  233. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  234. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  235. package/dist/components/overlays/Notifications/index.js +1 -1
  236. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  237. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  238. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  239. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  240. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  241. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  242. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  243. package/dist/components/overlays/Toast/index.js +1 -1
  244. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  245. package/dist/components/overlays/Toast/useToast.js +1 -1
  246. package/dist/components/overlays/Tooltip/Tooltip.js +7 -7
  247. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  248. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  249. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  250. package/dist/components/overlays/Tooltip/context.js +1 -1
  251. package/dist/components/portal/Portal.js +1 -1
  252. package/dist/components/portal/PortalProvider.js +1 -1
  253. package/dist/components/portal/usePortal.js +1 -1
  254. package/dist/components/shared/DraggableCollection.js +1 -1
  255. package/dist/components/shared/InvalidIcon.js +1 -1
  256. package/dist/components/shared/ValidIcon.js +1 -1
  257. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +23 -7
  258. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  259. package/dist/components/status/Spin/Cube.js +1 -1
  260. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  261. package/dist/components/status/Spin/Spin.js +1 -1
  262. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  263. package/dist/data/item-themes.js +114 -115
  264. package/dist/data/item-themes.js.map +1 -1
  265. package/dist/data/themes.d.ts +17 -17
  266. package/dist/data/themes.js +18 -18
  267. package/dist/data/themes.js.map +1 -1
  268. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  269. package/dist/icons/AdjustmentsIcon.js +1 -1
  270. package/dist/icons/AiIcon.js +1 -1
  271. package/dist/icons/AreaChartIcon.js +1 -1
  272. package/dist/icons/BackwardIcon.js +1 -1
  273. package/dist/icons/BarChartIcon.js +1 -1
  274. package/dist/icons/BellFilledIcon.js +1 -1
  275. package/dist/icons/BellIcon.js +1 -1
  276. package/dist/icons/BooleanIcon.js +1 -1
  277. package/dist/icons/CalendarEditIcon.js +1 -1
  278. package/dist/icons/CalendarIcon.js +1 -1
  279. package/dist/icons/CaretDownIcon.js +1 -1
  280. package/dist/icons/CaretUpIcon.js +1 -1
  281. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  282. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  283. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  284. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  285. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  286. package/dist/icons/ChartBarLineIcon.js +1 -1
  287. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  288. package/dist/icons/ChartBarStackedIcon.js +1 -1
  289. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  290. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  291. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  292. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  293. package/dist/icons/ChartBubbleIcon.js +1 -1
  294. package/dist/icons/ChartDonut2Icon.js +1 -1
  295. package/dist/icons/ChartFunnelIcon.js +1 -1
  296. package/dist/icons/ChartHeatmapIcon.js +1 -1
  297. package/dist/icons/ChartKPIIcon.js +1 -1
  298. package/dist/icons/ChartPie2Icon.js +1 -1
  299. package/dist/icons/ChartScatterIcon.js +1 -1
  300. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  301. package/dist/icons/CheckCircleIcon.js +1 -1
  302. package/dist/icons/CheckIcon.js +1 -1
  303. package/dist/icons/CircleFilledIcon.js +1 -1
  304. package/dist/icons/ClearIcon.js +1 -1
  305. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  306. package/dist/icons/CloseCircleIcon.js +1 -1
  307. package/dist/icons/CloseIcon.js +1 -1
  308. package/dist/icons/CodeIcon.js +1 -1
  309. package/dist/icons/ColumnTotalIcon.js +1 -1
  310. package/dist/icons/CopyIcon.js +1 -1
  311. package/dist/icons/CountIcon.js +1 -1
  312. package/dist/icons/CubeIcon.js +1 -1
  313. package/dist/icons/CubePauseIcon.js +1 -1
  314. package/dist/icons/CubePlayIcon.js +1 -1
  315. package/dist/icons/CurrencyDollarIcon.js +1 -1
  316. package/dist/icons/DangerIcon.js +1 -1
  317. package/dist/icons/DashboardIcon.js +1 -1
  318. package/dist/icons/DatabaseIcon.js +1 -1
  319. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  320. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  321. package/dist/icons/DirectionIcon.js +1 -1
  322. package/dist/icons/DonutIcon.js +1 -1
  323. package/dist/icons/DownIcon.js +1 -1
  324. package/dist/icons/EditIcon.js +1 -1
  325. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  326. package/dist/icons/ExclamationCircleIcon.js +1 -1
  327. package/dist/icons/ExclamationIcon.js +1 -1
  328. package/dist/icons/EyeIcon.js +1 -1
  329. package/dist/icons/EyeInvisibleIcon.js +1 -1
  330. package/dist/icons/FilterIcon.js +1 -1
  331. package/dist/icons/FolderFilledIcon.js +1 -1
  332. package/dist/icons/FolderIcon.js +1 -1
  333. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  334. package/dist/icons/FolderOpenIcon.js +1 -1
  335. package/dist/icons/ForwardIcon.js +1 -1
  336. package/dist/icons/GripVerticalIcon.js +1 -1
  337. package/dist/icons/HierarchyIcon.js +1 -1
  338. package/dist/icons/HierarchyOpenIcon.js +1 -1
  339. package/dist/icons/Icon.js +1 -1
  340. package/dist/icons/InfoCircleIcon.js +1 -1
  341. package/dist/icons/InfoIcon.js +1 -1
  342. package/dist/icons/KeyIcon.js +1 -1
  343. package/dist/icons/LeftIcon.js +1 -1
  344. package/dist/icons/LineChartIcon.js +1 -1
  345. package/dist/icons/LoadingIcon.js +1 -1
  346. package/dist/icons/LockFilledIcon.js +1 -1
  347. package/dist/icons/LockIcon.js +1 -1
  348. package/dist/icons/MoreIcon.js +1 -1
  349. package/dist/icons/NotAllowedIcon.js +1 -1
  350. package/dist/icons/Number123Icon.js +1 -1
  351. package/dist/icons/NumberIcon.js +1 -1
  352. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  353. package/dist/icons/PauseCircleIcon.js +1 -1
  354. package/dist/icons/PauseIcon.js +1 -1
  355. package/dist/icons/PercentageIcon.js +1 -1
  356. package/dist/icons/PieChartIcon.js +1 -1
  357. package/dist/icons/PlayCircleIcon.js +1 -1
  358. package/dist/icons/PlayIcon.js +1 -1
  359. package/dist/icons/PlusIcon.js +1 -1
  360. package/dist/icons/ProgressBarIcon.js +1 -1
  361. package/dist/icons/ReloadIcon.js +1 -1
  362. package/dist/icons/ReportIcon.js +1 -1
  363. package/dist/icons/ReturnIcon.js +1 -1
  364. package/dist/icons/RightIcon.js +1 -1
  365. package/dist/icons/RowTotalsIcon.js +1 -1
  366. package/dist/icons/SchemeIcon.js +1 -1
  367. package/dist/icons/SearchIcon.js +1 -1
  368. package/dist/icons/SemanticQueryIcon.js +1 -1
  369. package/dist/icons/SettingsIcon.js +1 -1
  370. package/dist/icons/ShieldFilledIcon.js +1 -1
  371. package/dist/icons/ShieldIcon.js +1 -1
  372. package/dist/icons/SlashIcon.js +1 -1
  373. package/dist/icons/SparklesIcon.js +1 -1
  374. package/dist/icons/SqlIcon.js +1 -1
  375. package/dist/icons/StatsIcon.js +1 -1
  376. package/dist/icons/StopIcon.js +1 -1
  377. package/dist/icons/StringIcon.js +1 -1
  378. package/dist/icons/SubtotalsIcon.js +1 -1
  379. package/dist/icons/SwitchIcon.js +1 -1
  380. package/dist/icons/TableIcon.js +1 -1
  381. package/dist/icons/ThumbsDownIcon.js +1 -1
  382. package/dist/icons/ThumbsUpIcon.js +1 -1
  383. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  384. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  385. package/dist/icons/ThunderboltIcon.js +1 -1
  386. package/dist/icons/TimeIcon.js +1 -1
  387. package/dist/icons/TrashIcon.js +1 -1
  388. package/dist/icons/UnlockIcon.js +1 -1
  389. package/dist/icons/UpIcon.js +1 -1
  390. package/dist/icons/UserGroupIcon.js +1 -1
  391. package/dist/icons/UserIcon.js +1 -1
  392. package/dist/icons/UserLockIcon.js +1 -1
  393. package/dist/icons/ViewIcon.js +1 -1
  394. package/dist/icons/WarningFilledIcon.js +1 -1
  395. package/dist/icons/WarningIcon.js +1 -1
  396. package/dist/icons/wrap-icon.js +1 -1
  397. package/dist/index.d.ts +1 -0
  398. package/dist/index.js +3 -1
  399. package/dist/index.js.map +1 -1
  400. package/dist/provider.js +1 -1
  401. package/dist/providers/TrackingProvider.js +1 -1
  402. package/dist/providers/navigationAdapter.default.js +1 -1
  403. package/dist/tokens/base.js +1 -1
  404. package/dist/tokens/colors.d.ts +4 -3
  405. package/dist/tokens/colors.js +93 -83
  406. package/dist/tokens/colors.js.map +1 -1
  407. package/dist/tokens/index.js +1 -1
  408. package/dist/tokens/layout.js +1 -1
  409. package/dist/tokens/palette.js +364 -0
  410. package/dist/tokens/palette.js.map +1 -0
  411. package/dist/tokens/shadows.d.ts +4 -1
  412. package/dist/tokens/shadows.js +9 -6
  413. package/dist/tokens/shadows.js.map +1 -1
  414. package/dist/tokens/sizes.js +1 -1
  415. package/dist/tokens/spacing.js +1 -1
  416. package/dist/tokens/typography.js +1 -1
  417. package/dist/utils/ResizeSensor.js +1 -1
  418. package/dist/utils/is-dev-env.js +1 -1
  419. package/dist/utils/modules.js +1 -1
  420. package/dist/utils/promise.js +1 -1
  421. package/dist/utils/raf.js +1 -1
  422. package/dist/utils/random.js +1 -1
  423. package/dist/utils/range.js +1 -1
  424. package/dist/utils/react/RenderCache.js +1 -1
  425. package/dist/utils/react/Slots.js +1 -1
  426. package/dist/utils/react/chain.js +1 -1
  427. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  428. package/dist/utils/react/index.js +1 -1
  429. package/dist/utils/react/interactions.js +1 -1
  430. package/dist/utils/react/isTextOnly.js +1 -1
  431. package/dist/utils/react/mapProps.js +1 -1
  432. package/dist/utils/react/mergeProps.js +1 -1
  433. package/dist/utils/react/nullableValue.js +1 -1
  434. package/dist/utils/react/resolveIcon.js +1 -1
  435. package/dist/utils/react/sharedStore.js +1 -1
  436. package/dist/utils/react/useCombinedRefs.js +1 -1
  437. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  438. package/dist/utils/react/useEventBus.js +1 -1
  439. package/dist/utils/react/useId.js +1 -1
  440. package/dist/utils/react/useIsDarwin.js +1 -1
  441. package/dist/utils/react/useKeySymbols.js +1 -1
  442. package/dist/utils/react/useLayoutEffect.js +1 -1
  443. package/dist/utils/react/useLocalStorage.js +1 -1
  444. package/dist/utils/react/useMergeStyles.js +1 -1
  445. package/dist/utils/react/usePopoverSync.js +1 -1
  446. package/dist/utils/react/useQaProps.js +1 -1
  447. package/dist/utils/react/useViewportSize.js +1 -1
  448. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  449. package/dist/utils/selection.js +1 -1
  450. package/dist/utils/styles.js +1 -1
  451. package/dist/utils/tree.js +1 -1
  452. package/dist/utils/warnings.js +1 -1
  453. package/dist/version.d.ts +3 -0
  454. package/dist/version.js +13 -5
  455. package/dist/version.js.map +1 -1
  456. package/docs/Usage.md +98 -30
  457. package/docs/components/content/Card.md +1 -1
  458. package/docs/components/content/PrismCode.md +21 -0
  459. package/docs/components/form/Field.md +1 -1
  460. package/docs/components/layout/ResizablePanel.md +1 -1
  461. package/docs/components/organisms/FileTabs.md +1 -1
  462. package/docs/components/organisms/StatsCard.md +1 -1
  463. package/docs/tasty/configuration.md +44 -0
  464. package/docs/tasty/dsl.md +14 -13
  465. package/docs/tasty/methodology.md +26 -0
  466. package/docs/tasty/react-api.md +24 -0
  467. package/docs/tasty/ssr.md +5 -3
  468. package/docs/tasty/styles.md +9 -7
  469. package/docs/tasty/tasty-static.md +15 -0
  470. package/package.json +8 -6
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { useEventBus } from "./useEventBus.js";
3
3
  import { useEffect, useRef } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.d.ts CHANGED
@@ -4,9 +4,12 @@ declare global {
4
4
  interface Window {
5
5
  CubeUIKit: {
6
6
  version: string;
7
+ tastyVersion: string;
7
8
  };
8
9
  }
9
10
  /** Replaced at build time by tsdown `define` */
10
11
  const __UIKIT_VERSION__: string;
12
+ /** Replaced at build time by tsdown `define` */
13
+ const __TASTY_VERSION__: string;
11
14
  }
12
15
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,13 +1,21 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.137.1";
3
+ const VERSION = "0.138.1";
4
+ const TASTY_VERSION = "2.6.1";
4
5
  if (typeof window !== "undefined") {
5
6
  const version = VERSION;
6
- window.CubeUIKit = window.CubeUIKit || { version };
7
+ const tastyVersion = TASTY_VERSION;
8
+ window.CubeUIKit = window.CubeUIKit || {
9
+ version,
10
+ tastyVersion
11
+ };
7
12
  if (window.CubeUIKit.version && window.CubeUIKit.version !== version) console.error("More than one version of CubeUIKit is loaded", { loadedVersions: [window.CubeUIKit.version, version] });
8
- else window.CubeUIKit.version = version;
13
+ else {
14
+ window.CubeUIKit.version = version;
15
+ window.CubeUIKit.tastyVersion = tastyVersion;
16
+ }
9
17
  }
10
18
 
11
19
  //#endregion
12
- export { VERSION };
20
+ export { TASTY_VERSION, VERSION };
13
21
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","names":[],"sources":["../src/version.ts"],"sourcesContent":["declare global {\n interface Window {\n CubeUIKit: {\n version: string;\n };\n }\n\n /** Replaced at build time by tsdown `define` */\n const __UIKIT_VERSION__: string;\n}\n\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const VERSION: string = __UIKIT_VERSION__;\n\nif (typeof window !== 'undefined') {\n const version = VERSION;\n\n // Ensure CubeUIKit is defined on window in a way bundlers recognize\n window.CubeUIKit = window.CubeUIKit || { version };\n\n // Check for multiple versions\n if (window.CubeUIKit.version && window.CubeUIKit.version !== version) {\n console.error('More than one version of CubeUIKit is loaded', {\n loadedVersions: [window.CubeUIKit.version, version],\n });\n } else {\n // Set version if not already set\n window.CubeUIKit.version = version;\n }\n}\n"],"mappings":";;AAYA,MAAa;AAEb,IAAI,OAAO,WAAW,aAAa;CACjC,MAAM,UAAU;AAGhB,QAAO,YAAY,OAAO,aAAa,EAAE,SAAS;AAGlD,KAAI,OAAO,UAAU,WAAW,OAAO,UAAU,YAAY,QAC3D,SAAQ,MAAM,gDAAgD,EAC5D,gBAAgB,CAAC,OAAO,UAAU,SAAS,QAAQ,EACpD,CAAC;KAGF,QAAO,UAAU,UAAU"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../src/version.ts"],"sourcesContent":["declare global {\n interface Window {\n CubeUIKit: {\n version: string;\n tastyVersion: string;\n };\n }\n\n /** Replaced at build time by tsdown `define` */\n const __UIKIT_VERSION__: string;\n /** Replaced at build time by tsdown `define` */\n const __TASTY_VERSION__: string;\n}\n\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const VERSION: string = __UIKIT_VERSION__;\n// eslint-disable-next-line no-undef -- replaced at build time by tsdown `define`\nexport const TASTY_VERSION: string = __TASTY_VERSION__;\n\nif (typeof window !== 'undefined') {\n const version = VERSION;\n const tastyVersion = TASTY_VERSION;\n\n // Ensure CubeUIKit is defined on window in a way bundlers recognize\n window.CubeUIKit = window.CubeUIKit || { version, tastyVersion };\n\n // Check for multiple versions\n if (window.CubeUIKit.version && window.CubeUIKit.version !== version) {\n console.error('More than one version of CubeUIKit is loaded', {\n loadedVersions: [window.CubeUIKit.version, version],\n });\n } else {\n window.CubeUIKit.version = version;\n window.CubeUIKit.tastyVersion = tastyVersion;\n }\n}\n"],"mappings":";;AAeA,MAAa;AAEb,MAAa;AAEb,IAAI,OAAO,WAAW,aAAa;CACjC,MAAM,UAAU;CAChB,MAAM,eAAe;AAGrB,QAAO,YAAY,OAAO,aAAa;EAAE;EAAS;EAAc;AAGhE,KAAI,OAAO,UAAU,WAAW,OAAO,UAAU,YAAY,QAC3D,SAAQ,MAAM,gDAAgD,EAC5D,gBAAgB,CAAC,OAAO,UAAU,SAAS,QAAQ,EACpD,CAAC;MACG;AACL,SAAO,UAAU,UAAU;AAC3B,SAAO,UAAU,eAAe"}
package/docs/Usage.md CHANGED
@@ -69,13 +69,14 @@ Defined in `src/tokens/sizes.ts`. Used for component heights and icon sizes.
69
69
 
70
70
  ## Shadow Tokens
71
71
 
72
- Defined in `src/tokens/shadows.ts`.
72
+ Defined in `src/tokens/shadows.ts`. Shadow colors (`#shadow-sm`, `#shadow-md`, `#shadow-lg`) are generated by Glaze and adapt automatically to dark / high-contrast schemes.
73
73
 
74
74
  | Token | Value |
75
75
  |-------|-------|
76
- | `$item-shadow` | `0 1bw 0.375x #dark.15` |
77
- | `$card-shadow` | `0 0.5x 2x #shadow` |
78
- | `$dialog-shadow` | `0 1x 4x #dark.15` |
76
+ | `$item-shadow` | `0 1bw 0.375x #shadow-sm` |
77
+ | `$card-shadow` | `0 0.5x 2x #shadow-md` |
78
+ | `$shadow` | `0 0.5x 2x #shadow-md` |
79
+ | `$dialog-shadow` | `0 1x 4x #shadow-lg` |
79
80
 
80
81
  ## Layout Tokens
81
82
 
@@ -89,43 +90,110 @@ Defined in `src/tokens/layout.ts`.
89
90
 
90
91
  ## Color Tokens
91
92
 
92
- All color tokens use `#name` syntax in styles. Opacity variants use `#name.NN` (e.g. `#dark.06` for 6% opacity). Defined in `src/tokens/colors.ts`.
93
+ All color tokens use `#name` syntax in styles. Opacity variants use `#name.NN` (e.g. `#surface-text.06` for 6% opacity).
93
94
 
94
- ### Base Colors
95
+ The palette is generated by [`@tenphi/glaze`](https://github.com/tenphi/glaze) (see `src/tokens/palette.ts`). Every color token is emitted as a state map with `light`, `@dark`, and `@hc` (high-contrast) variants, so the entire UI Kit adapts to dark / high-contrast schemes automatically.
95
96
 
96
- | Token | Description |
97
- |-------|-------------|
98
- | `#white`, `#black`, `#clear` | Absolute white, black, and transparent |
99
- | `#text` | Default text color |
97
+ ### Color Schemes
98
+
99
+ The `@dark` and `@hc` predefined states are wired up in `src/components/Root.tsx` to support both an attribute opt-in and the user's system preference:
100
+
101
+ ```html
102
+ <!-- Force dark scheme -->
103
+ <html data-schema="dark">
104
+
105
+ <!-- Force high-contrast scheme -->
106
+ <html data-contrast="high">
107
+
108
+ <!-- Both can be combined -->
109
+ <html data-schema="dark" data-contrast="high">
110
+ ```
111
+
112
+ When the attribute is absent, the scheme falls back to `@media (prefers-color-scheme: dark)` and `@media (prefers-contrast: more)`.
113
+
114
+ ### Surface & Text Vocabulary
115
+
116
+ The neutral palette uses a `surface` / `surface-text` model. Each surface depth has its own AAA text color, plus a soft (AA) variant for secondary copy:
117
+
118
+ | Token | Role |
119
+ |-------|------|
120
+ | `#surface` | Primary background |
121
+ | `#surface-2` | Slightly recessed background (cards, inputs) |
122
+ | `#surface-3` | Deepest background (panels, code blocks) |
123
+ | `#surface-text` | AAA text on `#surface` |
124
+ | `#surface-text-soft` | AA text on `#surface` (secondary copy, body text) |
125
+ | `#surface-text-soft-2` | AA-large text on `#surface` (placeholders, captions) |
126
+ | `#surface-2-text`, `#surface-2-text-soft` | Same scale, anchored to `#surface-2` |
127
+ | `#surface-3-text`, `#surface-3-text-soft` | Same scale, anchored to `#surface-3` |
128
+
129
+ ### Other Neutral Tokens
130
+
131
+ | Token | Role |
132
+ |-------|------|
100
133
  | `#border` | Default border color |
101
134
  | `#placeholder` | Input placeholder text |
102
- | `#shadow` | Shadow color |
103
- | `#minor` | Secondary/muted text |
104
135
  | `#focus` | Focus ring color |
105
- | `#pink` | Accent pink |
106
- | `#light` | Light background |
107
-
108
- ### Semantic Color Groups
136
+ | `#disabled` | Disabled state fill / text |
137
+ | `#pink` | Accent pink (independent hue) |
138
+ | `#shadow-sm` / `#shadow-md` / `#shadow-lg` | Tinted shadow colors (used by `$*-shadow` tokens) |
139
+ | `#overlay` | Dim backdrop (50% transparent) |
140
+ | `#clear` | `transparent` |
109
141
 
110
- Each semantic group provides a base color and variants following the pattern: `#name`, `#name-text`, `#name-bg`, `#name-icon`, `#name-desaturated`, `#name-disabled`.
142
+ ### Accent System
111
143
 
112
- | Group | Hue | Purpose |
113
- |-------|-----|---------|
114
- | `#primary` / `#purple` | 280.3° | Primary actions, brand color |
115
- | `#danger` | 23.1° | Errors, destructive actions |
116
- | `#success` | 156.9° | Success states, confirmations |
117
- | `#warning` | 84.3° | Warning states, caution |
118
- | `#note` | 302.3° | Informational notes |
144
+ Each themed color (default, primary, success, danger, warning, note) provides an `accent-*` family anchored to a fixed white "accent surface text". These tokens stay recognizable across schemes (used for branded buttons, CTAs, etc.):
119
145
 
120
- ### Neutral Scales
146
+ | Token (default theme; prefixed in others) | Role |
147
+ |-------|------|
148
+ | `#accent-surface` | Saturated brand fill (button bg) |
149
+ | `#accent-surface-2`, `#accent-surface-3` | Darker / more saturated variants |
150
+ | `#accent-surface-text` | Near-white text on accent fill |
151
+ | `#accent-text` | Saturated colored text (used on neutral surface) |
152
+ | `#accent-icon` | Saturated colored icon |
121
153
 
122
- **Dark scale:** `#dark`, `#dark-01` through `#dark-05` neutral scale from near-black to light gray. **Surfaces:** `#surface`, `#surface-2`, `#surface-3` — layered UI backgrounds.
154
+ In the `default` theme these tokens are unprefixed (`#accent-surface`). In colored themes they are prefixed (`#success-accent-surface`, `#danger-accent-text`, …).
123
155
 
124
- **Purple scale:** `#purple-01` through `#purple-04` — additional purple shades for gradients and accents.
156
+ ### Themed Surfaces
125
157
 
126
- ### Disabled Colors
158
+ Each colored theme (`primary`, `purple`, `success`, `danger`, `warning`, `note`) also provides its own tinted `<theme>-surface` (banner / chip background) and `<theme>-surface-text` (banner text):
127
159
 
128
- `#disabled`, `#disabled-text`, `#disabled-bg` dedicated colors for disabled UI elements.
160
+ | Group | Hue | Purpose |
161
+ |-------|-----|---------|
162
+ | `#primary-*` / `#purple-*` | 280.3° | Primary actions, brand color |
163
+ | `#success-*` | 156.9° | Success states, confirmations |
164
+ | `#danger-*` | 23.1° | Errors, destructive actions |
165
+ | `#warning-*` | 84.3° | Warning states, caution |
166
+ | `#note-*` | 302.3° | Informational notes |
167
+
168
+ For example, a success banner uses `fill: '#success-surface'` + `color: '#success-surface-text'`, while a primary button uses `fill: '#primary-accent-surface'` + `color: '#primary-accent-surface-text'`.
169
+
170
+ ### Legacy Aliases
171
+
172
+ The previous token names continue to work as aliases (defined at the bottom of `src/tokens/colors.ts`). New code should prefer the Glaze tokens, but existing components do not need to be migrated:
173
+
174
+ | Legacy | Resolves to |
175
+ |-------|------------|
176
+ | `#text` | `#surface-text-soft` |
177
+ | `#dark` / `#dark-01` | `#surface-text` |
178
+ | `#dark-02` | `#surface-text-soft` |
179
+ | `#dark-03` | `#surface-text-soft-2` |
180
+ | `#dark-04` | `#placeholder` |
181
+ | `#dark-05` | `#border` |
182
+ | `#minor` | `#surface-text-soft.65` |
183
+ | `#shadow` | `#shadow-md` |
184
+ | `#light` | `#surface-3` |
185
+ | `#dark-bg` | `#surface-2` |
186
+ | `#primary` / `#purple` | `#primary-accent-surface` |
187
+ | `#primary-text` / `#purple-text` | `#primary-accent-text` |
188
+ | `#primary-bg` / `#purple-bg` | `#primary-surface` |
189
+ | `#primary-icon` / `#purple-icon` | `#primary-accent-icon` |
190
+ | `#<status>` | `#<status>-accent-surface` |
191
+ | `#<status>-text` | `#<status>-accent-text` |
192
+ | `#<status>-bg` | `#<status>-surface` |
193
+ | `#<status>-icon` | `#<status>-accent-icon` |
194
+ | `#<status>-disabled` | `#disabled` |
195
+
196
+ `#white`, `#black`, and `#clear` are not defined in the palette — `#white` and `#black` are tasty's built-in named colors, and `#clear` is an alias for `transparent`.
129
197
 
130
198
  ## Typography Presets
131
199
 
@@ -242,7 +310,7 @@ In style value maps, keys define when styles apply. States can be combined with
242
310
  fill: {
243
311
  '': '#surface', // default
244
312
  ':hover': '#surface-hover', // pseudo-class
245
- disabled: '#disabled-bg', // data-attribute modifier
313
+ disabled: '#disabled-surface', // data-attribute modifier
246
314
  'type=danger': '#danger', // data-attribute with value
247
315
  '@media(w < 768px)': '...', // media query
248
316
  '@(panel, w >= 300px)': '...', // container query
@@ -17,7 +17,7 @@ No component-specific props. Use style props directly.
17
17
  - `display` — `block`
18
18
  - `flow` — `column`
19
19
  - `radius` — `(1cr + 1bw)`
20
- - `fill` — `#white`
20
+ - `fill` — `#surface`
21
21
  - `border` — `#border`
22
22
  - `padding` — `1.5x`
23
23
  - `preset` — `t3`
@@ -24,6 +24,27 @@ Syntax-highlighted code block using Prism. Supports multiple languages.
24
24
 
25
25
  Supports [Base properties](../../BaseProperties.md).
26
26
 
27
+ ## Theme
28
+
29
+ Syntax colors are driven by a dedicated, scheme-aware palette of `code-*`
30
+ tokens. Each token uses a different hue so token classes stay visually
31
+ separable, and every token meets at least **WCAG AA (4.5:1)** contrast
32
+ against `#surface` in light, dark, and high-contrast schemes (AAA in HC).
33
+
34
+ | Token | Hue | Used for |
35
+ | -------------------- | -------------- | -------------------------------------------------------------- |
36
+ | `#code-comment` | gray | comments, prolog, doctype, cdata |
37
+ | `#code-punctuation` | muted pink | operators, punctuation |
38
+ | `#code-keyword` | pink | keywords, booleans, constants, atrules (`font-weight: 500`) |
39
+ | `#code-string` | primary purple | strings, characters, attribute values, URLs |
40
+ | `#code-number` | green | numbers, numeric entities |
41
+ | `#code-function` | pink | functions, class names, regex, variables |
42
+ | `#code-attribute` | cyan | tags, attribute names, properties, selectors, built-ins, keys |
43
+
44
+ Diff insertion (`+`) and deletion (`-`) intentionally re-use the existing
45
+ `#success-*` / `#danger-*` ramps — both the line background tint and the
46
+ foreground color adapt to the active scheme.
47
+
27
48
  ## Examples
28
49
 
29
50
  ```jsx
@@ -197,7 +197,7 @@ const InputElement = tasty({
197
197
  padding: '1x 1.5x',
198
198
  border: true,
199
199
  radius: '1r',
200
- fill: '#white',
200
+ fill: '#surface',
201
201
  color: '#dark-02',
202
202
  transition: 'theme',
203
203
 
@@ -50,7 +50,7 @@ These properties allow direct style application without using the `styles` prop:
50
50
  ### Resizable sidebar
51
51
 
52
52
  ```jsx
53
- <Panel isFlex isStretched height="min 30x" fill="#white">
53
+ <Panel isFlex isStretched height="min 30x" fill="#surface">
54
54
  <ResizablePanel direction="right">
55
55
  <Block padding="1x">Sidebar content</Block>
56
56
  </ResizablePanel>
@@ -21,7 +21,7 @@ A tab bar for file-like items with close buttons and dirty state indicators. Des
21
21
 
22
22
  - Tab `radius` — `1r 1r 0 0`
23
23
  - Tab `padding` — `1x 1.5x`
24
- - Tab `fill` — `#dark.04` (active tabs use `#white`)
24
+ - Tab `fill` — `#dark.04` (active tabs use `#surface`)
25
25
  - Tab gap — `.5x`
26
26
 
27
27
  ### Base Properties
@@ -22,7 +22,7 @@ Extends Card with:
22
22
  - `placeContent` — `space-between`
23
23
  - `gap` — `1x`
24
24
  - `border` — none
25
- - `shadow` — `0 2px 6px #dark.10`
25
+ - `shadow` — `$shadow` (design-system elevation token, scheme-aware via `#shadow-md`)
26
26
  - `padding` — `2.5x`
27
27
 
28
28
  ### Base Properties
@@ -61,6 +61,7 @@ These docs use `data-schema="dark"` in examples. If your app already standardize
61
61
  | `presets` | `Record<string, TypographyPreset>` | - | Typography presets — shorthand for `generateTypographyTokens()` |
62
62
  | `globalStyles` | `Record<string, Styles>` | - | Global Tasty styles keyed by CSS selector |
63
63
  | `colorSpace` | `'rgb' \| 'hsl' \| 'oklch'` | `'oklch'` | Color space for decomposed color token companion variables |
64
+ | `namePrefix` | `string` | `'t'` (runtime) / `'ts'` (zero-runtime) | Prefix prepended to every generated identifier (class, keyframe, counter-style names). See [Name prefix](#name-prefix). |
64
65
 
65
66
  ---
66
67
 
@@ -84,6 +85,49 @@ The `oklch` color space is the default because it provides perceptually uniform
84
85
 
85
86
  ---
86
87
 
88
+ ## Name Prefix
89
+
90
+ Every identifier Tasty generates — class names, keyframe names, counter-style names — starts with a configurable prefix. The runtime, SSR, and RSC paths default to `'t'`; the zero-runtime build path (`tastyStatic` via the Babel plugin) defaults to `'ts'` so static-extracted classes can never collide with runtime classes when both are loaded on the same page.
91
+
92
+ ```jsx
93
+ configure({
94
+ namePrefix: 'mb',
95
+ });
96
+ ```
97
+
98
+ The prefix is prepended verbatim to the hash, so include any separator inside the prefix string itself:
99
+
100
+ | Setting | Class | Keyframe | Counter-style |
101
+ |---|---|---|---|
102
+ | `'t'` (runtime default) | `t1a2b3` | `tk1a2b3` | `tc1a2b3` |
103
+ | `'ts'` (zero-runtime default) | `ts1a2b3` | `tsk1a2b3` | `tsc1a2b3` |
104
+ | `'mb'` | `mb1a2b3` | `mbk1a2b3` | `mbc1a2b3` |
105
+ | `'myapp-'` | `myapp-1a2b3` | `myapp-k1a2b3` | `myapp-c1a2b3` |
106
+
107
+ The single-letter discriminators (`k` for keyframes, `c` for counter-styles) keep the three kinds visually distinct in devtools — they are not required for correctness because CSS keeps these in separate namespaces.
108
+
109
+ ### Rules
110
+
111
+ - Must match `^[a-zA-Z_][a-zA-Z0-9_-]{0,31}$`. Examples that pass: `'t'`, `'ts'`, `'app'`, `'myapp-'`, `'_foo'`. Examples that fail: `''`, `'1foo'`, `'my app'`.
112
+ - Validated at `configure()` time; an invalid prefix throws synchronously rather than silently producing broken hydration.
113
+ - Locked once styles have been generated, like all other config.
114
+
115
+ ### Coexistence with the zero-runtime build
116
+
117
+ The runtime and zero-runtime builds **must use different prefixes** when both are loaded on the same page. Defaults already guarantee this; if you customize one, customize the other accordingly:
118
+
119
+ ```jsx
120
+ // app config (runtime / SSR / RSC)
121
+ configure({ namePrefix: 'mb' });
122
+
123
+ // tasty-zero.config.ts (Babel plugin)
124
+ export default { namePrefix: 'mbs' };
125
+ ```
126
+
127
+ If you only use one of the two builds, you only need to set `namePrefix` on that path.
128
+
129
+ ---
130
+
87
131
  ## Design Tokens
88
132
 
89
133
  Design tokens define CSS custom properties on `:root`. They are injected automatically when the first style is rendered. Values are parsed through the Tasty DSL, so you can use units, color syntax, and other DSL features.
package/docs/tasty/dsl.md CHANGED
@@ -52,22 +52,23 @@ styles: { Title: { preset: 'h3' } }
52
52
 
53
53
  #### Selector Affix (`$`)
54
54
 
55
- Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles:
55
+ Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles.
56
+
57
+ Examples below assume the sub-element key is **Cell** (i.e. `[data-element="Cell"]` in CSS):
56
58
 
57
59
  | Pattern | Result | Description |
58
60
  |---------|--------|-------------|
59
- | *(none)* | ` [el]` | Descendant (default) |
60
- | `>` | `> [el]` | Direct child |
61
- | `>Body>Row>` | `> [Body] > [Row] > [el]` | Chained elements |
62
- | `> SubElementName` | `> [SubElementName]` | Self-name shorthand — when the trailing element name matches the sub-element's own key, it acts as the placeholder (same as `@`); no duplication |
63
- | `h1` | ` h1` | Tag selector (no key injection) |
64
- | `h1 >` | ` h1 > [el]` | Key is direct child of tag |
65
- | `h1 *` | ` h1 *` | Any descendant of tag |
66
- | `*` | ` *` | All descendants |
67
- | `::before` | `::before` | Root pseudo (no key) |
68
- | `@::before` | `[el]::before` | Pseudo on the sub-element |
69
- | `>@:hover` | `> [el]:hover` | Pseudo-class on the sub-element |
70
- | `>@.active` | `> [el].active` | Class on the sub-element |
61
+ | *(none)* | `[data-element="Cell"]` | Descendant (default) |
62
+ | `>` | `> [data-element="Cell"]` | Direct child |
63
+ | `>Body>` | `> [data-element="Body"] > [data-element="Cell"]` | Chained elements |
64
+ | `> Cell` | `> [data-element="Cell"]` | Self-name shorthand — when the trailing element name matches the sub-element's own key, it acts as the placeholder (same as `@`); no duplication |
65
+ | `h1` | `h1` | Tag selector (no key injection) |
66
+ | `h1 >` | `h1 > [data-element="Cell"]` | Key is direct child of tag |
67
+ | `h1 *` | `h1 *` | Any descendant of tag |
68
+ | `*` | `*` | All descendants |
69
+ | `&::before` | `::before` | Root pseudo (no key); `&` is required |
70
+ | `@::before` | `[data-element="Cell"]::before` | Pseudo on the sub-element |
71
+ | `>@.active` | `> [data-element="Cell"].active` | Class on the sub-element |
71
72
 
72
73
  Rules for key injection (`[data-element="..."]`):
73
74
 
@@ -399,6 +399,32 @@ tasty(Button, {
399
399
 
400
400
  For full details on merge semantics, `@inherit`, `null`, and `false` tombstones, see [Style DSL — Extending vs. Replacing State Maps](dsl.md#extending-vs-replacing-state-maps).
401
401
 
402
+ ### Styling non-Tasty components or string tags
403
+
404
+ `tasty(Component, { ... })` always forwards every prop to `Component`, which means `Component` must be Tasty-aware (i.e. it knows how to consume `styles`, `mods`, `qa`, etc.). To apply styles to a third-party component (Next.js `Link`, `react-router`'s `Link`, Radix primitives, MUI, etc.) or to a plain DOM tag, use the options-only form with `as`:
405
+
406
+ ```tsx
407
+ import NextLink from 'next/link';
408
+
409
+ const Link = tasty({
410
+ as: NextLink,
411
+ styles: {
412
+ color: { '': '#accent-text', ':hover': '#text' },
413
+ textDecoration: 'underline',
414
+ },
415
+ styleProps: ['padding'],
416
+ });
417
+
418
+ const Span = tasty({
419
+ as: 'span',
420
+ styles: { fontWeight: 'bold' },
421
+ });
422
+
423
+ <Link href="/blog" padding="1x">Blog</Link>;
424
+ ```
425
+
426
+ The wrapped component only needs to forward `className` (and ideally `style` and `ref`) to its underlying DOM node. Tasty-specific props (`qa`, `qaVal`, `mods`, `tokens`, `isDisabled`, `isHidden`, `isChecked`, and any `styleProps`/`modProps`/`tokenProps` you declared) are consumed by the wrapper and converted to `data-*` attributes or CSS custom properties — they never leak to the DOM.
427
+
402
428
  ### When to use styleProps vs wrapping
403
429
 
404
430
  If the component exposes the properties you need as `styleProps`, use them directly — that is what they are for:
@@ -42,6 +42,30 @@ const PrimaryButton = tasty(Button, {
42
42
 
43
43
  Style maps merge intelligently — see [Style DSL — Extending vs. Replacing State Maps](dsl.md#extending-vs-replacing-state-maps) for extend mode, replace mode, `@inherit`, `null`, and `false` tombstones.
44
44
 
45
+ `tasty(Component, ...)` always wraps `Component` and forwards every prop to it, so `Component` must be Tasty-aware (i.e. it accepts `styles`, `mods`, `qa`, etc. and renders them through its own Tasty pipeline). To apply styles to a third-party component or a string DOM tag via `className`, use the options-only form with `as`:
46
+
47
+ ```jsx
48
+ import NextLink from 'next/link';
49
+
50
+ const Link = tasty({
51
+ as: NextLink,
52
+ styles: {
53
+ color: { '': '#accent-text', ':hover': '#text' },
54
+ textDecoration: 'underline',
55
+ },
56
+ styleProps: ['padding'],
57
+ });
58
+
59
+ const Span = tasty({
60
+ as: 'span',
61
+ styles: { fontWeight: 'bold' },
62
+ });
63
+
64
+ <Link href="/blog" padding="1x">Blog</Link>;
65
+ ```
66
+
67
+ The wrapped component only needs to forward `className` (and ideally `style`/`ref`). Tasty-specific props (`qa`, `qaVal`, `mods`, `tokens`, `styleProps`, `modProps`, `tokenProps`) are consumed by Tasty and never leak to the DOM.
68
+
45
69
  ---
46
70
 
47
71
  ## Style Props
package/docs/tasty/ssr.md CHANGED
@@ -358,16 +358,18 @@ const stream = await runWithCollector(collector, () =>
358
358
 
359
359
  Server-safe style collector. One instance per request.
360
360
 
361
+ Constructor: `new ServerStyleCollector(namePrefix?)`. The optional `namePrefix` overrides the value from `configure({ namePrefix })`; in normal usage you pass nothing and let the global config drive it. See [Configuration: Name prefix](configuration.md#name-prefix).
362
+
361
363
  | Method | Description |
362
364
  |---|---|
363
- | `allocateClassName(cacheKey)` | Allocate a sequential class name (`t0`, `t1`, ...) for a cache key. Returns `{ className, isNewAllocation }`. |
365
+ | `allocateClassName(cacheKey)` | Allocate a deterministic, content-hashed class name for a cache key (e.g. `t1a2b3` with the default prefix). The same `cacheKey` always produces the same class name on server and client when both share the same `namePrefix`. Returns `{ className, isNewAllocation }`. |
364
366
  | `collectChunk(cacheKey, className, rules)` | Record CSS rules for a chunk. Deduplicated by `cacheKey`. |
365
367
  | `collectKeyframes(name, css)` | Record a `@keyframes` rule. Deduplicated by name. |
366
- | `allocateKeyframeName(providedName?)` | Allocate a keyframe name. Returns `providedName` if given, otherwise generates one (`k0`, `k1`, ...). |
368
+ | `allocateKeyframeName(providedName?)` | Allocate a keyframe name. Returns `providedName` if given, otherwise generates one using `${namePrefix}k${counter}` (e.g. `tk0`, `tk1`, ...). |
367
369
  | `collectProperty(name, css)` | Record a `@property` rule. Deduplicated by name. |
368
370
  | `collectFontFace(key, css)` | Record a `@font-face` rule. Deduplicated by content hash. |
369
371
  | `collectCounterStyle(name, css)` | Record a `@counter-style` rule. Deduplicated by name. |
370
- | `allocateCounterStyleName(providedName?)` | Allocate a counter-style name. Returns `providedName` if given, otherwise generates one (`cs0`, `cs1`, ...). |
372
+ | `allocateCounterStyleName(providedName?)` | Allocate a counter-style name. Returns `providedName` if given, otherwise generates one using `${namePrefix}c${counter}` (e.g. `tc0`, `tc1`, ...). |
371
373
  | `collectGlobalStyles(key, css)` | Record global styles (from `useGlobalStyles`). Deduplicated by key. |
372
374
  | `collectRawCSS(key, css)` | Record raw CSS text (from `useRawCSS`). Deduplicated by key. |
373
375
  | `collectInternals()` | Collect internal `@property` rules, `:root` token defaults, `@font-face`, and `@counter-style` rules from the global config. Called automatically on first chunk collection; idempotent. |
@@ -378,11 +378,11 @@ Multiple shadows: `shadow="1x 1x 2x #dark.20, inset 0 0 4x #dark.10"`
378
378
 
379
379
  Typography preset that sets font-size, line-height, letter-spacing, font-weight, font-style, and text-transform from named design tokens.
380
380
 
381
- **Syntax:** `name`, `name / modifier`, or `modifier` (shorthand)
381
+ **Syntax:** `name`, `name / modifier...`, or `modifier...` (shorthand)
382
382
 
383
383
  Preset names are project-specific (e.g. `h1`–`h6`, `t1`–`t4`, `p1`–`p4`). Register them for autocomplete by augmenting `TastyPresetNames`.
384
384
 
385
- Use `/` to separate the preset name from a modifier. When a modifier is used alone (without a name), the preset name defaults to `inherit`.
385
+ Use `/` to separate the preset name from one or more space-separated modifiers. When modifiers are used alone (without a name), the preset name defaults to `inherit`. Modifiers can be combined freely because they target different properties.
386
386
 
387
387
  **Modifiers:**
388
388
 
@@ -394,11 +394,13 @@ Use `/` to separate the preset name from a modifier. When a modifier is used alo
394
394
  | `tight` | Sets line-height equal to font-size |
395
395
 
396
396
  ```jsx
397
- preset="h1" // heading 1
398
- preset="h2 / strong" // bold heading 2
399
- preset="t3 / italic" // italic text 3
400
- preset="t2 / tight" // text 2 with tight line-height
401
- preset="bold" // inherit preset with bold (shorthand for "inherit / bold")
397
+ preset="h1" // heading 1
398
+ preset="h2 / strong" // bold heading 2
399
+ preset="h2 / strong italic" // bold + italic heading 2
400
+ preset="t3 / italic" // italic text 3
401
+ preset="t2 / strong tight" // bold text 2 with tight line-height
402
+ preset="bold" // inherit preset with bold (shorthand)
403
+ preset="bold italic" // inherit preset with bold + italic (shorthand)
402
404
  ```
403
405
 
404
406
  Individual typography props (`fontSize`, `lineHeight`, `letterSpacing`, `fontWeight`, `fontStyle`, `textTransform`) can be used alongside `preset` to override specific values, but using `preset` alone is recommended.
@@ -178,6 +178,21 @@ module.exports = {
178
178
  | `config.globalStyles` | `Record<string, Styles>` | — | Global Tasty styles keyed by CSS selector. Supports the full style syntax. |
179
179
  | `config.autoPropertyTypes` | `boolean` | `true` | Automatically infer and register CSS `@property` declarations from values |
180
180
  | `config.parserCacheSize` | `number` | `1000` | Parser LRU cache size. Larger values improve performance for builds with many unique style values |
181
+ | `config.namePrefix` | `string` | `'ts'` | Prefix prepended to every generated identifier. Defaults to `'ts'` so static classes never collide with runtime (`'t'`) classes. See [Configuration: Name prefix](configuration.md#name-prefix). |
182
+
183
+ ### Coexisting with runtime tasty
184
+
185
+ When a page mixes `tastyStatic` with runtime `tasty`, both must use **different** `namePrefix` values. The defaults handle this automatically (`'t'` for runtime, `'ts'` for zero-runtime). If you customize one, customize the other:
186
+
187
+ ```ts
188
+ // tasty-zero.config.ts (Babel plugin)
189
+ export default { namePrefix: 'mbs' };
190
+ ```
191
+
192
+ ```ts
193
+ // app entry (runtime configure)
194
+ configure({ namePrefix: 'mb' });
195
+ ```
181
196
 
182
197
  ---
183
198