@cube-dev/ui-kit 0.0.0-canary-703d044 → 0.0.0-canary-f5320e2

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 (554) 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 +1 -1
  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 +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  74. package/es/components/content/Layout/LayoutBlock.js +1 -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 +1 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -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 +1 -1
  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 +1 -1
  427. package/es/provider.js +1 -1
  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 +1 -1
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +92 -0
  443. package/es/tasty/chunks/definitions.js +273 -0
  444. package/es/tasty/chunks/index.js +12 -0
  445. package/es/tasty/chunks/renderChunk.js +75 -0
  446. package/es/tasty/debug.js +1 -1
  447. package/es/tasty/hooks/index.js +11 -0
  448. package/es/tasty/hooks/useGlobalStyles.js +59 -0
  449. package/es/tasty/hooks/useStyles.js +105 -0
  450. package/es/tasty/index.js +4 -1
  451. package/es/tasty/injector/index.js +1 -1
  452. package/es/tasty/injector/injector.js +1 -1
  453. package/es/tasty/injector/sheet-manager.js +1 -1
  454. package/es/tasty/injector/types.js +1 -1
  455. package/es/tasty/parser/classify.js +1 -1
  456. package/es/tasty/parser/const.js +1 -1
  457. package/es/tasty/parser/lru.js +1 -1
  458. package/es/tasty/parser/parser.js +1 -1
  459. package/es/tasty/parser/tokenizer.js +1 -1
  460. package/es/tasty/parser/types.js +1 -1
  461. package/es/tasty/styles/align.js +1 -1
  462. package/es/tasty/styles/border.js +1 -1
  463. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  464. package/es/tasty/styles/color.js +1 -1
  465. package/es/tasty/styles/createStyle.js +1 -1
  466. package/es/tasty/styles/dimension.js +1 -1
  467. package/es/tasty/styles/display.js +1 -1
  468. package/es/tasty/styles/fade.js +1 -1
  469. package/es/tasty/styles/fill.js +1 -1
  470. package/es/tasty/styles/flow.js +1 -1
  471. package/es/tasty/styles/font.js +1 -1
  472. package/es/tasty/styles/fontStyle.js +1 -1
  473. package/es/tasty/styles/gap.js +1 -1
  474. package/es/tasty/styles/groupRadius.js +1 -1
  475. package/es/tasty/styles/height.js +1 -1
  476. package/es/tasty/styles/index.js +1 -1
  477. package/es/tasty/styles/inset.js +1 -1
  478. package/es/tasty/styles/justify.js +1 -1
  479. package/es/tasty/styles/list.js +1 -1
  480. package/es/tasty/styles/margin.js +1 -1
  481. package/es/tasty/styles/outline.js +1 -1
  482. package/es/tasty/styles/padding.js +1 -1
  483. package/es/tasty/styles/place.js +1 -1
  484. package/es/tasty/styles/predefined.js +1 -1
  485. package/es/tasty/styles/preset.js +1 -1
  486. package/es/tasty/styles/radius.js +1 -1
  487. package/es/tasty/styles/reset.js +1 -1
  488. package/es/tasty/styles/scrollbar.js +1 -1
  489. package/es/tasty/styles/shadow.js +1 -1
  490. package/es/tasty/styles/styledScrollbar.js +1 -1
  491. package/es/tasty/styles/transition.js +1 -1
  492. package/es/tasty/styles/types.js +1 -1
  493. package/es/tasty/styles/width.js +1 -1
  494. package/es/tasty/tasty.js +15 -100
  495. package/es/tasty/types.js +1 -1
  496. package/es/tasty/utils/cache-wrapper.js +1 -1
  497. package/es/tasty/utils/case-converter.js +1 -1
  498. package/es/tasty/utils/colors.js +1 -1
  499. package/es/tasty/utils/dotize.js +1 -1
  500. package/es/tasty/utils/filterBaseProps.js +1 -1
  501. package/es/tasty/utils/getDisplayName.js +1 -1
  502. package/es/tasty/utils/getModCombinations.js +1 -1
  503. package/es/tasty/utils/isDevEnv.js +1 -1
  504. package/es/tasty/utils/mergeStyles.js +1 -1
  505. package/es/tasty/utils/modAttrs.js +1 -1
  506. package/es/tasty/utils/processTokens.js +1 -1
  507. package/es/tasty/utils/renderStyles.js +1 -1
  508. package/es/tasty/utils/string.js +1 -1
  509. package/es/tasty/utils/styles.js +1 -1
  510. package/es/tasty/utils/warnings.js +1 -1
  511. package/es/tokens.js +1 -1
  512. package/es/utils/ResizeSensor.js +1 -1
  513. package/es/utils/index.js +1 -1
  514. package/es/utils/modules.js +1 -1
  515. package/es/utils/promise.js +1 -1
  516. package/es/utils/raf.js +1 -1
  517. package/es/utils/random.js +1 -1
  518. package/es/utils/range.js +1 -1
  519. package/es/utils/react/RenderCache.js +1 -1
  520. package/es/utils/react/Slots.js +1 -1
  521. package/es/utils/react/chain.js +1 -1
  522. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  523. package/es/utils/react/index.js +1 -1
  524. package/es/utils/react/interactions.js +1 -1
  525. package/es/utils/react/isTextOnly.js +1 -1
  526. package/es/utils/react/mapProps.js +1 -1
  527. package/es/utils/react/mergeProps.js +1 -1
  528. package/es/utils/react/nullableValue.js +1 -1
  529. package/es/utils/react/resolveIcon.js +1 -1
  530. package/es/utils/react/sharedStore.js +1 -1
  531. package/es/utils/react/useCombinedRefs.js +1 -1
  532. package/es/utils/react/useControlledFocusVisible.js +1 -1
  533. package/es/utils/react/useEventBus.js +1 -1
  534. package/es/utils/react/useId.js +1 -1
  535. package/es/utils/react/useIsDarwin.js +1 -1
  536. package/es/utils/react/useKeySymbols.js +1 -1
  537. package/es/utils/react/useLayoutEffect.js +1 -1
  538. package/es/utils/react/useLocalStorage.js +1 -1
  539. package/es/utils/react/useQaProps.js +1 -1
  540. package/es/utils/react/useViewportSize.js +1 -1
  541. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  542. package/es/utils/tree.js +1 -1
  543. package/es/utils/warnings.js +1 -1
  544. package/es/version.js +2 -2
  545. package/package.json +1 -1
  546. package/types/tasty/chunks/cacheKey.d.ts +30 -0
  547. package/types/tasty/chunks/definitions.d.ts +73 -0
  548. package/types/tasty/chunks/index.d.ts +4 -0
  549. package/types/tasty/chunks/renderChunk.d.ts +20 -0
  550. package/types/tasty/hooks/index.d.ts +4 -0
  551. package/types/tasty/hooks/useGlobalStyles.d.ts +32 -0
  552. package/types/tasty/hooks/useStyles.d.ts +38 -0
  553. package/types/tasty/index.d.ts +4 -0
  554. package/types/tasty/tasty.d.ts +1 -1
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Chunk-specific cache key generation.
10
+ *
11
+ * Generates cache keys that only include styles relevant to a specific chunk,
12
+ * enabling more granular caching and reuse.
13
+ */
14
+ /**
15
+ * Recursively serialize a value with sorted keys for stable output.
16
+ * This ensures that {a: 1, b: 2} and {b: 2, a: 1} produce the same string.
17
+ */
18
+ function stableStringify(value) {
19
+ if (value === null) {
20
+ return 'null';
21
+ }
22
+ if (value === undefined) {
23
+ return 'undefined';
24
+ }
25
+ if (typeof value !== 'object') {
26
+ return JSON.stringify(value);
27
+ }
28
+ if (Array.isArray(value)) {
29
+ return '[' + value.map(stableStringify).join(',') + ']';
30
+ }
31
+ // Object: sort keys for stable order
32
+ const obj = value;
33
+ const sortedKeys = Object.keys(obj).sort();
34
+ const parts = [];
35
+ for (const key of sortedKeys) {
36
+ if (obj[key] !== undefined) {
37
+ parts.push(`${JSON.stringify(key)}:${stableStringify(obj[key])}`);
38
+ }
39
+ }
40
+ return '{' + parts.join(',') + '}';
41
+ }
42
+ /**
43
+ * Generate a cache key for a specific chunk.
44
+ *
45
+ * Only includes the styles that belong to this chunk, allowing
46
+ * chunks to be cached independently.
47
+ *
48
+ * @param styles - The full styles object
49
+ * @param chunkName - Name of the chunk
50
+ * @param styleKeys - Keys of styles belonging to this chunk
51
+ * @returns A stable cache key string
52
+ */
53
+ export function generateChunkCacheKey(styles, chunkName, styleKeys) {
54
+ // Start with chunk name for namespace separation
55
+ const parts = [chunkName];
56
+ // Sort keys for stable ordering
57
+ const sortedKeys = styleKeys.slice().sort();
58
+ for (const key of sortedKeys) {
59
+ const value = styles[key];
60
+ if (value !== undefined) {
61
+ // Use stable stringify for consistent serialization regardless of key order
62
+ parts.push(`${key}:${stableStringify(value)}`);
63
+ }
64
+ }
65
+ // Use null character as separator (safe, not in JSON output)
66
+ return parts.join('\0');
67
+ }
68
+ /**
69
+ * Generate a cache key for the subcomponents chunk.
70
+ *
71
+ * For subcomponents, we serialize the entire nested style objects
72
+ * since they contain their own style hierarchies.
73
+ *
74
+ * @param styles - The full styles object
75
+ * @param selectorKeys - Keys of selectors (subcomponents) in this chunk
76
+ * @returns A stable cache key string
77
+ */
78
+ export function generateSubcomponentsCacheKey(styles, selectorKeys) {
79
+ const parts = ['subcomponents'];
80
+ // Sort keys for stable ordering
81
+ const sortedKeys = selectorKeys.slice().sort();
82
+ for (const key of sortedKeys) {
83
+ const value = styles[key];
84
+ if (value !== undefined) {
85
+ // Use stable stringify for consistent serialization regardless of key order
86
+ parts.push(`${key}:${stableStringify(value)}`);
87
+ }
88
+ }
89
+ return parts.join('\0');
90
+ }
91
+
92
+
@@ -0,0 +1,273 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Style chunk definitions for CSS chunking optimization.
10
+ *
11
+ * Styles are grouped into chunks based on:
12
+ * 1. Handler dependencies - styles that share a handler MUST be in the same chunk
13
+ * 2. Logical grouping - related styles grouped for better cache reuse
14
+ *
15
+ * See STYLE_CHUNKING_SPEC.md for detailed rationale.
16
+ */
17
+ import { isSelector } from '../utils/renderStyles';
18
+ // ============================================================================
19
+ // Chunk Style Lists
20
+ // ============================================================================
21
+ /**
22
+ * Appearance chunk - visual styling with independent handlers
23
+ */
24
+ export const APPEARANCE_CHUNK_STYLES = [
25
+ 'fill', // fillStyle (independent)
26
+ 'color', // colorStyle (independent)
27
+ 'opacity', // independent
28
+ 'border', // borderStyle (independent)
29
+ 'radius', // radiusStyle (independent)
30
+ 'outline', // outlineStyle (independent)
31
+ 'shadow', // shadowStyle (independent)
32
+ 'fade', // fadeStyle (independent)
33
+ ];
34
+ /**
35
+ * Font chunk - typography styles
36
+ * ⚠️ presetStyle handler requires: preset, fontSize, lineHeight, letterSpacing,
37
+ * textTransform, fontWeight, fontStyle, font - all MUST stay together
38
+ */
39
+ export const FONT_CHUNK_STYLES = [
40
+ // All from presetStyle handler - MUST stay together
41
+ 'preset',
42
+ 'font',
43
+ 'fontWeight',
44
+ 'fontStyle',
45
+ 'fontSize',
46
+ 'lineHeight',
47
+ 'letterSpacing',
48
+ 'textTransform',
49
+ // Independent text styles grouped for cohesion
50
+ 'textAlign',
51
+ 'whiteSpace',
52
+ 'textDecoration',
53
+ 'textOverflow',
54
+ 'wordBreak',
55
+ 'wordWrap',
56
+ 'boldFontWeight',
57
+ ];
58
+ /**
59
+ * Dimension chunk - sizing and spacing
60
+ * ⚠️ paddingStyle handler requires all padding variants together
61
+ * ⚠️ marginStyle handler requires all margin variants together
62
+ */
63
+ export const DIMENSION_CHUNK_STYLES = [
64
+ // All from paddingStyle handler - MUST stay together
65
+ 'padding',
66
+ 'paddingTop',
67
+ 'paddingRight',
68
+ 'paddingBottom',
69
+ 'paddingLeft',
70
+ 'paddingBlock',
71
+ 'paddingInline',
72
+ // All from marginStyle handler - MUST stay together
73
+ 'margin',
74
+ 'marginTop',
75
+ 'marginRight',
76
+ 'marginBottom',
77
+ 'marginLeft',
78
+ 'marginBlock',
79
+ 'marginInline',
80
+ // Independent sizing styles
81
+ 'width', // widthStyle (independent)
82
+ 'height', // heightStyle (independent)
83
+ 'minWidth',
84
+ 'maxWidth',
85
+ 'minHeight',
86
+ 'maxHeight',
87
+ 'flexBasis',
88
+ 'flexGrow',
89
+ 'flexShrink',
90
+ 'flex',
91
+ ];
92
+ /**
93
+ * Container chunk - display, flow, and grid layout
94
+ * ⚠️ FORCED TOGETHER by transitive handler dependencies:
95
+ * displayStyle(display,hide) + flowStyle(display,flow) +
96
+ * gapStyle(display,flow,gap) + groupRadiusAttr(groupRadius,flow)
97
+ */
98
+ export const CONTAINER_CHUNK_STYLES = [
99
+ // Forced together by handler dependencies
100
+ 'display', // displayStyle: display ↔ hide
101
+ 'hide', // displayStyle: display ↔ hide
102
+ 'flow', // flowStyle: display ↔ flow
103
+ 'gap', // gapStyle: display ↔ flow ↔ gap
104
+ 'groupRadius', // groupRadiusAttr: groupRadius ↔ flow
105
+ // Related container styles (independent but logically grouped)
106
+ 'placeItems',
107
+ 'placeContent',
108
+ 'alignItems',
109
+ 'alignContent',
110
+ 'justifyItems',
111
+ 'justifyContent',
112
+ 'align', // alignStyle (independent)
113
+ 'justify', // justifyStyle (independent)
114
+ 'place', // placeStyle (independent)
115
+ 'columnGap',
116
+ 'rowGap',
117
+ 'gridColumns',
118
+ 'gridRows',
119
+ 'gridTemplate',
120
+ 'gridAreas',
121
+ 'gridAutoFlow',
122
+ 'gridAutoColumns',
123
+ 'gridAutoRows',
124
+ ];
125
+ /**
126
+ * Scrollbar chunk - scrollbar and overflow
127
+ * ⚠️ scrollbarStyle handler requires scrollbar ↔ overflow together
128
+ */
129
+ export const SCROLLBAR_CHUNK_STYLES = [
130
+ 'scrollbar', // scrollbarStyle: scrollbar ↔ overflow
131
+ 'overflow', // scrollbarStyle: scrollbar ↔ overflow
132
+ 'styledScrollbar', // styledScrollbarStyle (independent, deprecated)
133
+ ];
134
+ /**
135
+ * Position chunk - element positioning (all independent handlers)
136
+ */
137
+ export const POSITION_CHUNK_STYLES = [
138
+ 'position',
139
+ 'inset', // insetStyle (independent)
140
+ 'top',
141
+ 'right',
142
+ 'bottom',
143
+ 'left',
144
+ 'zIndex',
145
+ 'gridArea',
146
+ 'gridColumn',
147
+ 'gridRow',
148
+ 'order',
149
+ 'placeSelf',
150
+ 'alignSelf',
151
+ 'justifySelf',
152
+ ];
153
+ // ============================================================================
154
+ // Chunk Names
155
+ // ============================================================================
156
+ export const CHUNK_NAMES = {
157
+ SUBCOMPONENTS: 'subcomponents',
158
+ APPEARANCE: 'appearance',
159
+ FONT: 'font',
160
+ DIMENSION: 'dimension',
161
+ CONTAINER: 'container',
162
+ SCROLLBAR: 'scrollbar',
163
+ POSITION: 'position',
164
+ MISC: 'misc',
165
+ };
166
+ // ============================================================================
167
+ // Style-to-Chunk Lookup Map (O(1) categorization)
168
+ // ============================================================================
169
+ /**
170
+ * Pre-computed map for O(1) style-to-chunk lookup.
171
+ * Built once at module load time.
172
+ */
173
+ export const STYLE_TO_CHUNK = new Map();
174
+ // Populate the lookup map
175
+ function populateStyleToChunkMap() {
176
+ for (const style of APPEARANCE_CHUNK_STYLES) {
177
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.APPEARANCE);
178
+ }
179
+ for (const style of FONT_CHUNK_STYLES) {
180
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.FONT);
181
+ }
182
+ for (const style of DIMENSION_CHUNK_STYLES) {
183
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.DIMENSION);
184
+ }
185
+ for (const style of CONTAINER_CHUNK_STYLES) {
186
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.CONTAINER);
187
+ }
188
+ for (const style of SCROLLBAR_CHUNK_STYLES) {
189
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.SCROLLBAR);
190
+ }
191
+ for (const style of POSITION_CHUNK_STYLES) {
192
+ STYLE_TO_CHUNK.set(style, CHUNK_NAMES.POSITION);
193
+ }
194
+ }
195
+ // Initialize at module load
196
+ populateStyleToChunkMap();
197
+ // ============================================================================
198
+ // Chunk Priority Order
199
+ // ============================================================================
200
+ /**
201
+ * Chunk processing order. This ensures deterministic className allocation
202
+ * regardless of style key order in the input.
203
+ */
204
+ const CHUNK_ORDER = [
205
+ CHUNK_NAMES.APPEARANCE,
206
+ CHUNK_NAMES.FONT,
207
+ CHUNK_NAMES.DIMENSION,
208
+ CHUNK_NAMES.CONTAINER,
209
+ CHUNK_NAMES.SCROLLBAR,
210
+ CHUNK_NAMES.POSITION,
211
+ CHUNK_NAMES.MISC,
212
+ CHUNK_NAMES.SUBCOMPONENTS,
213
+ ];
214
+ /**
215
+ * Map from chunk name to its priority index for sorting.
216
+ */
217
+ const CHUNK_PRIORITY = new Map(CHUNK_ORDER.map((name, index) => [name, index]));
218
+ // ============================================================================
219
+ // Style Categorization
220
+ // ============================================================================
221
+ /**
222
+ * Categorize style keys into chunks.
223
+ *
224
+ * Returns chunks in a deterministic order (by CHUNK_ORDER) regardless
225
+ * of the order of keys in the input styles object.
226
+ *
227
+ * @param styles - The styles object to categorize
228
+ * @returns Map of chunk name to array of style keys in that chunk (in priority order)
229
+ */
230
+ export function categorizeStyleKeys(styles) {
231
+ // First pass: collect keys into chunks (unordered)
232
+ const chunkData = {};
233
+ const keys = Object.keys(styles);
234
+ for (const key of keys) {
235
+ // Skip the $ helper key (used for selector combinators)
236
+ if (key === '$') {
237
+ continue;
238
+ }
239
+ if (isSelector(key)) {
240
+ // All selectors go into the subcomponents chunk
241
+ if (!chunkData[CHUNK_NAMES.SUBCOMPONENTS]) {
242
+ chunkData[CHUNK_NAMES.SUBCOMPONENTS] = [];
243
+ }
244
+ chunkData[CHUNK_NAMES.SUBCOMPONENTS].push(key);
245
+ }
246
+ else {
247
+ // Look up the chunk for this style, default to misc
248
+ const chunkName = STYLE_TO_CHUNK.get(key) ?? CHUNK_NAMES.MISC;
249
+ if (!chunkData[chunkName]) {
250
+ chunkData[chunkName] = [];
251
+ }
252
+ chunkData[chunkName].push(key);
253
+ }
254
+ }
255
+ // Second pass: build ordered Map based on CHUNK_ORDER
256
+ const orderedChunks = new Map();
257
+ // Add chunks in priority order
258
+ for (const chunkName of CHUNK_ORDER) {
259
+ if (chunkData[chunkName] && chunkData[chunkName].length > 0) {
260
+ // Sort keys within chunk for consistent cache key generation
261
+ orderedChunks.set(chunkName, chunkData[chunkName].sort());
262
+ }
263
+ }
264
+ // Handle any unknown chunks (shouldn't happen, but be defensive)
265
+ for (const chunkName of Object.keys(chunkData)) {
266
+ if (!orderedChunks.has(chunkName)) {
267
+ orderedChunks.set(chunkName, chunkData[chunkName].sort());
268
+ }
269
+ }
270
+ return orderedChunks;
271
+ }
272
+
273
+
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ export { APPEARANCE_CHUNK_STYLES, FONT_CHUNK_STYLES, DIMENSION_CHUNK_STYLES, CONTAINER_CHUNK_STYLES, SCROLLBAR_CHUNK_STYLES, POSITION_CHUNK_STYLES, CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys, } from './definitions';
9
+ export { generateChunkCacheKey, generateSubcomponentsCacheKey, } from './cacheKey';
10
+ export { renderStylesForChunk } from './renderChunk';
11
+
12
+
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Chunk-specific style rendering.
10
+ *
11
+ * Renders styles for a specific chunk by filtering the styles object
12
+ * to only include relevant keys before passing to renderStyles.
13
+ */
14
+ import { renderStyles } from '../utils/renderStyles';
15
+ import { CHUNK_NAMES } from './definitions';
16
+ /**
17
+ * Render styles for a specific chunk.
18
+ *
19
+ * Creates a filtered styles object containing only the keys for this chunk,
20
+ * then delegates to the existing renderStyles function.
21
+ *
22
+ * @param styles - The full styles object
23
+ * @param chunkName - Name of the chunk being rendered
24
+ * @param styleKeys - Keys of styles belonging to this chunk
25
+ * @returns RenderResult with rules for this chunk
26
+ */
27
+ export function renderStylesForChunk(styles, chunkName, styleKeys) {
28
+ // Empty chunk - return empty result
29
+ if (styleKeys.length === 0) {
30
+ return { rules: [], className: '' };
31
+ }
32
+ // For subcomponents, we need to preserve the nested structure
33
+ if (chunkName === CHUNK_NAMES.SUBCOMPONENTS) {
34
+ return renderSubcomponentsChunk(styles, styleKeys);
35
+ }
36
+ // For regular chunks, create a filtered styles object
37
+ // This is memory-efficient: we only create a shallow copy with filtered keys
38
+ const filteredStyles = {};
39
+ for (const key of styleKeys) {
40
+ const value = styles[key];
41
+ if (value !== undefined) {
42
+ filteredStyles[key] = value;
43
+ }
44
+ }
45
+ // Delegate to existing renderStyles
46
+ return renderStyles(filteredStyles);
47
+ }
48
+ /**
49
+ * Render the subcomponents chunk.
50
+ *
51
+ * Subcomponents (selectors like Label, &::before, etc.) contain nested
52
+ * style objects that need to be preserved in their entirety.
53
+ *
54
+ * @param styles - The full styles object
55
+ * @param selectorKeys - Keys of selectors in this chunk
56
+ * @returns RenderResult with rules for all subcomponents
57
+ */
58
+ function renderSubcomponentsChunk(styles, selectorKeys) {
59
+ // Create a styles object containing only the selector keys
60
+ const filteredStyles = {};
61
+ for (const key of selectorKeys) {
62
+ const value = styles[key];
63
+ if (value !== undefined) {
64
+ filteredStyles[key] = value;
65
+ }
66
+ }
67
+ // Also copy the $ helper if present (used for selector combinators)
68
+ if (styles.$ !== undefined) {
69
+ filteredStyles.$ = styles.$;
70
+ }
71
+ // Delegate to existing renderStyles
72
+ return renderStyles(filteredStyles);
73
+ }
74
+
75
+
package/es/tasty/debug.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-703d044
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ export { useStyles } from './useStyles';
9
+ export { useGlobalStyles } from './useGlobalStyles';
10
+
11
+
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { injectGlobal } from '../injector';
10
+ import { renderStyles } from '../utils/renderStyles';
11
+ /**
12
+ * Hook to inject global styles for a given selector.
13
+ * Useful for styling elements by selector without generating classNames.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * function MyComponent() {
18
+ * useGlobalStyles({
19
+ * selector: '.card',
20
+ * styles: {
21
+ * padding: '2x',
22
+ * radius: '1r',
23
+ * fill: '#white',
24
+ * }
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
+ const result = renderStyles(styles, selector);
39
+ // When a selector is provided, renderStyles returns StyleResult[]
40
+ return result;
41
+ }, [styles, selector]);
42
+ // Inject as global styles
43
+ useInsertionEffect(() => {
44
+ disposeRef.current?.();
45
+ if (styleResults.length > 0) {
46
+ const { dispose } = injectGlobal(styleResults);
47
+ disposeRef.current = dispose;
48
+ }
49
+ else {
50
+ disposeRef.current = null;
51
+ }
52
+ return () => {
53
+ disposeRef.current?.();
54
+ disposeRef.current = null;
55
+ };
56
+ }, [styleResults]);
57
+ }
58
+
59
+
@@ -0,0 +1,105 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { categorizeStyleKeys, generateChunkCacheKey, renderStylesForChunk, } from '../chunks';
10
+ import { allocateClassName, inject } from '../injector';
11
+ import { stringifyStyles } from '../utils/styles';
12
+ /**
13
+ * Hook to generate CSS classes from Tasty styles.
14
+ * Handles style rendering, className allocation, and CSS injection.
15
+ *
16
+ * Uses chunking to split styles into logical groups for better caching
17
+ * and CSS reuse across components.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * function MyComponent() {
22
+ * const { className } = useStyles({
23
+ * styles: {
24
+ * padding: '2x',
25
+ * fill: '#purple',
26
+ * radius: '1r',
27
+ * }
28
+ * });
29
+ *
30
+ * return <div className={className}>Styled content</div>;
31
+ * }
32
+ * ```
33
+ */
34
+ export function useStyles({ styles }) {
35
+ // Array of dispose functions for each chunk
36
+ const disposeRef = useRef([]);
37
+ // Memoize the style key for change detection
38
+ const styleKey = useMemo(() => {
39
+ if (!styles || Object.keys(styles).length === 0) {
40
+ return '';
41
+ }
42
+ return stringifyStyles(styles);
43
+ }, [styles]);
44
+ // Process chunks: categorize, generate cache keys, render, and allocate classNames
45
+ const processedChunks = useMemo(() => {
46
+ if (!styleKey || !styles) {
47
+ return [];
48
+ }
49
+ // Categorize style keys into chunks
50
+ const chunkMap = categorizeStyleKeys(styles);
51
+ const chunks = [];
52
+ for (const [chunkName, styleKeys] of chunkMap) {
53
+ // Skip empty chunks
54
+ if (styleKeys.length === 0) {
55
+ continue;
56
+ }
57
+ // Generate cache key for this chunk
58
+ const cacheKey = generateChunkCacheKey(styles, chunkName, styleKeys);
59
+ // Render styles for this chunk
60
+ const renderResult = renderStylesForChunk(styles, chunkName, styleKeys);
61
+ // Skip chunks with no rules
62
+ if (renderResult.rules.length === 0) {
63
+ continue;
64
+ }
65
+ // Allocate className for this chunk (safe in render phase)
66
+ const { className } = allocateClassName(cacheKey);
67
+ chunks.push({
68
+ name: chunkName,
69
+ styleKeys,
70
+ cacheKey,
71
+ renderResult,
72
+ className,
73
+ });
74
+ }
75
+ return chunks;
76
+ }, [styleKey, styles]);
77
+ // Inject styles in insertion effect (avoids render phase side effects)
78
+ useInsertionEffect(() => {
79
+ // Cleanup all previous chunk disposals
80
+ disposeRef.current.forEach((dispose) => dispose?.());
81
+ disposeRef.current = [];
82
+ // Inject each chunk and collect dispose functions
83
+ for (const chunk of processedChunks) {
84
+ if (chunk.renderResult.rules.length > 0) {
85
+ const { dispose } = inject(chunk.renderResult.rules, {
86
+ cacheKey: chunk.cacheKey,
87
+ });
88
+ disposeRef.current.push(dispose);
89
+ }
90
+ }
91
+ return () => {
92
+ disposeRef.current.forEach((dispose) => dispose?.());
93
+ disposeRef.current = [];
94
+ };
95
+ }, [processedChunks]);
96
+ // Combine all chunk classNames
97
+ const className = useMemo(() => {
98
+ return processedChunks.map((chunk) => chunk.className).join(' ');
99
+ }, [processedChunks]);
100
+ return {
101
+ className,
102
+ };
103
+ }
104
+
105
+
package/es/tasty/index.js CHANGED
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-703d044
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  export { tasty, Element } from './tasty';
9
+ export { useStyles, useGlobalStyles } from './hooks';
10
+ // Chunk utilities for advanced use cases
11
+ export { CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys } from './chunks';
9
12
  export * from './utils/filterBaseProps';
10
13
  export * from './utils/colors';
11
14
  export * from './utils/styles';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-703d044
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-703d044
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-703d044
4
+ * @cube-dev/ui-kit v0.0.0-canary-f5320e2
5
5
  * Released under the MIT license.
6
6
  */
7
7