@cube-dev/ui-kit 0.0.0-canary-76be278 → 0.0.0-canary-7e4ec9d

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 +67 -61
  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 +52 -12
  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 +1 -2
  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 -2
  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 -2
  84. package/es/components/content/Layout/LayoutPanel.js +1 -2
  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 +2 -2
  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 -2
  427. package/es/provider.js +8 -2
  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 +14 -18
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/debug.js +7 -193
  443. package/es/tasty/index.js +4 -18
  444. package/es/tasty/injector/index.js +87 -31
  445. package/es/tasty/injector/injector.js +279 -30
  446. package/es/tasty/injector/sheet-manager.js +2 -126
  447. package/es/tasty/injector/types.js +1 -1
  448. package/es/tasty/parser/classify.js +3 -5
  449. package/es/tasty/parser/const.js +1 -1
  450. package/es/tasty/parser/lru.js +1 -1
  451. package/es/tasty/parser/parser.js +1 -14
  452. package/es/tasty/parser/tokenizer.js +1 -1
  453. package/es/tasty/parser/types.js +1 -2
  454. package/es/tasty/providers/BreakpointsProvider.js +16 -0
  455. package/es/tasty/styles/align.js +1 -1
  456. package/es/tasty/styles/border.js +1 -1
  457. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  458. package/es/tasty/styles/color.js +1 -1
  459. package/es/tasty/styles/createStyle.js +1 -1
  460. package/es/tasty/styles/dimension.js +1 -1
  461. package/es/tasty/styles/display.js +1 -1
  462. package/es/tasty/styles/fade.js +1 -1
  463. package/es/tasty/styles/fill.js +20 -10
  464. package/es/tasty/styles/flow.js +1 -1
  465. package/es/tasty/styles/font.js +1 -1
  466. package/es/tasty/styles/fontStyle.js +1 -1
  467. package/es/tasty/styles/gap.js +1 -1
  468. package/es/tasty/styles/groupRadius.js +1 -1
  469. package/es/tasty/styles/height.js +1 -1
  470. package/es/tasty/styles/index.js +1 -1
  471. package/es/tasty/styles/inset.js +1 -1
  472. package/es/tasty/styles/justify.js +1 -1
  473. package/es/tasty/styles/list.js +1 -1
  474. package/es/tasty/styles/margin.js +55 -75
  475. package/es/tasty/styles/outline.js +1 -1
  476. package/es/tasty/styles/padding.js +55 -75
  477. package/es/tasty/styles/place.js +1 -1
  478. package/es/tasty/styles/predefined.js +2 -3
  479. package/es/tasty/styles/preset.js +1 -1
  480. package/es/tasty/styles/radius.js +1 -1
  481. package/es/tasty/styles/reset.js +1 -1
  482. package/es/tasty/styles/scrollbar.js +1 -1
  483. package/es/tasty/styles/shadow.js +1 -1
  484. package/es/tasty/styles/styledScrollbar.js +1 -1
  485. package/es/tasty/styles/transition.js +1 -1
  486. package/es/tasty/styles/types.js +1 -1
  487. package/es/tasty/styles/width.js +1 -1
  488. package/es/tasty/tasty.js +117 -76
  489. package/es/tasty/types.js +1 -1
  490. package/es/tasty/utils/cache-wrapper.js +1 -1
  491. package/es/tasty/utils/case-converter.js +1 -1
  492. package/es/tasty/utils/colors.js +1 -1
  493. package/es/tasty/utils/dotize.js +1 -1
  494. package/es/tasty/utils/filterBaseProps.js +1 -1
  495. package/es/tasty/utils/getDisplayName.js +1 -1
  496. package/es/tasty/utils/getModCombinations.js +38 -0
  497. package/es/tasty/utils/isDevEnv.js +1 -1
  498. package/es/tasty/utils/mergeStyles.js +2 -2
  499. package/es/tasty/utils/modAttrs.js +1 -1
  500. package/es/tasty/utils/processTokens.js +1 -1
  501. package/es/tasty/utils/renderStyles.js +1050 -0
  502. package/es/tasty/utils/responsive.js +60 -0
  503. package/es/tasty/utils/string.js +1 -1
  504. package/es/tasty/utils/styles.js +19 -252
  505. package/es/tasty/utils/warnings.js +1 -1
  506. package/es/tokens.js +309 -0
  507. package/es/utils/ResizeSensor.js +1 -1
  508. package/es/utils/index.js +1 -1
  509. package/es/utils/modules.js +1 -1
  510. package/es/utils/promise.js +1 -1
  511. package/es/utils/raf.js +1 -1
  512. package/es/utils/random.js +1 -1
  513. package/es/utils/range.js +1 -1
  514. package/es/utils/react/RenderCache.js +1 -1
  515. package/es/utils/react/Slots.js +1 -1
  516. package/es/utils/react/chain.js +1 -1
  517. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  518. package/es/utils/react/index.js +1 -1
  519. package/es/utils/react/interactions.js +1 -1
  520. package/es/utils/react/isTextOnly.js +1 -1
  521. package/es/utils/react/mapProps.js +1 -1
  522. package/es/utils/react/mergeProps.js +1 -1
  523. package/es/utils/react/nullableValue.js +1 -1
  524. package/es/utils/react/resolveIcon.js +1 -1
  525. package/es/utils/react/sharedStore.js +1 -1
  526. package/es/utils/react/useCombinedRefs.js +1 -1
  527. package/es/utils/react/useControlledFocusVisible.js +1 -1
  528. package/es/utils/react/useEventBus.js +1 -1
  529. package/es/utils/react/useId.js +1 -1
  530. package/es/utils/react/useIsDarwin.js +1 -1
  531. package/es/utils/react/useKeySymbols.js +1 -1
  532. package/es/utils/react/useLayoutEffect.js +1 -1
  533. package/es/utils/react/useLocalStorage.js +1 -1
  534. package/es/utils/react/useQaProps.js +1 -1
  535. package/es/utils/react/useViewportSize.js +1 -1
  536. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  537. package/es/utils/tree.js +1 -1
  538. package/es/utils/warnings.js +1 -1
  539. package/es/version.js +2 -2
  540. package/package.json +1 -3
  541. package/types/components/GlobalStyles.d.ts +1 -2
  542. package/types/components/HiddenInput.d.ts +826 -827
  543. package/types/components/Root.d.ts +0 -1
  544. package/types/components/actions/Button/Button.d.ts +1645 -1647
  545. package/types/components/actions/CommandMenu/styled.d.ts +4130 -4135
  546. package/types/components/actions/Menu/styled.d.ts +4379 -4384
  547. package/types/components/actions/use-action.d.ts +1 -1
  548. package/types/components/content/List/SectionHeading.d.ts +83 -83
  549. package/types/components/content/Text.d.ts +311 -311
  550. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  551. package/types/components/fields/Select/Select.d.ts +826 -827
  552. package/types/components/fields/Slider/elements.d.ts +4956 -4962
  553. package/types/index.d.ts +0 -1
  554. package/types/provider.d.ts +2 -1
  555. package/types/stories/components/StyledButton.d.ts +1 -1
  556. package/types/tasty/debug.d.ts +0 -35
  557. package/types/tasty/index.d.ts +4 -14
  558. package/types/tasty/injector/index.d.ts +19 -30
  559. package/types/tasty/injector/injector.d.ts +13 -13
  560. package/types/tasty/injector/sheet-manager.d.ts +1 -25
  561. package/types/tasty/injector/types.d.ts +1 -20
  562. package/types/tasty/parser/parser.d.ts +0 -4
  563. package/types/tasty/parser/types.d.ts +0 -1
  564. package/types/tasty/providers/BreakpointsProvider.d.ts +8 -0
  565. package/types/tasty/styles/fill.d.ts +1 -11
  566. package/types/tasty/styles/margin.d.ts +1 -3
  567. package/types/tasty/styles/padding.d.ts +1 -3
  568. package/types/tasty/styles/types.d.ts +3 -13
  569. package/types/tasty/tasty.d.ts +840 -891
  570. package/types/tasty/utils/getModCombinations.d.ts +9 -0
  571. package/types/tasty/utils/renderStyles.d.ts +41 -0
  572. package/types/tasty/utils/responsive.d.ts +8 -0
  573. package/types/tasty/utils/styles.d.ts +6 -50
  574. package/types/tokens.d.ts +221 -0
  575. package/es/tasty/chunks/cacheKey.js +0 -98
  576. package/es/tasty/chunks/definitions.js +0 -280
  577. package/es/tasty/chunks/index.js +0 -12
  578. package/es/tasty/chunks/renderChunk.js +0 -97
  579. package/es/tasty/config.js +0 -244
  580. package/es/tasty/hooks/index.js +0 -12
  581. package/es/tasty/hooks/useGlobalStyles.js +0 -67
  582. package/es/tasty/hooks/useRawCSS.js +0 -40
  583. package/es/tasty/hooks/useStyles.js +0 -146
  584. package/es/tasty/pipeline/conditions.js +0 -469
  585. package/es/tasty/pipeline/exclusive.js +0 -193
  586. package/es/tasty/pipeline/index.js +0 -515
  587. package/es/tasty/pipeline/materialize.js +0 -1001
  588. package/es/tasty/pipeline/parseStateKey.js +0 -565
  589. package/es/tasty/pipeline/simplify.js +0 -786
  590. package/es/tasty/plugins/index.js +0 -26
  591. package/es/tasty/plugins/okhsl-plugin.js +0 -400
  592. package/es/tasty/plugins/types.js +0 -10
  593. package/es/tasty/states/index.js +0 -515
  594. package/es/tasty/static/index.js +0 -47
  595. package/es/tasty/static/tastyStatic.js +0 -55
  596. package/es/tasty/static/types.js +0 -34
  597. package/es/tasty/utils/typography.js +0 -67
  598. package/es/tasty/zero/babel.js +0 -401
  599. package/es/tasty/zero/css-writer.js +0 -94
  600. package/es/tasty/zero/extractor.js +0 -75
  601. package/es/tasty/zero/index.js +0 -28
  602. package/es/tasty/zero/next.js +0 -102
  603. package/es/tokens/base.js +0 -64
  604. package/es/tokens/colors.js +0 -68
  605. package/es/tokens/index.js +0 -63
  606. package/es/tokens/layout.js +0 -26
  607. package/es/tokens/shadows.js +0 -27
  608. package/es/tokens/sizes.js +0 -44
  609. package/es/tokens/spacing.js +0 -22
  610. package/es/tokens/typography.js +0 -237
  611. package/types/tasty/chunks/cacheKey.d.ts +0 -26
  612. package/types/tasty/chunks/definitions.d.ts +0 -75
  613. package/types/tasty/chunks/index.d.ts +0 -4
  614. package/types/tasty/chunks/renderChunk.d.ts +0 -25
  615. package/types/tasty/config.d.ts +0 -145
  616. package/types/tasty/hooks/index.d.ts +0 -4
  617. package/types/tasty/hooks/useGlobalStyles.d.ts +0 -22
  618. package/types/tasty/hooks/useRawCSS.d.ts +0 -50
  619. package/types/tasty/hooks/useStyles.d.ts +0 -38
  620. package/types/tasty/pipeline/conditions.d.ts +0 -248
  621. package/types/tasty/pipeline/exclusive.d.ts +0 -78
  622. package/types/tasty/pipeline/index.d.ts +0 -67
  623. package/types/tasty/pipeline/materialize.d.ts +0 -115
  624. package/types/tasty/pipeline/parseStateKey.d.ts +0 -20
  625. package/types/tasty/pipeline/simplify.d.ts +0 -28
  626. package/types/tasty/plugins/index.d.ts +0 -17
  627. package/types/tasty/plugins/okhsl-plugin.d.ts +0 -45
  628. package/types/tasty/plugins/types.d.ts +0 -34
  629. package/types/tasty/states/index.d.ts +0 -101
  630. package/types/tasty/static/index.d.ts +0 -39
  631. package/types/tasty/static/tastyStatic.d.ts +0 -41
  632. package/types/tasty/static/types.d.ts +0 -44
  633. package/types/tasty/utils/typography.d.ts +0 -32
  634. package/types/tasty/zero/babel.d.ts +0 -56
  635. package/types/tasty/zero/css-writer.d.ts +0 -41
  636. package/types/tasty/zero/extractor.d.ts +0 -19
  637. package/types/tasty/zero/index.d.ts +0 -18
  638. package/types/tasty/zero/next.d.ts +0 -57
  639. package/types/tokens/base.d.ts +0 -8
  640. package/types/tokens/colors.d.ts +0 -6
  641. package/types/tokens/index.d.ts +0 -41
  642. package/types/tokens/layout.d.ts +0 -7
  643. package/types/tokens/shadows.d.ts +0 -12
  644. package/types/tokens/sizes.d.ts +0 -27
  645. package/types/tokens/spacing.d.ts +0 -8
  646. package/types/tokens/typography.d.ts +0 -30
