@cube-dev/ui-kit 0.0.0-canary-9e3bcfc → 0.0.0-canary-eaff7d7

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 (593) 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 +51 -52
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +1 -1
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +1 -1
  74. package/es/components/content/Layout/LayoutBlock.js +1 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +1 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +1 -1
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +1 -1
  427. package/es/provider.js +1 -1
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/services/notification.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +17 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +1 -1
  443. package/es/tasty/chunks/definitions.js +3 -1
  444. package/es/tasty/chunks/index.js +1 -1
  445. package/es/tasty/chunks/renderChunk.js +1 -1
  446. package/es/tasty/config.js +196 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +2 -1
  449. package/es/tasty/hooks/useGlobalStyles.js +9 -9
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +3 -3
  452. package/es/tasty/index.js +4 -2
  453. package/es/tasty/injector/index.js +31 -96
  454. package/es/tasty/injector/injector.js +16 -277
  455. package/es/tasty/injector/sheet-manager.js +119 -1
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +1 -1
  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 +1 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +1 -1
  463. package/es/tasty/pipeline/conditions.js +1 -1
  464. package/es/tasty/pipeline/exclusive.js +1 -1
  465. package/es/tasty/pipeline/index.js +1 -1
  466. package/es/tasty/pipeline/materialize.js +1 -1
  467. package/es/tasty/pipeline/parseStateKey.js +1 -1
  468. package/es/tasty/pipeline/simplify.js +1 -1
  469. package/es/tasty/states/index.js +4 -23
  470. package/es/tasty/static/index.js +47 -0
  471. package/es/tasty/static/tastyStatic.js +55 -0
  472. package/es/tasty/static/types.js +34 -0
  473. package/es/tasty/styles/align.js +1 -1
  474. package/es/tasty/styles/border.js +1 -1
  475. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  476. package/es/tasty/styles/color.js +1 -1
  477. package/es/tasty/styles/createStyle.js +1 -1
  478. package/es/tasty/styles/dimension.js +1 -1
  479. package/es/tasty/styles/display.js +1 -1
  480. package/es/tasty/styles/fade.js +1 -1
  481. package/es/tasty/styles/fill.js +1 -1
  482. package/es/tasty/styles/flow.js +1 -1
  483. package/es/tasty/styles/font.js +1 -1
  484. package/es/tasty/styles/fontStyle.js +1 -1
  485. package/es/tasty/styles/gap.js +1 -1
  486. package/es/tasty/styles/groupRadius.js +1 -1
  487. package/es/tasty/styles/height.js +1 -1
  488. package/es/tasty/styles/index.js +1 -1
  489. package/es/tasty/styles/inset.js +1 -1
  490. package/es/tasty/styles/justify.js +1 -1
  491. package/es/tasty/styles/list.js +1 -1
  492. package/es/tasty/styles/margin.js +1 -1
  493. package/es/tasty/styles/outline.js +1 -1
  494. package/es/tasty/styles/padding.js +1 -1
  495. package/es/tasty/styles/place.js +1 -1
  496. package/es/tasty/styles/predefined.js +1 -1
  497. package/es/tasty/styles/preset.js +1 -1
  498. package/es/tasty/styles/radius.js +1 -1
  499. package/es/tasty/styles/reset.js +1 -1
  500. package/es/tasty/styles/scrollbar.js +1 -1
  501. package/es/tasty/styles/shadow.js +1 -1
  502. package/es/tasty/styles/styledScrollbar.js +1 -1
  503. package/es/tasty/styles/transition.js +1 -1
  504. package/es/tasty/styles/types.js +1 -1
  505. package/es/tasty/styles/width.js +1 -1
  506. package/es/tasty/tasty.js +1 -14
  507. package/es/tasty/types.js +1 -1
  508. package/es/tasty/utils/cache-wrapper.js +1 -1
  509. package/es/tasty/utils/case-converter.js +1 -1
  510. package/es/tasty/utils/colors.js +1 -1
  511. package/es/tasty/utils/dotize.js +1 -1
  512. package/es/tasty/utils/filterBaseProps.js +1 -1
  513. package/es/tasty/utils/getDisplayName.js +1 -1
  514. package/es/tasty/utils/isDevEnv.js +1 -1
  515. package/es/tasty/utils/mergeStyles.js +1 -1
  516. package/es/tasty/utils/modAttrs.js +1 -1
  517. package/es/tasty/utils/processTokens.js +1 -1
  518. package/es/tasty/utils/string.js +1 -1
  519. package/es/tasty/utils/styles.js +1 -1
  520. package/es/tasty/utils/warnings.js +1 -1
  521. package/es/tasty/zero/babel.js +385 -0
  522. package/es/tasty/zero/css-writer.js +94 -0
  523. package/es/tasty/zero/extractor.js +75 -0
  524. package/es/tasty/zero/index.js +28 -0
  525. package/es/tasty/zero/next.js +102 -0
  526. package/es/tokens.js +1 -1
  527. package/es/utils/ResizeSensor.js +1 -1
  528. package/es/utils/index.js +1 -1
  529. package/es/utils/modules.js +1 -1
  530. package/es/utils/promise.js +1 -1
  531. package/es/utils/raf.js +1 -1
  532. package/es/utils/random.js +1 -1
  533. package/es/utils/range.js +1 -1
  534. package/es/utils/react/RenderCache.js +1 -1
  535. package/es/utils/react/Slots.js +1 -1
  536. package/es/utils/react/chain.js +1 -1
  537. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  538. package/es/utils/react/index.js +1 -1
  539. package/es/utils/react/interactions.js +1 -1
  540. package/es/utils/react/isTextOnly.js +1 -1
  541. package/es/utils/react/mapProps.js +1 -1
  542. package/es/utils/react/mergeProps.js +1 -1
  543. package/es/utils/react/nullableValue.js +1 -1
  544. package/es/utils/react/resolveIcon.js +1 -1
  545. package/es/utils/react/sharedStore.js +1 -1
  546. package/es/utils/react/useCombinedRefs.js +1 -1
  547. package/es/utils/react/useControlledFocusVisible.js +1 -1
  548. package/es/utils/react/useEventBus.js +1 -1
  549. package/es/utils/react/useId.js +1 -1
  550. package/es/utils/react/useIsDarwin.js +1 -1
  551. package/es/utils/react/useKeySymbols.js +1 -1
  552. package/es/utils/react/useLayoutEffect.js +1 -1
  553. package/es/utils/react/useLocalStorage.js +1 -1
  554. package/es/utils/react/useQaProps.js +1 -1
  555. package/es/utils/react/useViewportSize.js +1 -1
  556. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  557. package/es/utils/tree.js +1 -1
  558. package/es/utils/warnings.js +1 -1
  559. package/es/version.js +2 -2
  560. package/package.json +3 -1
  561. package/types/components/GlobalStyles.d.ts +1 -1
  562. package/types/components/HiddenInput.d.ts +10 -10
  563. package/types/components/actions/Button/Button.d.ts +14 -14
  564. package/types/components/actions/CommandMenu/styled.d.ts +50 -50
  565. package/types/components/actions/Menu/styled.d.ts +89 -89
  566. package/types/components/actions/use-action.d.ts +1 -1
  567. package/types/components/content/List/SectionHeading.d.ts +13 -13
  568. package/types/components/content/Text.d.ts +70 -70
  569. package/types/components/fields/DatePicker/DatePickerElement.d.ts +13 -13
  570. package/types/components/fields/Select/Select.d.ts +10 -10
  571. package/types/components/fields/Slider/elements.d.ts +60 -60
  572. package/types/stories/components/StyledButton.d.ts +1 -1
  573. package/types/tasty/chunks/definitions.d.ts +2 -0
  574. package/types/tasty/config.d.ts +113 -0
  575. package/types/tasty/debug.d.ts +35 -0
  576. package/types/tasty/hooks/index.d.ts +1 -1
  577. package/types/tasty/hooks/useGlobalStyles.d.ts +8 -18
  578. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  579. package/types/tasty/index.d.ts +4 -2
  580. package/types/tasty/injector/index.d.ts +29 -18
  581. package/types/tasty/injector/injector.d.ts +12 -12
  582. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  583. package/types/tasty/injector/types.d.ts +13 -0
  584. package/types/tasty/states/index.d.ts +0 -12
  585. package/types/tasty/static/index.d.ts +39 -0
  586. package/types/tasty/static/tastyStatic.d.ts +41 -0
  587. package/types/tasty/static/types.d.ts +44 -0
  588. package/types/tasty/tasty.d.ts +10 -11
  589. package/types/tasty/zero/babel.d.ts +43 -0
  590. package/types/tasty/zero/css-writer.d.ts +41 -0
  591. package/types/tasty/zero/extractor.d.ts +19 -0
  592. package/types/tasty/zero/index.d.ts +18 -0
  593. package/types/tasty/zero/next.d.ts +57 -0
