@cube-dev/ui-kit 0.0.0-canary-4777472 → 0.0.0-canary-b26ec55

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 (646) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +55 -64
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +11 -52
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +2 -2
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +2 -2
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +2 -1
  74. package/es/components/content/Layout/LayoutBlock.js +2 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +2 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +2 -1
  80. package/es/components/content/Layout/LayoutFooter.js +2 -1
  81. package/es/components/content/Layout/LayoutGrid.js +2 -1
  82. package/es/components/content/Layout/LayoutHeader.js +2 -1
  83. package/es/components/content/Layout/LayoutPane.js +2 -1
  84. package/es/components/content/Layout/LayoutPanel.js +2 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +2 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +6 -6
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -1
  427. package/es/provider.js +2 -8
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/services/notification.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +18 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +98 -0
  443. package/es/tasty/chunks/definitions.js +280 -0
  444. package/es/tasty/chunks/index.js +12 -0
  445. package/es/tasty/chunks/renderChunk.js +97 -0
  446. package/es/tasty/config.js +244 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +12 -0
  449. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +146 -0
  452. package/es/tasty/index.js +18 -4
  453. package/es/tasty/injector/index.js +31 -87
  454. package/es/tasty/injector/injector.js +30 -279
  455. package/es/tasty/injector/sheet-manager.js +126 -2
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +5 -3
  458. package/es/tasty/parser/const.js +1 -1
  459. package/es/tasty/parser/lru.js +1 -1
  460. package/es/tasty/parser/parser.js +14 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +2 -1
  463. package/es/tasty/pipeline/conditions.js +469 -0
  464. package/es/tasty/pipeline/exclusive.js +193 -0
  465. package/es/tasty/pipeline/index.js +515 -0
  466. package/es/tasty/pipeline/materialize.js +1001 -0
  467. package/es/tasty/pipeline/parseStateKey.js +565 -0
  468. package/es/tasty/pipeline/simplify.js +786 -0
  469. package/es/tasty/plugins/index.js +26 -0
  470. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  471. package/es/tasty/plugins/types.js +10 -0
  472. package/es/tasty/states/index.js +515 -0
  473. package/es/tasty/static/index.js +47 -0
  474. package/es/tasty/static/tastyStatic.js +55 -0
  475. package/es/tasty/static/types.js +34 -0
  476. package/es/tasty/styles/align.js +1 -1
  477. package/es/tasty/styles/border.js +1 -1
  478. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  479. package/es/tasty/styles/color.js +1 -1
  480. package/es/tasty/styles/createStyle.js +1 -1
  481. package/es/tasty/styles/dimension.js +1 -1
  482. package/es/tasty/styles/display.js +1 -1
  483. package/es/tasty/styles/fade.js +1 -1
  484. package/es/tasty/styles/fill.js +10 -20
  485. package/es/tasty/styles/flow.js +1 -1
  486. package/es/tasty/styles/font.js +1 -1
  487. package/es/tasty/styles/fontStyle.js +1 -1
  488. package/es/tasty/styles/gap.js +1 -1
  489. package/es/tasty/styles/groupRadius.js +1 -1
  490. package/es/tasty/styles/height.js +1 -1
  491. package/es/tasty/styles/index.js +1 -1
  492. package/es/tasty/styles/inset.js +1 -1
  493. package/es/tasty/styles/justify.js +1 -1
  494. package/es/tasty/styles/list.js +1 -1
  495. package/es/tasty/styles/margin.js +75 -55
  496. package/es/tasty/styles/outline.js +1 -1
  497. package/es/tasty/styles/padding.js +75 -55
  498. package/es/tasty/styles/place.js +1 -1
  499. package/es/tasty/styles/predefined.js +3 -2
  500. package/es/tasty/styles/preset.js +1 -1
  501. package/es/tasty/styles/radius.js +1 -1
  502. package/es/tasty/styles/reset.js +2 -6
  503. package/es/tasty/styles/scrollbar.js +1 -1
  504. package/es/tasty/styles/shadow.js +1 -1
  505. package/es/tasty/styles/styledScrollbar.js +1 -1
  506. package/es/tasty/styles/transition.js +1 -1
  507. package/es/tasty/styles/types.js +1 -1
  508. package/es/tasty/styles/width.js +1 -1
  509. package/es/tasty/tasty.js +76 -117
  510. package/es/tasty/types.js +1 -1
  511. package/es/tasty/utils/cache-wrapper.js +1 -1
  512. package/es/tasty/utils/case-converter.js +1 -1
  513. package/es/tasty/utils/colors.js +1 -1
  514. package/es/tasty/utils/dotize.js +1 -1
  515. package/es/tasty/utils/filterBaseProps.js +1 -1
  516. package/es/tasty/utils/getDisplayName.js +1 -1
  517. package/es/tasty/utils/isDevEnv.js +1 -1
  518. package/es/tasty/utils/mergeStyles.js +2 -2
  519. package/es/tasty/utils/modAttrs.js +1 -1
  520. package/es/tasty/utils/processTokens.js +87 -1
  521. package/es/tasty/utils/string.js +1 -1
  522. package/es/tasty/utils/styles.js +252 -19
  523. package/es/tasty/utils/typography.js +67 -0
  524. package/es/tasty/utils/warnings.js +1 -1
  525. package/es/tasty/zero/babel.js +401 -0
  526. package/es/tasty/zero/css-writer.js +94 -0
  527. package/es/tasty/zero/extractor.js +75 -0
  528. package/es/tasty/zero/index.js +28 -0
  529. package/es/tasty/zero/next.js +102 -0
  530. package/es/tokens/base.js +64 -0
  531. package/es/tokens/colors.js +68 -0
  532. package/es/tokens/index.js +63 -0
  533. package/es/tokens/layout.js +26 -0
  534. package/es/tokens/shadows.js +27 -0
  535. package/es/tokens/sizes.js +42 -0
  536. package/es/tokens/spacing.js +22 -0
  537. package/es/tokens/typography.js +237 -0
  538. package/es/utils/ResizeSensor.js +1 -1
  539. package/es/utils/index.js +1 -1
  540. package/es/utils/modules.js +1 -1
  541. package/es/utils/promise.js +1 -1
  542. package/es/utils/raf.js +1 -1
  543. package/es/utils/random.js +1 -1
  544. package/es/utils/range.js +1 -1
  545. package/es/utils/react/RenderCache.js +1 -1
  546. package/es/utils/react/Slots.js +1 -1
  547. package/es/utils/react/chain.js +1 -1
  548. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  549. package/es/utils/react/index.js +1 -1
  550. package/es/utils/react/interactions.js +1 -1
  551. package/es/utils/react/isTextOnly.js +1 -1
  552. package/es/utils/react/mapProps.js +1 -1
  553. package/es/utils/react/mergeProps.js +1 -1
  554. package/es/utils/react/nullableValue.js +1 -1
  555. package/es/utils/react/resolveIcon.js +1 -1
  556. package/es/utils/react/sharedStore.js +1 -1
  557. package/es/utils/react/useCombinedRefs.js +1 -1
  558. package/es/utils/react/useControlledFocusVisible.js +1 -1
  559. package/es/utils/react/useEventBus.js +1 -1
  560. package/es/utils/react/useId.js +1 -1
  561. package/es/utils/react/useIsDarwin.js +1 -1
  562. package/es/utils/react/useKeySymbols.js +1 -1
  563. package/es/utils/react/useLayoutEffect.js +1 -1
  564. package/es/utils/react/useLocalStorage.js +1 -1
  565. package/es/utils/react/useQaProps.js +1 -1
  566. package/es/utils/react/useViewportSize.js +1 -1
  567. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  568. package/es/utils/tree.js +1 -1
  569. package/es/utils/warnings.js +1 -1
  570. package/es/version.js +2 -2
  571. package/package.json +3 -1
  572. package/types/components/GlobalStyles.d.ts +2 -1
  573. package/types/components/HiddenInput.d.ts +827 -826
  574. package/types/components/Root.d.ts +1 -0
  575. package/types/components/actions/Button/Button.d.ts +1647 -1645
  576. package/types/components/actions/CommandMenu/styled.d.ts +4135 -4130
  577. package/types/components/actions/Menu/styled.d.ts +4384 -4379
  578. package/types/components/actions/use-action.d.ts +1 -1
  579. package/types/components/content/List/SectionHeading.d.ts +83 -83
  580. package/types/components/content/Text.d.ts +311 -311
  581. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  582. package/types/components/fields/Select/Select.d.ts +827 -826
  583. package/types/components/fields/Slider/elements.d.ts +4962 -4956
  584. package/types/index.d.ts +1 -0
  585. package/types/provider.d.ts +1 -2
  586. package/types/stories/components/StyledButton.d.ts +1 -1
  587. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  588. package/types/tasty/chunks/definitions.d.ts +75 -0
  589. package/types/tasty/chunks/index.d.ts +4 -0
  590. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  591. package/types/tasty/config.d.ts +145 -0
  592. package/types/tasty/debug.d.ts +35 -0
  593. package/types/tasty/hooks/index.d.ts +4 -0
  594. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  595. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  596. package/types/tasty/hooks/useStyles.d.ts +38 -0
  597. package/types/tasty/index.d.ts +14 -4
  598. package/types/tasty/injector/index.d.ts +30 -19
  599. package/types/tasty/injector/injector.d.ts +13 -13
  600. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  601. package/types/tasty/injector/types.d.ts +20 -1
  602. package/types/tasty/parser/parser.d.ts +4 -0
  603. package/types/tasty/parser/types.d.ts +1 -0
  604. package/types/tasty/pipeline/conditions.d.ts +248 -0
  605. package/types/tasty/pipeline/exclusive.d.ts +78 -0
  606. package/types/tasty/pipeline/index.d.ts +67 -0
  607. package/types/tasty/pipeline/materialize.d.ts +115 -0
  608. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  609. package/types/tasty/pipeline/simplify.d.ts +28 -0
  610. package/types/tasty/plugins/index.d.ts +17 -0
  611. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  612. package/types/tasty/plugins/types.d.ts +34 -0
  613. package/types/tasty/states/index.d.ts +101 -0
  614. package/types/tasty/static/index.d.ts +39 -0
  615. package/types/tasty/static/tastyStatic.d.ts +41 -0
  616. package/types/tasty/static/types.d.ts +44 -0
  617. package/types/tasty/styles/fill.d.ts +11 -1
  618. package/types/tasty/styles/margin.d.ts +3 -1
  619. package/types/tasty/styles/padding.d.ts +3 -1
  620. package/types/tasty/styles/types.d.ts +13 -3
  621. package/types/tasty/tasty.d.ts +891 -840
  622. package/types/tasty/utils/styles.d.ts +50 -6
  623. package/types/tasty/utils/typography.d.ts +32 -0
  624. package/types/tasty/zero/babel.d.ts +56 -0
  625. package/types/tasty/zero/css-writer.d.ts +41 -0
  626. package/types/tasty/zero/extractor.d.ts +19 -0
  627. package/types/tasty/zero/index.d.ts +18 -0
  628. package/types/tasty/zero/next.d.ts +57 -0
  629. package/types/tokens/base.d.ts +8 -0
  630. package/types/tokens/colors.d.ts +6 -0
  631. package/types/tokens/index.d.ts +41 -0
  632. package/types/tokens/layout.d.ts +7 -0
  633. package/types/tokens/shadows.d.ts +12 -0
  634. package/types/tokens/sizes.d.ts +25 -0
  635. package/types/tokens/spacing.d.ts +8 -0
  636. package/types/tokens/typography.d.ts +30 -0
  637. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  638. package/es/tasty/utils/getModCombinations.js +0 -38
  639. package/es/tasty/utils/renderStyles.js +0 -1050
  640. package/es/tasty/utils/responsive.js +0 -60
  641. package/es/tokens.js +0 -309
  642. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  643. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  644. package/types/tasty/utils/renderStyles.d.ts +0 -41
  645. package/types/tasty/utils/responsive.d.ts +0 -8
  646. package/types/tokens.d.ts +0 -221
