@cube-dev/ui-kit 0.137.0 → 0.138.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 (474) hide show
  1. package/dist/CHANGELOG.md +41 -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.d.ts +25 -0
  62. package/dist/components/content/InlineInput/InlineInput.js +109 -44
  63. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  64. package/dist/components/content/Item/Item.js +2 -2
  65. package/dist/components/content/Item/Item.js.map +1 -1
  66. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  67. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  68. package/dist/components/content/Layout/GridLayout.js +1 -1
  69. package/dist/components/content/Layout/Layout.js +1 -1
  70. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  71. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  72. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  73. package/dist/components/content/Layout/LayoutContent.js +1 -1
  74. package/dist/components/content/Layout/LayoutContext.js +1 -1
  75. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  76. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  77. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  78. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  79. package/dist/components/content/Layout/LayoutPane.js +2 -2
  80. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  81. package/dist/components/content/Layout/LayoutPanel.js +3 -3
  82. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  83. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  84. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  85. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  86. package/dist/components/content/Layout/index.js +1 -1
  87. package/dist/components/content/Layout/utils.js +1 -1
  88. package/dist/components/content/Paragraph.js +1 -1
  89. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  90. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  91. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  92. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  93. package/dist/components/content/Result/Result.js +1 -1
  94. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  95. package/dist/components/content/Tag/Tag.js +1 -1
  96. package/dist/components/content/Text.js +1 -1
  97. package/dist/components/content/TextItem/TextItem.js +1 -1
  98. package/dist/components/content/Title.js +1 -1
  99. package/dist/components/content/Tree/Tree.js +1 -1
  100. package/dist/components/content/Tree/TreeNode.js +1 -1
  101. package/dist/components/content/Tree/styled.js +1 -1
  102. package/dist/components/content/Tree/tree-index.js +1 -1
  103. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  104. package/dist/components/content/Tree/use-load-data.js +1 -1
  105. package/dist/components/content/highlightText.js +1 -1
  106. package/dist/components/content/use-auto-tooltip.js +1 -1
  107. package/dist/components/fields/Checkbox/Checkbox.js +5 -5
  108. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  109. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  110. package/dist/components/fields/Checkbox/context.js +1 -1
  111. package/dist/components/fields/ComboBox/ComboBox.js +2 -2
  112. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  113. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  114. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  115. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  116. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  117. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  118. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  119. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  120. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  121. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  122. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  123. package/dist/components/fields/DatePicker/intl.js +1 -1
  124. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  125. package/dist/components/fields/DatePicker/props.js +1 -1
  126. package/dist/components/fields/DatePicker/utils.js +1 -1
  127. package/dist/components/fields/FileInput/FileInput.js +3 -3
  128. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  129. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  131. package/dist/components/fields/Input/Input.js +1 -1
  132. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  133. package/dist/components/fields/ListBox/ListBox.js +1 -1
  134. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  135. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  136. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  137. package/dist/components/fields/Picker/Picker.js +1 -1
  138. package/dist/components/fields/RadioGroup/Radio.js +4 -4
  139. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  140. package/dist/components/fields/RadioGroup/RadioGroup.js +2 -2
  141. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  142. package/dist/components/fields/RadioGroup/context.js +1 -1
  143. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  144. package/dist/components/fields/Select/Select.js +5 -5
  145. package/dist/components/fields/Select/Select.js.map +1 -1
  146. package/dist/components/fields/Slider/Gradation.js +1 -1
  147. package/dist/components/fields/Slider/HueSlider.js +1 -1
  148. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  149. package/dist/components/fields/Slider/Slider.js +1 -1
  150. package/dist/components/fields/Slider/SliderBase.js +1 -1
  151. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  152. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  153. package/dist/components/fields/Slider/elements.js +3 -3
  154. package/dist/components/fields/Slider/elements.js.map +1 -1
  155. package/dist/components/fields/Slider/index.js +1 -1
  156. package/dist/components/fields/Switch/Switch.js +2 -2
  157. package/dist/components/fields/Switch/Switch.js.map +1 -1
  158. package/dist/components/fields/TextArea/TextArea.js +1 -1
  159. package/dist/components/fields/TextInput/TextInput.js +1 -1
  160. package/dist/components/fields/TextInput/TextInputBase.js +3 -3
  161. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  162. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  163. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  164. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  165. package/dist/components/form/Form/Field.js +1 -1
  166. package/dist/components/form/Form/Form.js +1 -1
  167. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  168. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  169. package/dist/components/form/Form/SubmitError.js +1 -1
  170. package/dist/components/form/Form/index.js +1 -1
  171. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  172. package/dist/components/form/Form/use-field/use-field.js +1 -1
  173. package/dist/components/form/Form/use-form.js +1 -1
  174. package/dist/components/form/Form/validation.js +1 -1
  175. package/dist/components/form/Label.js +1 -1
  176. package/dist/components/form/wrapper.js +1 -1
  177. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  178. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  179. package/dist/components/layout/Flex.js +1 -1
  180. package/dist/components/layout/Flow.js +1 -1
  181. package/dist/components/layout/Grid.js +1 -1
  182. package/dist/components/layout/Panel.js +1 -1
  183. package/dist/components/layout/Prefix.js +1 -1
  184. package/dist/components/layout/ResizablePanel.js +2 -2
  185. package/dist/components/layout/ResizablePanel.js.map +1 -1
  186. package/dist/components/layout/Space.js +1 -1
  187. package/dist/components/layout/Suffix.js +1 -1
  188. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  189. package/dist/components/navigation/Tabs/TabButton.js +5 -2
  190. package/dist/components/navigation/Tabs/TabButton.js.map +1 -1
  191. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  192. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  193. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  194. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  195. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  196. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  197. package/dist/components/navigation/Tabs/styled.js +3 -3
  198. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  199. package/dist/components/navigation/Tabs/types.js +1 -1
  200. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  201. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  202. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  203. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  204. package/dist/components/organisms/StatsCard/StatsCard.js +2 -2
  205. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  206. package/dist/components/other/Calendar/Calendar.js +1 -1
  207. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  208. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  209. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  210. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  211. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  212. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  213. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  214. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  215. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  216. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  217. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  218. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  219. package/dist/components/overlays/Dialog/context.js +1 -1
  220. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  221. package/dist/components/overlays/Modal/Modal.js +1 -1
  222. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  223. package/dist/components/overlays/Modal/Overlay.js +1 -1
  224. package/dist/components/overlays/Modal/Popover.js +1 -1
  225. package/dist/components/overlays/Modal/Tray.js +1 -1
  226. package/dist/components/overlays/Modal/Underlay.js +1 -1
  227. package/dist/components/overlays/Notifications/Notification.js +1 -1
  228. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  229. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  230. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  231. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  232. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  233. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  234. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  235. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  236. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  237. package/dist/components/overlays/Notifications/index.js +1 -1
  238. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  239. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  240. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  241. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  242. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  243. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  244. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  245. package/dist/components/overlays/Toast/index.js +1 -1
  246. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  247. package/dist/components/overlays/Toast/useToast.js +1 -1
  248. package/dist/components/overlays/Tooltip/Tooltip.js +7 -7
  249. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  250. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  251. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  252. package/dist/components/overlays/Tooltip/context.js +1 -1
  253. package/dist/components/portal/Portal.js +1 -1
  254. package/dist/components/portal/PortalProvider.js +1 -1
  255. package/dist/components/portal/usePortal.js +1 -1
  256. package/dist/components/shared/DraggableCollection.js +1 -1
  257. package/dist/components/shared/InvalidIcon.js +1 -1
  258. package/dist/components/shared/ValidIcon.js +1 -1
  259. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +23 -7
  260. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  261. package/dist/components/status/Spin/Cube.js +1 -1
  262. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  263. package/dist/components/status/Spin/Spin.js +1 -1
  264. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  265. package/dist/data/item-themes.js +114 -115
  266. package/dist/data/item-themes.js.map +1 -1
  267. package/dist/data/themes.d.ts +17 -17
  268. package/dist/data/themes.js +18 -18
  269. package/dist/data/themes.js.map +1 -1
  270. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  271. package/dist/icons/AdjustmentsIcon.js +1 -1
  272. package/dist/icons/AiIcon.js +1 -1
  273. package/dist/icons/AreaChartIcon.js +1 -1
  274. package/dist/icons/BackwardIcon.js +1 -1
  275. package/dist/icons/BarChartIcon.js +1 -1
  276. package/dist/icons/BellFilledIcon.js +1 -1
  277. package/dist/icons/BellIcon.js +1 -1
  278. package/dist/icons/BooleanIcon.js +1 -1
  279. package/dist/icons/CalendarEditIcon.js +1 -1
  280. package/dist/icons/CalendarIcon.js +1 -1
  281. package/dist/icons/CaretDownIcon.js +1 -1
  282. package/dist/icons/CaretUpIcon.js +1 -1
  283. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  284. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  285. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  286. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  287. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  288. package/dist/icons/ChartBarLineIcon.js +1 -1
  289. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  290. package/dist/icons/ChartBarStackedIcon.js +1 -1
  291. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  292. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  293. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  294. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  295. package/dist/icons/ChartBubbleIcon.js +1 -1
  296. package/dist/icons/ChartDonut2Icon.js +1 -1
  297. package/dist/icons/ChartFunnelIcon.js +1 -1
  298. package/dist/icons/ChartHeatmapIcon.js +1 -1
  299. package/dist/icons/ChartKPIIcon.js +1 -1
  300. package/dist/icons/ChartPie2Icon.js +1 -1
  301. package/dist/icons/ChartScatterIcon.js +1 -1
  302. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  303. package/dist/icons/CheckCircleIcon.js +1 -1
  304. package/dist/icons/CheckIcon.js +1 -1
  305. package/dist/icons/CircleFilledIcon.js +1 -1
  306. package/dist/icons/ClearIcon.js +1 -1
  307. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  308. package/dist/icons/CloseCircleIcon.js +1 -1
  309. package/dist/icons/CloseIcon.js +1 -1
  310. package/dist/icons/CodeIcon.js +1 -1
  311. package/dist/icons/ColumnTotalIcon.js +1 -1
  312. package/dist/icons/CopyIcon.js +1 -1
  313. package/dist/icons/CountIcon.js +1 -1
  314. package/dist/icons/CubeIcon.js +1 -1
  315. package/dist/icons/CubePauseIcon.js +1 -1
  316. package/dist/icons/CubePlayIcon.js +1 -1
  317. package/dist/icons/CurrencyDollarIcon.js +1 -1
  318. package/dist/icons/DangerIcon.js +1 -1
  319. package/dist/icons/DashboardIcon.js +1 -1
  320. package/dist/icons/DatabaseIcon.js +1 -1
  321. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  322. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  323. package/dist/icons/DirectionIcon.js +1 -1
  324. package/dist/icons/DonutIcon.js +1 -1
  325. package/dist/icons/DownIcon.js +1 -1
  326. package/dist/icons/EditIcon.js +1 -1
  327. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  328. package/dist/icons/ExclamationCircleIcon.js +1 -1
  329. package/dist/icons/ExclamationIcon.js +1 -1
  330. package/dist/icons/EyeIcon.js +1 -1
  331. package/dist/icons/EyeInvisibleIcon.js +1 -1
  332. package/dist/icons/FilterIcon.js +1 -1
  333. package/dist/icons/FolderFilledIcon.js +1 -1
  334. package/dist/icons/FolderIcon.js +1 -1
  335. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  336. package/dist/icons/FolderOpenIcon.js +1 -1
  337. package/dist/icons/ForwardIcon.js +1 -1
  338. package/dist/icons/GripVerticalIcon.js +1 -1
  339. package/dist/icons/HierarchyIcon.js +1 -1
  340. package/dist/icons/HierarchyOpenIcon.js +1 -1
  341. package/dist/icons/Icon.js +1 -1
  342. package/dist/icons/InfoCircleIcon.js +1 -1
  343. package/dist/icons/InfoIcon.js +1 -1
  344. package/dist/icons/KeyIcon.js +1 -1
  345. package/dist/icons/LeftIcon.js +1 -1
  346. package/dist/icons/LineChartIcon.js +1 -1
  347. package/dist/icons/LoadingIcon.js +1 -1
  348. package/dist/icons/LockFilledIcon.js +1 -1
  349. package/dist/icons/LockIcon.js +1 -1
  350. package/dist/icons/MoreIcon.js +1 -1
  351. package/dist/icons/NotAllowedIcon.js +1 -1
  352. package/dist/icons/Number123Icon.js +1 -1
  353. package/dist/icons/NumberIcon.js +1 -1
  354. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  355. package/dist/icons/PauseCircleIcon.js +1 -1
  356. package/dist/icons/PauseIcon.js +1 -1
  357. package/dist/icons/PercentageIcon.js +1 -1
  358. package/dist/icons/PieChartIcon.js +1 -1
  359. package/dist/icons/PlayCircleIcon.js +1 -1
  360. package/dist/icons/PlayIcon.js +1 -1
  361. package/dist/icons/PlusIcon.js +1 -1
  362. package/dist/icons/ProgressBarIcon.js +1 -1
  363. package/dist/icons/ReloadIcon.js +1 -1
  364. package/dist/icons/ReportIcon.js +1 -1
  365. package/dist/icons/ReturnIcon.js +1 -1
  366. package/dist/icons/RightIcon.js +1 -1
  367. package/dist/icons/RowTotalsIcon.js +1 -1
  368. package/dist/icons/SchemeIcon.js +1 -1
  369. package/dist/icons/SearchIcon.js +1 -1
  370. package/dist/icons/SemanticQueryIcon.js +1 -1
  371. package/dist/icons/SettingsIcon.js +1 -1
  372. package/dist/icons/ShieldFilledIcon.js +1 -1
  373. package/dist/icons/ShieldIcon.js +1 -1
  374. package/dist/icons/SlashIcon.js +1 -1
  375. package/dist/icons/SparklesIcon.js +1 -1
  376. package/dist/icons/SqlIcon.js +1 -1
  377. package/dist/icons/StatsIcon.js +1 -1
  378. package/dist/icons/StopIcon.js +1 -1
  379. package/dist/icons/StringIcon.js +1 -1
  380. package/dist/icons/SubtotalsIcon.js +1 -1
  381. package/dist/icons/SwitchIcon.js +1 -1
  382. package/dist/icons/TableIcon.js +1 -1
  383. package/dist/icons/ThumbsDownIcon.js +1 -1
  384. package/dist/icons/ThumbsUpIcon.js +1 -1
  385. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  386. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  387. package/dist/icons/ThunderboltIcon.js +1 -1
  388. package/dist/icons/TimeIcon.js +1 -1
  389. package/dist/icons/TrashIcon.js +1 -1
  390. package/dist/icons/UnlockIcon.js +1 -1
  391. package/dist/icons/UpIcon.js +1 -1
  392. package/dist/icons/UserGroupIcon.js +1 -1
  393. package/dist/icons/UserIcon.js +1 -1
  394. package/dist/icons/UserLockIcon.js +1 -1
  395. package/dist/icons/ViewIcon.js +1 -1
  396. package/dist/icons/WarningFilledIcon.js +1 -1
  397. package/dist/icons/WarningIcon.js +1 -1
  398. package/dist/icons/wrap-icon.js +1 -1
  399. package/dist/index.d.ts +1 -0
  400. package/dist/index.js +3 -1
  401. package/dist/index.js.map +1 -1
  402. package/dist/provider.js +1 -1
  403. package/dist/providers/TrackingProvider.js +1 -1
  404. package/dist/providers/navigationAdapter.default.js +1 -1
  405. package/dist/tokens/base.js +1 -1
  406. package/dist/tokens/colors.d.ts +4 -3
  407. package/dist/tokens/colors.js +93 -83
  408. package/dist/tokens/colors.js.map +1 -1
  409. package/dist/tokens/index.js +1 -1
  410. package/dist/tokens/layout.js +1 -1
  411. package/dist/tokens/palette.js +364 -0
  412. package/dist/tokens/palette.js.map +1 -0
  413. package/dist/tokens/shadows.d.ts +4 -1
  414. package/dist/tokens/shadows.js +9 -6
  415. package/dist/tokens/shadows.js.map +1 -1
  416. package/dist/tokens/sizes.js +1 -1
  417. package/dist/tokens/spacing.js +1 -1
  418. package/dist/tokens/typography.js +1 -1
  419. package/dist/utils/ResizeSensor.js +1 -1
  420. package/dist/utils/is-dev-env.js +1 -1
  421. package/dist/utils/modules.js +1 -1
  422. package/dist/utils/promise.js +1 -1
  423. package/dist/utils/raf.js +1 -1
  424. package/dist/utils/random.js +1 -1
  425. package/dist/utils/range.js +1 -1
  426. package/dist/utils/react/RenderCache.js +1 -1
  427. package/dist/utils/react/Slots.js +1 -1
  428. package/dist/utils/react/chain.js +1 -1
  429. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  430. package/dist/utils/react/index.js +1 -1
  431. package/dist/utils/react/interactions.js +1 -1
  432. package/dist/utils/react/isTextOnly.js +1 -1
  433. package/dist/utils/react/mapProps.js +1 -1
  434. package/dist/utils/react/mergeProps.js +1 -1
  435. package/dist/utils/react/nullableValue.js +1 -1
  436. package/dist/utils/react/resolveIcon.js +1 -1
  437. package/dist/utils/react/sharedStore.js +1 -1
  438. package/dist/utils/react/useCombinedRefs.js +1 -1
  439. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  440. package/dist/utils/react/useEventBus.js +1 -1
  441. package/dist/utils/react/useId.js +1 -1
  442. package/dist/utils/react/useIsDarwin.js +1 -1
  443. package/dist/utils/react/useKeySymbols.js +1 -1
  444. package/dist/utils/react/useLayoutEffect.js +1 -1
  445. package/dist/utils/react/useLocalStorage.js +1 -1
  446. package/dist/utils/react/useMergeStyles.js +1 -1
  447. package/dist/utils/react/usePopoverSync.js +1 -1
  448. package/dist/utils/react/useQaProps.js +1 -1
  449. package/dist/utils/react/useViewportSize.js +1 -1
  450. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  451. package/dist/utils/selection.js +1 -1
  452. package/dist/utils/styles.js +1 -1
  453. package/dist/utils/tree.js +1 -1
  454. package/dist/utils/warnings.js +1 -1
  455. package/dist/version.d.ts +3 -0
  456. package/dist/version.js +13 -5
  457. package/dist/version.js.map +1 -1
  458. package/docs/Usage.md +98 -30
  459. package/docs/components/content/Card.md +1 -1
  460. package/docs/components/content/InlineInput.md +55 -10
  461. package/docs/components/content/PrismCode.md +21 -0
  462. package/docs/components/form/Field.md +1 -1
  463. package/docs/components/layout/ResizablePanel.md +1 -1
  464. package/docs/components/navigation/Tabs.md +2 -0
  465. package/docs/components/organisms/FileTabs.md +1 -1
  466. package/docs/components/organisms/StatsCard.md +1 -1
  467. package/docs/tasty/configuration.md +44 -0
  468. package/docs/tasty/dsl.md +14 -13
  469. package/docs/tasty/methodology.md +26 -0
  470. package/docs/tasty/react-api.md +24 -0
  471. package/docs/tasty/ssr.md +5 -3
  472. package/docs/tasty/styles.md +9 -7
  473. package/docs/tasty/tasty-static.md +15 -0
  474. package/package.json +8 -6
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.137.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | 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.0 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.0 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.137.0";
3
+ const VERSION = "0.138.0";
4
+ const TASTY_VERSION = "2.6.0";
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`
@@ -31,6 +31,7 @@ Unlike `TextInput`, `InlineInput` is intentionally **not** a form field. It mana
31
31
  - **`onSubmit`** `(value: string) => void` — Fires every commit (Enter / submit-on-blur / `ref.stopEditing(true)`), even when the value did not change. Use for side effects (analytics, save toasts).
32
32
  - **`onCancel`** `() => void` — Called when editing is cancelled (Escape or empty submit when `allowEmpty` is `false`).
33
33
  - **`editTrigger`** `'dblclick' | 'click' | 'none'` (default: `dblclick`) — How edit mode is activated from the display element. Programmatic entry via `ref.startEditing()` works regardless.
34
+ - **`keyboardActivation`** `boolean` (default: `true`) — When `true`, the display element is keyboard-focusable (`tabIndex=0`, `role="button"`) and responds to `Enter`, `F2` and `Space` to enter edit mode. Set to `false` when the host already owns keyboard activation (e.g. an editable tab inside a `<button>`) — exposing the display as a separate tab stop would otherwise nest focus inside the host.
34
35
  - **`submitOnBlur`** `boolean` (default: `true`) — Whether to submit when focus leaves the input.
35
36
  - **`trimOnSubmit`** `boolean` (default: `true`) — Whether to trim the value on submit.
36
37
  - **`allowEmpty`** `boolean` (default: `false`) — When `false`, submitting an empty/whitespace value cancels instead.
@@ -38,6 +39,8 @@ Unlike `TextInput`, `InlineInput` is intentionally **not** a form field. It mana
38
39
  - **`isReadOnly`** `boolean` (default: `false`) — When `true`, edit mode cannot be entered, but the display reads as enabled.
39
40
  - **`placeholder`** `string` — Placeholder text shown in the input when the draft is empty.
40
41
  - **`renderDisplay`** `(value: string) => ReactNode` — Custom render for display (non-editing) mode.
42
+ - **`tooltip`** `boolean | string | AutoTooltipValue` (default: `true`) — Tooltip behaviour for the display value. `true` enables auto-tooltip on overflow (showing the full text when truncated). A string always shows that text. `false` disables the tooltip. Suppressed automatically while editing and when `renderDisplay` is used.
43
+ - **`tooltipPlacement`** `'top' | 'bottom' | 'left' | 'right' | ...` (default: `'top'`) — Default tooltip placement.
41
44
  - **`inputStyles`** `Styles` — Convenience prop for styling the `Input` sub-element.
42
45
 
43
46
  ### Base Properties
@@ -57,10 +60,11 @@ The component exposes a ref with these methods:
57
60
 
58
61
  #### styles
59
62
 
60
- Customizes the root element of the component.
63
+ Customizes the root element of the component. The root is `inline-flex` with `align-items: baseline` so it integrates cleanly into any inline text context (tabs, headings, paragraphs) without shifting surrounding text. Truncation lives on the inner `Display` sub-element so the root's baseline is not perturbed.
61
64
 
62
65
  **Sub-elements:**
63
66
 
67
+ - `Display` — The block-level wrapper that holds the value in display mode and applies `overflow: hidden` / `text-overflow: ellipsis` for truncation
64
68
  - `Input` — The text input rendered in edit mode
65
69
  - `Placeholder` — The placeholder text rendered in display mode when the value is empty
66
70
  - `Measure` — The hidden text used to auto-size the input (rarely targeted)
@@ -82,13 +86,14 @@ These properties allow direct style application without using the `styles` prop:
82
86
 
83
87
  The `mods` property is automatically populated. Consumers can target these in their own `styles`:
84
88
 
85
- | Modifier | Type | Description |
86
- | ---------- | --------- | -------------------------------------------------------------------- |
87
- | editing | `boolean` | Currently in edit mode |
88
- | editable | `boolean` | `editTrigger` is `dblclick` or `click` and not disabled/read-only |
89
- | disabled | `boolean` | `isDisabled` is `true` |
90
- | read-only | `boolean` | `isReadOnly` is `true` |
91
- | empty | `boolean` | The committed value is empty |
89
+ | Modifier | Type | Description |
90
+ | ---------- | --------- | -------------------------------------------------------------------------- |
91
+ | editing | `boolean` | Currently in edit mode |
92
+ | editable | `boolean` | `editTrigger` is `dblclick` or `click` and not disabled/read-only |
93
+ | focused | `boolean` | Display element is keyboard-focused (`isFocusVisible`) and editable |
94
+ | disabled | `boolean` | `isDisabled` is `true` |
95
+ | read-only | `boolean` | `isReadOnly` is `true` |
96
+ | empty | `boolean` | The committed value is empty |
92
97
 
93
98
  ## Examples
94
99
 
@@ -186,10 +191,48 @@ By default, submitting an empty value cancels. Set `allowEmpty` to keep the empt
186
191
  <InlineInput defaultValue="Read-only value" isReadOnly />
187
192
  ```