@@ -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-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -12,23 +12,23 @@ import { renderStyles } from '../pipeline';
12
12
  * Hook to inject global styles for a given selector.
13
13
  * Useful for styling elements by selector without generating classNames.
14
14
  *
15
+ * @param selector - CSS selector to apply styles to (e.g., '.my-class', ':root', 'body')
16
+ * @param styles - Tasty styles object
17
+ *
15
18
  * @example
16
19
  * ```tsx
17
20
  * function MyComponent() {
18
- * useGlobalStyles({
19
- * selector: '.card',
20
- * styles: {
21
- * padding: '2x',
22
- * radius: '1r',
23
- * fill: '#white',
24
- * }
21
+ * useGlobalStyles('.card', {
22
+ * padding: '2x',
23
+ * radius: '1r',
24
+ * fill: '#white',
25
25
  * });
26
26
  *
27
27
  * return <div className="card">Content</div>;
28
28
  * }
29
29
  * ```
30
30
  */
31
- export function useGlobalStyles({ selector, styles, }) {
31
+ export function useGlobalStyles(selector, styles) {
32
32
  const disposeRef = useRef(null);
33
33
  // Render styles with the provided selector
34
34
  // Note: renderStyles overload with selector string returns StyleResult[] directly
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useInsertionEffect, useMemo, useRef } from 'react';
9
+ import { injectRawCSS } from '../injector';
10
+ // Implementation
11
+ export function useRawCSS(cssOrFactory, depsOrOptions, options) {
12
+ // Detect which overload is being used
13
+ const isFactory = typeof cssOrFactory === 'function';
14
+ // Parse arguments based on overload
15
+ const deps = isFactory && Array.isArray(depsOrOptions) ? depsOrOptions : undefined;
16
+ const opts = isFactory
17
+ ? options
18
+ : depsOrOptions;
19
+ // Memoize CSS - for factory functions, use provided deps; for strings, use the string itself
20
+ const css = useMemo(() => isFactory ? cssOrFactory() : cssOrFactory, isFactory ? deps ?? [] : [cssOrFactory]);
21
+ const disposeRef = useRef(null);
22
+ useInsertionEffect(() => {
23
+ // Dispose previous injection if any
24
+ disposeRef.current?.();
25
+ if (!css.trim()) {
26
+ disposeRef.current = null;
27
+ return;
28
+ }
29
+ // Inject new CSS
30
+ const { dispose } = injectRawCSS(css, opts);
31
+ disposeRef.current = dispose;
32
+ // Cleanup on unmount or when css changes
33
+ return () => {
34
+ disposeRef.current?.();
35
+ disposeRef.current = null;
36
+ };
37
+ }, [css, opts?.root]);
38
+ }
39
+
40
+
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { useInsertionEffect, useMemo, useRef } from 'react';
9
- import { categorizeStyleKeys, generateChunkCacheKey, renderStylesForChunk, } from '../chunks';
9
+ import { categorizeStyleKeys, CHUNK_NAMES, generateChunkCacheKey, renderStylesForChunk, } from '../chunks';
10
10
  import { allocateClassName, inject } from '../injector';
11
11
  import { renderStyles } from '../pipeline';
12
12
  import { stringifyStyles } from '../utils/styles';
@@ -79,7 +79,7 @@ export function useStyles({ styles }) {
79
79
  const { className } = allocateClassName(styleKey);
80
80
  return [
81
81
  {
82
- name: 'all',
82
+ name: CHUNK_NAMES.COMBINED,
83
83
  styleKeys: Object.keys(currentStyles),
84
84
  cacheKey: styleKey,
85
85
  renderResult,
package/es/tasty/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  export { tasty, Element } from './tasty';
9
- export { useStyles, useGlobalStyles } from './hooks';
9
+ export { useStyles, useGlobalStyles, useRawCSS } from './hooks';
10
+ // Configuration API
11
+ export { configure, getConfig, isConfigLocked, hasStylesGenerated, resetConfig, isTestEnvironment, } from './config';
10
12
  // Chunk utilities for advanced use cases
11
13
  export { CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys } from './chunks';
12
14
  // Advanced state mapping utilities
@@ -1,92 +1,12 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { markStylesGenerated as markStylesGeneratedInStates, setGlobalPredefinedStates, } from '../states';
9
- import { isDevEnv } from '../utils/isDevEnv';
8
+ import { getConfig, getGlobalInjector, isTestEnvironment, markStylesGenerated, } from '../config';
10
9
  import { StyleInjector } from './injector';
11
- // Use a more robust global singleton that survives React Strict Mode
12
- const GLOBAL_INJECTOR_KEY = '__TASTY_GLOBAL_INJECTOR__';
13
- /**
14
- * Detect if we're running in a test environment
15
- */
16
- function isTestEnvironment() {
17
- // Check Node.js environment
18
- if (typeof process !== 'undefined' && process.env?.NODE_ENV === 'test') {
19
- return true;
20
- }
21
- // Check for Jest globals (safely)
22
- if (typeof global !== 'undefined') {
23
- const g = global;
24
- if (g.jest || g.expect || g.describe || g.it) {
25
- return true;
26
- }
27
- }
28
- // Check for jsdom environment (common in tests)
29
- if (typeof window !== 'undefined' &&
30
- window.navigator?.userAgent?.includes('jsdom')) {
31
- return true;
32
- }
33
- // Check for other test runners
34
- if (typeof globalThis !== 'undefined') {
35
- const gt = globalThis;
36
- if (gt.vitest || gt.mocha) {
37
- return true;
38
- }
39
- }
40
- return false;
41
- }
42
- /**
43
- * Create default configuration with optional test environment detection
44
- */
45
- function createDefaultConfig(isTest) {
46
- return {
47
- maxRulesPerSheet: 8192, // safer default cap per sheet
48
- unusedStylesThreshold: 500, // default threshold for bulk cleanup of unused styles
49
- bulkCleanupDelay: 5000, // default delay before bulk cleanup (ignored if idleCleanup is true)
50
- idleCleanup: true, // default to using requestIdleCallback instead of setTimeout
51
- forceTextInjection: isTest ?? false, // auto-enable for test environments
52
- devMode: isDevEnv(), // enable dev features: performance tracking and debug info
53
- bulkCleanupBatchRatio: 0.5,
54
- unusedStylesMinAgeMs: 10000,
55
- };
56
- }
57
- /**
58
- * Configure the global style injector
59
- */
60
- export function configure(config = {}) {
61
- // Handle predefined states before creating/updating the injector
62
- if (config.states) {
63
- setGlobalPredefinedStates(config.states);
64
- }
65
- // Create config without states (it's handled separately)
66
- const { states: _states, ...injectorConfig } = config;
67
- const fullConfig = {
68
- ...createDefaultConfig(),
69
- ...injectorConfig,
70
- };
71
- // Store on window to survive React Strict Mode resets
72
- if (typeof window !== 'undefined') {
73
- window[GLOBAL_INJECTOR_KEY] = new StyleInjector(fullConfig);
74
- }
75
- else {
76
- // Fallback for SSR
77
- globalThis[GLOBAL_INJECTOR_KEY] = new StyleInjector(fullConfig);
78
- }
79
- }
80
- /**
81
- * Get or create the global injector instance
82
- */
83
- function getGlobalInjector() {
84
- const storage = typeof window !== 'undefined' ? window : globalThis;
85
- if (!storage[GLOBAL_INJECTOR_KEY]) {
86
- configure();
87
- }
88
- return storage[GLOBAL_INJECTOR_KEY];
89
- }
90
10
  /**
91
11
  * Allocate a className for a cacheKey without injecting styles yet
92
12
  */
@@ -97,8 +17,8 @@ export function allocateClassName(cacheKey, options) {
97
17
  * Inject styles and return className with dispose function
98
18
  */
99
19
  export function inject(rules, options) {
100
- // Mark that styles have been generated (prevents dynamic predefined state updates)
101
- markStylesGeneratedInStates();
20
+ // Mark that styles have been generated (prevents configuration changes)
21
+ markStylesGenerated();
102
22
  return getGlobalInjector().inject(rules, options);
103
23
  }
104
24
  /**
@@ -108,10 +28,30 @@ export function injectGlobal(rules, options) {
108
28
  return getGlobalInjector().injectGlobal(rules, options);
109
29
  }
110
30
  /**
111
- * 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
112
52
  */
113
- function injectCreateGlobalStyle(rules, options) {
114
- return getGlobalInjector().injectCreateGlobalStyle(rules, options);
53
+ export function getRawCSSText(options) {
54
+ return getGlobalInjector().getRawCSSText(options);
115
55
  }
116
56
  /**
117
57
  * Inject keyframes and return object with toString() and dispose()
@@ -182,20 +122,15 @@ export function destroy(root) {
182
122
  * Create a new isolated injector instance
183
123
  */
184
124
  export function createInjector(config = {}) {
185
- const isTest = isTestEnvironment();
125
+ const defaultConfig = getConfig();
186
126
  const fullConfig = {
187
- ...createDefaultConfig(isTest),
127
+ ...defaultConfig,
128
+ // Auto-enable forceTextInjection in test environments
129
+ forceTextInjection: config.forceTextInjection ?? isTestEnvironment(),
188
130
  ...config,
189
131
  };
190
132
  return new StyleInjector(fullConfig);
191
133
  }
192
- /**
193
- * Create a global style component like styled-components createGlobalStyle
194
- * Returns a React component that injects global styles when mounted and cleans up when unmounted
195
- */
196
- export function createGlobalStyle(strings, ...interpolations) {
197
- return getGlobalInjector().createGlobalStyle(strings, ...interpolations);
198
- }
199
134
  export { StyleInjector } from './injector';
200
135
  export { SheetManager } from './sheet-manager';
201
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-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
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}
@@ -214,26 +212,20 @@ export class StyleInjector {
214
212
  };
215
213
  }
216
214
  /**
217
- * 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
218
218
  */
219
- injectCreateGlobalStyle(rules, options) {
219
+ injectRawCSS(css, options) {
220
220
  const root = options?.root || document;
221
- const registry = this.sheetManager.getRegistry(root);
222
- if (!rules || rules.length === 0) {
223
- return { dispose: () => { } };
224
- }
225
- // Use a different prefix to distinguish from injectGlobal
226
- const key = `raw:${this.globalRuleCounter++}`;
227
- const info = this.sheetManager.insertGlobalRule(registry, rules, key, root);
228
- if (registry.metrics) {
229
- registry.metrics.totalInsertions++;
230
- }
231
- return {
232
- dispose: () => {
233
- if (info)
234
- this.sheetManager.deleteGlobalRule(registry, key);
235
- },
236
- };
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);
237
229
  }
238
230
  /**
239
231
  * Dispose of a className
@@ -342,9 +334,9 @@ export class StyleInjector {
342
334
  syntax = `"${syntax}"`;
343
335
  parts.push(`syntax: ${syntax};`);
344
336
  }
345
- if (options?.inherits != null) {
346
- parts.push(`inherits: ${options.inherits ? 'true' : 'false'};`);
347
- }
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'};`);
348
340
  if (options?.initialValue != null) {
349
341
  let initialValueStr;
350
342
  if (typeof options.initialValue === 'number') {
@@ -454,259 +446,6 @@ export class StyleInjector {
454
446
  const targetRoot = root || document;
455
447
  this.sheetManager.cleanup(targetRoot);
456
448
  }
457
- /**
458
- * Create a global style component like styled-components createGlobalStyle
459
- * Returns a React component that injects global styles when mounted and cleans up when unmounted
460
- */
461
- createGlobalStyle(strings, ...interpolations) {
462
- const injector = this; // Capture the injector instance
463
- class GlobalStyleComponent extends Component {
464
- disposeFunction = null;
465
- componentDidMount() {
466
- this.injectStyles();
467
- }
468
- componentDidUpdate() {
469
- this.disposeStyles();
470
- this.injectStyles();
471
- }
472
- componentWillUnmount() {
473
- this.disposeStyles();
474
- }
475
- injectStyles = () => {
476
- const css = this.interpolateTemplate();
477
- if (css.trim()) {
478
- const styleResults = this.parseCSSToStyleResults(css);
479
- // Use a special method for createGlobalStyle to distinguish from injectGlobal
480
- const result = injector.injectCreateGlobalStyle(styleResults, {
481
- root: this.props.root,
482
- });
483
- this.disposeFunction = result.dispose;
484
- }
485
- };
486
- disposeStyles = () => {
487
- if (this.disposeFunction) {
488
- this.disposeFunction();
489
- this.disposeFunction = null;
490
- }
491
- };
492
- interpolateTemplate = () => {
493
- let result = strings[0];
494
- for (let i = 0; i < interpolations.length; i++) {
495
- const interpolation = interpolations[i];
496
- const value = typeof interpolation === 'function'
497
- ? interpolation(this.props)
498
- : interpolation;
499
- result += String(value) + strings[i + 1];
500
- }
501
- return result;
502
- };
503
- parseCSSToStyleResults = (css) => {
504
- const rules = [];
505
- // Enhanced CSS parser for global styles that handles nested rules
506
- this.parseCSS(css, rules, [], '');
507
- return rules;
508
- };
509
- parseCSS = (css, rules, atRuleStack, parentSelector = '') => {
510
- // Remove both CSS and JavaScript-style comments
511
- let cleanCSS = css.replace(/\/\*[\s\S]*?\*\//g, ''); // CSS comments
512
- cleanCSS = cleanCSS.replace(/\/\/.*$/gm, ''); // JavaScript-style comments
513
- let i = 0;
514
- while (i < cleanCSS.length) {
515
- // Skip whitespace
516
- while (i < cleanCSS.length && /\s/.test(cleanCSS[i])) {
517
- i++;
518
- }
519
- if (i >= cleanCSS.length)
520
- break;
521
- // Find the next selector or at-rule
522
- let selectorStart = i;
523
- let braceDepth = 0;
524
- let inString = false;
525
- let stringChar = '';
526
- // Find the opening brace
527
- while (i < cleanCSS.length) {
528
- const char = cleanCSS[i];
529
- if (inString) {
530
- if (char === stringChar && cleanCSS[i - 1] !== '\\') {
531
- inString = false;
532
- }
533
- }
534
- else {
535
- if (char === '"' || char === "'") {
536
- inString = true;
537
- stringChar = char;
538
- }
539
- else if (char === '{') {
540
- braceDepth++;
541
- if (braceDepth === 1) {
542
- break; // Found the opening brace
543
- }
544
- }
545
- else if (char === '}') {
546
- braceDepth--;
547
- }
548
- }
549
- i++;
550
- }
551
- if (i >= cleanCSS.length)
552
- break;
553
- const selectorPart = cleanCSS.substring(selectorStart, i).trim();
554
- i++; // Skip the opening brace
555
- // Find the matching closing brace
556
- const contentStart = i;
557
- braceDepth = 1;
558
- inString = false;
559
- while (i < cleanCSS.length && braceDepth > 0) {
560
- const char = cleanCSS[i];
561
- if (inString) {
562
- if (char === stringChar && cleanCSS[i - 1] !== '\\') {
563
- inString = false;
564
- }
565
- }
566
- else {
567
- if (char === '"' || char === "'") {
568
- inString = true;
569
- stringChar = char;
570
- }
571
- else if (char === '{') {
572
- braceDepth++;
573
- }
574
- else if (char === '}') {
575
- braceDepth--;
576
- }
577
- }
578
- i++;
579
- }
580
- const content = cleanCSS.substring(contentStart, i - 1).trim();
581
- // Check if this is an at-rule
582
- if (selectorPart.startsWith('@')) {
583
- const atSelector = selectorPart.trim();
584
- // Leaf at-rules that contain declarations directly and should be emitted as-is
585
- const leafAtRules = [
586
- '@font-face',
587
- '@property',
588
- '@page',
589
- '@counter-style',
590
- '@font-feature-values',
591
- '@font-palette-values',
592
- '@color-profile',
593
- ];
594
- const isLeafAtRule = leafAtRules.some((prefix) => atSelector.startsWith(prefix));
595
- if (isLeafAtRule) {
596
- // Emit the at-rule with its declarations directly
597
- if (content.trim()) {
598
- rules.push({
599
- selector: atSelector,
600
- declarations: content,
601
- atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
602
- });
603
- }
604
- }
605
- else {
606
- // Wrapper at-rule (e.g., @media, @supports, @keyframes) — parse its content
607
- const newAtRuleStack = [...atRuleStack, atSelector];
608
- this.parseCSS(content, rules, newAtRuleStack, parentSelector);
609
- }
610
- }
611
- else {
612
- // Check if content contains nested rules (has { and })
613
- if (content.includes('{') && content.includes('}')) {
614
- // This selector has nested rules, parse them
615
- const { declarations, nestedCSS } = this.separateDeclarationsAndNested(content);
616
- // Process the selector (handle & syntax)
617
- const processedSelector = this.processSelector(selectorPart, parentSelector);
618
- // Add declarations if any
619
- if (declarations.trim()) {
620
- rules.push({
621
- selector: processedSelector,
622
- declarations: declarations.trim(),
623
- atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
624
- });
625
- }
626
- // Parse nested CSS with current selector as parent
627
- if (nestedCSS.trim()) {
628
- this.parseCSS(nestedCSS, rules, atRuleStack, processedSelector);
629
- }
630
- }
631
- else {
632
- // This is a regular selector with only declarations
633
- const processedSelector = this.processSelector(selectorPart, parentSelector);
634
- if (content && processedSelector) {
635
- rules.push({
636
- selector: processedSelector,
637
- declarations: content,
638
- atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
639
- });
640
- }
641
- }
642
- }
643
- }
644
- };
645
- separateDeclarationsAndNested = (content) => {
646
- const declarations = [];
647
- const nestedRules = [];
648
- let i = 0;
649
- let currentDeclaration = '';
650
- while (i < content.length) {
651
- const char = content[i];
652
- if (char === '{') {
653
- // Found start of nested rule, find the selector before it
654
- let selectorStart = currentDeclaration.lastIndexOf(';') + 1;
655
- if (selectorStart === 0 && currentDeclaration.trim()) {
656
- // No semicolon found, this might be the first rule
657
- selectorStart = 0;
658
- }
659
- const beforeBrace = currentDeclaration.substring(0, selectorStart);
660
- const selector = currentDeclaration.substring(selectorStart).trim();
661
- if (beforeBrace.trim()) {
662
- declarations.push(beforeBrace.trim());
663
- }
664
- // Find the matching closing brace
665
- let braceDepth = 1;
666
- let ruleStart = i + 1;
667
- i++; // Skip opening brace
668
- while (i < content.length && braceDepth > 0) {
669
- if (content[i] === '{')
670
- braceDepth++;
671
- else if (content[i] === '}')
672
- braceDepth--;
673
- i++;
674
- }
675
- const ruleContent = content.substring(ruleStart, i - 1);
676
- nestedRules.push(`${selector} { ${ruleContent} }`);
677
- currentDeclaration = '';
678
- }
679
- else {
680
- currentDeclaration += char;
681
- i++;
682
- }
683
- }
684
- // Add remaining declarations
685
- if (currentDeclaration.trim()) {
686
- declarations.push(currentDeclaration.trim());
687
- }
688
- return {
689
- declarations: declarations.join(' '),
690
- nestedCSS: nestedRules.join('\n'),
691
- };
692
- };
693
- processSelector = (selector, parentSelector) => {
694
- if (!parentSelector) {
695
- return selector;
696
- }
697
- // Handle & syntax - replace & with parent selector
698
- if (selector.includes('&')) {
699
- return selector.replace(/&/g, parentSelector);
700
- }
701
- // If no &, treat as descendant selector
702
- return `${parentSelector} ${selector}`;
703
- };
704
- render() {
705
- return null;
706
- }
707
- }
708
- return GlobalStyleComponent;
709
- }
710
449
  }
711
450
 
712
451