@cube-dev/ui-kit 0.0.0-canary-bca8d09 → 0.0.0-canary-ec0a7f1

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 (479) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +43 -54
  13. package/dist/components/GlobalStyles.js.map +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +9 -14
  17. package/dist/components/Root.js.map +1 -1
  18. package/dist/components/actions/Action/Action.js +1 -1
  19. package/dist/components/actions/Banner/Banner.js +1 -1
  20. package/dist/components/actions/Button/Button.js +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +3 -3
  26. package/dist/components/actions/CommandMenu/styled.js.map +1 -1
  27. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  28. package/dist/components/actions/ItemActionContext.js +1 -1
  29. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/dist/components/actions/Link/Link.js +1 -1
  31. package/dist/components/actions/Menu/Menu.js +1 -1
  32. package/dist/components/actions/Menu/MenuItem.js +1 -1
  33. package/dist/components/actions/Menu/MenuSection.js +1 -1
  34. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +5 -5
  39. package/dist/components/actions/Menu/styled.js.map +1 -1
  40. package/dist/components/actions/index.js +1 -1
  41. package/dist/components/actions/use-action.js +1 -1
  42. package/dist/components/actions/use-anchored-menu.js +1 -1
  43. package/dist/components/actions/use-context-menu.js +1 -1
  44. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  45. package/dist/components/content/Alert/Alert.js +1 -1
  46. package/dist/components/content/Alert/use-alert.js +1 -1
  47. package/dist/components/content/Avatar/Avatar.js +1 -1
  48. package/dist/components/content/Badge/Badge.js +1 -1
  49. package/dist/components/content/Card/Card.js +2 -2
  50. package/dist/components/content/Card/Card.js.map +1 -1
  51. package/dist/components/content/Content.js +1 -1
  52. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  53. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  54. package/dist/components/content/Disclosure/Disclosure.js +2 -2
  55. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  56. package/dist/components/content/Divider.js +1 -1
  57. package/dist/components/content/Footer.js +1 -1
  58. package/dist/components/content/Header.js +1 -1
  59. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  60. package/dist/components/content/InlineInput/InlineInput.d.ts +84 -0
  61. package/dist/components/content/InlineInput/InlineInput.js +249 -0
  62. package/dist/components/content/InlineInput/InlineInput.js.map +1 -0
  63. package/dist/components/content/InlineInput/index.d.ts +2 -0
  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 +24 -21
  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 +2 -6
  195. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  196. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  197. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  198. package/dist/components/navigation/Tabs/TabsContext.js.map +1 -1
  199. package/dist/components/navigation/Tabs/styled.js +4 -26
  200. package/dist/components/navigation/Tabs/styled.js.map +1 -1
  201. package/dist/components/navigation/Tabs/types.js +1 -1
  202. package/dist/components/navigation/Tabs/use-tab-editing.js +7 -13
  203. package/dist/components/navigation/Tabs/use-tab-editing.js.map +1 -1
  204. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  205. package/dist/components/organisms/FileTabs/FileTabs.js +2 -2
  206. package/dist/components/organisms/FileTabs/FileTabs.js.map +1 -1
  207. package/dist/components/organisms/StatsCard/StatsCard.js +2 -2
  208. package/dist/components/organisms/StatsCard/StatsCard.js.map +1 -1
  209. package/dist/components/other/Calendar/Calendar.js +1 -1
  210. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  211. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/dist/components/overlays/Dialog/Dialog.js +2 -2
  218. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  219. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  220. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  221. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  222. package/dist/components/overlays/Dialog/context.js +1 -1
  223. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  224. package/dist/components/overlays/Modal/Modal.js +1 -1
  225. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  226. package/dist/components/overlays/Modal/Overlay.js +1 -1
  227. package/dist/components/overlays/Modal/Popover.js +1 -1
  228. package/dist/components/overlays/Modal/Tray.js +1 -1
  229. package/dist/components/overlays/Modal/Underlay.js +1 -1
  230. package/dist/components/overlays/Notifications/Notification.js +1 -1
  231. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  232. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  233. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  234. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  235. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  236. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  237. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  238. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  239. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  240. package/dist/components/overlays/Notifications/index.js +1 -1
  241. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  242. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  243. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  244. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  245. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  246. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  247. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  248. package/dist/components/overlays/Toast/index.js +1 -1
  249. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  250. package/dist/components/overlays/Toast/useToast.js +1 -1
  251. package/dist/components/overlays/Tooltip/Tooltip.js +7 -7
  252. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  253. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  254. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  255. package/dist/components/overlays/Tooltip/context.js +1 -1
  256. package/dist/components/portal/Portal.js +1 -1
  257. package/dist/components/portal/PortalProvider.js +1 -1
  258. package/dist/components/portal/usePortal.js +1 -1
  259. package/dist/components/shared/DraggableCollection.js +1 -1
  260. package/dist/components/shared/InvalidIcon.js +1 -1
  261. package/dist/components/shared/ValidIcon.js +1 -1
  262. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +7 -23
  263. package/dist/components/status/LoadingAnimation/LoadingAnimation.js.map +1 -1
  264. package/dist/components/status/Spin/Cube.js +1 -1
  265. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  266. package/dist/components/status/Spin/Spin.js +1 -1
  267. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  268. package/dist/data/item-themes.js +115 -114
  269. package/dist/data/item-themes.js.map +1 -1
  270. package/dist/data/themes.d.ts +17 -17
  271. package/dist/data/themes.js +18 -18
  272. package/dist/data/themes.js.map +1 -1
  273. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  274. package/dist/icons/AdjustmentsIcon.js +1 -1
  275. package/dist/icons/AiIcon.js +1 -1
  276. package/dist/icons/AreaChartIcon.js +1 -1
  277. package/dist/icons/BackwardIcon.js +1 -1
  278. package/dist/icons/BarChartIcon.js +1 -1
  279. package/dist/icons/BellFilledIcon.js +1 -1
  280. package/dist/icons/BellIcon.js +1 -1
  281. package/dist/icons/BooleanIcon.js +1 -1
  282. package/dist/icons/CalendarEditIcon.js +1 -1
  283. package/dist/icons/CalendarIcon.js +1 -1
  284. package/dist/icons/CaretDownIcon.js +1 -1
  285. package/dist/icons/CaretUpIcon.js +1 -1
  286. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  287. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  288. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  289. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  290. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  291. package/dist/icons/ChartBarLineIcon.js +1 -1
  292. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  293. package/dist/icons/ChartBarStackedIcon.js +1 -1
  294. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  295. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  296. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  297. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  298. package/dist/icons/ChartBubbleIcon.js +1 -1
  299. package/dist/icons/ChartDonut2Icon.js +1 -1
  300. package/dist/icons/ChartFunnelIcon.js +1 -1
  301. package/dist/icons/ChartHeatmapIcon.js +1 -1
  302. package/dist/icons/ChartKPIIcon.js +1 -1
  303. package/dist/icons/ChartPie2Icon.js +1 -1
  304. package/dist/icons/ChartScatterIcon.js +1 -1
  305. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  306. package/dist/icons/CheckCircleIcon.js +1 -1
  307. package/dist/icons/CheckIcon.js +1 -1
  308. package/dist/icons/CircleFilledIcon.js +1 -1
  309. package/dist/icons/ClearIcon.js +1 -1
  310. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  311. package/dist/icons/CloseCircleIcon.js +1 -1
  312. package/dist/icons/CloseIcon.js +1 -1
  313. package/dist/icons/CodeIcon.js +1 -1
  314. package/dist/icons/ColumnTotalIcon.js +1 -1
  315. package/dist/icons/CopyIcon.js +1 -1
  316. package/dist/icons/CountIcon.js +1 -1
  317. package/dist/icons/CubeIcon.js +1 -1
  318. package/dist/icons/CubePauseIcon.js +1 -1
  319. package/dist/icons/CubePlayIcon.js +1 -1
  320. package/dist/icons/CurrencyDollarIcon.js +1 -1
  321. package/dist/icons/DangerIcon.js +1 -1
  322. package/dist/icons/DashboardIcon.js +1 -1
  323. package/dist/icons/DatabaseIcon.js +1 -1
  324. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  325. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  326. package/dist/icons/DirectionIcon.js +1 -1
  327. package/dist/icons/DonutIcon.js +1 -1
  328. package/dist/icons/DownIcon.js +1 -1
  329. package/dist/icons/EditIcon.js +1 -1
  330. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  331. package/dist/icons/ExclamationCircleIcon.js +1 -1
  332. package/dist/icons/ExclamationIcon.js +1 -1
  333. package/dist/icons/EyeIcon.js +1 -1
  334. package/dist/icons/EyeInvisibleIcon.js +1 -1
  335. package/dist/icons/FilterIcon.js +1 -1
  336. package/dist/icons/FolderFilledIcon.js +1 -1
  337. package/dist/icons/FolderIcon.js +1 -1
  338. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  339. package/dist/icons/FolderOpenIcon.js +1 -1
  340. package/dist/icons/ForwardIcon.js +1 -1
  341. package/dist/icons/GripVerticalIcon.js +1 -1
  342. package/dist/icons/HierarchyIcon.js +1 -1
  343. package/dist/icons/HierarchyOpenIcon.js +1 -1
  344. package/dist/icons/Icon.js +1 -1
  345. package/dist/icons/InfoCircleIcon.js +1 -1
  346. package/dist/icons/InfoIcon.js +1 -1
  347. package/dist/icons/KeyIcon.js +1 -1
  348. package/dist/icons/LeftIcon.js +1 -1
  349. package/dist/icons/LineChartIcon.js +1 -1
  350. package/dist/icons/LoadingIcon.js +1 -1
  351. package/dist/icons/LockFilledIcon.js +1 -1
  352. package/dist/icons/LockIcon.js +1 -1
  353. package/dist/icons/MoreIcon.js +1 -1
  354. package/dist/icons/NotAllowedIcon.js +1 -1
  355. package/dist/icons/Number123Icon.js +1 -1
  356. package/dist/icons/NumberIcon.js +1 -1
  357. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  358. package/dist/icons/PauseCircleIcon.js +1 -1
  359. package/dist/icons/PauseIcon.js +1 -1
  360. package/dist/icons/PercentageIcon.js +1 -1
  361. package/dist/icons/PieChartIcon.js +1 -1
  362. package/dist/icons/PlayCircleIcon.js +1 -1
  363. package/dist/icons/PlayIcon.js +1 -1
  364. package/dist/icons/PlusIcon.js +1 -1
  365. package/dist/icons/ProgressBarIcon.js +1 -1
  366. package/dist/icons/ReloadIcon.js +1 -1
  367. package/dist/icons/ReportIcon.js +1 -1
  368. package/dist/icons/ReturnIcon.js +1 -1
  369. package/dist/icons/RightIcon.js +1 -1
  370. package/dist/icons/RowTotalsIcon.js +1 -1
  371. package/dist/icons/SchemeIcon.js +1 -1
  372. package/dist/icons/SearchIcon.js +1 -1
  373. package/dist/icons/SemanticQueryIcon.js +1 -1
  374. package/dist/icons/SettingsIcon.js +1 -1
  375. package/dist/icons/ShieldFilledIcon.js +1 -1
  376. package/dist/icons/ShieldIcon.js +1 -1
  377. package/dist/icons/SlashIcon.js +1 -1
  378. package/dist/icons/SparklesIcon.js +1 -1
  379. package/dist/icons/SqlIcon.js +1 -1
  380. package/dist/icons/StatsIcon.js +1 -1
  381. package/dist/icons/StopIcon.js +1 -1
  382. package/dist/icons/StringIcon.js +1 -1
  383. package/dist/icons/SubtotalsIcon.js +1 -1
  384. package/dist/icons/SwitchIcon.js +1 -1
  385. package/dist/icons/TableIcon.js +1 -1
  386. package/dist/icons/ThumbsDownIcon.js +1 -1
  387. package/dist/icons/ThumbsUpIcon.js +1 -1
  388. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  389. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  390. package/dist/icons/ThunderboltIcon.js +1 -1
  391. package/dist/icons/TimeIcon.js +1 -1
  392. package/dist/icons/TrashIcon.js +1 -1
  393. package/dist/icons/UnlockIcon.js +1 -1
  394. package/dist/icons/UpIcon.js +1 -1
  395. package/dist/icons/UserGroupIcon.js +1 -1
  396. package/dist/icons/UserIcon.js +1 -1
  397. package/dist/icons/UserLockIcon.js +1 -1
  398. package/dist/icons/ViewIcon.js +1 -1
  399. package/dist/icons/WarningFilledIcon.js +1 -1
  400. package/dist/icons/WarningIcon.js +1 -1
  401. package/dist/icons/wrap-icon.js +1 -1
  402. package/dist/index.d.ts +3 -1
  403. package/dist/index.js +3 -2
  404. package/dist/index.js.map +1 -1
  405. package/dist/provider.js +1 -1
  406. package/dist/providers/TrackingProvider.js +1 -1
  407. package/dist/providers/navigationAdapter.default.js +1 -1
  408. package/dist/tokens/base.js +1 -1
  409. package/dist/tokens/colors.d.ts +3 -4
  410. package/dist/tokens/colors.js +83 -93
  411. package/dist/tokens/colors.js.map +1 -1
  412. package/dist/tokens/index.js +1 -1
  413. package/dist/tokens/layout.js +1 -1
  414. package/dist/tokens/shadows.d.ts +1 -4
  415. package/dist/tokens/shadows.js +6 -9
  416. package/dist/tokens/shadows.js.map +1 -1
  417. package/dist/tokens/sizes.js +1 -1
  418. package/dist/tokens/spacing.js +1 -1
  419. package/dist/tokens/typography.js +1 -1
  420. package/dist/utils/ResizeSensor.js +1 -1
  421. package/dist/utils/is-dev-env.js +1 -1
  422. package/dist/utils/modules.js +1 -1
  423. package/dist/utils/promise.js +1 -1
  424. package/dist/utils/raf.js +1 -1
  425. package/dist/utils/random.js +1 -1
  426. package/dist/utils/range.js +1 -1
  427. package/dist/utils/react/RenderCache.js +1 -1
  428. package/dist/utils/react/Slots.js +1 -1
  429. package/dist/utils/react/chain.js +1 -1
  430. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  431. package/dist/utils/react/index.js +1 -1
  432. package/dist/utils/react/interactions.js +1 -1
  433. package/dist/utils/react/isTextOnly.js +1 -1
  434. package/dist/utils/react/mapProps.js +1 -1
  435. package/dist/utils/react/mergeProps.js +1 -1
  436. package/dist/utils/react/nullableValue.js +1 -1
  437. package/dist/utils/react/resolveIcon.js +1 -1
  438. package/dist/utils/react/sharedStore.js +1 -1
  439. package/dist/utils/react/useCombinedRefs.js +1 -1
  440. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  441. package/dist/utils/react/useEventBus.js +1 -1
  442. package/dist/utils/react/useId.js +1 -1
  443. package/dist/utils/react/useIsDarwin.js +1 -1
  444. package/dist/utils/react/useKeySymbols.js +1 -1
  445. package/dist/utils/react/useLayoutEffect.js +1 -1
  446. package/dist/utils/react/useLocalStorage.js +1 -1
  447. package/dist/utils/react/useMergeStyles.js +1 -1
  448. package/dist/utils/react/usePopoverSync.js +1 -1
  449. package/dist/utils/react/useQaProps.js +1 -1
  450. package/dist/utils/react/useViewportSize.js +1 -1
  451. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  452. package/dist/utils/selection.js +1 -1
  453. package/dist/utils/styles.js +1 -1
  454. package/dist/utils/tree.js +1 -1
  455. package/dist/utils/warnings.js +1 -1
  456. package/dist/version.d.ts +0 -3
  457. package/dist/version.js +5 -13
  458. package/dist/version.js.map +1 -1
  459. package/docs/Usage.md +29 -97
  460. package/docs/components/content/Card.md +1 -1
  461. package/docs/components/content/InlineInput.md +277 -0
  462. package/docs/components/content/PrismCode.md +0 -21
  463. package/docs/components/form/Field.md +1 -1
  464. package/docs/components/layout/ResizablePanel.md +1 -1
  465. package/docs/components/navigation/Tabs.md +1 -1
  466. package/docs/components/organisms/FileTabs.md +1 -1
  467. package/docs/components/organisms/StatsCard.md +1 -1
  468. package/docs/tasty/configuration.md +0 -44
  469. package/docs/tasty/dsl.md +13 -14
  470. package/docs/tasty/methodology.md +0 -26
  471. package/docs/tasty/react-api.md +0 -24
  472. package/docs/tasty/ssr.md +3 -5
  473. package/docs/tasty/styles.md +7 -9
  474. package/docs/tasty/tasty-static.md +0 -15
  475. package/package.json +8 -10
  476. package/dist/components/navigation/Tabs/EditableTitle.js +0 -100
  477. package/dist/components/navigation/Tabs/EditableTitle.js.map +0 -1
  478. package/dist/tokens/palette.js +0 -351
  479. package/dist/tokens/palette.js.map +0 -1
