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

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 +69 -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 +116 -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 +19 -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,273 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-82495e0
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-82495e0
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 } 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-82495e0
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-82495e0
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-82495e0
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-82495e0
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,116 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-82495e0
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
+ // Store styles by their stringified key to avoid recomputing when only reference changes
38
+ const stylesRef = useRef({
39
+ key: '',
40
+ styles: undefined,
41
+ });
42
+ // Compute style key - this is a primitive string that captures style content
43
+ const styleKey = useMemo(() => {
44
+ if (!styles || Object.keys(styles).length === 0) {
45
+ return '';
46
+ }
47
+ return stringifyStyles(styles);
48
+ }, [styles]);
49
+ // Update ref when styleKey changes (content actually changed)
50
+ if (stylesRef.current.key !== styleKey) {
51
+ stylesRef.current = { key: styleKey, styles };
52
+ }
53
+ // Process chunks: categorize, generate cache keys, render, and allocate classNames
54
+ // Only depends on styleKey (primitive), not styles object reference
55
+ const processedChunks = useMemo(() => {
56
+ const currentStyles = stylesRef.current.styles;
57
+ if (!styleKey || !currentStyles) {
58
+ return [];
59
+ }
60
+ // Categorize style keys into chunks
61
+ const chunkMap = categorizeStyleKeys(currentStyles);
62
+ const chunks = [];
63
+ for (const [chunkName, chunkStyleKeys] of chunkMap) {
64
+ // Skip empty chunks
65
+ if (chunkStyleKeys.length === 0) {
66
+ continue;
67
+ }
68
+ // Generate cache key for this chunk
69
+ const cacheKey = generateChunkCacheKey(currentStyles, chunkName, chunkStyleKeys);
70
+ // Render styles for this chunk
71
+ const renderResult = renderStylesForChunk(currentStyles, chunkName, chunkStyleKeys);
72
+ // Skip chunks with no rules
73
+ if (renderResult.rules.length === 0) {
74
+ continue;
75
+ }
76
+ // Allocate className for this chunk (safe in render phase)
77
+ const { className } = allocateClassName(cacheKey);
78
+ chunks.push({
79
+ name: chunkName,
80
+ styleKeys: chunkStyleKeys,
81
+ cacheKey,
82
+ renderResult,
83
+ className,
84
+ });
85
+ }
86
+ return chunks;
87
+ }, [styleKey]);
88
+ // Inject styles in insertion effect (avoids render phase side effects)
89
+ useInsertionEffect(() => {
90
+ // Cleanup all previous chunk disposals
91
+ disposeRef.current.forEach((dispose) => dispose?.());
92
+ disposeRef.current = [];
93
+ // Inject each chunk and collect dispose functions
94
+ for (const chunk of processedChunks) {
95
+ if (chunk.renderResult.rules.length > 0) {
96
+ const { dispose } = inject(chunk.renderResult.rules, {
97
+ cacheKey: chunk.cacheKey,
98
+ });
99
+ disposeRef.current.push(dispose);
100
+ }
101
+ }
102
+ return () => {
103
+ disposeRef.current.forEach((dispose) => dispose?.());
104
+ disposeRef.current = [];
105
+ };
106
+ }, [processedChunks]);
107
+ // Combine all chunk classNames
108
+ const className = useMemo(() => {
109
+ return processedChunks.map((chunk) => chunk.className).join(' ');
110
+ }, [processedChunks]);
111
+ return {
112
+ className,
113
+ };
114
+ }
115
+
116
+
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
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-82495e0
5
5
  * Released under the MIT license.
6
6
  */
7
7