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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +55 -64
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +11 -52
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +2 -2
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +2 -2
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +2 -1
  74. package/es/components/content/Layout/LayoutBlock.js +2 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +2 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +2 -1
  80. package/es/components/content/Layout/LayoutFooter.js +2 -1
  81. package/es/components/content/Layout/LayoutGrid.js +2 -1
  82. package/es/components/content/Layout/LayoutHeader.js +2 -1
  83. package/es/components/content/Layout/LayoutPane.js +2 -1
  84. package/es/components/content/Layout/LayoutPanel.js +2 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +2 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +6 -6
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -1
  427. package/es/provider.js +2 -8
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/services/notification.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +18 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +98 -0
  443. package/es/tasty/chunks/definitions.js +280 -0
  444. package/es/tasty/chunks/index.js +12 -0
  445. package/es/tasty/chunks/renderChunk.js +97 -0
  446. package/es/tasty/config.js +244 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +12 -0
  449. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +146 -0
  452. package/es/tasty/index.js +18 -4
  453. package/es/tasty/injector/index.js +31 -87
  454. package/es/tasty/injector/injector.js +30 -279
  455. package/es/tasty/injector/sheet-manager.js +126 -2
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +5 -3
  458. package/es/tasty/parser/const.js +1 -1
  459. package/es/tasty/parser/lru.js +1 -1
  460. package/es/tasty/parser/parser.js +14 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +2 -1
  463. package/es/tasty/pipeline/conditions.js +469 -0
  464. package/es/tasty/pipeline/exclusive.js +193 -0
  465. package/es/tasty/pipeline/index.js +515 -0
  466. package/es/tasty/pipeline/materialize.js +1001 -0
  467. package/es/tasty/pipeline/parseStateKey.js +565 -0
  468. package/es/tasty/pipeline/simplify.js +786 -0
  469. package/es/tasty/plugins/index.js +26 -0
  470. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  471. package/es/tasty/plugins/types.js +10 -0
  472. package/es/tasty/states/index.js +515 -0
  473. package/es/tasty/static/index.js +47 -0
  474. package/es/tasty/static/tastyStatic.js +55 -0
  475. package/es/tasty/static/types.js +34 -0
  476. package/es/tasty/styles/align.js +1 -1
  477. package/es/tasty/styles/border.js +1 -1
  478. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  479. package/es/tasty/styles/color.js +1 -1
  480. package/es/tasty/styles/createStyle.js +1 -1
  481. package/es/tasty/styles/dimension.js +1 -1
  482. package/es/tasty/styles/display.js +1 -1
  483. package/es/tasty/styles/fade.js +1 -1
  484. package/es/tasty/styles/fill.js +10 -20
  485. package/es/tasty/styles/flow.js +1 -1
  486. package/es/tasty/styles/font.js +1 -1
  487. package/es/tasty/styles/fontStyle.js +1 -1
  488. package/es/tasty/styles/gap.js +1 -1
  489. package/es/tasty/styles/groupRadius.js +1 -1
  490. package/es/tasty/styles/height.js +1 -1
  491. package/es/tasty/styles/index.js +1 -1
  492. package/es/tasty/styles/inset.js +1 -1
  493. package/es/tasty/styles/justify.js +1 -1
  494. package/es/tasty/styles/list.js +1 -1
  495. package/es/tasty/styles/margin.js +75 -55
  496. package/es/tasty/styles/outline.js +1 -1
  497. package/es/tasty/styles/padding.js +75 -55
  498. package/es/tasty/styles/place.js +1 -1
  499. package/es/tasty/styles/predefined.js +3 -2
  500. package/es/tasty/styles/preset.js +1 -1
  501. package/es/tasty/styles/radius.js +1 -1
  502. package/es/tasty/styles/reset.js +2 -6
  503. package/es/tasty/styles/scrollbar.js +1 -1
  504. package/es/tasty/styles/shadow.js +1 -1
  505. package/es/tasty/styles/styledScrollbar.js +1 -1
  506. package/es/tasty/styles/transition.js +1 -1
  507. package/es/tasty/styles/types.js +1 -1
  508. package/es/tasty/styles/width.js +1 -1
  509. package/es/tasty/tasty.js +76 -117
  510. package/es/tasty/types.js +1 -1
  511. package/es/tasty/utils/cache-wrapper.js +1 -1
  512. package/es/tasty/utils/case-converter.js +1 -1
  513. package/es/tasty/utils/colors.js +1 -1
  514. package/es/tasty/utils/dotize.js +1 -1
  515. package/es/tasty/utils/filterBaseProps.js +1 -1
  516. package/es/tasty/utils/getDisplayName.js +1 -1
  517. package/es/tasty/utils/isDevEnv.js +1 -1
  518. package/es/tasty/utils/mergeStyles.js +2 -2
  519. package/es/tasty/utils/modAttrs.js +1 -1
  520. package/es/tasty/utils/processTokens.js +87 -1
  521. package/es/tasty/utils/string.js +1 -1
  522. package/es/tasty/utils/styles.js +252 -19
  523. package/es/tasty/utils/typography.js +67 -0
  524. package/es/tasty/utils/warnings.js +1 -1
  525. package/es/tasty/zero/babel.js +401 -0
  526. package/es/tasty/zero/css-writer.js +94 -0
  527. package/es/tasty/zero/extractor.js +75 -0
  528. package/es/tasty/zero/index.js +28 -0
  529. package/es/tasty/zero/next.js +102 -0
  530. package/es/tokens/base.js +64 -0
  531. package/es/tokens/colors.js +68 -0
  532. package/es/tokens/index.js +63 -0
  533. package/es/tokens/layout.js +26 -0
  534. package/es/tokens/shadows.js +27 -0
  535. package/es/tokens/sizes.js +42 -0
  536. package/es/tokens/spacing.js +22 -0
  537. package/es/tokens/typography.js +237 -0
  538. package/es/utils/ResizeSensor.js +1 -1
  539. package/es/utils/index.js +1 -1
  540. package/es/utils/modules.js +1 -1
  541. package/es/utils/promise.js +1 -1
  542. package/es/utils/raf.js +1 -1
  543. package/es/utils/random.js +1 -1
  544. package/es/utils/range.js +1 -1
  545. package/es/utils/react/RenderCache.js +1 -1
  546. package/es/utils/react/Slots.js +1 -1
  547. package/es/utils/react/chain.js +1 -1
  548. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  549. package/es/utils/react/index.js +1 -1
  550. package/es/utils/react/interactions.js +1 -1
  551. package/es/utils/react/isTextOnly.js +1 -1
  552. package/es/utils/react/mapProps.js +1 -1
  553. package/es/utils/react/mergeProps.js +1 -1
  554. package/es/utils/react/nullableValue.js +1 -1
  555. package/es/utils/react/resolveIcon.js +1 -1
  556. package/es/utils/react/sharedStore.js +1 -1
  557. package/es/utils/react/useCombinedRefs.js +1 -1
  558. package/es/utils/react/useControlledFocusVisible.js +1 -1
  559. package/es/utils/react/useEventBus.js +1 -1
  560. package/es/utils/react/useId.js +1 -1
  561. package/es/utils/react/useIsDarwin.js +1 -1
  562. package/es/utils/react/useKeySymbols.js +1 -1
  563. package/es/utils/react/useLayoutEffect.js +1 -1
  564. package/es/utils/react/useLocalStorage.js +1 -1
  565. package/es/utils/react/useQaProps.js +1 -1
  566. package/es/utils/react/useViewportSize.js +1 -1
  567. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  568. package/es/utils/tree.js +1 -1
  569. package/es/utils/warnings.js +1 -1
  570. package/es/version.js +2 -2
  571. package/package.json +3 -1
  572. package/types/components/GlobalStyles.d.ts +2 -1
  573. package/types/components/HiddenInput.d.ts +827 -826
  574. package/types/components/Root.d.ts +1 -0
  575. package/types/components/actions/Button/Button.d.ts +1647 -1645
  576. package/types/components/actions/CommandMenu/styled.d.ts +4135 -4130
  577. package/types/components/actions/Menu/styled.d.ts +4384 -4379
  578. package/types/components/actions/use-action.d.ts +1 -1
  579. package/types/components/content/List/SectionHeading.d.ts +83 -83
  580. package/types/components/content/Text.d.ts +311 -311
  581. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  582. package/types/components/fields/Select/Select.d.ts +827 -826
  583. package/types/components/fields/Slider/elements.d.ts +4962 -4956
  584. package/types/index.d.ts +1 -0
  585. package/types/provider.d.ts +1 -2
  586. package/types/stories/components/StyledButton.d.ts +1 -1
  587. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  588. package/types/tasty/chunks/definitions.d.ts +75 -0
  589. package/types/tasty/chunks/index.d.ts +4 -0
  590. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  591. package/types/tasty/config.d.ts +145 -0
  592. package/types/tasty/debug.d.ts +35 -0
  593. package/types/tasty/hooks/index.d.ts +4 -0
  594. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  595. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  596. package/types/tasty/hooks/useStyles.d.ts +38 -0
  597. package/types/tasty/index.d.ts +14 -4
  598. package/types/tasty/injector/index.d.ts +30 -19
  599. package/types/tasty/injector/injector.d.ts +13 -13
  600. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  601. package/types/tasty/injector/types.d.ts +20 -1
  602. package/types/tasty/parser/parser.d.ts +4 -0
  603. package/types/tasty/parser/types.d.ts +1 -0
  604. package/types/tasty/pipeline/conditions.d.ts +248 -0
  605. package/types/tasty/pipeline/exclusive.d.ts +78 -0
  606. package/types/tasty/pipeline/index.d.ts +67 -0
  607. package/types/tasty/pipeline/materialize.d.ts +115 -0
  608. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  609. package/types/tasty/pipeline/simplify.d.ts +28 -0
  610. package/types/tasty/plugins/index.d.ts +17 -0
  611. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  612. package/types/tasty/plugins/types.d.ts +34 -0
  613. package/types/tasty/states/index.d.ts +101 -0
  614. package/types/tasty/static/index.d.ts +39 -0
  615. package/types/tasty/static/tastyStatic.d.ts +41 -0
  616. package/types/tasty/static/types.d.ts +44 -0
  617. package/types/tasty/styles/fill.d.ts +11 -1
  618. package/types/tasty/styles/margin.d.ts +3 -1
  619. package/types/tasty/styles/padding.d.ts +3 -1
  620. package/types/tasty/styles/types.d.ts +13 -3
  621. package/types/tasty/tasty.d.ts +891 -840
  622. package/types/tasty/utils/styles.d.ts +50 -6
  623. package/types/tasty/utils/typography.d.ts +32 -0
  624. package/types/tasty/zero/babel.d.ts +56 -0
  625. package/types/tasty/zero/css-writer.d.ts +41 -0
  626. package/types/tasty/zero/extractor.d.ts +19 -0
  627. package/types/tasty/zero/index.d.ts +18 -0
  628. package/types/tasty/zero/next.d.ts +57 -0
  629. package/types/tokens/base.d.ts +8 -0
  630. package/types/tokens/colors.d.ts +6 -0
  631. package/types/tokens/index.d.ts +41 -0
  632. package/types/tokens/layout.d.ts +7 -0
  633. package/types/tokens/shadows.d.ts +12 -0
  634. package/types/tokens/sizes.d.ts +25 -0
  635. package/types/tokens/spacing.d.ts +8 -0
  636. package/types/tokens/typography.d.ts +30 -0
  637. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  638. package/es/tasty/utils/getModCombinations.js +0 -38
  639. package/es/tasty/utils/renderStyles.js +0 -1050
  640. package/es/tasty/utils/responsive.js +0 -60
  641. package/es/tokens.js +0 -309
  642. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  643. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  644. package/types/tasty/utils/renderStyles.d.ts +0 -41
  645. package/types/tasty/utils/responsive.d.ts +0 -8
  646. package/types/tokens.d.ts +0 -221