@@ -0,0 +1,277 @@
1
+ # InlineInput
2
+
3
+ Inline editable text. Displays a value as inline content and swaps to an auto-sizing text input when entering edit mode. Designed to drop into any text context (tab title, heading, paragraph, table cell) without style customization — typography, color, and font family all inherit from the parent.
4
+
5
+ Unlike `TextInput`, `InlineInput` is intentionally **not** a form field. It manages its own commit lifecycle (`onSubmit` / `onCancel`) rather than participating in form validation.
6
+
7
+ ## When to Use
8
+
9
+ - **Renameable items**: Tab titles, file names, board columns, list items
10
+ - **Edit-in-place fields**: Inline document titles, profile names, project labels
11
+ - **Lightweight string edits**: Cases where launching a modal or full form would be heavy
12
+
13
+ ## When Not to Use
14
+
15
+ - **Form fields**: Use `TextInput` (with `<Form>` + `Field`) for inputs that need validation rules
16
+ - **Multi-line text**: Single-line only in this version (multiline planned)
17
+ - **Complex inputs**: Use a proper input component when you need masks, prefixes/suffixes, or rich validation
18
+
19
+ ## Component
20
+
21
+ ---
22
+
23
+ ### Properties
24
+
25
+ - **`value`** `string` — Controlled value. When provided, the component is controlled.
26
+ - **`defaultValue`** `string` — Initial value for uncontrolled usage.
27
+ - **`onChange`** `(value: string) => void` — Fires on commit **only when the value actually changed**. Use this to update external state (controlled pattern).
28
+ - **`isEditing`** `boolean` — Controlled editing state. When provided, the editing state is controlled.
29
+ - **`defaultIsEditing`** `boolean` (default: `false`) — Default editing state for uncontrolled usage.
30
+ - **`onEditingChange`** `(isEditing: boolean) => void` — Called when editing mode starts or ends.
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
+ - **`onCancel`** `() => void` — Called when editing is cancelled (Escape or empty submit when `allowEmpty` is `false`).
33
+ - **`editTrigger`** `'dblclick' | 'click' | 'none'` (default: `dblclick`) — How edit mode is activated from the display element. Programmatic entry via `ref.startEditing()` works regardless.
34
+ - **`submitOnBlur`** `boolean` (default: `true`) — Whether to submit when focus leaves the input.
35
+ - **`trimOnSubmit`** `boolean` (default: `true`) — Whether to trim the value on submit.
36
+ - **`allowEmpty`** `boolean` (default: `false`) — When `false`, submitting an empty/whitespace value cancels instead.
37
+ - **`isDisabled`** `boolean` (default: `false`) — When `true`, edit mode cannot be entered (programmatically or otherwise).
38
+ - **`isReadOnly`** `boolean` (default: `false`) — When `true`, edit mode cannot be entered, but the display reads as enabled.
39
+ - **`placeholder`** `string` — Placeholder text shown in the input when the draft is empty.
40
+ - **`renderDisplay`** `(value: string) => ReactNode` — Custom render for display (non-editing) mode.
41
+ - **`inputStyles`** `Styles` — Convenience prop for styling the `Input` sub-element.
42
+
43
+ ### Base Properties
44
+
45
+ Supports [Base properties](../../BaseProperties.md).
46
+
47
+ ### Imperative Ref
48
+
49
+ The component exposes a ref with these methods:
50
+
51
+ - **`startEditing()`** — Programmatically enter edit mode. Always works regardless of `editTrigger`; blocked only by `isDisabled` / `isReadOnly`.
52
+ - **`stopEditing(submit?: boolean)`** — Programmatically exit edit mode. `submit=true` (default) commits, `submit=false` cancels.
53
+ - **`focus()`** — Focus the underlying element (input when editing, root span otherwise).
54
+ - **`getValue()`** — Get the current committed value.
55
+
56
+ ### Styling Properties
57
+
58
+ #### styles
59
+
60
+ Customizes the root element of the component.
61
+
62
+ **Sub-elements:**
63
+
64
+ - `Input` — The text input rendered in edit mode
65
+ - `Measure` — The hidden text used to auto-size the input (rarely targeted)
66
+
67
+ #### inputStyles
68
+
69
+ Convenience prop equivalent to `styles={{ Input: { ... } }}`.
70
+
71
+ ### Style Properties
72
+
73
+ These properties allow direct style application without using the `styles` prop:
74
+
75
+ - **Position:** `gridArea`, `order`, `gridColumn`, `gridRow`, `placeSelf`, `alignSelf`, `justifySelf`, `zIndex`, `margin`, `inset`, `position`, `scrollMargin`
76
+ - **Dimension:** `width`, `height`, `flexBasis`, `flexGrow`, `flexShrink`, `flex`
77
+ - **Block:** `border`, `radius`, `shadow`, `outline`, `padding`, `paddingInline`, `paddingBlock`, `overflow`, `scrollbar`, `textAlign`
78
+ - **Color:** `color`, `fill`, `fade`, `image`
79
+
80
+ ### Modifiers
81
+
82
+ The `mods` property is automatically populated. Consumers can target these in their own `styles`:
83
+
84
+ | Modifier | Type | Description |
85
+ | ---------- | --------- | -------------------------------------------------------------------- |
86
+ | editing | `boolean` | Currently in edit mode |
87
+ | editable | `boolean` | `editTrigger` is `dblclick` or `click` and not disabled/read-only |
88
+ | disabled | `boolean` | `isDisabled` is `true` |
89
+ | read-only | `boolean` | `isReadOnly` is `true` |
90
+ | empty | `boolean` | The committed value is empty |
91
+
92
+ ## Examples
93
+
94
+ ### Basic Usage
95
+
96
+ ```jsx
97
+ <InlineInput defaultValue="Edit me" />
98
+ ```
99
+
100
+ ### Single-click Trigger
101
+
102
+ Enter edit mode on a single click instead of double-click:
103
+
104
+ ```jsx
105
+ <InlineInput defaultValue="Click me to edit" editTrigger="click" />
106
+ ```
107
+
108
+ ### Manual / Programmatic Trigger
109
+
110
+ When `editTrigger` is `none`, the display element is inert. Use the imperative ref to enter edit mode:
111
+
112
+ ```jsx
113
+ const ref = useRef<CubeInlineInputRef>(null);
114
+
115
+ <>
116
+ <InlineInput ref={ref} editTrigger="none" defaultValue="Use the button" />
117
+ <Button onPress={() => ref.current?.startEditing()}>Rename</Button>
118
+ </>
119
+ ```
120
+
121
+ ### Controlled Value
122
+
123
+ Track the value externally:
124
+
125
+ ```jsx
126
+ const [value, setValue] = useState('Controlled value');
127
+
128
+ <InlineInput value={value} onChange={setValue} />
129
+ ```
130
+
131
+ ### Controlled Editing State
132
+
133
+ Drive the editing state from outside (e.g. from a "Rename" button in a parent menu):
134
+
135
+ ```jsx
136
+ const [editing, setEditing] = useState(false);
137
+
138
+ <InlineInput
139
+ isEditing={editing}
140
+ onEditingChange={setEditing}
141
+ defaultValue="Controlled isEditing"
142
+ editTrigger="none"
143
+ />
144
+ ```
145
+
146
+ ### Inside a Heading
147
+
148
+ The component inherits all typography from its parent:
149
+
150
+ ```jsx
151
+ <Title level={2}>
152
+ <InlineInput defaultValue="Editable heading" />
153
+ </Title>
154
+ ```
155
+
156
+ ### Inline in Paragraph
157
+
158
+ Sits naturally inside text flow:
159
+
160
+ ```jsx
161
+ <p>
162
+ Hello, my name is <InlineInput defaultValue="John Doe" /> and I love editing
163
+ text in place.
164
+ </p>
165
+ ```
166
+
167
+ ### Placeholder for Empty Values
168
+
169
+ ```jsx
170
+ <InlineInput defaultValue="" placeholder="Untitled" />
171
+ ```
172
+
173
+ ### Allow Empty Values
174
+
175
+ By default, submitting an empty value cancels. Set `allowEmpty` to keep the empty value:
176
+
177
+ ```jsx
178
+ <InlineInput defaultValue="Clearable" allowEmpty placeholder="Empty allowed" />
179
+ ```
180
+
181
+ ### Disabled / Read-only
182
+
183
+ ```jsx
184
+ <InlineInput defaultValue="You can't edit me" isDisabled />
185
+ <InlineInput defaultValue="Read-only value" isReadOnly />
186
+ ```
187
+
188
+ ## Accessibility
189
+
190
+ ### Keyboard Navigation
191
+
192
+ - `Enter` — Commit the current draft
193
+ - `Escape` — Cancel and revert to the previous value
194
+ - `Tab` / focus loss — Commits when `submitOnBlur` is `true` (default), otherwise no-op
195
+ - Arrow keys, Space, Delete, Backspace — Work normally inside the input and do not bubble to the host
196
+
197
+ ### ARIA Properties
198
+
199
+ - **`aria-label`** — Provide a label when the input has no visible label associated. Recommended in all cases.
200
+ - **`aria-labelledby`** — Reference the id of a visible label element.
201
+
202
+ ### Focus Management
203
+
204
+ When entering edit mode, focus is taken explicitly by a `FocusScope` with `autoFocus`. This makes the transition deterministic even when triggered from a closing menu (which would otherwise restore focus to the menu trigger). The text content is selected automatically.
205
+
206
+ When leaving edit mode, focus is not restored automatically — the host is responsible for moving focus back to a meaningful element (e.g. the parent button or row).
207
+
208
+ ## Best Practices
209
+
210
+ 1. **Do**: Always provide an `aria-label` or `aria-labelledby` for screen reader users.
211
+
212
+ ```jsx
213
+ <InlineInput defaultValue="My document" aria-label="Document name" />
214
+ ```
215
+
216
+ 2. **Do**: Use `editTrigger="dblclick"` for items that are also clickable for selection (the default).
217
+
218
+ 3. **Don't**: Use `InlineInput` as a form field. Use `TextInput` inside a `<Form>` for that.
219
+
220
+ 4. **Don't**: Rely on `onChange` for keystroke-by-keystroke updates — it fires only on commit. Use `isEditing` + `onEditingChange` if you need to observe the editing lifecycle.
221
+
222
+ ### onChange vs onSubmit
223
+
224
+ These look similar but fire under different conditions. Pick the one that matches your intent:
225
+
226
+ | Event | Fires when | Typical use |
227
+ | ----------- | ------------------------------------------------------------------------- | ---------------------------------------- |
228
+ | `onChange` | The committed value is **different** from the previous value | Updating state (controlled pattern) |
229
+ | `onSubmit` | The user commits (Enter / blur / `ref.stopEditing(true)`) — always fires | Side effects (server save, toasts) |
230
+ | `onCancel` | Escape, empty submit (when `allowEmpty=false`), or `ref.stopEditing(false)` | Reverting UI, cleanup |
231
+
232
+ ### Optimistic Display
233
+
234
+ When the component is **controlled** and the parent updates `value` asynchronously, the component shows the just-committed value optimistically until the parent's `value` catches up. This prevents a flicker back to the old value between commit and re-render.
235
+
236
+ ### Async Save & Rollback
237
+
238
+ `onSubmit` may return a `Promise`. The component does not block the UI on the promise, but it watches the outcome:
239
+
240
+ - **Promise resolves** — the parent is expected to have updated `value` (or chose not to). Optimistic display clears when `value` next changes.
241
+ - **Promise rejects** — the component treats this as a save failure and **automatically reverts** the optimistic display back to the actual `value` prop. Stale optimistic state never lingers.
242
+
243
+ A typical async-save pattern:
244
+
245
+ ```jsx
246
+ <InlineInput
247
+ value={title}
248
+ onSubmit={async (next) => {
249
+ await saveToServer(next); // throws on failure
250
+ setTitle(next); // only on success
251
+ }}
252
+ />
253
+ ```
254
+
255
+ If `saveToServer` throws, `InlineInput` reverts to `title` automatically. If you want to show a toast on failure, wrap inside `onSubmit` and re-throw to keep the rollback:
256
+
257
+ ```jsx
258
+ <InlineInput
259
+ value={title}
260
+ onSubmit={async (next) => {
261
+ try {
262
+ await saveToServer(next);
263
+ setTitle(next);
264
+ } catch (err) {
265
+ showToast('Save failed');
266
+ throw err;
267
+ }
268
+ }}
269
+ />
270
+ ```
271
+
272
+ If the user starts a new edit before a pending promise settles, the older promise's outcome is ignored (no late rollback can clobber the newer commit).
273
+
274
+ ## Related Components
275
+
276
+ - [TextInput](../fields/TextInput.md) — Full form-aware text input
277
+ - [Tabs](../navigation/Tabs.md) — Uses `InlineInput` internally for editable tab titles
@@ -24,27 +24,6 @@ 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
-
48
27
  ## Examples