188
193
 
194
+ ### Overflow & Tooltip
195
+
196
+ When the value is wider than its container, the display text is truncated with an ellipsis. The full value is shown as a tooltip on hover/focus — no extra props required.
197
+
198
+ ```jsx
199
+ <div style={{ width: 200 }}>
200
+ <InlineInput defaultValue="A very long inline value that gets truncated…" />
201
+ </div>
202
+ ```
203
+
204
+ To always show a custom tooltip (regardless of overflow), pass a string. To disable the tooltip entirely, pass `false`:
205
+
206
+ ```jsx
207
+ <InlineInput defaultValue="Hover me" tooltip="Click to rename" />
208
+ <InlineInput defaultValue="No tooltip" tooltip={false} />
209
+ ```
210
+
211
+ The truncation behaviour is automatically disabled while editing so the input is never visually clipped while the user types.
212
+
213
+ ### Keyboard Activation
214
+
215
+ By default the display element is keyboard-focusable (`tabIndex=0`, `role="button"`, `aria-roledescription="editable text"`). Pressing `Enter`, `F2` or `Space` enters edit mode without requiring a pointer. A keyboard focus ring (`#primary` token, rounded) is shown only when the element receives keyboard focus — clicks never trigger the ring.
216
+
217
+ When `InlineInput` is embedded in a host that already owns keyboard activation (e.g. `Tabs` — each tab is a `<button>` that listens for `F2` itself), pass `keyboardActivation={false}` to avoid creating a nested tab stop inside the host. The imperative `ref.startEditing()` always works regardless of this setting, and the focus ring is suppressed in this mode (the host's focus ring is the one users see).
218
+
219
+ ```jsx
220
+ <InlineInput defaultValue="Press Enter to edit" />
221
+
222
+ <InlineInput keyboardActivation={false} defaultValue="Host owns the keyboard" />
223
+ ```
224
+
189
225
  ## Accessibility
190
226
 
191
227
  ### Keyboard Navigation
192
228
 
229
+ **Display mode** (when `keyboardActivation` is `true`):
230
+
231
+ - `Tab` — Moves focus to the value
232
+ - `Enter`, `F2`, `Space` — Enter edit mode
233
+
234
+ **Edit mode**:
235
+
193
236
  - `Enter` — Commit the current draft
194
237
  - `Escape` — Cancel and revert to the previous value
195
238
  - `Tab` / focus loss — Commits when `submitOnBlur` is `true` (default), otherwise no-op
@@ -197,8 +240,10 @@ By default, submitting an empty value cancels. Set `allowEmpty` to keep the empt
197
240
 
198
241
  ### ARIA Properties
199
242
 
200
- - **`aria-label`** Provide a label when the input has no visible label associated. Recommended in all cases.
201
- - **`aria-labelledby`** — Reference the id of a visible label element.
243
+ - The display element receives `role="button"` and `aria-roledescription="editable text"` when keyboard-focusable, so screen readers announce that the value can be activated for editing.
244
+ - **`aria-label`** — Provide a label when the value alone doesn't convey purpose. Forwarded to both the display element (when focusable) and the inner input. Recommended in all cases.
245
+ - **`aria-labelledby`** — Reference the id of a visible label element. Forwarded the same way.
246
+ - **`aria-disabled`** / **`aria-readonly`** — Set automatically from `isDisabled` / `isReadOnly`.
202
247
 
203
248
  ### Focus Management
204
249
 
@@ -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>
@@ -345,6 +345,8 @@ Add dropdown menus to tabs using the `menu` prop. This replaces the need for man
345
345
 
346
346
  Combine editable tabs with a menu for rename, duplicate, and delete actions. The inline editing UI is provided by [InlineInput](../content/InlineInput.md), which can also be used standalone elsewhere.
347
347
 
348
+ > For editable tabs the `tooltip` prop is rendered by `InlineInput` rather than by the surrounding tab button. This keeps the tooltip in sync with the editing UI (and avoids a double tooltip) — the trigger area is the title content, not the entire tab button. Long titles also get an automatic ellipsis + overflow tooltip without any extra configuration.
349
+
348
350
  ```jsx
349
351
  <Tabs
350
352
  isEditable
@@ -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