@cube-dev/ui-kit 0.0.0-canary-a6187c8 → 0.0.0-canary-521eedd

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 (665) hide show
  1. package/es/_internal/hooks/index.js +10 -10
  2. package/es/_internal/hooks/use-chained-callback.js +2 -2
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +2 -2
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +2 -2
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +2 -2
  9. package/es/_internal/hooks/use-timer/index.js +3 -3
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +3 -3
  12. package/es/_internal/hooks/use-update-effect.js +2 -2
  13. package/es/_internal/hooks/use-warn.js +3 -3
  14. package/es/_internal/index.js +2 -2
  15. package/es/components/Block.js +2 -2
  16. package/es/components/CollectionItem.js +3 -3
  17. package/es/components/GlobalStyles.js +65 -56
  18. package/es/components/GridProvider.js +4 -4
  19. package/es/components/HiddenInput.js +2 -2
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +61 -20
  22. package/es/components/actions/Action/Action.js +3 -3
  23. package/es/components/actions/Button/Button.js +12 -12
  24. package/es/components/actions/Button/index.js +2 -2
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +4 -4
  26. package/es/components/actions/CommandMenu/CommandMenu.js +11 -11
  27. package/es/components/actions/CommandMenu/index.js +2 -2
  28. package/es/components/actions/CommandMenu/styled.js +2 -2
  29. package/es/components/actions/ItemAction/ItemAction.js +9 -9
  30. package/es/components/actions/ItemAction/index.js +2 -2
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +9 -9
  33. package/es/components/actions/ItemButton/index.js +2 -2
  34. package/es/components/actions/Link/Link.js +2 -2
  35. package/es/components/actions/Menu/Menu.js +10 -10
  36. package/es/components/actions/Menu/MenuItem.js +7 -7
  37. package/es/components/actions/Menu/MenuSection.js +4 -4
  38. package/es/components/actions/Menu/MenuTrigger.js +6 -6
  39. package/es/components/actions/Menu/SubMenuTrigger.js +6 -6
  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 +10 -10
  43. package/es/components/actions/Menu/styled.js +5 -5
  44. package/es/components/actions/index.js +13 -13
  45. package/es/components/actions/use-action.js +7 -7
  46. package/es/components/actions/use-anchored-menu.js +6 -6
  47. package/es/components/actions/use-context-menu.js +6 -6
  48. package/es/components/content/ActiveZone/ActiveZone.js +4 -4
  49. package/es/components/content/Alert/Alert.js +4 -4
  50. package/es/components/content/Alert/index.js +2 -2
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +3 -3
  53. package/es/components/content/Avatar/Avatar.js +2 -2
  54. package/es/components/content/Badge/Badge.js +4 -4
  55. package/es/components/content/Card/Card.js +2 -2
  56. package/es/components/content/Content.js +3 -3
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +8 -8
  58. package/es/components/content/CopyPasteBlock/index.js +2 -2
  59. package/es/components/content/CopySnippet/CopySnippet.js +9 -9
  60. package/es/components/content/CopySnippet/index.js +2 -2
  61. package/es/components/content/Disclosure/Disclosure.js +6 -6
  62. package/es/components/content/Disclosure/index.js +2 -2
  63. package/es/components/content/Divider.js +3 -3
  64. package/es/components/content/Footer.js +3 -3
  65. package/es/components/content/Header.js +3 -3
  66. package/es/components/content/HotKeys/HotKeys.js +5 -5
  67. package/es/components/content/HotKeys/index.js +2 -2
  68. package/es/components/content/Item/Item.js +15 -15
  69. package/es/components/content/Item/index.js +3 -3
  70. package/es/components/content/ItemBadge/ItemBadge.js +8 -8
  71. package/es/components/content/ItemBadge/index.js +2 -2
  72. package/es/components/content/Layout/GridLayout.js +13 -13
  73. package/es/components/content/Layout/Layout.js +6 -7
  74. package/es/components/content/Layout/LayoutBlock.js +3 -4
  75. package/es/components/content/Layout/LayoutCenter.js +3 -3
  76. package/es/components/content/Layout/LayoutContainer.js +4 -4
  77. package/es/components/content/Layout/LayoutContent.js +5 -6
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +3 -4
  80. package/es/components/content/Layout/LayoutFooter.js +3 -4
  81. package/es/components/content/Layout/LayoutGrid.js +3 -4
  82. package/es/components/content/Layout/LayoutHeader.js +7 -8
  83. package/es/components/content/Layout/LayoutPane.js +7 -8
  84. package/es/components/content/Layout/LayoutPanel.js +9 -10
  85. package/es/components/content/Layout/LayoutPanelHeader.js +7 -7
  86. package/es/components/content/Layout/LayoutToolbar.js +3 -4
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +16 -16
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +3 -3
  91. package/es/components/content/List/index.js +2 -2
  92. package/es/components/content/Paragraph.js +3 -3
  93. package/es/components/content/Placeholder/Placeholder.js +2 -2
  94. package/es/components/content/PrismCode/PrismCode.js +7 -7
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +2 -2
  97. package/es/components/content/Result/Result.js +4 -4
  98. package/es/components/content/Skeleton/Skeleton.js +5 -5
  99. package/es/components/content/Tag/Tag.js +4 -4
  100. package/es/components/content/Text.js +3 -3
  101. package/es/components/content/TextItem/TextItem.js +5 -5
  102. package/es/components/content/TextItem/index.js +2 -2
  103. package/es/components/content/Title.js +4 -4
  104. package/es/components/content/highlightText.js +2 -2
  105. package/es/components/content/use-auto-tooltip.js +2 -2
  106. package/es/components/fields/Checkbox/Checkbox.js +12 -12
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +7 -7
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +3 -3
  110. package/es/components/fields/ComboBox/ComboBox.js +18 -18
  111. package/es/components/fields/ComboBox/index.js +2 -2
  112. package/es/components/fields/DatePicker/DateInput.js +10 -10
  113. package/es/components/fields/DatePicker/DateInputBase.js +6 -6
  114. package/es/components/fields/DatePicker/DatePicker.js +14 -14
  115. package/es/components/fields/DatePicker/DatePickerButton.js +4 -4
  116. package/es/components/fields/DatePicker/DatePickerElement.js +3 -3
  117. package/es/components/fields/DatePicker/DatePickerInput.js +5 -5
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +2 -2
  119. package/es/components/fields/DatePicker/DateRangePicker.js +15 -15
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +15 -15
  121. package/es/components/fields/DatePicker/TimeInput.js +9 -9
  122. package/es/components/fields/DatePicker/index.js +8 -8
  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 +6 -6
  129. package/es/components/fields/FilterListBox/FilterListBox.js +10 -10
  130. package/es/components/fields/FilterListBox/index.js +2 -2
  131. package/es/components/fields/FilterPicker/FilterPicker.js +14 -14
  132. package/es/components/fields/FilterPicker/index.js +2 -2
  133. package/es/components/fields/Input/Input.js +6 -6
  134. package/es/components/fields/Input/index.js +2 -2
  135. package/es/components/fields/ListBox/ListBox.js +14 -14
  136. package/es/components/fields/ListBox/index.js +2 -2
  137. package/es/components/fields/NumberInput/NumberInput.js +8 -8
  138. package/es/components/fields/NumberInput/StepButton.js +4 -4
  139. package/es/components/fields/PasswordInput/PasswordInput.js +8 -8
  140. package/es/components/fields/Picker/Picker.js +13 -13
  141. package/es/components/fields/Picker/index.js +2 -2
  142. package/es/components/fields/RadioGroup/Radio.js +10 -10
  143. package/es/components/fields/RadioGroup/RadioGroup.js +7 -7
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +3 -3
  146. package/es/components/fields/SearchInput/SearchInput.js +8 -8
  147. package/es/components/fields/SearchInput/index.js +2 -2
  148. package/es/components/fields/Select/Select.js +20 -20
  149. package/es/components/fields/Select/index.js +2 -2
  150. package/es/components/fields/Slider/Gradation.js +2 -2
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +5 -5
  153. package/es/components/fields/Slider/Slider.js +7 -7
  154. package/es/components/fields/Slider/SliderBase.js +6 -6
  155. package/es/components/fields/Slider/SliderInput.js +2 -2
  156. package/es/components/fields/Slider/SliderThumb.js +3 -3
  157. package/es/components/fields/Slider/SliderTrack.js +2 -2
  158. package/es/components/fields/Slider/elements.js +2 -2
  159. package/es/components/fields/Slider/index.js +4 -4
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +11 -11
  162. package/es/components/fields/Switch/index.js +2 -2
  163. package/es/components/fields/TextArea/TextArea.js +7 -7
  164. package/es/components/fields/TextArea/index.js +2 -2
  165. package/es/components/fields/TextInput/TextInput.js +6 -6
  166. package/es/components/fields/TextInput/TextInputBase.js +9 -9
  167. package/es/components/fields/TextInput/index.js +3 -3
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +14 -14
  169. package/es/components/fields/TextInputMapper/index.js +2 -2
  170. package/es/components/fields/index.js +20 -20
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +9 -9
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +4 -4
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +6 -6
  176. package/es/components/form/Form/Form.js +6 -6
  177. package/es/components/form/Form/ResetButton/ResetButton.js +6 -6
  178. package/es/components/form/Form/ResetButton/index.js +2 -2
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +4 -4
  180. package/es/components/form/Form/SubmitButton/index.js +2 -2
  181. package/es/components/form/Form/SubmitError.js +3 -3
  182. package/es/components/form/Form/index.js +11 -11
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +4 -4
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +6 -6
  187. package/es/components/form/Form/use-field/use-field.js +4 -4
  188. package/es/components/form/Form/use-form.js +3 -3
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +3 -3
  191. package/es/components/form/index.js +5 -5
  192. package/es/components/form/wrapper.js +3 -3
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +2 -2
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +3 -3
  196. package/es/components/helpers/index.js +3 -3
  197. package/es/components/layout/Flex.js +2 -2
  198. package/es/components/layout/Flow.js +2 -2
  199. package/es/components/layout/Grid.js +2 -2
  200. package/es/components/layout/Panel.js +2 -2
  201. package/es/components/layout/Prefix.js +3 -3
  202. package/es/components/layout/ResizablePanel.js +5 -5
  203. package/es/components/layout/Space.js +2 -2
  204. package/es/components/layout/Suffix.js +3 -3
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +8 -8
  206. package/es/components/organisms/FileTabs/FileTabs.js +8 -8
  207. package/es/components/organisms/StatsCard/StatsCard.js +4 -4
  208. package/es/components/other/Base64Upload/Base64Upload.js +6 -6
  209. package/es/components/other/Calendar/Calendar.js +8 -8
  210. package/es/components/other/Calendar/CalendarCell.js +2 -2
  211. package/es/components/other/Calendar/CalendarGrid.js +3 -3
  212. package/es/components/other/Calendar/RangeCalendar.js +8 -8
  213. package/es/components/other/CloudLogo/CloudLogo.js +3 -3
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +10 -10
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +4 -4
  217. package/es/components/overlays/AlertDialog/index.js +4 -4
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +25 -13
  220. package/es/components/overlays/Dialog/DialogContainer.js +3 -3
  221. package/es/components/overlays/Dialog/DialogForm.js +8 -8
  222. package/es/components/overlays/Dialog/DialogTrigger.js +4 -4
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +6 -6
  225. package/es/components/overlays/Dialog/use-dialog-container.js +4 -4
  226. package/es/components/overlays/Modal/Modal.js +5 -5
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +3 -3
  229. package/es/components/overlays/Modal/Popover.js +4 -4
  230. package/es/components/overlays/Modal/Tray.js +6 -6
  231. package/es/components/overlays/Modal/Underlay.js +2 -2
  232. package/es/components/overlays/Modal/index.js +7 -7
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +5 -5
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +7 -7
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +2 -2
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +8 -8
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +2 -2
  241. package/es/components/overlays/NewNotifications/Notification.js +4 -4
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +5 -5
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +4 -4
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +4 -4
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +3 -3
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +3 -3
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +4 -4
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +12 -12
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +3 -3
  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 +5 -5
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +3 -3
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +2 -2
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +4 -4
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +5 -5
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +2 -2
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +6 -6
  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 +2 -2
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +3 -3
  266. package/es/components/overlays/NewNotifications/index.js +7 -7
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +7 -7
  269. package/es/components/overlays/OverlayWrapper.js +2 -2
  270. package/es/components/overlays/Toasts/Toast.js +4 -4
  271. package/es/components/overlays/Toasts/index.js +3 -3
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +2 -2
  274. package/es/components/overlays/Tooltip/Tooltip.js +4 -4
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +3 -3
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +6 -6
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +4 -4
  279. package/es/components/portal/Portal.js +2 -2
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +3 -3
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +2 -2
  284. package/es/components/shared/InvalidIcon.js +2 -2
  285. package/es/components/shared/ValidIcon.js +2 -2
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +2 -2
  287. package/es/components/status/LoadingAnimation/index.js +2 -2
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +4 -4
  290. package/es/components/status/Spin/Spin.js +4 -4
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +2 -2
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +3 -3
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
  298. package/es/icons/AdjustmentsIcon.js +2 -2
  299. package/es/icons/AiIcon.js +2 -2
  300. package/es/icons/AreaChartIcon.js +2 -2
  301. package/es/icons/BackwardIcon.js +2 -2
  302. package/es/icons/BarChartIcon.js +2 -2
  303. package/es/icons/BellFilledIcon.js +2 -2
  304. package/es/icons/BellIcon.js +2 -2
  305. package/es/icons/BooleanIcon.js +2 -2
  306. package/es/icons/CalendarEditIcon.js +2 -2
  307. package/es/icons/CalendarIcon.js +2 -2
  308. package/es/icons/CaretDownIcon.js +2 -2
  309. package/es/icons/CaretUpIcon.js +2 -2
  310. package/es/icons/ChartAreaStackedIcon.js +2 -2
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
  313. package/es/icons/ChartBarGroupedIcon.js +2 -2
  314. package/es/icons/ChartBarHorizontalIcon.js +2 -2
  315. package/es/icons/ChartBarLineIcon.js +2 -2
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
  317. package/es/icons/ChartBarStackedIcon.js +2 -2
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
  319. package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
  320. package/es/icons/ChartBoxPlot2Icon.js +2 -2
  321. package/es/icons/ChartBoxPlotIcon.js +2 -2
  322. package/es/icons/ChartBubbleIcon.js +2 -2
  323. package/es/icons/ChartDonut2Icon.js +2 -2
  324. package/es/icons/ChartFunnelIcon.js +2 -2
  325. package/es/icons/ChartHeatmapIcon.js +2 -2
  326. package/es/icons/ChartKPIIcon.js +2 -2
  327. package/es/icons/ChartPie2Icon.js +2 -2
  328. package/es/icons/ChartScatterIcon.js +2 -2
  329. package/es/icons/CheckCircleFilledIcon.js +2 -2
  330. package/es/icons/CheckCircleIcon.js +2 -2
  331. package/es/icons/CheckIcon.js +2 -2
  332. package/es/icons/CircleFilledIcon.js +2 -2
  333. package/es/icons/ClearIcon.js +2 -2
  334. package/es/icons/CloseCircleFilledIcon.js +2 -2
  335. package/es/icons/CloseCircleIcon.js +2 -2
  336. package/es/icons/CloseIcon.js +2 -2
  337. package/es/icons/CodeIcon.js +2 -2
  338. package/es/icons/ColumnTotalIcon.js +2 -2
  339. package/es/icons/CopyIcon.js +2 -2
  340. package/es/icons/CountIcon.js +2 -2
  341. package/es/icons/CubeIcon.js +2 -2
  342. package/es/icons/CubePauseIcon.js +2 -2
  343. package/es/icons/CubePlayIcon.js +2 -2
  344. package/es/icons/CurrencyDollarIcon.js +2 -2
  345. package/es/icons/DangerIcon.js +2 -2
  346. package/es/icons/DashboardIcon.js +2 -2
  347. package/es/icons/DatabaseIcon.js +2 -2
  348. package/es/icons/DecimalDecreaseIcon.js +2 -2
  349. package/es/icons/DecimalIncreaseIcon.js +2 -2
  350. package/es/icons/DirectionIcon.js +3 -3
  351. package/es/icons/DonutIcon.js +2 -2
  352. package/es/icons/DownIcon.js +2 -2
  353. package/es/icons/EditIcon.js +2 -2
  354. package/es/icons/ExclamationCircleFilledIcon.js +2 -2
  355. package/es/icons/ExclamationCircleIcon.js +2 -2
  356. package/es/icons/ExclamationIcon.js +2 -2
  357. package/es/icons/EyeIcon.js +2 -2
  358. package/es/icons/EyeInvisibleIcon.js +2 -2
  359. package/es/icons/FilterIcon.js +2 -2
  360. package/es/icons/FolderFilledIcon.js +2 -2
  361. package/es/icons/FolderIcon.js +2 -2
  362. package/es/icons/FolderOpenFilledIcon.js +2 -2
  363. package/es/icons/FolderOpenIcon.js +2 -2
  364. package/es/icons/ForwardIcon.js +2 -2
  365. package/es/icons/HierarchyIcon.js +2 -2
  366. package/es/icons/HierarchyOpenIcon.js +2 -2
  367. package/es/icons/Icon.js +2 -2
  368. package/es/icons/InfoCircleIcon.js +2 -2
  369. package/es/icons/InfoIcon.js +2 -2
  370. package/es/icons/KeyIcon.js +2 -2
  371. package/es/icons/LeftIcon.js +2 -2
  372. package/es/icons/LineChartIcon.js +2 -2
  373. package/es/icons/LoadingIcon.js +2 -2
  374. package/es/icons/LockFilledIcon.js +2 -2
  375. package/es/icons/LockIcon.js +2 -2
  376. package/es/icons/MoreIcon.js +2 -2
  377. package/es/icons/NotAllowedIcon.js +2 -2
  378. package/es/icons/Number123Icon.js +2 -2
  379. package/es/icons/NumberIcon.js +2 -2
  380. package/es/icons/PauseCircleFilledIcon.js +2 -2
  381. package/es/icons/PauseCircleIcon.js +2 -2
  382. package/es/icons/PauseIcon.js +2 -2
  383. package/es/icons/PercentageIcon.js +2 -2
  384. package/es/icons/PieChartIcon.js +2 -2
  385. package/es/icons/PlayCircleIcon.js +2 -2
  386. package/es/icons/PlayIcon.js +2 -2
  387. package/es/icons/PlusIcon.js +2 -2
  388. package/es/icons/ProgressBarIcon.js +2 -2
  389. package/es/icons/ReloadIcon.js +2 -2
  390. package/es/icons/ReportIcon.js +2 -2
  391. package/es/icons/ReturnIcon.js +2 -2
  392. package/es/icons/RightIcon.js +2 -2
  393. package/es/icons/RowTotalsIcon.js +2 -2
  394. package/es/icons/SchemeIcon.js +2 -2
  395. package/es/icons/SearchIcon.js +2 -2
  396. package/es/icons/SettingsIcon.js +2 -2
  397. package/es/icons/ShieldFilledIcon.js +2 -2
  398. package/es/icons/ShieldIcon.js +2 -2
  399. package/es/icons/SlashIcon.js +2 -2
  400. package/es/icons/SparklesIcon.js +2 -2
  401. package/es/icons/SqlIcon.js +2 -2
  402. package/es/icons/StatsIcon.js +2 -2
  403. package/es/icons/StopIcon.js +2 -2
  404. package/es/icons/StringIcon.js +2 -2
  405. package/es/icons/SubtotalsIcon.js +2 -2
  406. package/es/icons/SwitchIcon.js +2 -2
  407. package/es/icons/TableIcon.js +2 -2
  408. package/es/icons/ThumbsDownIcon.js +2 -2
  409. package/es/icons/ThumbsUpIcon.js +2 -2
  410. package/es/icons/ThunderboltCrossedIcon.js +2 -2
  411. package/es/icons/ThunderboltFilledIcon.js +2 -2
  412. package/es/icons/ThunderboltIcon.js +2 -2
  413. package/es/icons/TimeIcon.js +2 -2
  414. package/es/icons/TrashIcon.js +2 -2
  415. package/es/icons/UnlockIcon.js +2 -2
  416. package/es/icons/UpIcon.js +2 -2
  417. package/es/icons/UserGroupIcon.js +2 -2
  418. package/es/icons/UserIcon.js +2 -2
  419. package/es/icons/UserLockIcon.js +2 -2
  420. package/es/icons/ViewIcon.js +2 -2
  421. package/es/icons/WarningFilledIcon.js +2 -2
  422. package/es/icons/WarningIcon.js +2 -2
  423. package/es/icons/add-new-icon.js +4 -4
  424. package/es/icons/index.js +128 -128
  425. package/es/icons/wrap-icon.js +2 -2
  426. package/es/index.js +74 -75
  427. package/es/provider.js +10 -4
  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 +2 -2
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +2 -2
  434. package/es/stories/Form.legacy-stories.js +4 -4
  435. package/es/stories/FormFieldArgs.js +2 -2
  436. package/es/stories/SimpleLayout.stories.js +2 -2
  437. package/es/stories/Tasty.stories.js +2 -2
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +2 -2
  439. package/es/stories/components/DialogFormApp.js +3 -3
  440. package/es/stories/components/StyledButton.js +15 -19
  441. package/es/stories/lists/baseProps.js +2 -2
  442. package/es/tasty/debug.js +9 -195
  443. package/es/tasty/index.js +17 -31
  444. package/es/tasty/injector/index.js +90 -34
  445. package/es/tasty/injector/injector.js +299 -81
  446. package/es/tasty/injector/sheet-manager.js +3 -128
  447. package/es/tasty/injector/types.js +1 -1
  448. package/es/tasty/parser/classify.js +6 -8
  449. package/es/tasty/parser/const.js +1 -1
  450. package/es/tasty/parser/lru.js +1 -1
  451. package/es/tasty/parser/parser.js +5 -18
  452. package/es/tasty/parser/tokenizer.js +1 -1
  453. package/es/tasty/parser/types.js +1 -2
  454. package/es/tasty/providers/BreakpointsProvider.js +16 -0
  455. package/es/tasty/styles/align.js +1 -1
  456. package/es/tasty/styles/border.js +2 -2
  457. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  458. package/es/tasty/styles/color.js +3 -3
  459. package/es/tasty/styles/createStyle.js +3 -3
  460. package/es/tasty/styles/dimension.js +2 -2
  461. package/es/tasty/styles/display.js +1 -1
  462. package/es/tasty/styles/fade.js +2 -2
  463. package/es/tasty/styles/fill.js +21 -11
  464. package/es/tasty/styles/flow.js +1 -1
  465. package/es/tasty/styles/font.js +1 -1
  466. package/es/tasty/styles/fontStyle.js +1 -1
  467. package/es/tasty/styles/gap.js +2 -2
  468. package/es/tasty/styles/groupRadius.js +2 -2
  469. package/es/tasty/styles/height.js +2 -2
  470. package/es/tasty/styles/index.js +3 -3
  471. package/es/tasty/styles/inset.js +2 -2
  472. package/es/tasty/styles/justify.js +1 -1
  473. package/es/tasty/styles/list.js +1 -1
  474. package/es/tasty/styles/margin.js +56 -76
  475. package/es/tasty/styles/outline.js +2 -2
  476. package/es/tasty/styles/padding.js +56 -76
  477. package/es/tasty/styles/place.js +1 -1
  478. package/es/tasty/styles/predefined.js +27 -28
  479. package/es/tasty/styles/preset.js +2 -2
  480. package/es/tasty/styles/radius.js +12 -5
  481. package/es/tasty/styles/reset.js +7 -3
  482. package/es/tasty/styles/scrollbar.js +2 -2
  483. package/es/tasty/styles/shadow.js +2 -2
  484. package/es/tasty/styles/styledScrollbar.js +1 -1
  485. package/es/tasty/styles/transition.js +3 -10
  486. package/es/tasty/styles/types.js +1 -1
  487. package/es/tasty/styles/width.js +2 -2
  488. package/es/tasty/tasty.js +122 -81
  489. package/es/tasty/types.js +1 -1
  490. package/es/tasty/utils/cache-wrapper.js +1 -1
  491. package/es/tasty/utils/case-converter.js +1 -1
  492. package/es/tasty/utils/colors.js +1 -1
  493. package/es/tasty/utils/dotize.js +1 -1
  494. package/es/tasty/utils/filterBaseProps.js +1 -1
  495. package/es/tasty/utils/getDisplayName.js +1 -1
  496. package/es/tasty/utils/getModCombinations.js +38 -0
  497. package/es/tasty/utils/isDevEnv.js +1 -1
  498. package/es/tasty/utils/mergeStyles.js +2 -2
  499. package/es/tasty/utils/modAttrs.js +3 -3
  500. package/es/tasty/utils/processTokens.js +2 -88
  501. package/es/tasty/utils/renderStyles.js +1050 -0
  502. package/es/tasty/utils/responsive.js +60 -0
  503. package/es/tasty/utils/string.js +1 -1
  504. package/es/tasty/utils/styles.js +22 -255
  505. package/es/tasty/utils/warnings.js +1 -1
  506. package/es/tokens.js +309 -0
  507. package/es/utils/ResizeSensor.js +1 -1
  508. package/es/utils/index.js +10 -10
  509. package/es/utils/modules.js +1 -1
  510. package/es/utils/promise.js +1 -1
  511. package/es/utils/raf.js +1 -1
  512. package/es/utils/random.js +1 -1
  513. package/es/utils/range.js +1 -1
  514. package/es/utils/react/RenderCache.js +1 -1
  515. package/es/utils/react/Slots.js +2 -2
  516. package/es/utils/react/chain.js +1 -1
  517. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  518. package/es/utils/react/index.js +17 -17
  519. package/es/utils/react/interactions.js +1 -1
  520. package/es/utils/react/isTextOnly.js +1 -1
  521. package/es/utils/react/mapProps.js +1 -1
  522. package/es/utils/react/mergeProps.js +4 -4
  523. package/es/utils/react/nullableValue.js +1 -1
  524. package/es/utils/react/resolveIcon.js +1 -1
  525. package/es/utils/react/sharedStore.js +2 -2
  526. package/es/utils/react/useCombinedRefs.js +1 -1
  527. package/es/utils/react/useControlledFocusVisible.js +2 -2
  528. package/es/utils/react/useEventBus.js +1 -1
  529. package/es/utils/react/useId.js +2 -2
  530. package/es/utils/react/useIsDarwin.js +1 -1
  531. package/es/utils/react/useKeySymbols.js +2 -2
  532. package/es/utils/react/useLayoutEffect.js +1 -1
  533. package/es/utils/react/useLocalStorage.js +2 -2
  534. package/es/utils/react/useQaProps.js +1 -1
  535. package/es/utils/react/useViewportSize.js +1 -1
  536. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  537. package/es/utils/tree.js +1 -1
  538. package/es/utils/warnings.js +1 -1
  539. package/es/version.js +2 -2
  540. package/package.json +2 -13
  541. package/types/components/GlobalStyles.d.ts +1 -2
  542. package/types/components/HiddenInput.d.ts +826 -828
  543. package/types/components/Root.d.ts +0 -1
  544. package/types/components/actions/Button/Button.d.ts +1645 -1649
  545. package/types/components/actions/CommandMenu/styled.d.ts +4130 -4140
  546. package/types/components/actions/Menu/styled.d.ts +4883 -4893
  547. package/types/components/actions/use-action.d.ts +1 -1
  548. package/types/components/content/List/SectionHeading.d.ts +251 -251
  549. package/types/components/content/Text.d.ts +1487 -1487
  550. package/types/components/fields/DatePicker/DatePickerElement.d.ts +251 -251
  551. package/types/components/fields/Select/Select.d.ts +826 -828
  552. package/types/components/fields/Slider/elements.d.ts +4956 -4968
  553. package/types/index.d.ts +0 -1
  554. package/types/provider.d.ts +2 -1
  555. package/types/stories/components/StyledButton.d.ts +1 -1
  556. package/types/tasty/debug.d.ts +0 -35
  557. package/types/tasty/index.d.ts +4 -14
  558. package/types/tasty/injector/index.d.ts +19 -30
  559. package/types/tasty/injector/injector.d.ts +13 -19
  560. package/types/tasty/injector/sheet-manager.d.ts +1 -25
  561. package/types/tasty/injector/types.d.ts +2 -23
  562. package/types/tasty/parser/parser.d.ts +0 -4
  563. package/types/tasty/parser/types.d.ts +0 -1
  564. package/types/tasty/providers/BreakpointsProvider.d.ts +8 -0
  565. package/types/tasty/styles/fill.d.ts +1 -11
  566. package/types/tasty/styles/margin.d.ts +1 -3
  567. package/types/tasty/styles/padding.d.ts +1 -3
  568. package/types/tasty/styles/radius.d.ts +10 -2
  569. package/types/tasty/styles/types.d.ts +3 -24
  570. package/types/tasty/tasty.d.ts +840 -892
  571. package/types/tasty/utils/getModCombinations.d.ts +9 -0
  572. package/types/tasty/utils/renderStyles.d.ts +41 -0
  573. package/types/tasty/utils/responsive.d.ts +8 -0
  574. package/types/tasty/utils/styles.d.ts +6 -50
  575. package/types/tokens.d.ts +221 -0
  576. package/es/stories/playground/PlaygroundEditor.js +0 -89
  577. package/es/stories/playground/PlaygroundLayout.js +0 -16
  578. package/es/stories/playground/PlaygroundOutput.js +0 -92
  579. package/es/stories/playground/PlaygroundPreview.js +0 -91
  580. package/es/stories/playground/components/Button.js +0 -45
  581. package/es/stories/playground/components/Card.js +0 -20
  582. package/es/stories/playground/components/ScrollProgress.js +0 -17
  583. package/es/stories/playground/examples.js +0 -156
  584. package/es/tasty/chunks/cacheKey.js +0 -98
  585. package/es/tasty/chunks/definitions.js +0 -281
  586. package/es/tasty/chunks/index.js +0 -12
  587. package/es/tasty/chunks/renderChunk.js +0 -97
  588. package/es/tasty/config.js +0 -280
  589. package/es/tasty/hooks/index.js +0 -12
  590. package/es/tasty/hooks/useGlobalStyles.js +0 -67
  591. package/es/tasty/hooks/useRawCSS.js +0 -40
  592. package/es/tasty/hooks/useStyles.js +0 -208
  593. package/es/tasty/keyframes/index.js +0 -301
  594. package/es/tasty/pipeline/conditions.js +0 -426
  595. package/es/tasty/pipeline/exclusive.js +0 -311
  596. package/es/tasty/pipeline/index.js +0 -543
  597. package/es/tasty/pipeline/materialize.js +0 -1260
  598. package/es/tasty/pipeline/parseStateKey.js +0 -592
  599. package/es/tasty/pipeline/simplify.js +0 -898
  600. package/es/tasty/plugins/index.js +0 -26
  601. package/es/tasty/plugins/okhsl-plugin.js +0 -400
  602. package/es/tasty/plugins/types.js +0 -10
  603. package/es/tasty/states/index.js +0 -523
  604. package/es/tasty/static/index.js +0 -47
  605. package/es/tasty/static/tastyStatic.js +0 -55
  606. package/es/tasty/static/types.js +0 -34
  607. package/es/tasty/utils/typography.js +0 -67
  608. package/es/tasty/zero/babel.js +0 -401
  609. package/es/tasty/zero/css-writer.js +0 -94
  610. package/es/tasty/zero/extractor.js +0 -138
  611. package/es/tasty/zero/index.js +0 -28
  612. package/es/tasty/zero/next.js +0 -102
  613. package/es/tokens/base.js +0 -64
  614. package/es/tokens/colors.js +0 -68
  615. package/es/tokens/index.js +0 -63
  616. package/es/tokens/layout.js +0 -26
  617. package/es/tokens/shadows.js +0 -27
  618. package/es/tokens/sizes.js +0 -42
  619. package/es/tokens/spacing.js +0 -22
  620. package/es/tokens/typography.js +0 -237
  621. package/types/stories/playground/PlaygroundEditor.d.ts +0 -6
  622. package/types/stories/playground/PlaygroundLayout.d.ts +0 -8
  623. package/types/stories/playground/PlaygroundOutput.d.ts +0 -5
  624. package/types/stories/playground/PlaygroundPreview.d.ts +0 -6
  625. package/types/stories/playground/components/Button.d.ts +0 -11
  626. package/types/stories/playground/components/Card.d.ts +0 -7
  627. package/types/stories/playground/components/ScrollProgress.d.ts +0 -5
  628. package/types/stories/playground/examples.d.ts +0 -7
  629. package/types/tasty/chunks/cacheKey.d.ts +0 -26
  630. package/types/tasty/chunks/definitions.d.ts +0 -75
  631. package/types/tasty/chunks/index.d.ts +0 -4
  632. package/types/tasty/chunks/renderChunk.d.ts +0 -25
  633. package/types/tasty/config.d.ts +0 -171
  634. package/types/tasty/hooks/index.d.ts +0 -4
  635. package/types/tasty/hooks/useGlobalStyles.d.ts +0 -22
  636. package/types/tasty/hooks/useRawCSS.d.ts +0 -50
  637. package/types/tasty/hooks/useStyles.d.ts +0 -38
  638. package/types/tasty/keyframes/index.d.ts +0 -49
  639. package/types/tasty/pipeline/conditions.d.ts +0 -243
  640. package/types/tasty/pipeline/exclusive.d.ts +0 -103
  641. package/types/tasty/pipeline/index.d.ts +0 -67
  642. package/types/tasty/pipeline/materialize.d.ts +0 -162
  643. package/types/tasty/pipeline/parseStateKey.d.ts +0 -20
  644. package/types/tasty/pipeline/simplify.d.ts +0 -28
  645. package/types/tasty/plugins/index.d.ts +0 -17
  646. package/types/tasty/plugins/okhsl-plugin.d.ts +0 -45
  647. package/types/tasty/plugins/types.d.ts +0 -34
  648. package/types/tasty/states/index.d.ts +0 -101
  649. package/types/tasty/static/index.d.ts +0 -39
  650. package/types/tasty/static/tastyStatic.d.ts +0 -41
  651. package/types/tasty/static/types.d.ts +0 -44
  652. package/types/tasty/utils/typography.d.ts +0 -32
  653. package/types/tasty/zero/babel.d.ts +0 -63
  654. package/types/tasty/zero/css-writer.d.ts +0 -41
  655. package/types/tasty/zero/extractor.d.ts +0 -19
  656. package/types/tasty/zero/index.d.ts +0 -18
  657. package/types/tasty/zero/next.d.ts +0 -57
  658. package/types/tokens/base.d.ts +0 -8
  659. package/types/tokens/colors.d.ts +0 -6
  660. package/types/tokens/index.d.ts +0 -41
  661. package/types/tokens/layout.d.ts +0 -7
  662. package/types/tokens/shadows.d.ts +0 -12
  663. package/types/tokens/sizes.d.ts +0 -25
  664. package/types/tokens/spacing.d.ts +0 -8
  665. package/types/tokens/typography.d.ts +0 -30