49
28
 
50
29
  ```jsx
@@ -197,7 +197,7 @@ const InputElement = tasty({
197
197
  padding: '1x 1.5x',
198
198
  border: true,
199
199
  radius: '1r',
200
- fill: '#surface',
200
+ fill: '#white',
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="#surface">
53
+ <Panel isFlex isStretched height="min 30x" fill="#white">
54
54
  <ResizablePanel direction="right">
55
55
  <Block padding="1x">Sidebar content</Block>
56
56
  </ResizablePanel>
@@ -343,7 +343,7 @@ Add dropdown menus to tabs using the `menu` prop. This replaces the need for man
343
343
 
344
344
  ### Editable Tabs with Menu
345
345
 
346
- Combine editable tabs with a menu for rename, duplicate, and delete actions.
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
348
  ```jsx
349
349
  <Tabs
@@ -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 `#surface`)
24
+ - Tab `fill` — `#dark.04` (active tabs use `#white`)
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` — `$shadow` (design-system elevation token, scheme-aware via `#shadow-md`)
25
+ - `shadow` — `0 2px 6px #dark.10`
26
26
  - `padding` — `2.5x`
27
27
 
28
28
  ### Base Properties
@@ -61,7 +61,6 @@ 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). |
65
64
 
66
65
  ---