package/es/tasty/debug.js CHANGED
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  /**
9
9
  * Debug utilities for inspecting tasty-generated CSS at runtime
10
10
  */
11
+ import { CHUNK_NAMES } from './chunks/definitions';
11
12
  import { getCssTextForNode, injector } from './injector';
12
13
  import { isDevEnv } from './utils/isDevEnv';
13
14
  /**
@@ -246,6 +247,95 @@ function getPageStats(options) {
246
247
  }
247
248
  return { cssSize, ruleCount, stylesheetCount, skippedStylesheets };
248
249
  }
250
+ // ============================================================================
251
+ // Chunk-aware helpers (for style chunking optimization)
252
+ // ============================================================================
253
+ /**
254
+ * Extract chunk name from a cache key.
255
+ *
256
+ * Cache keys have the format: "chunkName\0key:value\0key:value..."
257
+ * or "[states:...]\0chunkName\0..." for predefined states.
258
+ *
259
+ * @param cacheKey - The cache key to parse
260
+ * @returns The chunk name, or null if not found
261
+ */
262
+ function extractChunkNameFromCacheKey(cacheKey) {
263
+ // Cache keys are separated by \0 (null character)
264
+ const parts = cacheKey.split('\0');
265
+ for (const part of parts) {
266
+ // Skip predefined states prefix
267
+ if (part.startsWith('[states:'))
268
+ continue;
269
+ // First non-states part that doesn't contain : is the chunk name
270
+ if (!part.includes(':') && part.length > 0) {
271
+ return part;
272
+ }
273
+ }
274
+ return null;
275
+ }
276
+ /**
277
+ * Get chunk info for a className by reverse-looking up its cache key.
278
+ *
279
+ * @param className - The tasty class name (e.g., "t0", "t123")
280
+ * @param root - The document or shadow root to search in
281
+ * @returns Object with chunk name and cache key, or nulls if not found
282
+ */
283
+ function getChunkForClassName(className, root = document) {
284
+ const registry = injector.instance['sheetManager']?.getRegistry(root);
285
+ if (!registry) {
286
+ return { chunkName: null, cacheKey: null };
287
+ }
288
+ // Reverse lookup: find the cache key for this className
289
+ for (const [cacheKey, cn] of registry.cacheKeyToClassName) {
290
+ if (cn === className) {
291
+ return {
292
+ chunkName: extractChunkNameFromCacheKey(cacheKey),
293
+ cacheKey,
294
+ };
295
+ }
296
+ }
297
+ return { chunkName: null, cacheKey: null };
298
+ }
299
+ /**
300
+ * Get chunk breakdown statistics for all styles.
301
+ *
302
+ * @param root - The document or shadow root to search in
303
+ * @returns Object with breakdown by chunk type and totals
304
+ */
305
+ function getChunkBreakdown(root = document) {
306
+ const registry = injector.instance['sheetManager']?.getRegistry(root);
307
+ if (!registry) {
308
+ return {
309
+ byChunk: {},
310
+ totalChunkTypes: 0,
311
+ };
312
+ }
313
+ const byChunk = {};
314
+ // Group classes by chunk
315
+ for (const [cacheKey, className] of registry.cacheKeyToClassName) {
316
+ const chunkName = extractChunkNameFromCacheKey(cacheKey) || 'unknown';
317
+ if (!byChunk[chunkName]) {
318
+ byChunk[chunkName] = { classes: [], cssSize: 0, ruleCount: 0 };
319
+ }
320
+ byChunk[chunkName].classes.push(className);
321
+ // Get CSS for this class
322
+ const css = injector.instance.getCssTextForClasses([className], { root });
323
+ byChunk[chunkName].cssSize += css.length;
324
+ byChunk[chunkName].ruleCount += (css.match(/\{[^}]*\}/g) || []).length;
325
+ }
326
+ // Sort classes within each chunk for consistency
327
+ for (const entry of Object.values(byChunk)) {
328
+ entry.classes.sort((a, b) => {
329
+ const aNum = parseInt(a.slice(1));
330
+ const bNum = parseInt(b.slice(1));
331
+ return aNum - bNum;
332
+ });
333
+ }
334
+ return {
335
+ byChunk,
336
+ totalChunkTypes: Object.keys(byChunk).length,
337
+ };
338
+ }
249
339
  /**
250
340
  * Concise tastyDebug API for inspecting styles at runtime
251
341
  */