@@ -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-a6187c8
4
+ * @cube-dev/ui-kit v0.0.0-canary-521eedd
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -9,8 +9,10 @@
9
9
  * Style injector that works with structured style objects
10
10
  * Eliminates CSS string parsing for better performance
11
11
  */
12
- import { parseStyle } from '../utils/styles.js';
13
- import { SheetManager } from './sheet-manager.js';
12
+ import { Component } from 'react';
13
+ import { parseStyle } from '../utils/styles';
14
+ // Simple CSS text to StyleResult converter for injectGlobal backward compatibility
15
+ import { SheetManager } from './sheet-manager';
14
16
  /**
15
17
  * Generate sequential class name with format t{number}
16
18
  */
@@ -104,25 +106,13 @@ export class StyleInjector {
104
106
  let newSelector = rule.selector;
105
107
  // If rule needs className prepended
106
108
  if (rule.needsClassName) {
107
- // Handle multiple selectors (separated by ||| for OR conditions)
108
- const selectorParts = newSelector ? newSelector.split('|||') : [''];
109
- const classPrefix = `.${className}.${className}`;
110
- newSelector = selectorParts
111
- .map((part) => {
112
- const classSelector = part ? `${classPrefix}${part}` : classPrefix;
113
- // If there's a root prefix, add it before the class selector
114
- if (rule.rootPrefix) {
115
- return `${rule.rootPrefix} ${classSelector}`;
116
- }
117
- return classSelector;
118
- })
119
- .join(', ');
109
+ // Simple concatenation: .className (double specificity) + selectorSuffix
110
+ newSelector = `.${className}.${className}${newSelector}`;
120
111
  }
121
112
  return {
122
113
  ...rule,
123
114
  selector: newSelector,
124
115
  needsClassName: undefined, // Remove the flag after processing
125
- rootPrefix: undefined, // Remove rootPrefix after processing
126
116
  };
127
117
  });