67
66
 
@@ -85,49 +84,6 @@ The `oklch` color space is the default because it provides perceptually uniform
85
84
 
86
85
  ---
87
86
 
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
-
131
87
  ## Design Tokens
132
88
 
133
89
  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,23 +52,22 @@ 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.
56
-
57
- Examples below assume the sub-element key is **Cell** (i.e. `[data-element="Cell"]` in CSS):
55
+ Control how a sub-element selector attaches to the root selector using the `$` property inside the sub-element's styles:
58
56
 
59
57
  | Pattern | Result | Description |
60
58
  |---------|--------|-------------|
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 |
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 |
72
71
 
73
72
  Rules for key injection (`[data-element="..."]`):
74
73
 
@@ -399,32 +399,6 @@ 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
-
428
402
  ### When to use styleProps vs wrapping
429
403
 
430
404
  If the component exposes the properties you need as `styleProps`, use them directly — that is what they are for:
@@ -42,30 +42,6 @@ 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
-
69
45
  ---
70
46
 
71
47
  ## Style Props
package/docs/tasty/ssr.md CHANGED
@@ -358,18 +358,16 @@ 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
-
363
361
  | Method | Description |
364
362
  |---|---|
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 }`. |
363
+ | `allocateClassName(cacheKey)` | Allocate a sequential class name (`t0`, `t1`, ...) for a cache key. Returns `{ className, isNewAllocation }`. |
366
364
  | `collectChunk(cacheKey, className, rules)` | Record CSS rules for a chunk. Deduplicated by `cacheKey`. |
367
365
  | `collectKeyframes(name, css)` | Record a `@keyframes` rule. Deduplicated by name. |
368
- | `allocateKeyframeName(providedName?)` | Allocate a keyframe name. Returns `providedName` if given, otherwise generates one using `${namePrefix}k${counter}` (e.g. `tk0`, `tk1`, ...). |
366
+ | `allocateKeyframeName(providedName?)` | Allocate a keyframe name. Returns `providedName` if given, otherwise generates one (`k0`, `k1`, ...). |
369
367
  | `collectProperty(name, css)` | Record a `@property` rule. Deduplicated by name. |
370
368
  | `collectFontFace(key, css)` | Record a `@font-face` rule. Deduplicated by content hash. |
371
369
  | `collectCounterStyle(name, css)` | Record a `@counter-style` rule. Deduplicated by name. |
372
- | `allocateCounterStyleName(providedName?)` | Allocate a counter-style name. Returns `providedName` if given, otherwise generates one using `${namePrefix}c${counter}` (e.g. `tc0`, `tc1`, ...). |
370
+ | `allocateCounterStyleName(providedName?)` | Allocate a counter-style name. Returns `providedName` if given, otherwise generates one (`cs0`, `cs1`, ...). |
373
371
  | `collectGlobalStyles(key, css)` | Record global styles (from `useGlobalStyles`). Deduplicated by key. |
374
372
  | `collectRawCSS(key, css)` | Record raw CSS text (from `useRawCSS`). Deduplicated by key. |
375
373
  | `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 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.
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`.
386
386
 
387
387
  **Modifiers:**
388
388
 
@@ -394,13 +394,11 @@ Use `/` to separate the preset name from one or more space-separated modifiers.
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="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)
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")
404
402
  ```