package/es/tasty/index.js CHANGED
@@ -1,38 +1,24 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-76be278
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e4ec9d
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- // Register built-in plugins at module load time
9
- import { configure } from './config';
10
- import { okhslPlugin } from './plugins';
11
8
  export { tasty, Element } from './tasty';
12
- export { useStyles, useGlobalStyles, useRawCSS } from './hooks';
13
- // Configuration API
14
- export { configure, getConfig, isConfigLocked, hasStylesGenerated, resetConfig, isTestEnvironment, } from './config';
15
- // Plugins
16
- export { okhslPlugin, okhslFunc } from './plugins';
17
- configure({
18
- plugins: [okhslPlugin()],
19
- });
20
- // Chunk utilities for advanced use cases
21
- export { CHUNK_NAMES, STYLE_TO_CHUNK, categorizeStyleKeys } from './chunks';
22
- // Advanced state mapping utilities
23
- export { getGlobalPredefinedStates, setGlobalPredefinedStates } from './states';
24
9
  export * from './utils/filterBaseProps';
25
10
  export * from './utils/colors';
26
11
  export * from './utils/styles';
27
12
  export * from './utils/modAttrs';
28
- export { renderStyles, isSelector } from './pipeline';
13
+ export * from './utils/responsive';
14
+ export * from './utils/renderStyles';
29
15
  export * from './utils/dotize';