128
118
  // Before inserting, auto-register @property for any color custom properties being defined.
@@ -212,20 +202,26 @@ export class StyleInjector {
212
202
  };
213
203
  }
214
204
  /**
215
- * Inject raw CSS text directly without parsing
216
- * This is a low-overhead alternative to createGlobalStyle for raw CSS
217
- * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking
218
- */
219
- injectRawCSS(css, options) {
220
- const root = options?.root || document;
221
- return this.sheetManager.injectRawCSS(css, root);
222
- }
223
- /**
224
- * Get raw CSS text for SSR
205
+ * Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
225
206
  */
226
- getRawCSSText(options) {
207
+ injectCreateGlobalStyle(rules, options) {
227
208
  const root = options?.root || document;
228
- return this.sheetManager.getRawCSSText(root);
209
+ const registry = this.sheetManager.getRegistry(root);
210
+ if (!rules || rules.length === 0) {
211
+ return { dispose: () => { } };
212
+ }
213
+ // Use a different prefix to distinguish from injectGlobal
214
+ const key = `raw:${this.globalRuleCounter++}`;
215
+ const info = this.sheetManager.insertGlobalRule(registry, rules, key, root);
216
+ if (registry.metrics) {
217
+ registry.metrics.totalInsertions++;
218
+ }
219
+ return {
220
+ dispose: () => {
221
+ if (info)
222
+ this.sheetManager.deleteGlobalRule(registry, key);
223
+ },
224
+ };
229
225
  }
230
226
  /**
231
227
  * Dispose of a className
@@ -334,9 +330,9 @@ export class StyleInjector {
334
330
  syntax = `"${syntax}"`;
335
331
  parts.push(`syntax: ${syntax};`);
336
332
  }
337
- // inherits is required by the CSS @property spec - default to true
338
- const inherits = options?.inherits ?? true;
339
- parts.push(`inherits: ${inherits ? 'true' : 'false'};`);
333
+ if (options?.inherits != null) {
334
+ parts.push(`inherits: ${options.inherits ? 'true' : 'false'};`);
335
+ }
340
336
  if (options?.initialValue != null) {
341
337
  let initialValueStr;
342
338
  if (typeof options.initialValue === 'number') {
@@ -368,12 +364,6 @@ export class StyleInjector {
368
364
  }
369
365
  /**
370
366
  * Inject keyframes and return object with toString() and dispose()
371
- *
372
- * Keyframes are cached by content (steps). If the same content is injected
373
- * multiple times with different provided names, the first injected name is reused.
374
- *
375
- * If the same name is provided with different content (collision), a unique
376
- * name is generated to avoid overwriting the existing keyframes.
377
367
  */
378
368
  keyframes(steps, nameOrOptions) {
379
369
  // Parse parameters
@@ -387,49 +377,32 @@ export class StyleInjector {
387
377
  dispose: () => { },
388
378
  };
389
379
  }
390
- // Generate content-based cache key (independent of provided name)
391
- const contentHash = JSON.stringify(steps);
392
- // Check if this exact content is already cached
393
- const existing = registry.keyframesCache.get(contentHash);
380
+ // Generate cache key from steps and name
381
+ const cacheKey = providedName
382
+ ? `${providedName}:${JSON.stringify(steps)}`
383
+ : JSON.stringify(steps);
384
+ // Check if already cached
385
+ const existing = registry.keyframesCache.get(cacheKey);
394
386
  if (existing) {
395
387
  existing.refCount++;
396
388
  return {
397
389
  toString: () => existing.name,
398
- dispose: () => this.disposeKeyframes(contentHash, registry),
390
+ dispose: () => this.disposeKeyframes(cacheKey, registry),
399
391
  };
400
392
  }
401
- // Determine the actual name to use
402
- let actualName;
403
- if (providedName) {
404
- // Check if this name is already used with different content
405
- const existingContentForName = registry.keyframesNameToContent.get(providedName);
406
- if (existingContentForName && existingContentForName !== contentHash) {
407
- // Name collision: same name, different content
408
- // Generate a unique name to avoid overwriting
409
- actualName = `${providedName}-k${registry.keyframesCounter++}`;
410
- }
411
- else {
412
- // Name is available or used with same content
413
- actualName = providedName;
414
- // Track this name -> content mapping
415
- registry.keyframesNameToContent.set(providedName, contentHash);
416
- }
417
- }
418
- else {
419
- // No name provided, generate one
420
- actualName = `k${registry.keyframesCounter++}`;
421
- }
393
+ // Use provided name or generate new one
394
+ const name = providedName || `k${registry.keyframesCounter++}`;
422
395
  // Insert keyframes
423
- const info = this.sheetManager.insertKeyframes(registry, steps, actualName, root);
396
+ const info = this.sheetManager.insertKeyframes(registry, steps, name, root);
424
397
  if (!info) {
425
398
  return {
426
399
  toString: () => '',
427
400
  dispose: () => { },
428
401
  };
429
402
  }
430
- // Cache the result by content hash
431
- registry.keyframesCache.set(contentHash, {
432
- name: actualName,
403
+ // Cache the result
404
+ registry.keyframesCache.set(cacheKey, {
405
+ name,
433
406
  refCount: 1,
434
407
  info,
435
408
  });
@@ -439,30 +412,22 @@ export class StyleInjector {
439
412
  registry.metrics.misses++;
440
413
  }
441
414
  return {
442
- toString: () => actualName,
443
- dispose: () => this.disposeKeyframes(contentHash, registry),
415
+ toString: () => name,
416
+ dispose: () => this.disposeKeyframes(cacheKey, registry),
444
417
  };
445
418
  }
446
419
  /**
447
420
  * Dispose keyframes
448
421
  */
449
- disposeKeyframes(contentHash, registry) {
450
- const entry = registry.keyframesCache.get(contentHash);
422
+ disposeKeyframes(cacheKey, registry) {
423
+ const entry = registry.keyframesCache.get(cacheKey);
451
424
  if (!entry)
452
425
  return;
453
426
  entry.refCount--;
454
427
  if (entry.refCount <= 0) {
455
428
  // Dispose immediately - keyframes are global and safe to clean up right away
456
429
  this.sheetManager.deleteKeyframes(registry, entry.info);
457
- registry.keyframesCache.delete(contentHash);
458
- // Clean up name-to-content mapping if this name was tracked
459
- // Find and remove the mapping for this content hash
460
- for (const [name, hash] of registry.keyframesNameToContent.entries()) {
461
- if (hash === contentHash) {
462
- registry.keyframesNameToContent.delete(name);
463
- break;
464
- }
465
- }
430
+ registry.keyframesCache.delete(cacheKey);
466
431
  // Update metrics
467
432
  if (registry.metrics) {
468
433
  registry.metrics.totalUnused++;
@@ -477,6 +442,259 @@ export class StyleInjector {
477
442
  const targetRoot = root || document;
478
443
  this.sheetManager.cleanup(targetRoot);
479
444
  }
445
+ /**
446
+ * Create a global style component like styled-components createGlobalStyle
447
+ * Returns a React component that injects global styles when mounted and cleans up when unmounted
448
+ */
449
+ createGlobalStyle(strings, ...interpolations) {
450
+ const injector = this; // Capture the injector instance
451
+ class GlobalStyleComponent extends Component {
452
+ disposeFunction = null;
453
+ componentDidMount() {
454
+ this.injectStyles();
455
+ }
456
+ componentDidUpdate() {
457
+ this.disposeStyles();
458
+ this.injectStyles();
459
+ }
460
+ componentWillUnmount() {
461
+ this.disposeStyles();
462
+ }
463
+ injectStyles = () => {
464
+ const css = this.interpolateTemplate();
465
+ if (css.trim()) {
466
+ const styleResults = this.parseCSSToStyleResults(css);
467
+ // Use a special method for createGlobalStyle to distinguish from injectGlobal
468
+ const result = injector.injectCreateGlobalStyle(styleResults, {
469
+ root: this.props.root,
470
+ });
471
+ this.disposeFunction = result.dispose;
472
+ }
473
+ };
474
+ disposeStyles = () => {
475
+ if (this.disposeFunction) {
476
+ this.disposeFunction();
477
+ this.disposeFunction = null;
478
+ }
479
+ };
480
+ interpolateTemplate = () => {
481
+ let result = strings[0];
482
+ for (let i = 0; i < interpolations.length; i++) {
483
+ const interpolation = interpolations[i];
484
+ const value = typeof interpolation === 'function'
485
+ ? interpolation(this.props)
486
+ : interpolation;
487
+ result += String(value) + strings[i + 1];
488
+ }
489
+ return result;
490
+ };
491
+ parseCSSToStyleResults = (css) => {
492
+ const rules = [];
493
+ // Enhanced CSS parser for global styles that handles nested rules
494
+ this.parseCSS(css, rules, [], '');
495
+ return rules;
496
+ };
497
+ parseCSS = (css, rules, atRuleStack, parentSelector = '') => {
498
+ // Remove both CSS and JavaScript-style comments
499
+ let cleanCSS = css.replace(/\/\*[\s\S]*?\*\//g, ''); // CSS comments
500
+ cleanCSS = cleanCSS.replace(/\/\/.*$/gm, ''); // JavaScript-style comments
501
+ let i = 0;
502
+ while (i < cleanCSS.length) {
503
+ // Skip whitespace
504
+ while (i < cleanCSS.length && /\s/.test(cleanCSS[i])) {
505
+ i++;
506
+ }
507
+ if (i >= cleanCSS.length)
508
+ break;
509
+ // Find the next selector or at-rule
510
+ let selectorStart = i;
511
+ let braceDepth = 0;
512
+ let inString = false;
513
+ let stringChar = '';
514
+ // Find the opening brace
515
+ while (i < cleanCSS.length) {
516
+ const char = cleanCSS[i];
517
+ if (inString) {
518
+ if (char === stringChar && cleanCSS[i - 1] !== '\\') {
519
+ inString = false;
520
+ }
521
+ }
522
+ else {
523
+ if (char === '"' || char === "'") {
524
+ inString = true;
525
+ stringChar = char;
526
+ }
527
+ else if (char === '{') {
528
+ braceDepth++;
529
+ if (braceDepth === 1) {
530
+ break; // Found the opening brace
531
+ }
532
+ }
533
+ else if (char === '}') {
534
+ braceDepth--;
535
+ }
536
+ }
537
+ i++;
538
+ }
539
+ if (i >= cleanCSS.length)
540
+ break;
541
+ const selectorPart = cleanCSS.substring(selectorStart, i).trim();
542
+ i++; // Skip the opening brace
543
+ // Find the matching closing brace
544
+ const contentStart = i;
545
+ braceDepth = 1;
546
+ inString = false;
547
+ while (i < cleanCSS.length && braceDepth > 0) {
548
+ const char = cleanCSS[i];
549
+ if (inString) {
550
+ if (char === stringChar && cleanCSS[i - 1] !== '\\') {
551
+ inString = false;
552
+ }
553
+ }
554
+ else {
555
+ if (char === '"' || char === "'") {
556
+ inString = true;
557
+ stringChar = char;
558
+ }
559
+ else if (char === '{') {
560
+ braceDepth++;
561
+ }
562
+ else if (char === '}') {
563
+ braceDepth--;
564
+ }
565
+ }
566
+ i++;
567
+ }
568
+ const content = cleanCSS.substring(contentStart, i - 1).trim();
569
+ // Check if this is an at-rule
570
+ if (selectorPart.startsWith('@')) {
571
+ const atSelector = selectorPart.trim();
572
+ // Leaf at-rules that contain declarations directly and should be emitted as-is
573
+ const leafAtRules = [
574
+ '@font-face',
575
+ '@property',
576
+ '@page',
577
+ '@counter-style',
578
+ '@font-feature-values',
579
+ '@font-palette-values',
580
+ '@color-profile',
581
+ ];
582
+ const isLeafAtRule = leafAtRules.some((prefix) => atSelector.startsWith(prefix));
583
+ if (isLeafAtRule) {
584
+ // Emit the at-rule with its declarations directly
585
+ if (content.trim()) {
586
+ rules.push({
587
+ selector: atSelector,
588
+ declarations: content,
589
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
590
+ });
591
+ }
592
+ }
593
+ else {
594
+ // Wrapper at-rule (e.g., @media, @supports, @keyframes) — parse its content
595
+ const newAtRuleStack = [...atRuleStack, atSelector];
596
+ this.parseCSS(content, rules, newAtRuleStack, parentSelector);
597
+ }
598
+ }
599
+ else {
600
+ // Check if content contains nested rules (has { and })
601
+ if (content.includes('{') && content.includes('}')) {
602
+ // This selector has nested rules, parse them
603
+ const { declarations, nestedCSS } = this.separateDeclarationsAndNested(content);
604
+ // Process the selector (handle & syntax)
605
+ const processedSelector = this.processSelector(selectorPart, parentSelector);
606
+ // Add declarations if any
607
+ if (declarations.trim()) {
608
+ rules.push({
609
+ selector: processedSelector,
610
+ declarations: declarations.trim(),
611
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
612
+ });
613
+ }
614
+ // Parse nested CSS with current selector as parent
615
+ if (nestedCSS.trim()) {
616
+ this.parseCSS(nestedCSS, rules, atRuleStack, processedSelector);
617
+ }
618
+ }
619
+ else {
620
+ // This is a regular selector with only declarations
621
+ const processedSelector = this.processSelector(selectorPart, parentSelector);
622
+ if (content && processedSelector) {
623
+ rules.push({
624
+ selector: processedSelector,
625
+ declarations: content,
626
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
627
+ });
628
+ }
629
+ }
630
+ }
631
+ }
632
+ };
633
+ separateDeclarationsAndNested = (content) => {
634
+ const declarations = [];
635
+ const nestedRules = [];
636
+ let i = 0;
637
+ let currentDeclaration = '';
638
+ while (i < content.length) {
639
+ const char = content[i];
640
+ if (char === '{') {
641
+ // Found start of nested rule, find the selector before it
642
+ let selectorStart = currentDeclaration.lastIndexOf(';') + 1;
643
+ if (selectorStart === 0 && currentDeclaration.trim()) {
644
+ // No semicolon found, this might be the first rule
645
+ selectorStart = 0;
646
+ }
647
+ const beforeBrace = currentDeclaration.substring(0, selectorStart);
648
+ const selector = currentDeclaration.substring(selectorStart).trim();
649
+ if (beforeBrace.trim()) {
650
+ declarations.push(beforeBrace.trim());
651
+ }
652
+ // Find the matching closing brace
653
+ let braceDepth = 1;
654
+ let ruleStart = i + 1;
655
+ i++; // Skip opening brace
656
+ while (i < content.length && braceDepth > 0) {
657
+ if (content[i] === '{')
658
+ braceDepth++;
659
+ else if (content[i] === '}')
660
+ braceDepth--;
661
+ i++;
662
+ }
663
+ const ruleContent = content.substring(ruleStart, i - 1);
664
+ nestedRules.push(`${selector} { ${ruleContent} }`);
665
+ currentDeclaration = '';
666
+ }
667
+ else {
668
+ currentDeclaration += char;
669
+ i++;
670
+ }
671
+ }
672
+ // Add remaining declarations
673
+ if (currentDeclaration.trim()) {
674
+ declarations.push(currentDeclaration.trim());
675
+ }
676
+ return {
677
+ declarations: declarations.join(' '),
678
+ nestedCSS: nestedRules.join('\n'),
679
+ };
680
+ };
681
+ processSelector = (selector, parentSelector) => {
682
+ if (!parentSelector) {
683
+ return selector;
684
+ }
685
+ // Handle & syntax - replace & with parent selector
686
+ if (selector.includes('&')) {
687
+ return selector.replace(/&/g, parentSelector);
688
+ }
689
+ // If no &, treat as descendant selector
690
+ return `${parentSelector} ${selector}`;
691
+ };
692
+ render() {
693
+ return null;
694
+ }
695
+ }
696
+ return GlobalStyleComponent;
697
+ }
480
698
  }
481
699
 
482
700
 
@@ -1,20 +1,14 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-a6187c8
4
+ * @cube-dev/ui-kit v0.0.0-canary-521eedd
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { createStyle, STYLE_HANDLER_MAP } from '../styles/index.js';
8
+ import { createStyle, STYLE_HANDLER_MAP } from '../styles';
9
9
  export class SheetManager {
10
10
  rootRegistries = new WeakMap();
11
11
  config;
12
- /** Dedicated style elements for raw CSS per root */
13
- rawStyleElements = new WeakMap();
14
- /** Tracking for raw CSS blocks per root */
15
- rawCSSBlocks = new WeakMap();
16
- /** Counter for generating unique raw CSS IDs */
17
- rawCSSCounter = 0;
18
12
  constructor(config) {
19
13
  this.config = config;
20
14
  }
@@ -47,7 +41,6 @@ export class SheetManager {
47
41
  metrics,
48
42
  classCounter: 0,
49
43
  keyframesCache: new Map(),
50
- keyframesNameToContent: new Map(),
51
44
  keyframesCounter: 0,
52
45
  injectedProperties: new Set(),
53
46
  globalRules: new Map(),
@@ -244,11 +237,8 @@ export class SheetManager {
244
237
  currentRuleIndex = idx + 1;
245
238
  anyInserted = true;
246
239
  }
247
- catch (singleErr) {
240
+ catch (_) {
248
241
  // Skip unsupported selector in this engine (e.g., ::-moz-selection in Blink)
249
- if (process.env.NODE_ENV !== 'production') {
250
- console.warn('[tasty] Browser rejected CSS rule:', singleRule, singleErr);
251
- }
252
242
  }
253
243
  }
254
244
  // If none inserted, continue without throwing to avoid aborting the whole batch
@@ -258,9 +248,6 @@ export class SheetManager {
258
248
  }
259
249
  else {
260
250
  // Single selector failed — skip it silently (likely unsupported in this engine)
261
- if (process.env.NODE_ENV !== 'production') {
262
- console.warn('[tasty] Browser rejected CSS rule:', fullRule, e);
263
- }
264
251
  }
265
252
  }
266
253
  }
@@ -919,118 +906,6 @@ export class SheetManager {
919
906
  }
920
907
  // Clear registry
921
908
  this.rootRegistries.delete(root);
922
- // Clean up raw CSS style element
923
- const rawStyleElement = this.rawStyleElements.get(root);
924
- if (rawStyleElement?.parentNode) {
925
- rawStyleElement.parentNode.removeChild(rawStyleElement);
926
- }
927
- this.rawStyleElements.delete(root);
928
- this.rawCSSBlocks.delete(root);
929
- }
930
- /**
931
- * Get or create a dedicated style element for raw CSS
932
- * Raw CSS is kept separate from tasty-managed sheets to avoid index conflicts
933
- */
934
- getOrCreateRawStyleElement(root) {
935
- let styleElement = this.rawStyleElements.get(root);
936
- if (!styleElement) {
937
- styleElement =
938
- root.createElement?.('style') ||
939
- document.createElement('style');
940
- if (this.config.nonce) {
941
- styleElement.nonce = this.config.nonce;
942
- }
943
- styleElement.setAttribute('data-tasty-raw', '');
944
- // Append to head or shadow root
945
- if ('head' in root && root.head) {
946
- root.head.appendChild(styleElement);
947
- }
948
- else if ('appendChild' in root) {
949
- root.appendChild(styleElement);
950
- }
951
- else {
952
- document.head.appendChild(styleElement);
953
- }
954
- this.rawStyleElements.set(root, styleElement);
955
- this.rawCSSBlocks.set(root, new Map());
956
- }
957
- return styleElement;
958
- }
959
- /**
960
- * Inject raw CSS text directly without parsing
961
- * Returns a dispose function to remove the injected CSS
962
- */
963
- injectRawCSS(css, root) {
964
- if (!css.trim()) {
965
- return { dispose: () => { } };
966
- }
967
- const styleElement = this.getOrCreateRawStyleElement(root);
968
- const blocksMap = this.rawCSSBlocks.get(root);
969
- // Generate unique ID for this block
970
- const id = `raw_${this.rawCSSCounter++}`;
971
- // Calculate offsets
972
- const currentContent = styleElement.textContent || '';
973
- const startOffset = currentContent.length;
974
- const cssWithNewline = (currentContent ? '\n' : '') + css;
975
- const endOffset = startOffset + cssWithNewline.length;
976
- // Append CSS
977
- styleElement.textContent = currentContent + cssWithNewline;
978
- // Track the block
979
- const info = {
980
- id,
981
- css,
982
- startOffset,
983
- endOffset,
984
- };
985
- blocksMap.set(id, info);
986
- return {
987
- dispose: () => {
988
- this.disposeRawCSS(id, root);
989
- },
990
- };
991
- }
992
- /**
993
- * Remove a raw CSS block by ID
994
- */
995
- disposeRawCSS(id, root) {
996
- const styleElement = this.rawStyleElements.get(root);
997
- const blocksMap = this.rawCSSBlocks.get(root);
998
- if (!styleElement || !blocksMap) {
999
- return;
1000
- }
1001
- const info = blocksMap.get(id);
1002
- if (!info) {
1003
- return;
1004
- }
1005
- // Remove from tracking
1006
- blocksMap.delete(id);
1007
- // Rebuild the CSS content from remaining blocks
1008
- // This is simpler and more reliable than trying to splice strings
1009
- const remainingBlocks = Array.from(blocksMap.values());
1010
- if (remainingBlocks.length === 0) {
1011
- styleElement.textContent = '';
1012
- }
1013
- else {
1014
- // Rebuild with remaining CSS blocks in order of their original insertion
1015
- // Sort by original startOffset to maintain order
1016
- remainingBlocks.sort((a, b) => a.startOffset - b.startOffset);
1017
- const newContent = remainingBlocks.map((block) => block.css).join('\n');
1018
- styleElement.textContent = newContent;
1019
- // Update offsets for remaining blocks
1020
- let offset = 0;
1021
- for (const block of remainingBlocks) {
1022
- block.startOffset = offset;
1023
- block.endOffset = offset + block.css.length;
1024
- offset = block.endOffset + 1; // +1 for newline
1025
- }
1026
- }
1027
- }
1028
- /**
1029
- * Get the raw CSS content for SSR
1030
- */
1031
- getRawCSSText(root) {
1032
- const styleElement = this.rawStyleElements.get(root);
1033
- return styleElement?.textContent || '';
1034
909
  }
1035
910
  }
1036
911
 
@@ -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-a6187c8
4
+ * @cube-dev/ui-kit v0.0.0-canary-521eedd
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-a6187c8
4
+ * @cube-dev/ui-kit v0.0.0-canary-521eedd
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { COLOR_FUNCS, RE_HEX, RE_NUMBER, RE_UNIT_NUM, VALUE_KEYWORDS, } from './const.js';
9
- import { StyleParser } from './parser.js';
10
- import { Bucket } from './types.js';
8
+ import { COLOR_FUNCS, RE_HEX, RE_NUMBER, RE_UNIT_NUM, VALUE_KEYWORDS, } from './const';
9
+ import { StyleParser } from './parser';
10
+ import { Bucket } from './types';
11
11
  export function classify(raw, opts, recurse) {
12
12
  const token = raw.trim();
13
13
  if (!token)
@@ -112,10 +112,8 @@ export function classify(raw, opts, recurse) {
112
112
  if (opts.funcs && fname in opts.funcs) {
113
113
  // split by top-level commas within inner
114
114
  const tmp = new StyleParser(opts).process(inner); // fresh parser w/ same opts but no cache share issues
115
- const funcResult = opts.funcs[fname](tmp.groups);
116
- // Re-classify the result to determine proper bucket (e.g., if it returns a color)
117
- // Pass funcs: undefined to prevent infinite recursion if result matches a function pattern
118
- return classify(funcResult, { ...opts, funcs: undefined }, recurse);
115
+ const argProcessed = opts.funcs[fname](tmp.groups);
116
+ return { bucket: Bucket.Value, processed: argProcessed };
119
117
  }
120
118
  // generic: process inner and rebuild
121
119
  const argProcessed = recurse(inner).output;