405
403
 
406
404
  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,21 +178,6 @@ 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
- ```
196
181
 
197
182
  ---
198
183
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-bca8d09",
3
+ "version": "0.0.0-canary-ec0a7f1",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -10,7 +10,7 @@
10
10
  "module": "./dist/index.js",
11
11
  "types": "./dist/index.d.ts",
12
12
  "sideEffects": false,
13
- "packageManager": "pnpm@11.0.8",
13
+ "packageManager": "pnpm@10.32.0",
14
14
  "exports": {
15
15
  ".": {
16
16
  "import": "./dist/index.js",
@@ -74,8 +74,7 @@
74
74
  "@react-types/shared": "^3.32.1",
75
75
  "@tabler/icons-react": "^3.31.0",
76
76
  "@tanstack/react-virtual": "^3.13.12",
77
- "@tenphi/glaze": "0.11.0",
78
- "@tenphi/tasty": "2.6.0",
77
+ "@tenphi/tasty": "2.1.1",
79
78
  "clipboard-copy": "^4.0.1",
80
79
  "clsx": "^1.1.1",
81
80
  "diff": "^8.0.3",
@@ -109,8 +108,8 @@
109
108
  "@size-limit/webpack": "^8.2.4",
110
109
  "@size-limit/webpack-why": "^8.2.4",
111
110
  "@statoscope/cli": "^5.20.1",
112
- "@storybook/addon-docs": "^10.3.6",
113
- "@storybook/react-vite": "^10.3.6",
111
+ "@storybook/addon-docs": "^10.2.3",
112
+ "@storybook/react-vite": "^10.2.3",
114
113
  "@tenphi/eslint-plugin-tasty": "^0.6.2",
115
114
  "@testing-library/dom": "^10.4.1",
116
115
  "@testing-library/jest-dom": "^6.7.0",
@@ -140,7 +139,7 @@
140
139
  "eslint-plugin-jsx-a11y": "^6.10.2",
141
140
  "eslint-plugin-react": "^7.37.5",
142
141
  "eslint-plugin-react-hooks": "^5.2.0",
143
- "eslint-plugin-storybook": "^10.3.6",
142
+ "eslint-plugin-storybook": "^10.2.3",
144
143
  "globals": "^16.0.0",
145
144
  "husky": "^6.0.0",
146
145
  "jsdom": "^29.1.1",
@@ -156,8 +155,7 @@
156
155
  "rimraf": "^6.0.1",
157
156
  "serve-handler": "^6.1.6",
158
157
  "size-limit": "^8.2.6",
159
- "storybook": "^10.3.6",
160
- "storybook-dark-mode": "^5.0.0",
158
+ "storybook": "^10.2.3",
161
159
  "tsdown": "^0.20.3",
162
160
  "typescript": "^5.6.3",
163
161
  "typescript-eslint": "^8.31.0",
@@ -172,6 +170,6 @@
172
170
  "license": "MIT",
173
171
  "engines": {
174
172
  "node": ">=22.14.0",
175
- "pnpm": "^11.0.0"
173
+ "pnpm": "^10.0.0"
176
174
  }
177
175
  }