@@ -1,85 +1,12 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { isDevEnv } from '../utils/isDevEnv';
8
+ import { getConfig, getGlobalInjector, isTestEnvironment, markStylesGenerated, } from '../config';
9
9
  import { StyleInjector } from './injector';
10
- // Use a more robust global singleton that survives React Strict Mode
11
- const GLOBAL_INJECTOR_KEY = '__TASTY_GLOBAL_INJECTOR__';
12
- /**
13
- * Detect if we're running in a test environment
14
- */
15
- function isTestEnvironment() {
16
- // Check Node.js environment
17
- if (typeof process !== 'undefined' && process.env?.NODE_ENV === 'test') {
18
- return true;
19
- }
20
- // Check for Jest globals (safely)
21
- if (typeof global !== 'undefined') {
22
- const g = global;
23
- if (g.jest || g.expect || g.describe || g.it) {
24
- return true;
25
- }
26
- }
27
- // Check for jsdom environment (common in tests)
28
- if (typeof window !== 'undefined' &&
29
- window.navigator?.userAgent?.includes('jsdom')) {
30
- return true;
31
- }
32
- // Check for other test runners
33
- if (typeof globalThis !== 'undefined') {
34
- const gt = globalThis;
35
- if (gt.vitest || gt.mocha) {
36
- return true;
37
- }
38
- }
39
- return false;
40
- }
41
- /**
42
- * Create default configuration with optional test environment detection
43
- */
44
- function createDefaultConfig(isTest) {
45
- return {
46
- maxRulesPerSheet: 8192, // safer default cap per sheet
47
- unusedStylesThreshold: 500, // default threshold for bulk cleanup of unused styles
48
- bulkCleanupDelay: 5000, // default delay before bulk cleanup (ignored if idleCleanup is true)
49
- idleCleanup: true, // default to using requestIdleCallback instead of setTimeout
50
- forceTextInjection: isTest ?? false, // auto-enable for test environments
51
- devMode: isDevEnv(), // enable dev features: performance tracking and debug info
52
- bulkCleanupBatchRatio: 0.5,
53
- unusedStylesMinAgeMs: 10000,
54
- };
55
- }
56
- /**
57
- * Configure the global style injector
58
- */
59
- export function configure(config = {}) {
60
- const fullConfig = {
61
- ...createDefaultConfig(),
62
- ...config,
63
- };
64
- // Store on window to survive React Strict Mode resets
65
- if (typeof window !== 'undefined') {
66
- window[GLOBAL_INJECTOR_KEY] = new StyleInjector(fullConfig);
67
- }
68
- else {
69
- // Fallback for SSR
70
- globalThis[GLOBAL_INJECTOR_KEY] = new StyleInjector(fullConfig);
71
- }
72
- }
73
- /**
74
- * Get or create the global injector instance
75
- */
76
- function getGlobalInjector() {
77
- const storage = typeof window !== 'undefined' ? window : globalThis;
78
- if (!storage[GLOBAL_INJECTOR_KEY]) {
79
- configure();
80
- }
81
- return storage[GLOBAL_INJECTOR_KEY];
82
- }
83
10
  /**
84
11
  * Allocate a className for a cacheKey without injecting styles yet
85
12
  */