@@ -316,6 +406,7 @@ export const tastyDebug = {
316
406
  return {
317
407
  element: null,
318
408
  classes: [],
409
+ chunks: [],
319
410
  css: '',
320
411
  size: 0,
321
412
  rules: 0,
@@ -325,12 +416,18 @@ export const tastyDebug = {
325
416
  const tastyClasses = classList
326
417
  .split(/\s+/)
327
418
  .filter((cls) => /^t\d+$/.test(cls));
419
+ // Get chunk info for each tasty class
420
+ const chunks = tastyClasses.map((className) => ({
421
+ className,
422
+ chunkName: getChunkForClassName(className, root).chunkName,
423
+ }));
328
424
  const css = getCssTextForNode(element, { root });
329
425
  const prettifiedCSS = prettifyCSS(css);
330
426
  const ruleCount = (css.match(/\{[^}]*\}/g) || []).length;
331
427
  return {
332
428
  element,
333
429
  classes: tastyClasses,
430
+ chunks,
334
431
  css: prettifiedCSS,
335
432
  size: css.length,
336
433
  rules: ruleCount,
@@ -370,7 +467,63 @@ export const tastyDebug = {
370
467
  const { root } = opts || {};
371
468
  injector.instance.resetMetrics({ root });
372
469
  },
373
- // 5) Get CSS for specific global types
470
+ // 5) Chunk breakdown (style chunking optimization)
471
+ /**
472
+ * Get breakdown of styles by chunk type.
473
+ *
474
+ * With style chunking enabled, styles are split into logical chunks
475
+ * (appearance, font, dimension, container, etc.) for better caching
476
+ * and CSS reuse.
477
+ *
478
+ * @param opts - Options including root document/shadow root
479
+ * @returns Breakdown by chunk type with class counts and CSS sizes
480
+ */
481
+ chunks(opts) {
482
+ const { root = document, log = false } = opts || {};
483
+ const breakdown = getChunkBreakdown(root);
484
+ const totalClasses = Object.values(breakdown.byChunk).reduce((sum, entry) => sum + entry.classes.length, 0);
485
+ if (log) {
486
+ console.group('🧩 Style Chunk Breakdown');
487
+ // Define display order matching CHUNK_NAMES
488
+ const displayOrder = [
489
+ CHUNK_NAMES.COMBINED, // non-chunked styles (e.g., @starting-style)
490
+ CHUNK_NAMES.APPEARANCE,
491
+ CHUNK_NAMES.FONT,
492
+ CHUNK_NAMES.DIMENSION,
493
+ CHUNK_NAMES.CONTAINER,
494
+ CHUNK_NAMES.SCROLLBAR,
495
+ CHUNK_NAMES.POSITION,
496
+ CHUNK_NAMES.MISC,
497
+ CHUNK_NAMES.SUBCOMPONENTS,
498
+ ];
499
+ // Show chunks in order
500
+ for (const chunkName of displayOrder) {
501
+ const data = breakdown.byChunk[chunkName];
502
+ if (data) {
503
+ const sizeStr = data.cssSize > 1024
504
+ ? `${(data.cssSize / 1024).toFixed(1)}KB`
505
+ : `${data.cssSize}B`;
506
+ console.log(` • ${chunkName}: ${data.classes.length} classes, ${sizeStr}, ${data.ruleCount} rules`);
507
+ }
508
+ }
509
+ // Show any unknown chunks
510
+ for (const [chunkName, data] of Object.entries(breakdown.byChunk)) {
511
+ if (!displayOrder.includes(chunkName)) {
512
+ const sizeStr = data.cssSize > 1024
513
+ ? `${(data.cssSize / 1024).toFixed(1)}KB`
514
+ : `${data.cssSize}B`;
515
+ console.log(` • ${chunkName}: ${data.classes.length} classes, ${sizeStr}, ${data.ruleCount} rules`);
516
+ }
517
+ }
518
+ console.log(`📊 Total: ${totalClasses} classes across ${breakdown.totalChunkTypes} chunk types`);
519
+ console.groupEnd();
520
+ }
521
+ return {
522
+ ...breakdown,
523
+ totalClasses,
524
+ };
525
+ },
526
+ // 6) Get CSS for specific global types
374
527
  getGlobalTypeCSS(type, opts) {
375
528
  const { root = document } = opts || {};
376
529
  const registry = injector.instance['sheetManager']?.getRegistry(root);
@@ -565,6 +718,8 @@ export const tastyDebug = {
565
718
  propertyCSSSize: Math.round(propertyData.size * scaleFactor),
566
719
  };
567
720
  }
721
+ // Get chunk breakdown
722
+ const chunkBreakdown = getChunkBreakdown(root);
568
723
  const summary = {
569
724
  activeClasses: cacheStatus.classes.active,
570
725
  unusedClasses: cacheStatus.classes.unused,
@@ -591,6 +746,7 @@ export const tastyDebug = {
591
746
  propertyCount: definitions.properties.length,
592
747
  keyframeCount: definitions.keyframes.length,
593
748
  cleanupSummary,
749
+ chunkBreakdown,
594
750
  };
595
751
  if (log) {
596
752
  console.group('🎨 Comprehensive Tasty Debug Summary');
@@ -602,7 +758,7 @@ export const tastyDebug = {
602
758
  console.log(` • Active CSS: ${summary.activeCSSSize} characters`);
603
759
  console.log(` • Unused CSS: ${summary.unusedCSSSize} characters`);
604
760
  console.log(` • Global CSS (injectGlobal): ${summary.globalCSSSize} characters (${summary.globalRuleCount} rules)`);
605
- console.log(` • Raw CSS (createGlobalStyle): ${summary.rawCSSSize} characters (${summary.rawRuleCount} rules)`);
761
+ console.log(` • Raw CSS (injectRawCSS/useRawCSS): ${summary.rawCSSSize} characters (${summary.rawRuleCount} rules)`);
606
762
  console.log(` • Keyframes CSS: ${summary.keyframesCSSSize} characters (${summary.keyframesRuleCount} rules)`);
607
763
  console.log(` • Property CSS: ${summary.propertyCSSSize} characters (${summary.propertyRuleCount} rules)`);
608
764
  // Show breakdown calculation
@@ -652,6 +808,30 @@ export const tastyDebug = {
652
808
  : '0';
653
809
  console.log(` • Overall cache hit rate: ${hitRate}%`);
654
810
  }
811
+ // Show chunk breakdown
812
+ if (summary.chunkBreakdown.totalChunkTypes > 0) {
813
+ console.log('🧩 Style Chunk Breakdown:');
814
+ const displayOrder = [
815
+ CHUNK_NAMES.COMBINED, // non-chunked styles (e.g., @starting-style)
816
+ CHUNK_NAMES.APPEARANCE,
817
+ CHUNK_NAMES.FONT,
818
+ CHUNK_NAMES.DIMENSION,
819
+ CHUNK_NAMES.CONTAINER,
820
+ CHUNK_NAMES.SCROLLBAR,
821
+ CHUNK_NAMES.POSITION,
822
+ CHUNK_NAMES.MISC,
823
+ CHUNK_NAMES.SUBCOMPONENTS,
824
+ ];
825
+ for (const chunkName of displayOrder) {
826
+ const data = summary.chunkBreakdown.byChunk[chunkName];
827
+ if (data) {
828
+ const sizeStr = data.cssSize > 1024
829
+ ? `${(data.cssSize / 1024).toFixed(1)}KB`
830
+ : `${data.cssSize}B`;
831
+ console.log(` • ${chunkName}: ${data.classes.length} classes, ${sizeStr}, ${data.ruleCount} rules`);
832
+ }
833
+ }
834
+ }
655
835
  console.log('🔍 Details:');
656
836
  console.log(' • Active classes:', summary.activeClasses);
657
837
  console.log(' • Unused classes:', summary.unusedClasses);
@@ -735,15 +915,15 @@ export const tastyDebug = {
735
915
  console.groupEnd();
736
916
  console.groupEnd();
737
917
  },
738
- // 11) Show help and usage examples
918
+ // 12) Show help and usage examples
739
919
  help() {
740
920
  console.group('🎨 tastyDebug - Quick Start Guide');
741
921
  console.log('💡 Essential commands:');
742
922
  console.log(' • tastyDebug.summary({ log: true }) - comprehensive overview');
923
+ console.log(' • tastyDebug.chunks({ log: true }) - style chunk breakdown');
743
924
  console.log(' • tastyDebug.log("active") - beautiful CSS display');
744
925
  console.log(' • tastyDebug.css("active") - get active CSS');
745
- console.log(' • tastyDebug.inspect(".my-element") - detailed element inspection');
746
- console.log(' • tastyDebug.global({ log: true }) - global CSS analysis');
926
+ console.log(' • tastyDebug.inspect(".my-element") - element inspection with chunk info');
747
927
  console.log(' • tastyDebug.cache() - cache status');
748
928
  console.log(' • tastyDebug.defs() - defined properties & keyframes');
749
929
  console.log(' • tastyDebug.pageCSS({ log: true }) - all page CSS');
@@ -752,7 +932,7 @@ export const tastyDebug = {
752
932
  console.log(' • "all" - all tasty CSS + global CSS');
753
933
  console.log(' • "active" - CSS for classes in DOM');
754
934
  console.log(' • "unused" - CSS for classes with refCount = 0');
755
- console.log(' • "global" - only global CSS (createGlobalStyle)');
935
+ console.log(' • "global" - only global CSS (injectGlobal)');
756
936
  console.log(' • "page" - ALL page CSS (including non-tasty)');
757
937
  console.log(' • "t123" - specific tasty class');
758
938
  console.log(' • [".my-selector"] - CSS selector');
@@ -762,6 +942,12 @@ export const tastyDebug = {
762
942
  console.log(' • { title: "Custom" } - custom title for log()');
763
943
  console.log(' • { root: shadowRoot } - target Shadow DOM');
764
944
  console.log(' • { prettify: false } - skip CSS formatting');
945
+ console.log('');
946
+ console.log('🧩 Style Chunking:');
947
+ console.log(' Elements have multiple classes (one per chunk: appearance, font, dimension, etc.)');
948
+ console.log(' • tastyDebug.chunks({ log: true }) - breakdown by chunk type');
949
+ console.log(' • tastyDebug.inspect() - shows which chunk each class belongs to');
950
+ console.log(' Chunk types: combined (non-chunked), appearance, font, dimension, container, scrollbar, position, misc, subcomponents');
765
951
  console.groupEnd();
766
952
  },
767
953
  };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ export { useStyles } from './useStyles';
9
+ export { useGlobalStyles } from './useGlobalStyles';
10
+ export { useRawCSS } from './useRawCSS';
11
+
12
+
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { injectGlobal } from '../injector';
10
+ import { renderStyles } from '../pipeline';
11
+ /**
12
+ * Hook to inject global styles for a given selector.
13
+ * Useful for styling elements by selector without generating classNames.
14
+ *
15
+ * @param selector - CSS selector to apply styles to (e.g., '.my-class', ':root', 'body')
16
+ * @param styles - Tasty styles object
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * function MyComponent() {
21
+ * useGlobalStyles('.card', {
22
+ * padding: '2x',
23
+ * radius: '1r',
24
+ * fill: '#white',
25
+ * });
26
+ *
27
+ * return <div className="card">Content</div>;
28
+ * }
29
+ * ```
30
+ */
31
+ export function useGlobalStyles(selector, styles) {
32
+ const disposeRef = useRef(null);
33
+ // Render styles with the provided selector
34
+ // Note: renderStyles overload with selector string returns StyleResult[] directly
35
+ const styleResults = useMemo(() => {
36
+ if (!styles)
37
+ return [];
38
+ // Validate selector - empty string would cause renderStyles to return RenderResult instead of StyleResult[]
39
+ if (!selector) {
40
+ if (process.env.NODE_ENV !== 'production') {
41
+ console.warn('[Tasty] useGlobalStyles: selector is required and cannot be empty. ' +
42
+ 'Styles will not be injected.');
43
+ }
44
+ return [];
45
+ }
46
+ const result = renderStyles(styles, selector);
47
+ // When a non-empty selector is provided, renderStyles returns StyleResult[]
48
+ return result;
49
+ }, [styles, selector]);
50
+ // Inject as global styles
51
+ useInsertionEffect(() => {
52
+ disposeRef.current?.();
53
+ if (styleResults.length > 0) {
54
+ const { dispose } = injectGlobal(styleResults);
55
+ disposeRef.current = dispose;
56
+ }
57
+ else {
58
+ disposeRef.current = null;
59
+ }
60
+ return () => {
61
+ disposeRef.current?.();
62
+ disposeRef.current = null;
63
+ };
64
+ }, [styleResults]);
65
+ }
66
+
67
+
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { injectRawCSS } from '../injector';
10
+ // Implementation
11
+ export function useRawCSS(cssOrFactory, depsOrOptions, options) {
12
+ // Detect which overload is being used
13
+ const isFactory = typeof cssOrFactory === 'function';
14
+ // Parse arguments based on overload
15
+ const deps = isFactory && Array.isArray(depsOrOptions) ? depsOrOptions : undefined;
16
+ const opts = isFactory
17
+ ? options
18
+ : depsOrOptions;
19
+ // Memoize CSS - for factory functions, use provided deps; for strings, use the string itself
20
+ const css = useMemo(() => isFactory ? cssOrFactory() : cssOrFactory, isFactory ? deps ?? [] : [cssOrFactory]);
21
+ const disposeRef = useRef(null);
22
+ useInsertionEffect(() => {
23
+ // Dispose previous injection if any
24
+ disposeRef.current?.();
25
+ if (!css.trim()) {
26
+ disposeRef.current = null;
27
+ return;
28
+ }
29
+ // Inject new CSS
30
+ const { dispose } = injectRawCSS(css, opts);
31
+ disposeRef.current = dispose;
32
+ // Cleanup on unmount or when css changes
33
+ return () => {
34
+ disposeRef.current?.();
35
+ disposeRef.current = null;
36
+ };
37
+ }, [css, opts?.root]);
38
+ }
39
+
40
+
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { categorizeStyleKeys, CHUNK_NAMES, generateChunkCacheKey, renderStylesForChunk, } from '../chunks';
10
+ import { allocateClassName, inject } from '../injector';
11
+ import { renderStyles } from '../pipeline';
12
+ import { stringifyStyles } from '../utils/styles';
13
+ /**
14
+ * Check if styles contain @starting-style rules.
15
+ *
16
+ * @starting-style CSS cannot be applied via multiple class names because
17
+ * of cascade - later rules override earlier ones. When @starting is detected,
18
+ * we disable chunking and use a single class name for all styles.
19
+ */
20
+ function containsStartingStyle(styleKey) {
21
+ return styleKey.includes('@starting');
22
+ }
23
+ /**
24
+ * Hook to generate CSS classes from Tasty styles.
25
+ * Handles style rendering, className allocation, and CSS injection.
26
+ *
27
+ * Uses chunking to split styles into logical groups for better caching
28
+ * and CSS reuse across components.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * function MyComponent() {
33
+ * const { className } = useStyles({
34
+ * styles: {
35
+ * padding: '2x',
36
+ * fill: '#purple',
37
+ * radius: '1r',
38
+ * }
39
+ * });
40
+ *
41
+ * return <div className={className}>Styled content</div>;
42
+ * }
43
+ * ```
44
+ */
45
+ export function useStyles({ styles }) {
46
+ // Array of dispose functions for each chunk
47
+ const disposeRef = useRef([]);
48
+ // Store styles by their stringified key to avoid recomputing when only reference changes
49
+ const stylesRef = useRef({
50
+ key: '',
51
+ styles: undefined,
52
+ });
53
+ // Compute style key - this is a primitive string that captures style content
54
+ const styleKey = useMemo(() => {
55
+ if (!styles || Object.keys(styles).length === 0) {
56
+ return '';
57
+ }
58
+ return stringifyStyles(styles);
59
+ }, [styles]);
60
+ // Update ref when styleKey changes (content actually changed)
61
+ if (stylesRef.current.key !== styleKey) {
62
+ stylesRef.current = { key: styleKey, styles };
63
+ }
64
+ // Process chunks: categorize, generate cache keys, render, and allocate classNames
65
+ // Only depends on styleKey (primitive), not styles object reference
66
+ const processedChunks = useMemo(() => {
67
+ const currentStyles = stylesRef.current.styles;
68
+ if (!styleKey || !currentStyles) {
69
+ return [];
70
+ }
71
+ // Disable chunking for styles containing @starting-style rules.
72
+ // @starting-style CSS cannot work with multiple class names due to cascade -
73
+ // the rules would override each other instead of combining properly.
74
+ if (containsStartingStyle(styleKey)) {
75
+ const renderResult = renderStyles(currentStyles);
76
+ if (renderResult.rules.length === 0) {
77
+ return [];
78
+ }
79
+ const { className } = allocateClassName(styleKey);
80
+ return [
81
+ {
82
+ name: CHUNK_NAMES.COMBINED,
83
+ styleKeys: Object.keys(currentStyles),
84
+ cacheKey: styleKey,
85
+ renderResult,
86
+ className,
87
+ },
88
+ ];
89
+ }
90
+ // Categorize style keys into chunks
91
+ const chunkMap = categorizeStyleKeys(currentStyles);
92
+ const chunks = [];
93
+ for (const [chunkName, chunkStyleKeys] of chunkMap) {
94
+ // Skip empty chunks
95
+ if (chunkStyleKeys.length === 0) {
96
+ continue;
97
+ }
98
+ // Generate cache key for this chunk
99
+ const cacheKey = generateChunkCacheKey(currentStyles, chunkName, chunkStyleKeys);
100
+ // Render styles for this chunk
101
+ const renderResult = renderStylesForChunk(currentStyles, chunkName, chunkStyleKeys);
102
+ // Skip chunks with no rules
103
+ if (renderResult.rules.length === 0) {
104
+ continue;
105
+ }
106
+ // Allocate className for this chunk (safe in render phase)
107
+ const { className } = allocateClassName(cacheKey);
108
+ chunks.push({
109
+ name: chunkName,
110
+ styleKeys: chunkStyleKeys,
111
+ cacheKey,
112
+ renderResult,
113
+ className,
114
+ });
115
+ }
116
+ return chunks;
117
+ }, [styleKey]);
118
+ // Inject styles in insertion effect (avoids render phase side effects)
119
+ useInsertionEffect(() => {
120
+ // Cleanup all previous chunk disposals
121
+ disposeRef.current.forEach((dispose) => dispose?.());
122
+ disposeRef.current = [];
123
+ // Inject each chunk and collect dispose functions
124
+ for (const chunk of processedChunks) {
125
+ if (chunk.renderResult.rules.length > 0) {
126
+ const { dispose } = inject(chunk.renderResult.rules, {
127
+ cacheKey: chunk.cacheKey,
128
+ });
129
+ disposeRef.current.push(dispose);
130
+ }
131
+ }
132
+ return () => {
133
+ disposeRef.current.forEach((dispose) => dispose?.());
134
+ disposeRef.current = [];
135
+ };
136
+ }, [processedChunks]);
137
+ // Combine all chunk classNames
138
+ const className = useMemo(() => {
139
+ return processedChunks.map((chunk) => chunk.className).join(' ');
140
+ }, [processedChunks]);
141
+ return {
142
+ className,
143
+ };
144
+ }
145
+
146
+
package/es/tasty/index.js CHANGED
@@ -1,24 +1,38 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
+ // Register built-in plugins at module load time
9
+ import { configure } from './config';
10
+ import { okhslPlugin } from './plugins';
8
11
  export { tasty, Element } from './tasty';
12
+ export { useStyles, useGlobalStyles, useRawCSS } from './hooks';
13
+ // Configuration API
14
+ export { configure, getConfig, isConfigLocked, hasStylesGenerated, resetConfig, isTestEnvironment, } from './config';
15
+ // Plugins
16
+ export { okhslPlugin, okhslFunc } from './plugins';
17
+ configure({
18
+ plugins: [okhslPlugin()],
19
+ });
20
+ // Chunk utilities for advanced use cases
21
+ export { CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys } from './chunks';
22
+ // Advanced state mapping utilities
23
+ export { getGlobalPredefinedStates, setGlobalPredefinedStates } from './states';
9
24
  export * from './utils/filterBaseProps';
10
25
  export * from './utils/colors';
11
26
  export * from './utils/styles';
12
27
  export * from './utils/modAttrs';
13
- export * from './utils/responsive';
14
- export * from './utils/renderStyles';
28
+ export { renderStyles, isSelector } from './pipeline';
15
29
  export * from './utils/dotize';
16
30
  export * from './styles/list';
17
- export * from './providers/BreakpointsProvider';
18
31
  export * from './utils/mergeStyles';
19
32
  export * from './utils/warnings';
20
33
  export * from './utils/getDisplayName';
21
34
  export * from './utils/processTokens';
35
+ export * from './utils/typography';
22
36
  export * from './injector';
23
37
  export * from './debug';
24
38