30
16
  export * from './styles/list';
17
+ export * from './providers/BreakpointsProvider';
31
18
  export * from './utils/mergeStyles';
32
19
  export * from './utils/warnings';
33
20
  export * from './utils/getDisplayName';
34
21
  export * from './utils/processTokens';
35
- export * from './utils/typography';
36
22
  export * from './injector';
37
23
  export * from './debug';
38
24
 
@@ -1,12 +1,85 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-76be278
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e4ec9d
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { getConfig, getGlobalInjector, isTestEnvironment, markStylesGenerated, } from '../config';
8
+ import { isDevEnv } from '../utils/isDevEnv';
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
+ }
10
83
  /**
11
84
  * Allocate a className for a cacheKey without injecting styles yet
12
85
  */
@@ -17,8 +90,6 @@ export function allocateClassName(cacheKey, options) {
17
90
  * Inject styles and return className with dispose function
18
91
  */
19
92
  export function inject(rules, options) {
20
- // Mark that styles have been generated (prevents configuration changes)
21
- markStylesGenerated();
22
93
  return getGlobalInjector().inject(rules, options);
23
94
  }
24
95
  /**
@@ -28,30 +99,10 @@ export function injectGlobal(rules, options) {
28
99
  return getGlobalInjector().injectGlobal(rules, options);
29
100
  }
30
101
  /**
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
102
+ * Internal method for createGlobalStyle - not exported publicly
52
103
  */
53
- export function getRawCSSText(options) {
54
- return getGlobalInjector().getRawCSSText(options);
104
+ function injectCreateGlobalStyle(rules, options) {
105
+ return getGlobalInjector().injectCreateGlobalStyle(rules, options);
55
106
  }
56
107
  /**
57
108
  * Inject keyframes and return object with toString() and dispose()
@@ -122,15 +173,20 @@ export function destroy(root) {
122
173
  * Create a new isolated injector instance
123
174
  */
124
175
  export function createInjector(config = {}) {
125
- const defaultConfig = getConfig();
176
+ const isTest = isTestEnvironment();
126
177
  const fullConfig = {
127
- ...defaultConfig,
128
- // Auto-enable forceTextInjection in test environments
129
- forceTextInjection: config.forceTextInjection ?? isTestEnvironment(),
178
+ ...createDefaultConfig(isTest),
130
179
  ...config,
131
180
  };
132
181
  return new StyleInjector(fullConfig);
133
182
  }
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
+ }
134
190
  export { StyleInjector } from './injector';
135
191
  export { SheetManager } from './sheet-manager';
136
192
 
@@ -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-76be278
4
+ * @cube-dev/ui-kit v0.0.0-canary-7e4ec9d
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -9,7 +9,9 @@
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';
12
13
  import { parseStyle } from '../utils/styles';
14
+ // Simple CSS text to StyleResult converter for injectGlobal backward compatibility
13
15
  import { SheetManager } from './sheet-manager';
14
16
  /**
15
17
  * Generate sequential class name with format t{number}
@@ -104,25 +106,13 @@ export class StyleInjector {
104
106
  let newSelector = rule.selector;
105
107
  // If rule needs className prepended
106
108
  if (rule.needsClassName) {
107
- // Handle multiple selectors (separated by ||| for OR conditions)
108
- const selectorParts = newSelector ? newSelector.split('|||') : [''];
109
- const classPrefix = `.${className}.${className}`;
110
- newSelector = selectorParts
111
- .map((part) => {
112
- const classSelector = part ? `${classPrefix}${part}` : classPrefix;
113
- // If there's a root prefix, add it before the class selector
114
- if (rule.rootPrefix) {
115
- return `${rule.rootPrefix} ${classSelector}`;
116
- }
117
- return classSelector;
118
- })
119
- .join(', ');
109
+ // Simple concatenation: .className (double specificity) + selectorSuffix
110
+ newSelector = `.${className}.${className}${newSelector}`;
120
111
  }
121
112
  return {
122
113
  ...rule,
123
114
  selector: newSelector,
124
115
  needsClassName: undefined, // Remove the flag after processing
125
- rootPrefix: undefined, // Remove rootPrefix after processing
126
116
  };
127
117
  });
128
118
  // Before inserting, auto-register @property for any color custom properties being defined.
@@ -212,20 +202,26 @@ export class StyleInjector {
212
202
  };
213
203
  }
214
204
  /**
215
- * Inject raw CSS text directly without parsing
216
- * This is a low-overhead alternative to createGlobalStyle for raw CSS
217
- * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking
218
- */
219
- injectRawCSS(css, options) {
220
- const root = options?.root || document;
221
- return this.sheetManager.injectRawCSS(css, root);
222
- }
223
- /**
224
- * Get raw CSS text for SSR
205
+ * Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
225
206
  */
226
- getRawCSSText(options) {
207
+ injectCreateGlobalStyle(rules, options) {
227
208
  const root = options?.root || document;
228
- return this.sheetManager.getRawCSSText(root);
209
+ const registry = this.sheetManager.getRegistry(root);
210
+ if (!rules || rules.length === 0) {
211
+ return { dispose: () => { } };
212
+ }
213
+ // Use a different prefix to distinguish from injectGlobal
214
+ const key = `raw:${this.globalRuleCounter++}`;
215
+ const info = this.sheetManager.insertGlobalRule(registry, rules, key, root);
216
+ if (registry.metrics) {
217
+ registry.metrics.totalInsertions++;
218
+ }
219
+ return {
220
+ dispose: () => {
221
+ if (info)
222
+ this.sheetManager.deleteGlobalRule(registry, key);
223
+ },
224
+ };
229
225
  }
230
226
  /**
231
227
  * Dispose of a className
@@ -334,9 +330,9 @@ export class StyleInjector {
334
330
  syntax = `"${syntax}"`;
335
331
  parts.push(`syntax: ${syntax};`);
336
332
  }
337
- // inherits is required by the CSS @property spec - default to true
338
- const inherits = options?.inherits ?? true;
339
- parts.push(`inherits: ${inherits ? 'true' : 'false'};`);
333
+ if (options?.inherits != null) {
334
+ parts.push(`inherits: ${options.inherits ? 'true' : 'false'};`);
335
+ }
340
336
  if (options?.initialValue != null) {
341
337
  let initialValueStr;
342
338
  if (typeof options.initialValue === 'number') {
@@ -446,6 +442,259 @@ export class StyleInjector {
446
442
  const targetRoot = root || document;
447
443
  this.sheetManager.cleanup(targetRoot);
448
444
  }
445
+ /**
446
+ * Create a global style component like styled-components createGlobalStyle
447
+ * Returns a React component that injects global styles when mounted and cleans up when unmounted
448
+ */
449
+ createGlobalStyle(strings, ...interpolations) {
450
+ const injector = this; // Capture the injector instance
451
+ class GlobalStyleComponent extends Component {
452
+ disposeFunction = null;
453
+ componentDidMount() {
454
+ this.injectStyles();
455
+ }
456
+ componentDidUpdate() {
457
+ this.disposeStyles();
458
+ this.injectStyles();
459
+ }
460
+ componentWillUnmount() {
461
+ this.disposeStyles();
462
+ }
463
+ injectStyles = () => {
464
+ const css = this.interpolateTemplate();
465
+ if (css.trim()) {
466
+ const styleResults = this.parseCSSToStyleResults(css);
467
+ // Use a special method for createGlobalStyle to distinguish from injectGlobal
468
+ const result = injector.injectCreateGlobalStyle(styleResults, {
469
+ root: this.props.root,
470
+ });
471
+ this.disposeFunction = result.dispose;
472
+ }
473
+ };
474
+ disposeStyles = () => {
475
+ if (this.disposeFunction) {
476
+ this.disposeFunction();
477
+ this.disposeFunction = null;
478
+ }
479
+ };
480
+ interpolateTemplate = () => {
481
+ let result = strings[0];
482
+ for (let i = 0; i < interpolations.length; i++) {
483
+ const interpolation = interpolations[i];
484
+ const value = typeof interpolation === 'function'
485
+ ? interpolation(this.props)
486
+ : interpolation;
487
+ result += String(value) + strings[i + 1];
488
+ }
489
+ return result;
490
+ };
491
+ parseCSSToStyleResults = (css) => {
492
+ const rules = [];
493
+ // Enhanced CSS parser for global styles that handles nested rules
494
+ this.parseCSS(css, rules, [], '');
495
+ return rules;
496
+ };
497
+ parseCSS = (css, rules, atRuleStack, parentSelector = '') => {
498
+ // Remove both CSS and JavaScript-style comments
499
+ let cleanCSS = css.replace(/\/\*[\s\S]*?\*\//g, ''); // CSS comments
500
+ cleanCSS = cleanCSS.replace(/\/\/.*$/gm, ''); // JavaScript-style comments
501
+ let i = 0;
502
+ while (i < cleanCSS.length) {
503
+ // Skip whitespace
504
+ while (i < cleanCSS.length && /\s/.test(cleanCSS[i])) {
505
+ i++;
506
+ }
507
+ if (i >= cleanCSS.length)
508
+ break;
509
+ // Find the next selector or at-rule
510
+ let selectorStart = i;
511
+ let braceDepth = 0;
512
+ let inString = false;
513
+ let stringChar = '';
514
+ // Find the opening brace
515
+ while (i < cleanCSS.length) {
516
+ const char = cleanCSS[i];
517
+ if (inString) {
518
+ if (char === stringChar && cleanCSS[i - 1] !== '\\') {
519
+ inString = false;
520
+ }
521
+ }
522
+ else {
523
+ if (char === '"' || char === "'") {
524
+ inString = true;
525
+ stringChar = char;
526
+ }
527
+ else if (char === '{') {
528
+ braceDepth++;
529
+ if (braceDepth === 1) {
530
+ break; // Found the opening brace
531
+ }
532
+ }
533
+ else if (char === '}') {
534
+ braceDepth--;
535
+ }
536
+ }
537
+ i++;
538
+ }
539
+ if (i >= cleanCSS.length)
540
+ break;
541
+ const selectorPart = cleanCSS.substring(selectorStart, i).trim();
542
+ i++; // Skip the opening brace
543
+ // Find the matching closing brace
544
+ const contentStart = i;
545
+ braceDepth = 1;
546
+ inString = false;
547
+ while (i < cleanCSS.length && braceDepth > 0) {
548
+ const char = cleanCSS[i];
549
+ if (inString) {
550
+ if (char === stringChar && cleanCSS[i - 1] !== '\\') {
551
+ inString = false;
552
+ }
553
+ }
554
+ else {
555
+ if (char === '"' || char === "'") {
556
+ inString = true;
557
+ stringChar = char;
558
+ }
559
+ else if (char === '{') {
560
+ braceDepth++;
561
+ }
562
+ else if (char === '}') {
563
+ braceDepth--;
564
+ }
565
+ }
566
+ i++;
567
+ }
568
+ const content = cleanCSS.substring(contentStart, i - 1).trim();
569
+ // Check if this is an at-rule
570
+ if (selectorPart.startsWith('@')) {
571
+ const atSelector = selectorPart.trim();
572
+ // Leaf at-rules that contain declarations directly and should be emitted as-is
573
+ const leafAtRules = [
574
+ '@font-face',
575
+ '@property',
576
+ '@page',
577
+ '@counter-style',
578
+ '@font-feature-values',
579
+ '@font-palette-values',
580
+ '@color-profile',
581
+ ];
582
+ const isLeafAtRule = leafAtRules.some((prefix) => atSelector.startsWith(prefix));
583
+ if (isLeafAtRule) {
584
+ // Emit the at-rule with its declarations directly
585
+ if (content.trim()) {
586
+ rules.push({
587
+ selector: atSelector,
588
+ declarations: content,
589
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
590
+ });
591
+ }
592
+ }
593
+ else {
594
+ // Wrapper at-rule (e.g., @media, @supports, @keyframes) — parse its content
595
+ const newAtRuleStack = [...atRuleStack, atSelector];
596
+ this.parseCSS(content, rules, newAtRuleStack, parentSelector);
597
+ }
598
+ }
599
+ else {
600
+ // Check if content contains nested rules (has { and })
601
+ if (content.includes('{') && content.includes('}')) {
602
+ // This selector has nested rules, parse them
603
+ const { declarations, nestedCSS } = this.separateDeclarationsAndNested(content);
604
+ // Process the selector (handle & syntax)
605
+ const processedSelector = this.processSelector(selectorPart, parentSelector);
606
+ // Add declarations if any
607
+ if (declarations.trim()) {
608
+ rules.push({
609
+ selector: processedSelector,
610
+ declarations: declarations.trim(),
611
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
612
+ });
613
+ }
614
+ // Parse nested CSS with current selector as parent
615
+ if (nestedCSS.trim()) {
616
+ this.parseCSS(nestedCSS, rules, atRuleStack, processedSelector);
617
+ }
618
+ }
619
+ else {
620
+ // This is a regular selector with only declarations
621
+ const processedSelector = this.processSelector(selectorPart, parentSelector);
622
+ if (content && processedSelector) {
623
+ rules.push({
624
+ selector: processedSelector,
625
+ declarations: content,
626
+ atRules: atRuleStack.length > 0 ? [...atRuleStack] : undefined,
627
+ });
628
+ }
629
+ }
630
+ }
631
+ }
632
+ };
633
+ separateDeclarationsAndNested = (content) => {
634
+ const declarations = [];
635
+ const nestedRules = [];
636
+ let i = 0;
637
+ let currentDeclaration = '';
638
+ while (i < content.length) {
639
+ const char = content[i];
640
+ if (char === '{') {
641
+ // Found start of nested rule, find the selector before it
642
+ let selectorStart = currentDeclaration.lastIndexOf(';') + 1;
643
+ if (selectorStart === 0 && currentDeclaration.trim()) {
644
+ // No semicolon found, this might be the first rule
645
+ selectorStart = 0;
646
+ }
647
+ const beforeBrace = currentDeclaration.substring(0, selectorStart);
648
+ const selector = currentDeclaration.substring(selectorStart).trim();
649
+ if (beforeBrace.trim()) {
650
+ declarations.push(beforeBrace.trim());
651
+ }
652
+ // Find the matching closing brace
653
+ let braceDepth = 1;
654
+ let ruleStart = i + 1;
655
+ i++; // Skip opening brace
656
+ while (i < content.length && braceDepth > 0) {
657
+ if (content[i] === '{')
658
+ braceDepth++;
659
+ else if (content[i] === '}')
660
+ braceDepth--;
661
+ i++;
662
+ }
663
+ const ruleContent = content.substring(ruleStart, i - 1);
664
+ nestedRules.push(`${selector} { ${ruleContent} }`);
665
+ currentDeclaration = '';
666
+ }
667
+ else {
668
+ currentDeclaration += char;
669
+ i++;
670
+ }
671
+ }
672
+ // Add remaining declarations
673
+ if (currentDeclaration.trim()) {
674
+ declarations.push(currentDeclaration.trim());
675
+ }
676
+ return {
677
+ declarations: declarations.join(' '),
678
+ nestedCSS: nestedRules.join('\n'),
679
+ };
680
+ };
681
+ processSelector = (selector, parentSelector) => {
682
+ if (!parentSelector) {
683
+ return selector;
684
+ }
685
+ // Handle & syntax - replace & with parent selector
686
+ if (selector.includes('&')) {
687
+ return selector.replace(/&/g, parentSelector);
688
+ }
689
+ // If no &, treat as descendant selector
690
+ return `${parentSelector} ${selector}`;
691
+ };
692
+ render() {
693
+ return null;
694
+ }
695
+ }
696
+ return GlobalStyleComponent;
697
+ }
449
698
  }
450
699
 
451
700