@@ -90,6 +17,8 @@ export function allocateClassName(cacheKey, options) {
90
17
  * Inject styles and return className with dispose function
91
18
  */
92
19
  export function inject(rules, options) {
20
+ // Mark that styles have been generated (prevents configuration changes)
21
+ markStylesGenerated();
93
22
  return getGlobalInjector().inject(rules, options);
94
23
  }
95
24
  /**
@@ -99,10 +28,30 @@ export function injectGlobal(rules, options) {
99
28
  return getGlobalInjector().injectGlobal(rules, options);
100
29
  }
101
30
  /**
102
- * Internal method for createGlobalStyle - not exported publicly
31
+ * Inject raw CSS text directly without parsing
32
+ * This is a low-overhead method for injecting raw CSS that doesn't need tasty processing.
33
+ * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * // Inject raw CSS
38
+ * const { dispose } = injectRawCSS(`
39
+ * body { margin: 0; padding: 0; }
40
+ * .my-class { color: red; }
41
+ * `);
42
+ *
43
+ * // Later, remove the injected CSS
44
+ * dispose();
45
+ * ```
46
+ */
47
+ export function injectRawCSS(css, options) {
48
+ return getGlobalInjector().injectRawCSS(css, options);
49
+ }
50
+ /**
51
+ * Get raw CSS text for SSR
103
52
  */
104
- function injectCreateGlobalStyle(rules, options) {
105
- return getGlobalInjector().injectCreateGlobalStyle(rules, options);
53
+ export function getRawCSSText(options) {
54
+ return getGlobalInjector().getRawCSSText(options);
106
55
  }
107
56
  /**
108
57
  * Inject keyframes and return object with toString() and dispose()
@@ -173,20 +122,15 @@ export function destroy(root) {
173
122
  * Create a new isolated injector instance
174
123
  */
175
124
  export function createInjector(config = {}) {
176
- const isTest = isTestEnvironment();
125
+ const defaultConfig = getConfig();
177
126
  const fullConfig = {
178
- ...createDefaultConfig(isTest),
127
+ ...defaultConfig,
128
+ // Auto-enable forceTextInjection in test environments
129
+ forceTextInjection: config.forceTextInjection ?? isTestEnvironment(),
179
130
  ...config,
180
131
  };
181
132
  return new StyleInjector(fullConfig);
182
133
  }
183
- /**
184
- * Create a global style component like styled-components createGlobalStyle
185
- * Returns a React component that injects global styles when mounted and cleans up when unmounted
186
- */
187
- export function createGlobalStyle(strings, ...interpolations) {
188
- return getGlobalInjector().createGlobalStyle(strings, ...interpolations);
189
- }
190
134
  export { StyleInjector } from './injector';
191
135
  export { SheetManager } from './sheet-manager';
192
136
 
@@ -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-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -9,9 +9,7 @@
9
9
  * Style injector that works with structured style objects
10
10
  * Eliminates CSS string parsing for better performance
11
11
  */
12
- import { Component } from 'react';
13
12
  import { parseStyle } from '../utils/styles';
14
- // Simple CSS text to StyleResult converter for injectGlobal backward compatibility
15
13
  import { SheetManager } from './sheet-manager';
16
14
  /**
17
15
  * Generate sequential class name with format t{number}
@@ -106,13 +104,25 @@ export class StyleInjector {
106
104
  let newSelector = rule.selector;
107
105
  // If rule needs className prepended
108
106
  if (rule.needsClassName) {
109
- // Simple concatenation: .className (double specificity) + selectorSuffix
110
- newSelector = `.${className}.${className}${newSelector}`;
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(', ');
111
120
  }
112
121
  return {
113
122
  ...rule,
114
123
  selector: newSelector,
115
124
  needsClassName: undefined, // Remove the flag after processing
125
+ rootPrefix: undefined, // Remove rootPrefix after processing
116
126
  };
117
127
  });
118
128
  // Before inserting, auto-register @property for any color custom properties being defined.
@@ -202,26 +212,20 @@ export class StyleInjector {
202
212
  };
203
213
  }
204
214
  /**
205
- * Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
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
206
218
  */
207
- injectCreateGlobalStyle(rules, options) {
219
+ injectRawCSS(css, options) {
208
220
  const root = options?.root || document;
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
- };
221
+ return this.sheetManager.injectRawCSS(css, root);
222
+ }
223
+ /**
224
+ * Get raw CSS text for SSR
225
+ */
226
+ getRawCSSText(options) {
227
+ const root = options?.root || document;
228
+ return this.sheetManager.getRawCSSText(root);
225
229
  }
226
230
  /**
227
231
  * Dispose of a className
@@ -330,9 +334,9 @@ export class StyleInjector {
330
334
  syntax = `"${syntax}"`;
331
335
  parts.push(`syntax: ${syntax};`);
332
336
  }
333
- if (options?.inherits != null) {
334
- parts.push(`inherits: ${options.inherits ? 'true' : 'false'};`);
335
- }
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'};`);
336
340
  if (options?.initialValue != null) {
337
341
  let initialValueStr;
338
342
  if (typeof options.initialValue === 'number') {
@@ -442,259 +446,6 @@ export class StyleInjector {
442
446
  const targetRoot = root || document;
443
447
  this.sheetManager.cleanup(targetRoot);
444
448
  }
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
- }
698
449
  }
699
450
 
700
451
 
@@ -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-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -9,6 +9,12 @@ 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;
12
18
  constructor(config) {
13
19
  this.config = config;
14
20
  }
@@ -237,8 +243,11 @@ export class SheetManager {
237
243
  currentRuleIndex = idx + 1;
238
244
  anyInserted = true;
239
245
  }
240
- catch (_) {
246
+ catch (singleErr) {
241
247
  // Skip unsupported selector in this engine (e.g., ::-moz-selection in Blink)
248
+ if (process.env.NODE_ENV !== 'production') {
249
+ console.warn('[tasty] Browser rejected CSS rule:', singleRule, singleErr);
250
+ }
242
251
  }
243
252
  }
244
253
  // If none inserted, continue without throwing to avoid aborting the whole batch
@@ -248,6 +257,9 @@ export class SheetManager {
248
257
  }
249
258
  else {
250
259
  // Single selector failed — skip it silently (likely unsupported in this engine)
260
+ if (process.env.NODE_ENV !== 'production') {
261
+ console.warn('[tasty] Browser rejected CSS rule:', fullRule, e);
262
+ }
251
263
  }
252
264
  }
253
265
  }
@@ -906,6 +918,118 @@ export class SheetManager {
906
918
  }
907
919
  // Clear registry
908
920
  this.rootRegistries.delete(root);
921
+ // Clean up raw CSS style element
922
+ const rawStyleElement = this.rawStyleElements.get(root);
923
+ if (rawStyleElement?.parentNode) {
924
+ rawStyleElement.parentNode.removeChild(rawStyleElement);
925
+ }
926
+ this.rawStyleElements.delete(root);
927
+ this.rawCSSBlocks.delete(root);
928
+ }
929
+ /**
930
+ * Get or create a dedicated style element for raw CSS
931
+ * Raw CSS is kept separate from tasty-managed sheets to avoid index conflicts
932
+ */
933
+ getOrCreateRawStyleElement(root) {
934
+ let styleElement = this.rawStyleElements.get(root);
935
+ if (!styleElement) {
936
+ styleElement =
937
+ root.createElement?.('style') ||
938
+ document.createElement('style');
939
+ if (this.config.nonce) {
940
+ styleElement.nonce = this.config.nonce;
941
+ }
942
+ styleElement.setAttribute('data-tasty-raw', '');
943
+ // Append to head or shadow root
944
+ if ('head' in root && root.head) {
945
+ root.head.appendChild(styleElement);
946
+ }
947
+ else if ('appendChild' in root) {
948
+ root.appendChild(styleElement);
949
+ }
950
+ else {
951
+ document.head.appendChild(styleElement);
952
+ }
953
+ this.rawStyleElements.set(root, styleElement);
954
+ this.rawCSSBlocks.set(root, new Map());
955
+ }
956
+ return styleElement;
957
+ }
958
+ /**
959
+ * Inject raw CSS text directly without parsing
960
+ * Returns a dispose function to remove the injected CSS
961
+ */
962
+ injectRawCSS(css, root) {
963
+ if (!css.trim()) {
964
+ return { dispose: () => { } };
965
+ }
966
+ const styleElement = this.getOrCreateRawStyleElement(root);
967
+ const blocksMap = this.rawCSSBlocks.get(root);
968
+ // Generate unique ID for this block
969
+ const id = `raw_${this.rawCSSCounter++}`;
970
+ // Calculate offsets
971
+ const currentContent = styleElement.textContent || '';
972
+ const startOffset = currentContent.length;
973
+ const cssWithNewline = (currentContent ? '\n' : '') + css;
974
+ const endOffset = startOffset + cssWithNewline.length;
975
+ // Append CSS
976
+ styleElement.textContent = currentContent + cssWithNewline;
977
+ // Track the block
978
+ const info = {
979
+ id,
980
+ css,
981
+ startOffset,
982
+ endOffset,
983
+ };
984
+ blocksMap.set(id, info);
985
+ return {
986
+ dispose: () => {
987
+ this.disposeRawCSS(id, root);
988
+ },
989
+ };
990
+ }
991
+ /**
992
+ * Remove a raw CSS block by ID
993
+ */
994
+ disposeRawCSS(id, root) {
995
+ const styleElement = this.rawStyleElements.get(root);
996
+ const blocksMap = this.rawCSSBlocks.get(root);
997
+ if (!styleElement || !blocksMap) {
998
+ return;
999
+ }
1000
+ const info = blocksMap.get(id);
1001
+ if (!info) {
1002
+ return;
1003
+ }
1004
+ // Remove from tracking
1005
+ blocksMap.delete(id);
1006
+ // Rebuild the CSS content from remaining blocks
1007
+ // This is simpler and more reliable than trying to splice strings
1008
+ const remainingBlocks = Array.from(blocksMap.values());
1009
+ if (remainingBlocks.length === 0) {
1010
+ styleElement.textContent = '';
1011
+ }
1012
+ else {
1013
+ // Rebuild with remaining CSS blocks in order of their original insertion
1014
+ // Sort by original startOffset to maintain order
1015
+ remainingBlocks.sort((a, b) => a.startOffset - b.startOffset);
1016
+ const newContent = remainingBlocks.map((block) => block.css).join('\n');
1017
+ styleElement.textContent = newContent;
1018
+ // Update offsets for remaining blocks
1019
+ let offset = 0;
1020
+ for (const block of remainingBlocks) {
1021
+ block.startOffset = offset;
1022
+ block.endOffset = offset + block.css.length;
1023
+ offset = block.endOffset + 1; // +1 for newline
1024
+ }
1025
+ }
1026
+ }
1027
+ /**
1028
+ * Get the raw CSS content for SSR
1029
+ */
1030
+ getRawCSSText(root) {
1031
+ const styleElement = this.rawStyleElements.get(root);
1032
+ return styleElement?.textContent || '';
909
1033
  }
910
1034
  }
911
1035
 
@@ -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-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7