@cube-dev/ui-kit 0.98.9 → 0.99.1

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 (672) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/es/_internal/hooks/index.js +10 -10
  3. package/es/_internal/hooks/use-chained-callback.js +2 -2
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +2 -2
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +2 -2
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +2 -2
  10. package/es/_internal/hooks/use-timer/index.js +3 -3
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +3 -3
  13. package/es/_internal/hooks/use-update-effect.js +2 -2
  14. package/es/_internal/hooks/use-warn.js +3 -3
  15. package/es/_internal/index.js +2 -2
  16. package/es/components/Block.js +2 -2
  17. package/es/components/CollectionItem.js +3 -3
  18. package/es/components/GlobalStyles.js +56 -65
  19. package/es/components/GridProvider.js +4 -4
  20. package/es/components/HiddenInput.js +2 -2
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +22 -64
  23. package/es/components/actions/Action/Action.js +3 -3
  24. package/es/components/actions/Button/Button.js +12 -12
  25. package/es/components/actions/Button/index.js +2 -2
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +4 -4
  27. package/es/components/actions/CommandMenu/CommandMenu.js +11 -11
  28. package/es/components/actions/CommandMenu/index.js +2 -2
  29. package/es/components/actions/CommandMenu/styled.js +2 -2
  30. package/es/components/actions/ItemAction/ItemAction.js +9 -9
  31. package/es/components/actions/ItemAction/index.js +2 -2
  32. package/es/components/actions/ItemActionContext.js +1 -1
  33. package/es/components/actions/ItemButton/ItemButton.js +9 -9
  34. package/es/components/actions/ItemButton/index.js +2 -2
  35. package/es/components/actions/Link/Link.js +2 -2
  36. package/es/components/actions/Menu/Menu.js +10 -10
  37. package/es/components/actions/Menu/MenuItem.js +7 -7
  38. package/es/components/actions/Menu/MenuSection.js +4 -4
  39. package/es/components/actions/Menu/MenuTrigger.js +6 -6
  40. package/es/components/actions/Menu/SubMenuTrigger.js +6 -6
  41. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/es/components/actions/Menu/context.js +1 -1
  43. package/es/components/actions/Menu/index.js +10 -10
  44. package/es/components/actions/Menu/styled.js +5 -5
  45. package/es/components/actions/index.js +13 -13
  46. package/es/components/actions/use-action.js +7 -7
  47. package/es/components/actions/use-anchored-menu.js +6 -6
  48. package/es/components/actions/use-context-menu.js +6 -6
  49. package/es/components/content/ActiveZone/ActiveZone.js +4 -4
  50. package/es/components/content/Alert/Alert.js +4 -4
  51. package/es/components/content/Alert/index.js +2 -2
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +3 -3
  54. package/es/components/content/Avatar/Avatar.js +2 -2
  55. package/es/components/content/Badge/Badge.js +4 -4
  56. package/es/components/content/Card/Card.js +2 -2
  57. package/es/components/content/Content.js +3 -3
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +8 -8
  59. package/es/components/content/CopyPasteBlock/index.js +2 -2
  60. package/es/components/content/CopySnippet/CopySnippet.js +9 -9
  61. package/es/components/content/CopySnippet/index.js +2 -2
  62. package/es/components/content/Disclosure/Disclosure.js +6 -6
  63. package/es/components/content/Disclosure/index.js +2 -2
  64. package/es/components/content/Divider.js +3 -3
  65. package/es/components/content/Footer.js +3 -3
  66. package/es/components/content/Header.js +3 -3
  67. package/es/components/content/HotKeys/HotKeys.js +5 -5
  68. package/es/components/content/HotKeys/index.js +2 -2
  69. package/es/components/content/Item/Item.js +15 -15
  70. package/es/components/content/Item/index.js +3 -3
  71. package/es/components/content/ItemBadge/ItemBadge.js +8 -8
  72. package/es/components/content/ItemBadge/index.js +2 -2
  73. package/es/components/content/Layout/GridLayout.js +13 -13
  74. package/es/components/content/Layout/Layout.js +7 -6
  75. package/es/components/content/Layout/LayoutBlock.js +4 -3
  76. package/es/components/content/Layout/LayoutCenter.js +3 -3
  77. package/es/components/content/Layout/LayoutContainer.js +4 -4
  78. package/es/components/content/Layout/LayoutContent.js +6 -5
  79. package/es/components/content/Layout/LayoutContext.js +1 -1
  80. package/es/components/content/Layout/LayoutFlex.js +4 -3
  81. package/es/components/content/Layout/LayoutFooter.js +4 -3
  82. package/es/components/content/Layout/LayoutGrid.js +4 -3
  83. package/es/components/content/Layout/LayoutHeader.js +8 -7
  84. package/es/components/content/Layout/LayoutPane.js +8 -7
  85. package/es/components/content/Layout/LayoutPanel.js +10 -9
  86. package/es/components/content/Layout/LayoutPanelHeader.js +7 -7
  87. package/es/components/content/Layout/LayoutToolbar.js +4 -3
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/es/components/content/Layout/index.js +16 -16
  90. package/es/components/content/Layout/utils.js +1 -1
  91. package/es/components/content/List/SectionHeading.js +3 -3
  92. package/es/components/content/List/index.js +2 -2
  93. package/es/components/content/Paragraph.js +3 -3
  94. package/es/components/content/Placeholder/Placeholder.js +2 -2
  95. package/es/components/content/PrismCode/PrismCode.js +7 -7
  96. package/es/components/content/PrismCode/prismSetup.js +1 -1
  97. package/es/components/content/PrismDiffCode/PrismDiffCode.js +2 -2
  98. package/es/components/content/Result/Result.js +4 -4
  99. package/es/components/content/Skeleton/Skeleton.js +5 -5
  100. package/es/components/content/Tag/Tag.js +4 -4
  101. package/es/components/content/Text.js +3 -3
  102. package/es/components/content/TextItem/TextItem.js +5 -5
  103. package/es/components/content/TextItem/index.js +2 -2
  104. package/es/components/content/Title.js +4 -4
  105. package/es/components/content/highlightText.js +2 -2
  106. package/es/components/content/use-auto-tooltip.js +2 -2
  107. package/es/components/fields/Checkbox/Checkbox.js +12 -12
  108. package/es/components/fields/Checkbox/CheckboxGroup.js +7 -7
  109. package/es/components/fields/Checkbox/context.js +1 -1
  110. package/es/components/fields/Checkbox/index.js +3 -3
  111. package/es/components/fields/ComboBox/ComboBox.js +18 -18
  112. package/es/components/fields/ComboBox/index.js +2 -2
  113. package/es/components/fields/DatePicker/DateInput.js +10 -10
  114. package/es/components/fields/DatePicker/DateInputBase.js +6 -6
  115. package/es/components/fields/DatePicker/DatePicker.js +14 -14
  116. package/es/components/fields/DatePicker/DatePickerButton.js +4 -4
  117. package/es/components/fields/DatePicker/DatePickerElement.js +3 -3
  118. package/es/components/fields/DatePicker/DatePickerInput.js +5 -5
  119. package/es/components/fields/DatePicker/DatePickerSegment.js +2 -2
  120. package/es/components/fields/DatePicker/DateRangePicker.js +15 -15
  121. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +15 -15
  122. package/es/components/fields/DatePicker/TimeInput.js +9 -9
  123. package/es/components/fields/DatePicker/index.js +8 -8
  124. package/es/components/fields/DatePicker/intl.js +1 -1
  125. package/es/components/fields/DatePicker/parseDate.js +1 -1
  126. package/es/components/fields/DatePicker/props.js +1 -1
  127. package/es/components/fields/DatePicker/types.js +1 -1
  128. package/es/components/fields/DatePicker/utils.js +1 -1
  129. package/es/components/fields/FileInput/FileInput.js +6 -6
  130. package/es/components/fields/FilterListBox/FilterListBox.js +10 -10
  131. package/es/components/fields/FilterListBox/index.js +2 -2
  132. package/es/components/fields/FilterPicker/FilterPicker.js +14 -14
  133. package/es/components/fields/FilterPicker/index.js +2 -2
  134. package/es/components/fields/Input/Input.js +6 -6
  135. package/es/components/fields/Input/index.js +2 -2
  136. package/es/components/fields/ListBox/ListBox.js +14 -14
  137. package/es/components/fields/ListBox/index.js +2 -2
  138. package/es/components/fields/NumberInput/NumberInput.js +8 -8
  139. package/es/components/fields/NumberInput/StepButton.js +4 -4
  140. package/es/components/fields/PasswordInput/PasswordInput.js +8 -8
  141. package/es/components/fields/Picker/Picker.js +13 -13
  142. package/es/components/fields/Picker/index.js +2 -2
  143. package/es/components/fields/RadioGroup/Radio.js +10 -10
  144. package/es/components/fields/RadioGroup/RadioGroup.js +7 -7
  145. package/es/components/fields/RadioGroup/context.js +1 -1
  146. package/es/components/fields/RadioGroup/index.js +3 -3
  147. package/es/components/fields/SearchInput/SearchInput.js +8 -8
  148. package/es/components/fields/SearchInput/index.js +2 -2
  149. package/es/components/fields/Select/Select.js +20 -20
  150. package/es/components/fields/Select/index.js +2 -2
  151. package/es/components/fields/Slider/Gradation.js +2 -2
  152. package/es/components/fields/Slider/Header.js +1 -1
  153. package/es/components/fields/Slider/RangeSlider.js +5 -5
  154. package/es/components/fields/Slider/Slider.js +7 -7
  155. package/es/components/fields/Slider/SliderBase.js +6 -6
  156. package/es/components/fields/Slider/SliderInput.js +2 -2
  157. package/es/components/fields/Slider/SliderThumb.js +3 -3
  158. package/es/components/fields/Slider/SliderTrack.js +2 -2
  159. package/es/components/fields/Slider/elements.js +2 -2
  160. package/es/components/fields/Slider/index.js +4 -4
  161. package/es/components/fields/Slider/types.js +1 -1
  162. package/es/components/fields/Switch/Switch.js +11 -11
  163. package/es/components/fields/Switch/index.js +2 -2
  164. package/es/components/fields/TextArea/TextArea.js +7 -7
  165. package/es/components/fields/TextArea/index.js +2 -2
  166. package/es/components/fields/TextInput/TextInput.js +6 -6
  167. package/es/components/fields/TextInput/TextInputBase.js +9 -9
  168. package/es/components/fields/TextInput/index.js +3 -3
  169. package/es/components/fields/TextInputMapper/TextInputMapper.js +14 -14
  170. package/es/components/fields/TextInputMapper/index.js +2 -2
  171. package/es/components/fields/index.js +20 -20
  172. package/es/components/form/FieldWrapper/FieldWrapper.js +9 -9
  173. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  174. package/es/components/form/FieldWrapper/index.js +4 -4
  175. package/es/components/form/FieldWrapper/types.js +1 -1
  176. package/es/components/form/Form/Field.js +6 -6
  177. package/es/components/form/Form/Form.js +6 -6
  178. package/es/components/form/Form/ResetButton/ResetButton.js +6 -6
  179. package/es/components/form/Form/ResetButton/index.js +2 -2
  180. package/es/components/form/Form/SubmitButton/SubmitButton.js +4 -4
  181. package/es/components/form/Form/SubmitButton/index.js +2 -2
  182. package/es/components/form/Form/SubmitError.js +3 -3
  183. package/es/components/form/Form/index.js +11 -11
  184. package/es/components/form/Form/types.js +1 -1
  185. package/es/components/form/Form/use-field/index.js +4 -4
  186. package/es/components/form/Form/use-field/types.js +1 -1
  187. package/es/components/form/Form/use-field/use-field-props.js +6 -6
  188. package/es/components/form/Form/use-field/use-field.js +4 -4
  189. package/es/components/form/Form/use-form.js +3 -3
  190. package/es/components/form/Form/validation.js +1 -1
  191. package/es/components/form/Label.js +3 -3
  192. package/es/components/form/index.js +5 -5
  193. package/es/components/form/wrapper.js +3 -3
  194. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  195. package/es/components/helpers/DisplayTransition/index.js +2 -2
  196. package/es/components/helpers/IconSwitch/IconSwitch.js +3 -3
  197. package/es/components/helpers/index.js +3 -3
  198. package/es/components/layout/Flex.js +2 -2
  199. package/es/components/layout/Flow.js +2 -2
  200. package/es/components/layout/Grid.js +2 -2
  201. package/es/components/layout/Panel.js +2 -2
  202. package/es/components/layout/Prefix.js +3 -3
  203. package/es/components/layout/ResizablePanel.js +5 -5
  204. package/es/components/layout/Space.js +2 -2
  205. package/es/components/layout/Suffix.js +3 -3
  206. package/es/components/organisms/FileTabs/FileTabs.js +8 -8
  207. package/es/components/organisms/StatsCard/StatsCard.js +4 -4
  208. package/es/components/other/Calendar/Calendar.js +8 -8
  209. package/es/components/other/Calendar/CalendarCell.js +2 -2
  210. package/es/components/other/Calendar/CalendarGrid.js +3 -3
  211. package/es/components/other/Calendar/RangeCalendar.js +8 -8
  212. package/es/components/other/CloudLogo/CloudLogo.js +3 -3
  213. package/es/components/overlays/AlertDialog/AlertDialog.js +11 -11
  214. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
  215. package/es/components/overlays/AlertDialog/AlertDialogZone.js +4 -4
  216. package/es/components/overlays/AlertDialog/index.js +4 -4
  217. package/es/components/overlays/AlertDialog/types.js +1 -1
  218. package/es/components/overlays/Dialog/Dialog.js +7 -7
  219. package/es/components/overlays/Dialog/DialogContainer.js +3 -3
  220. package/es/components/overlays/Dialog/DialogForm.js +8 -8
  221. package/es/components/overlays/Dialog/DialogTrigger.js +4 -4
  222. package/es/components/overlays/Dialog/context.js +1 -1
  223. package/es/components/overlays/Dialog/index.js +6 -6
  224. package/es/components/overlays/Dialog/use-dialog-container.js +4 -4
  225. package/es/components/overlays/Modal/Modal.js +5 -5
  226. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  227. package/es/components/overlays/Modal/Overlay.js +3 -3
  228. package/es/components/overlays/Modal/Popover.js +4 -4
  229. package/es/components/overlays/Modal/Tray.js +6 -6
  230. package/es/components/overlays/Modal/Underlay.js +2 -2
  231. package/es/components/overlays/Modal/index.js +7 -7
  232. package/es/components/overlays/Modal/types.js +1 -1
  233. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +5 -5
  234. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +7 -7
  235. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +36 -34
  236. package/es/components/overlays/NewNotifications/Bar/index.js +2 -2
  237. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +8 -8
  239. package/es/components/overlays/NewNotifications/Dialog/index.js +2 -2
  240. package/es/components/overlays/NewNotifications/Notification.js +4 -4
  241. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +5 -5
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +4 -4
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +4 -4
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +20 -4
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +3 -3
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +4 -4
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +12 -12
  249. package/es/components/overlays/NewNotifications/NotificationView/index.js +3 -3
  250. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +5 -5
  253. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +3 -3
  254. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +2 -2
  255. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +4 -4
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +5 -5
  257. package/es/components/overlays/NewNotifications/NotificationsList/index.js +2 -2
  258. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  259. package/es/components/overlays/NewNotifications/hooks/index.js +6 -6
  260. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +2 -2
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +3 -3
  265. package/es/components/overlays/NewNotifications/index.js +7 -7
  266. package/es/components/overlays/NewNotifications/types.js +1 -1
  267. package/es/components/overlays/Notification/Notification.js +7 -7
  268. package/es/components/overlays/OverlayWrapper.js +2 -2
  269. package/es/components/overlays/Toasts/Toast.js +4 -4
  270. package/es/components/overlays/Toasts/index.js +3 -3
  271. package/es/components/overlays/Toasts/types.js +1 -1
  272. package/es/components/overlays/Toasts/use-toasts-api.js +2 -2
  273. package/es/components/overlays/Tooltip/Tooltip.js +4 -4
  274. package/es/components/overlays/Tooltip/TooltipProvider.js +3 -3
  275. package/es/components/overlays/Tooltip/TooltipTrigger.js +6 -6
  276. package/es/components/overlays/Tooltip/context.js +1 -1
  277. package/es/components/overlays/Tooltip/index.js +4 -4
  278. package/es/components/portal/Portal.js +2 -2
  279. package/es/components/portal/PortalProvider.js +1 -1
  280. package/es/components/portal/index.js +3 -3
  281. package/es/components/portal/types.js +1 -1
  282. package/es/components/portal/usePortal.js +2 -2
  283. package/es/components/shared/InvalidIcon.js +2 -2
  284. package/es/components/shared/ValidIcon.js +2 -2
  285. package/es/components/status/LoadingAnimation/LoadingAnimation.js +58 -114
  286. package/es/components/status/LoadingAnimation/index.js +2 -2
  287. package/es/components/status/Spin/Cube.js +95 -179
  288. package/es/components/status/Spin/InternalSpinner.js +5 -5
  289. package/es/components/status/Spin/Spin.js +4 -4
  290. package/es/components/status/Spin/SpinsContainer.js +28 -30
  291. package/es/components/status/Spin/index.js +2 -2
  292. package/es/components/status/Spin/types.js +1 -1
  293. package/es/components/status/index.js +3 -3
  294. package/es/data/item-themes.js +1 -1
  295. package/es/data/themes.js +1 -1
  296. package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
  297. package/es/icons/AdjustmentsIcon.js +2 -2
  298. package/es/icons/AiIcon.js +2 -2
  299. package/es/icons/AreaChartIcon.js +2 -2
  300. package/es/icons/BackwardIcon.js +2 -2
  301. package/es/icons/BarChartIcon.js +2 -2
  302. package/es/icons/BellFilledIcon.js +2 -2
  303. package/es/icons/BellIcon.js +2 -2
  304. package/es/icons/BooleanIcon.js +2 -2
  305. package/es/icons/CalendarEditIcon.js +2 -2
  306. package/es/icons/CalendarIcon.js +2 -2
  307. package/es/icons/CaretDownIcon.js +2 -2
  308. package/es/icons/CaretUpIcon.js +2 -2
  309. package/es/icons/ChartAreaStackedIcon.js +2 -2
  310. package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
  311. package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
  312. package/es/icons/ChartBarGroupedIcon.js +2 -2
  313. package/es/icons/ChartBarHorizontalIcon.js +2 -2
  314. package/es/icons/ChartBarLineIcon.js +2 -2
  315. package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
  316. package/es/icons/ChartBarStackedIcon.js +2 -2
  317. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
  318. package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
  319. package/es/icons/ChartBoxPlot2Icon.js +2 -2
  320. package/es/icons/ChartBoxPlotIcon.js +2 -2
  321. package/es/icons/ChartBubbleIcon.js +2 -2
  322. package/es/icons/ChartDonut2Icon.js +2 -2
  323. package/es/icons/ChartFunnelIcon.js +2 -2
  324. package/es/icons/ChartHeatmapIcon.js +2 -2
  325. package/es/icons/ChartKPIIcon.js +2 -2
  326. package/es/icons/ChartPie2Icon.js +2 -2
  327. package/es/icons/ChartScatterIcon.js +2 -2
  328. package/es/icons/CheckCircleFilledIcon.js +2 -2
  329. package/es/icons/CheckCircleIcon.js +2 -2
  330. package/es/icons/CheckIcon.js +2 -2
  331. package/es/icons/CircleFilledIcon.js +2 -2
  332. package/es/icons/ClearIcon.js +2 -2
  333. package/es/icons/CloseCircleFilledIcon.js +2 -2
  334. package/es/icons/CloseCircleIcon.js +2 -2
  335. package/es/icons/CloseIcon.js +2 -2
  336. package/es/icons/CodeIcon.js +2 -2
  337. package/es/icons/ColumnTotalIcon.js +2 -2
  338. package/es/icons/CopyIcon.js +2 -2
  339. package/es/icons/CountIcon.js +2 -2
  340. package/es/icons/CubeIcon.js +2 -2
  341. package/es/icons/CubePauseIcon.js +2 -2
  342. package/es/icons/CubePlayIcon.js +2 -2
  343. package/es/icons/CurrencyDollarIcon.js +2 -2
  344. package/es/icons/DangerIcon.js +2 -2
  345. package/es/icons/DashboardIcon.js +2 -2
  346. package/es/icons/DatabaseIcon.js +2 -2
  347. package/es/icons/DecimalDecreaseIcon.js +2 -2
  348. package/es/icons/DecimalIncreaseIcon.js +2 -2
  349. package/es/icons/DirectionIcon.js +3 -3
  350. package/es/icons/DonutIcon.js +2 -2
  351. package/es/icons/DownIcon.js +2 -2
  352. package/es/icons/EditIcon.js +2 -2
  353. package/es/icons/ExclamationCircleFilledIcon.js +2 -2
  354. package/es/icons/ExclamationCircleIcon.js +2 -2
  355. package/es/icons/ExclamationIcon.js +2 -2
  356. package/es/icons/EyeIcon.js +2 -2
  357. package/es/icons/EyeInvisibleIcon.js +2 -2
  358. package/es/icons/FilterIcon.js +2 -2
  359. package/es/icons/FolderFilledIcon.js +2 -2
  360. package/es/icons/FolderIcon.js +2 -2
  361. package/es/icons/FolderOpenFilledIcon.js +2 -2
  362. package/es/icons/FolderOpenIcon.js +2 -2
  363. package/es/icons/ForwardIcon.js +2 -2
  364. package/es/icons/HierarchyIcon.js +2 -2
  365. package/es/icons/HierarchyOpenIcon.js +2 -2
  366. package/es/icons/Icon.js +2 -2
  367. package/es/icons/InfoCircleIcon.js +2 -2
  368. package/es/icons/InfoIcon.js +2 -2
  369. package/es/icons/KeyIcon.js +2 -2
  370. package/es/icons/LeftIcon.js +2 -2
  371. package/es/icons/LineChartIcon.js +2 -2
  372. package/es/icons/LoadingIcon.js +2 -2
  373. package/es/icons/LockFilledIcon.js +2 -2
  374. package/es/icons/LockIcon.js +2 -2
  375. package/es/icons/MoreIcon.js +2 -2
  376. package/es/icons/NotAllowedIcon.js +2 -2
  377. package/es/icons/Number123Icon.js +2 -2
  378. package/es/icons/NumberIcon.js +2 -2
  379. package/es/icons/PauseCircleFilledIcon.js +2 -2
  380. package/es/icons/PauseCircleIcon.js +2 -2
  381. package/es/icons/PauseIcon.js +2 -2
  382. package/es/icons/PercentageIcon.js +2 -2
  383. package/es/icons/PieChartIcon.js +2 -2
  384. package/es/icons/PlayCircleIcon.js +2 -2
  385. package/es/icons/PlayIcon.js +2 -2
  386. package/es/icons/PlusIcon.js +2 -2
  387. package/es/icons/ProgressBarIcon.js +2 -2
  388. package/es/icons/ReloadIcon.js +2 -2
  389. package/es/icons/ReportIcon.js +2 -2
  390. package/es/icons/ReturnIcon.js +2 -2
  391. package/es/icons/RightIcon.js +2 -2
  392. package/es/icons/RowTotalsIcon.js +2 -2
  393. package/es/icons/SchemeIcon.js +2 -2
  394. package/es/icons/SearchIcon.js +2 -2
  395. package/es/icons/SemanticQueryIcon.js +2 -2
  396. package/es/icons/SettingsIcon.js +2 -2
  397. package/es/icons/ShieldFilledIcon.js +2 -2
  398. package/es/icons/ShieldIcon.js +2 -2
  399. package/es/icons/SlashIcon.js +2 -2
  400. package/es/icons/SparklesIcon.js +2 -2
  401. package/es/icons/SqlIcon.js +2 -2
  402. package/es/icons/StatsIcon.js +2 -2
  403. package/es/icons/StopIcon.js +2 -2
  404. package/es/icons/StringIcon.js +2 -2
  405. package/es/icons/SubtotalsIcon.js +2 -2
  406. package/es/icons/SwitchIcon.js +2 -2
  407. package/es/icons/TableIcon.js +2 -2
  408. package/es/icons/ThumbsDownIcon.js +2 -2
  409. package/es/icons/ThumbsUpIcon.js +2 -2
  410. package/es/icons/ThunderboltCrossedIcon.js +2 -2
  411. package/es/icons/ThunderboltFilledIcon.js +2 -2
  412. package/es/icons/ThunderboltIcon.js +2 -2
  413. package/es/icons/TimeIcon.js +2 -2
  414. package/es/icons/TrashIcon.js +2 -2
  415. package/es/icons/UnlockIcon.js +2 -2
  416. package/es/icons/UpIcon.js +2 -2
  417. package/es/icons/UserGroupIcon.js +2 -2
  418. package/es/icons/UserIcon.js +2 -2
  419. package/es/icons/UserLockIcon.js +2 -2
  420. package/es/icons/ViewIcon.js +2 -2
  421. package/es/icons/WarningFilledIcon.js +2 -2
  422. package/es/icons/WarningIcon.js +2 -2
  423. package/es/icons/index.js +129 -129
  424. package/es/icons/wrap-icon.js +2 -2
  425. package/es/index.js +73 -74
  426. package/es/provider.js +4 -10
  427. package/es/providers/TrackingProvider.js +1 -1
  428. package/es/providers/navigation.types.js +1 -1
  429. package/es/providers/navigationAdapter.default.js +1 -1
  430. package/es/services/notification.js +2 -2
  431. package/es/shared/form.js +1 -1
  432. package/es/shared/index.js +2 -2
  433. package/es/stories/Form.legacy-stories.js +4 -4
  434. package/es/stories/FormFieldArgs.js +2 -2
  435. package/es/stories/SimpleLayout.stories.js +2 -2
  436. package/es/stories/Tasty.stories.js +2 -2
  437. package/es/stories/components/ConfirmDeletionDialogForm.js +2 -2
  438. package/es/stories/components/DialogFormApp.js +3 -3
  439. package/es/stories/components/StyledButton.js +19 -15
  440. package/es/stories/lists/baseProps.js +2 -2
  441. package/es/stories/playground/PlaygroundEditor.js +89 -0
  442. package/es/stories/playground/PlaygroundLayout.js +16 -0
  443. package/es/stories/playground/PlaygroundOutput.js +92 -0
  444. package/es/stories/playground/PlaygroundPreview.js +91 -0
  445. package/es/stories/playground/components/Button.js +45 -0
  446. package/es/stories/playground/components/Card.js +20 -0
  447. package/es/stories/playground/components/ScrollProgress.js +17 -0
  448. package/es/stories/playground/examples.js +158 -0
  449. package/es/tasty/chunks/cacheKey.js +98 -0
  450. package/es/tasty/chunks/definitions.js +281 -0
  451. package/es/tasty/chunks/index.js +12 -0
  452. package/es/tasty/chunks/renderChunk.js +97 -0
  453. package/es/tasty/config.js +280 -0
  454. package/es/tasty/debug.js +195 -9
  455. package/es/tasty/hooks/index.js +12 -0
  456. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  457. package/es/tasty/hooks/useRawCSS.js +40 -0
  458. package/es/tasty/hooks/useStyles.js +206 -0
  459. package/es/tasty/index.js +31 -17
  460. package/es/tasty/injector/index.js +34 -90
  461. package/es/tasty/injector/injector.js +81 -299
  462. package/es/tasty/injector/sheet-manager.js +138 -3
  463. package/es/tasty/injector/types.js +1 -1
  464. package/es/tasty/keyframes/index.js +301 -0
  465. package/es/tasty/parser/classify.js +8 -6
  466. package/es/tasty/parser/const.js +1 -1
  467. package/es/tasty/parser/lru.js +1 -1
  468. package/es/tasty/parser/parser.js +18 -5
  469. package/es/tasty/parser/tokenizer.js +1 -1
  470. package/es/tasty/parser/types.js +2 -1
  471. package/es/tasty/pipeline/conditions.js +426 -0
  472. package/es/tasty/pipeline/exclusive.js +311 -0
  473. package/es/tasty/pipeline/index.js +543 -0
  474. package/es/tasty/pipeline/materialize.js +1260 -0
  475. package/es/tasty/pipeline/parseStateKey.js +592 -0
  476. package/es/tasty/pipeline/simplify.js +898 -0
  477. package/es/tasty/plugins/index.js +26 -0
  478. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  479. package/es/tasty/plugins/types.js +10 -0
  480. package/es/tasty/states/index.js +523 -0
  481. package/es/tasty/static/index.js +47 -0
  482. package/es/tasty/static/tastyStatic.js +55 -0
  483. package/es/tasty/static/types.js +34 -0
  484. package/es/tasty/styles/align.js +1 -1
  485. package/es/tasty/styles/border.js +2 -2
  486. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  487. package/es/tasty/styles/color.js +3 -3
  488. package/es/tasty/styles/createStyle.js +3 -3
  489. package/es/tasty/styles/dimension.js +2 -2
  490. package/es/tasty/styles/display.js +1 -1
  491. package/es/tasty/styles/fade.js +2 -2
  492. package/es/tasty/styles/fill.js +11 -21
  493. package/es/tasty/styles/flow.js +1 -1
  494. package/es/tasty/styles/font.js +1 -1
  495. package/es/tasty/styles/fontStyle.js +1 -1
  496. package/es/tasty/styles/gap.js +2 -2
  497. package/es/tasty/styles/groupRadius.js +2 -2
  498. package/es/tasty/styles/height.js +2 -2
  499. package/es/tasty/styles/index.js +3 -3
  500. package/es/tasty/styles/inset.js +2 -2
  501. package/es/tasty/styles/justify.js +1 -1
  502. package/es/tasty/styles/list.js +1 -1
  503. package/es/tasty/styles/margin.js +76 -56
  504. package/es/tasty/styles/outline.js +2 -2
  505. package/es/tasty/styles/padding.js +76 -56
  506. package/es/tasty/styles/place.js +1 -1
  507. package/es/tasty/styles/predefined.js +28 -27
  508. package/es/tasty/styles/preset.js +2 -2
  509. package/es/tasty/styles/radius.js +5 -12
  510. package/es/tasty/styles/reset.js +3 -7
  511. package/es/tasty/styles/scrollbar.js +2 -2
  512. package/es/tasty/styles/shadow.js +2 -2
  513. package/es/tasty/styles/styledScrollbar.js +1 -1
  514. package/es/tasty/styles/transition.js +10 -3
  515. package/es/tasty/styles/types.js +1 -1
  516. package/es/tasty/styles/width.js +2 -2
  517. package/es/tasty/tasty.js +81 -122
  518. package/es/tasty/types.js +1 -1
  519. package/es/tasty/utils/cache-wrapper.js +1 -1
  520. package/es/tasty/utils/case-converter.js +1 -1
  521. package/es/tasty/utils/colors.js +1 -1
  522. package/es/tasty/utils/dotize.js +1 -1
  523. package/es/tasty/utils/filterBaseProps.js +1 -1
  524. package/es/tasty/utils/getDisplayName.js +1 -1
  525. package/es/tasty/utils/isDevEnv.js +1 -1
  526. package/es/tasty/utils/mergeStyles.js +2 -2
  527. package/es/tasty/utils/modAttrs.js +3 -3
  528. package/es/tasty/utils/processTokens.js +88 -2
  529. package/es/tasty/utils/string.js +1 -1
  530. package/es/tasty/utils/styles.js +255 -22
  531. package/es/tasty/utils/typography.js +67 -0
  532. package/es/tasty/utils/warnings.js +1 -1
  533. package/es/tasty/zero/babel.js +453 -0
  534. package/es/tasty/zero/css-writer.js +94 -0
  535. package/es/tasty/zero/extractor.js +222 -0
  536. package/es/tasty/zero/index.js +28 -0
  537. package/es/tasty/zero/next.js +102 -0
  538. package/es/tokens/base.js +64 -0
  539. package/es/tokens/colors.js +68 -0
  540. package/es/tokens/index.js +63 -0
  541. package/es/tokens/layout.js +26 -0
  542. package/es/tokens/shadows.js +27 -0
  543. package/es/tokens/sizes.js +42 -0
  544. package/es/tokens/spacing.js +22 -0
  545. package/es/tokens/typography.js +237 -0
  546. package/es/utils/ResizeSensor.js +1 -1
  547. package/es/utils/index.js +10 -10
  548. package/es/utils/modules.js +1 -1
  549. package/es/utils/promise.js +1 -1
  550. package/es/utils/raf.js +1 -1
  551. package/es/utils/random.js +1 -1
  552. package/es/utils/range.js +1 -1
  553. package/es/utils/react/RenderCache.js +1 -1
  554. package/es/utils/react/Slots.js +2 -2
  555. package/es/utils/react/chain.js +1 -1
  556. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  557. package/es/utils/react/index.js +17 -17
  558. package/es/utils/react/interactions.js +1 -1
  559. package/es/utils/react/isTextOnly.js +1 -1
  560. package/es/utils/react/mapProps.js +1 -1
  561. package/es/utils/react/mergeProps.js +4 -4
  562. package/es/utils/react/nullableValue.js +1 -1
  563. package/es/utils/react/resolveIcon.js +1 -1
  564. package/es/utils/react/sharedStore.js +2 -2
  565. package/es/utils/react/useCombinedRefs.js +1 -1
  566. package/es/utils/react/useControlledFocusVisible.js +2 -2
  567. package/es/utils/react/useEventBus.js +1 -1
  568. package/es/utils/react/useId.js +2 -2
  569. package/es/utils/react/useIsDarwin.js +1 -1
  570. package/es/utils/react/useKeySymbols.js +2 -2
  571. package/es/utils/react/useLayoutEffect.js +1 -1
  572. package/es/utils/react/useLocalStorage.js +2 -2
  573. package/es/utils/react/useQaProps.js +1 -1
  574. package/es/utils/react/useViewportSize.js +1 -1
  575. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  576. package/es/utils/tree.js +1 -1
  577. package/es/utils/warnings.js +1 -1
  578. package/es/version.js +2 -2
  579. package/package.json +14 -4
  580. package/types/components/GlobalStyles.d.ts +2 -1
  581. package/types/components/HiddenInput.d.ts +828 -826
  582. package/types/components/Root.d.ts +1 -0
  583. package/types/components/actions/Button/Button.d.ts +1649 -1645
  584. package/types/components/actions/CommandMenu/styled.d.ts +4140 -4130
  585. package/types/components/actions/Menu/styled.d.ts +4893 -4883
  586. package/types/components/actions/use-action.d.ts +1 -1
  587. package/types/components/content/List/SectionHeading.d.ts +251 -251
  588. package/types/components/content/Text.d.ts +1487 -1487
  589. package/types/components/fields/DatePicker/DatePickerElement.d.ts +251 -251
  590. package/types/components/fields/Select/Select.d.ts +828 -826
  591. package/types/components/fields/Slider/elements.d.ts +4968 -4956
  592. package/types/components/status/Spin/Cube.d.ts +1 -1
  593. package/types/components/status/Spin/SpinsContainer.d.ts +6 -3
  594. package/types/index.d.ts +1 -4
  595. package/types/provider.d.ts +1 -2
  596. package/types/stories/components/StyledButton.d.ts +1 -1
  597. package/types/stories/playground/PlaygroundEditor.d.ts +6 -0
  598. package/types/stories/playground/PlaygroundLayout.d.ts +8 -0
  599. package/types/stories/playground/PlaygroundOutput.d.ts +5 -0
  600. package/types/stories/playground/PlaygroundPreview.d.ts +6 -0
  601. package/types/stories/playground/components/Button.d.ts +11 -0
  602. package/types/stories/playground/components/Card.d.ts +7 -0
  603. package/types/stories/playground/components/ScrollProgress.d.ts +5 -0
  604. package/types/stories/playground/examples.d.ts +7 -0
  605. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  606. package/types/tasty/chunks/definitions.d.ts +75 -0
  607. package/types/tasty/chunks/index.d.ts +4 -0
  608. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  609. package/types/tasty/config.d.ts +171 -0
  610. package/types/tasty/debug.d.ts +35 -0
  611. package/types/tasty/hooks/index.d.ts +4 -0
  612. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  613. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  614. package/types/tasty/hooks/useStyles.d.ts +35 -0
  615. package/types/tasty/index.d.ts +14 -4
  616. package/types/tasty/injector/index.d.ts +30 -19
  617. package/types/tasty/injector/injector.d.ts +19 -13
  618. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  619. package/types/tasty/injector/types.d.ts +23 -2
  620. package/types/tasty/keyframes/index.d.ts +49 -0
  621. package/types/tasty/parser/parser.d.ts +4 -0
  622. package/types/tasty/parser/types.d.ts +1 -0
  623. package/types/tasty/pipeline/conditions.d.ts +243 -0
  624. package/types/tasty/pipeline/exclusive.d.ts +103 -0
  625. package/types/tasty/pipeline/index.d.ts +67 -0
  626. package/types/tasty/pipeline/materialize.d.ts +162 -0
  627. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  628. package/types/tasty/pipeline/simplify.d.ts +28 -0
  629. package/types/tasty/plugins/index.d.ts +17 -0
  630. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  631. package/types/tasty/plugins/types.d.ts +34 -0
  632. package/types/tasty/states/index.d.ts +101 -0
  633. package/types/tasty/static/index.d.ts +39 -0
  634. package/types/tasty/static/tastyStatic.d.ts +41 -0
  635. package/types/tasty/static/types.d.ts +44 -0
  636. package/types/tasty/styles/fill.d.ts +11 -1
  637. package/types/tasty/styles/margin.d.ts +3 -1
  638. package/types/tasty/styles/padding.d.ts +3 -1
  639. package/types/tasty/styles/radius.d.ts +2 -10
  640. package/types/tasty/styles/types.d.ts +24 -3
  641. package/types/tasty/tasty.d.ts +892 -840
  642. package/types/tasty/utils/styles.d.ts +50 -6
  643. package/types/tasty/utils/typography.d.ts +32 -0
  644. package/types/tasty/zero/babel.d.ts +63 -0
  645. package/types/tasty/zero/css-writer.d.ts +41 -0
  646. package/types/tasty/zero/extractor.d.ts +40 -0
  647. package/types/tasty/zero/index.d.ts +18 -0
  648. package/types/tasty/zero/next.d.ts +57 -0
  649. package/types/tokens/base.d.ts +8 -0
  650. package/types/tokens/colors.d.ts +6 -0
  651. package/types/tokens/index.d.ts +41 -0
  652. package/types/tokens/layout.d.ts +7 -0
  653. package/types/tokens/shadows.d.ts +12 -0
  654. package/types/tokens/sizes.d.ts +25 -0
  655. package/types/tokens/spacing.d.ts +8 -0
  656. package/types/tokens/typography.d.ts +30 -0
  657. package/es/components/navigation/LegacyTabs/LegacyTabs.js +0 -275
  658. package/es/components/other/Base64Upload/Base64Upload.js +0 -103
  659. package/es/icons/add-new-icon.js +0 -129
  660. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  661. package/es/tasty/utils/getModCombinations.js +0 -38
  662. package/es/tasty/utils/renderStyles.js +0 -1050
  663. package/es/tasty/utils/responsive.js +0 -60
  664. package/es/tokens.js +0 -309
  665. package/types/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -43
  666. package/types/components/other/Base64Upload/Base64Upload.d.ts +0 -5
  667. package/types/icons/add-new-icon.d.ts +0 -2
  668. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  669. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  670. package/types/tasty/utils/renderStyles.d.ts +0 -41
  671. package/types/tasty/utils/responsive.d.ts +0 -8
  672. package/types/tokens.d.ts +0 -221
@@ -1,16 +1,6 @@
1
- import { StyleResult } from '../utils/renderStyles';
1
+ import { StyleResult } from '../pipeline';
2
2
  import { StyleInjector } from './injector';
3
3
  import { GlobalInjectResult, InjectResult, StyleInjectorConfig } from './types';
4
- declare const GLOBAL_INJECTOR_KEY = "__TASTY_GLOBAL_INJECTOR__";
5
- declare global {
6
- interface Window {
7
- [GLOBAL_INJECTOR_KEY]?: StyleInjector;
8
- }
9
- }
10
- /**
11
- * Configure the global style injector
12
- */
13
- export declare function configure(config?: Partial<StyleInjectorConfig>): void;
14
4
  /**
15
5
  * Allocate a className for a cacheKey without injecting styles yet
16
6
  */
@@ -33,6 +23,34 @@ export declare function inject(rules: StyleResult[], options?: {
33
23
  export declare function injectGlobal(rules: StyleResult[], options?: {
34
24
  root?: Document | ShadowRoot;
35
25
  }): GlobalInjectResult;
26
+ /**
27
+ * Inject raw CSS text directly without parsing
28
+ * This is a low-overhead method for injecting raw CSS that doesn't need tasty processing.
29
+ * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking.
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * // Inject raw CSS
34
+ * const { dispose } = injectRawCSS(`
35
+ * body { margin: 0; padding: 0; }
36
+ * .my-class { color: red; }
37
+ * `);
38
+ *
39
+ * // Later, remove the injected CSS
40
+ * dispose();
41
+ * ```
42
+ */
43
+ export declare function injectRawCSS(css: string, options?: {
44
+ root?: Document | ShadowRoot;
45
+ }): {
46
+ dispose: () => void;
47
+ };
48
+ /**
49
+ * Get raw CSS text for SSR
50
+ */
51
+ export declare function getRawCSSText(options?: {
52
+ root?: Document | ShadowRoot;
53
+ }): string;
36
54
  /**
37
55
  * Inject keyframes and return object with toString() and dispose()
38
56
  */
@@ -75,13 +93,6 @@ export declare function destroy(root?: Document | ShadowRoot): void;
75
93
  * Create a new isolated injector instance
76
94
  */
77
95
  export declare function createInjector(config?: Partial<StyleInjectorConfig>): StyleInjector;
78
- /**
79
- * Create a global style component like styled-components createGlobalStyle
80
- * Returns a React component that injects global styles when mounted and cleans up when unmounted
81
- */
82
- export declare function createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): import('react').ComponentType<Props & {
83
- root?: Document | ShadowRoot;
84
- }>;
85
- export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, CacheMetrics, } from './types';
96
+ export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, CacheMetrics, RawCSSResult, } from './types';
86
97
  export { StyleInjector } from './injector';
87
98
  export { SheetManager } from './sheet-manager';
@@ -2,9 +2,8 @@
2
2
  * Style injector that works with structured style objects
3
3
  * Eliminates CSS string parsing for better performance
4
4
  */
5
- import { StyleResult } from '../utils/renderStyles';
6
- import { GlobalInjectResult, InjectResult, KeyframesResult, KeyframesSteps, StyleInjectorConfig } from './types';
7
- import type { ComponentType } from 'react';
5
+ import { StyleResult } from '../pipeline';
6
+ import { GlobalInjectResult, InjectResult, KeyframesResult, KeyframesSteps, RawCSSResult, StyleInjectorConfig } from './types';
8
7
  export declare class StyleInjector {
9
8
  private sheetManager;
10
9
  private config;
@@ -37,11 +36,19 @@ export declare class StyleInjector {
37
36
  root?: Document | ShadowRoot;
38
37
  }): GlobalInjectResult;
39
38
  /**
40
- * Inject styles from createGlobalStyle (separate from injectGlobal for tracking)
39
+ * Inject raw CSS text directly without parsing
40
+ * This is a low-overhead alternative to createGlobalStyle for raw CSS
41
+ * The CSS is inserted into a separate style element to avoid conflicts with tasty's chunking
41
42
  */
42
- injectCreateGlobalStyle(rules: StyleResult[], options?: {
43
+ injectRawCSS(css: string, options?: {
43
44
  root?: Document | ShadowRoot;
44
- }): GlobalInjectResult;
45
+ }): RawCSSResult;
46
+ /**
47
+ * Get raw CSS text for SSR
48
+ */
49
+ getRawCSSText(options?: {
50
+ root?: Document | ShadowRoot;
51
+ }): string;
45
52
  /**
46
53
  * Dispose of a className
47
54
  */
@@ -94,6 +101,12 @@ export declare class StyleInjector {
94
101
  }): boolean;
95
102
  /**
96
103
  * Inject keyframes and return object with toString() and dispose()
104
+ *
105
+ * Keyframes are cached by content (steps). If the same content is injected
106
+ * multiple times with different provided names, the first injected name is reused.
107
+ *
108
+ * If the same name is provided with different content (collision), a unique
109
+ * name is generated to avoid overwriting the existing keyframes.
97
110
  */
98
111
  keyframes(steps: KeyframesSteps, nameOrOptions?: string | {
99
112
  root?: Document | ShadowRoot;
@@ -107,11 +120,4 @@ export declare class StyleInjector {
107
120
  * Destroy all resources for a root
108
121
  */
109
122
  destroy(root?: Document | ShadowRoot): void;
110
- /**
111
- * Create a global style component like styled-components createGlobalStyle
112
- * Returns a React component that injects global styles when mounted and cleans up when unmounted
113
- */
114
- createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): ComponentType<Props & {
115
- root?: Document | ShadowRoot;
116
- }>;
117
123
  }
@@ -1,7 +1,13 @@
1
- import { CacheMetrics, KeyframesInfo, KeyframesSteps, RootRegistry, RuleInfo, SheetInfo, StyleInjectorConfig, StyleRule } from './types';
1
+ import { CacheMetrics, KeyframesInfo, KeyframesSteps, RawCSSResult, RootRegistry, RuleInfo, SheetInfo, StyleInjectorConfig, StyleRule } from './types';
2
2
  export declare class SheetManager {
3
3
  private rootRegistries;
4
4
  private config;
5
+ /** Dedicated style elements for raw CSS per root */
6
+ private rawStyleElements;
7
+ /** Tracking for raw CSS blocks per root */
8
+ private rawCSSBlocks;
9
+ /** Counter for generating unique raw CSS IDs */
10
+ private rawCSSCounter;
5
11
  constructor(config: StyleInjectorConfig);
6
12
  /**
7
13
  * Get or create registry for a root (Document or ShadowRoot)
@@ -95,4 +101,22 @@ export declare class SheetManager {
95
101
  * Clean up resources for a root
96
102
  */
97
103
  cleanup(root: Document | ShadowRoot): void;
104
+ /**
105
+ * Get or create a dedicated style element for raw CSS
106
+ * Raw CSS is kept separate from tasty-managed sheets to avoid index conflicts
107
+ */
108
+ private getOrCreateRawStyleElement;
109
+ /**
110
+ * Inject raw CSS text directly without parsing
111
+ * Returns a dispose function to remove the injected CSS
112
+ */
113
+ injectRawCSS(css: string, root: Document | ShadowRoot): RawCSSResult;
114
+ /**
115
+ * Remove a raw CSS block by ID
116
+ */
117
+ private disposeRawCSS;
118
+ /**
119
+ * Get the raw CSS content for SSR
120
+ */
121
+ getRawCSSText(root: Document | ShadowRoot): string;
98
122
  }
@@ -26,6 +26,12 @@ export interface StyleInjectorConfig {
26
26
  * Helps avoid races during rapid mount/unmount cycles. Default: 10000ms.
27
27
  */
28
28
  unusedStylesMinAgeMs?: number;
29
+ /**
30
+ * Global predefined states for advanced state mapping.
31
+ * These are state aliases that can be used in any component.
32
+ * Example: { '@mobile': '@media(w < 920px)', '@dark': '@root(theme=dark)' }
33
+ */
34
+ states?: Record<string, string>;
29
35
  }
30
36
  export interface RuleInfo {
31
37
  className: string;
@@ -76,8 +82,10 @@ export interface RootRegistry {
76
82
  metrics?: CacheMetrics;
77
83
  /** Counter for generating sequential class names like t0, t1, t2... */
78
84
  classCounter: number;
79
- /** Keyframes cache by JSON.stringify(steps) -> entry */
85
+ /** Keyframes cache by content hash -> entry */
80
86
  keyframesCache: Map<string, KeyframesCacheEntry>;
87
+ /** Keyframes name to content hash mapping for collision detection */
88
+ keyframesNameToContent: Map<string, string>;
81
89
  /** Counter for generating keyframes names like k0, k1, k2... */
82
90
  keyframesCounter: number;
83
91
  /** Set of injected @property names for tracking */
@@ -85,7 +93,7 @@ export interface RootRegistry {
85
93
  /** Global rules tracking for index adjustment */
86
94
  globalRules: Map<string, RuleInfo>;
87
95
  }
88
- export type StyleRule = import('../utils/renderStyles').StyleResult;
96
+ export type StyleRule = import('../pipeline').StyleResult;
89
97
  export interface KeyframesInfo {
90
98
  name: string;
91
99
  sheetIndex: number;
@@ -104,3 +112,16 @@ export interface KeyframesCacheEntry {
104
112
  refCount: number;
105
113
  info: KeyframesInfo;
106
114
  }
115
+ export interface RawCSSInfo {
116
+ /** Unique identifier for this raw CSS block */
117
+ id: string;
118
+ /** The raw CSS text */
119
+ css: string;
120
+ /** Start offset in the style element's textContent */
121
+ startOffset: number;
122
+ /** End offset in the style element's textContent */
123
+ endOffset: number;
124
+ }
125
+ export interface RawCSSResult {
126
+ dispose: () => void;
127
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Keyframes Utilities
3
+ *
4
+ * Optimized utilities for extracting and processing keyframes in styles.
5
+ * Designed for zero overhead when no keyframes are used.
6
+ */
7
+ import { KeyframesSteps } from '../injector/types';
8
+ import { Styles } from '../styles/types';
9
+ /**
10
+ * Check if styles object has local @keyframes definition.
11
+ * Fast path: single property lookup.
12
+ */
13
+ export declare function hasLocalKeyframes(styles: Styles): boolean;
14
+ /**
15
+ * Extract local @keyframes from styles object.
16
+ * Returns null if no local keyframes (fast path).
17
+ */
18
+ export declare function extractLocalKeyframes(styles: Styles): Record<string, KeyframesSteps> | null;
19
+ /**
20
+ * Merge local and global keyframes.
21
+ * Local keyframes take priority over global.
22
+ * Returns null if no keyframes exist (fast path).
23
+ */
24
+ export declare function mergeKeyframes(local: Record<string, KeyframesSteps> | null, global: Record<string, KeyframesSteps> | null): Record<string, KeyframesSteps> | null;
25
+ /**
26
+ * Get merged keyframes for styles (local + global).
27
+ * Returns null if no keyframes defined anywhere (fast path).
28
+ */
29
+ export declare function getKeyframesForStyles(styles: Styles): Record<string, KeyframesSteps> | null;
30
+ /**
31
+ * Extract all animation names referenced in styles.
32
+ * Scans 'animation' and 'animationName' properties including in state mappings.
33
+ * Returns empty set if no animation properties found (fast path).
34
+ */
35
+ export declare function extractAnimationNamesFromStyles(styles: Styles): Set<string>;
36
+ /**
37
+ * Replace animation names in CSS declarations with injected names.
38
+ * Optimized to avoid regex creation - uses simple string replacement.
39
+ *
40
+ * @param declarations CSS declarations string
41
+ * @param nameMap Map from original name to injected name (only contains names that differ)
42
+ * @returns Updated declarations string
43
+ */
44
+ export declare function replaceAnimationNames(declarations: string, nameMap: Map<string, string>): string;
45
+ /**
46
+ * Filter keyframes to only those that are actually used.
47
+ * Returns null if no keyframes are used (fast path).
48
+ */
49
+ export declare function filterUsedKeyframes(keyframes: Record<string, KeyframesSteps> | null, usedNames: Set<string>): Record<string, KeyframesSteps> | null;
@@ -7,5 +7,9 @@ export declare class StyleParser {
7
7
  setFuncs(funcs: Required<ParserOptions>['funcs']): void;
8
8
  setUnits(units: Required<ParserOptions>['units']): void;
9
9
  updateOptions(patch: Partial<ParserOptions>): void;
10
+ /**
11
+ * Get the current units configuration.
12
+ */
13
+ getUnits(): ParserOptions['units'];
10
14
  }
11
15
  export type { StyleDetails, ProcessedStyle } from './types';
@@ -4,6 +4,7 @@ export declare enum Bucket {
4
4
  Mod = 2
5
5
  }
6
6
  export interface StyleDetails {
7
+ input: string;
7
8
  output: string;
8
9
  mods: string[];
9
10
  values: string[];
@@ -0,0 +1,243 @@
1
+ /**
2
+ * ConditionNode Types and Helpers
3
+ *
4
+ * Core data structures for representing style conditions as an abstract syntax tree.
5
+ * Used throughout the pipeline for parsing, simplification, and CSS generation.
6
+ */
7
+ /**
8
+ * Base interface for all state conditions (leaf nodes)
9
+ */
10
+ interface BaseStateCondition {
11
+ kind: 'state';
12
+ negated: boolean;
13
+ raw: string;
14
+ uniqueId: string;
15
+ }
16
+ /**
17
+ * Modifier condition: [data-attr] or [data-attr="value"]
18
+ */
19
+ export interface ModifierCondition extends BaseStateCondition {
20
+ type: 'modifier';
21
+ attribute: string;
22
+ value?: string;
23
+ operator?: '=' | '^=' | '$=' | '*=';
24
+ }
25
+ /**
26
+ * Pseudo-class condition: :hover, :focus-visible
27
+ */
28
+ export interface PseudoCondition extends BaseStateCondition {
29
+ type: 'pseudo';
30
+ pseudo: string;
31
+ }
32
+ /**
33
+ * Numeric bound for dimension queries
34
+ */
35
+ export interface NumericBound {
36
+ value: string;
37
+ valueNumeric: number | null;
38
+ inclusive: boolean;
39
+ }
40
+ /**
41
+ * Media query condition
42
+ */
43
+ export interface MediaCondition extends BaseStateCondition {
44
+ type: 'media';
45
+ subtype: 'dimension' | 'feature' | 'type';
46
+ dimension?: 'width' | 'height' | 'inline-size' | 'block-size';
47
+ lowerBound?: NumericBound;
48
+ upperBound?: NumericBound;
49
+ feature?: string;
50
+ featureValue?: string;
51
+ mediaType?: 'print' | 'screen' | 'all' | 'speech';
52
+ }
53
+ /**
54
+ * Container query condition
55
+ */
56
+ export interface ContainerCondition extends BaseStateCondition {
57
+ type: 'container';
58
+ subtype: 'dimension' | 'style';
59
+ containerName?: string;
60
+ dimension?: 'width' | 'height' | 'inline-size' | 'block-size';
61
+ lowerBound?: NumericBound;
62
+ upperBound?: NumericBound;
63
+ property?: string;
64
+ propertyValue?: string;
65
+ }
66
+ /**
67
+ * Root state condition: @root(theme=dark)
68
+ */
69
+ export interface RootCondition extends BaseStateCondition {
70
+ type: 'root';
71
+ selector: string;
72
+ }
73
+ /**
74
+ * Own state condition: @own(hovered)
75
+ */
76
+ export interface OwnCondition extends BaseStateCondition {
77
+ type: 'own';
78
+ innerCondition: ConditionNode;
79
+ }
80
+ /**
81
+ * Starting style condition: @starting
82
+ */
83
+ export interface StartingCondition extends BaseStateCondition {
84
+ type: 'starting';
85
+ }
86
+ /**
87
+ * Supports query condition: @supports(display: grid), @supports($, :has(*))
88
+ */
89
+ export interface SupportsCondition extends BaseStateCondition {
90
+ type: 'supports';
91
+ subtype: 'feature' | 'selector';
92
+ condition: string;
93
+ }
94
+ /**
95
+ * Union of all state condition types
96
+ */
97
+ export type StateCondition = ModifierCondition | PseudoCondition | MediaCondition | ContainerCondition | RootCondition | OwnCondition | StartingCondition | SupportsCondition;
98
+ /**
99
+ * Compound node: combines conditions with AND/OR
100
+ */
101
+ export interface CompoundCondition {
102
+ kind: 'compound';
103
+ operator: 'AND' | 'OR';
104
+ children: ConditionNode[];
105
+ }
106
+ /**
107
+ * True condition (matches everything)
108
+ */
109
+ export interface TrueCondition {
110
+ kind: 'true';
111
+ }
112
+ /**
113
+ * False condition (matches nothing - skip this rule)
114
+ */
115
+ export interface FalseCondition {
116
+ kind: 'false';
117
+ }
118
+ /**
119
+ * Union of all condition node types
120
+ */
121
+ export type ConditionNode = StateCondition | CompoundCondition | TrueCondition | FalseCondition;
122
+ /**
123
+ * Create a TRUE condition (matches everything)
124
+ */
125
+ export declare function trueCondition(): TrueCondition;
126
+ /**
127
+ * Create a FALSE condition (matches nothing)
128
+ */
129
+ export declare function falseCondition(): FalseCondition;
130
+ /**
131
+ * Create an AND compound condition
132
+ */
133
+ export declare function and(...children: ConditionNode[]): ConditionNode;
134
+ /**
135
+ * Create an OR compound condition
136
+ */
137
+ export declare function or(...children: ConditionNode[]): ConditionNode;
138
+ /**
139
+ * Negate a condition
140
+ */
141
+ export declare function not(node: ConditionNode): ConditionNode;
142
+ /**
143
+ * Check if a condition is a compound condition
144
+ */
145
+ export declare function isCompoundCondition(node: ConditionNode): node is CompoundCondition;
146
+ /**
147
+ * Generate a normalized unique ID for a modifier condition
148
+ */
149
+ export declare function modifierUniqueId(attribute: string, value?: string, operator?: string, negated?: boolean): string;
150
+ /**
151
+ * Generate a normalized unique ID for a pseudo condition
152
+ */
153
+ export declare function pseudoUniqueId(pseudo: string, negated?: boolean): string;
154
+ /**
155
+ * Generate a normalized unique ID for a media condition
156
+ */
157
+ export declare function mediaUniqueId(subtype: 'dimension' | 'feature' | 'type', props: {
158
+ dimension?: string;
159
+ lowerBound?: NumericBound;
160
+ upperBound?: NumericBound;
161
+ feature?: string;
162
+ featureValue?: string;
163
+ mediaType?: string;
164
+ }, negated?: boolean): string;
165
+ /**
166
+ * Generate a normalized unique ID for a container condition
167
+ */
168
+ export declare function containerUniqueId(subtype: 'dimension' | 'style', props: {
169
+ containerName?: string;
170
+ dimension?: string;
171
+ lowerBound?: NumericBound;
172
+ upperBound?: NumericBound;
173
+ property?: string;
174
+ propertyValue?: string;
175
+ }, negated?: boolean): string;
176
+ /**
177
+ * Generate a normalized unique ID for a root condition
178
+ */
179
+ export declare function rootUniqueId(selector: string, negated?: boolean): string;
180
+ /**
181
+ * Generate a normalized unique ID for an own condition
182
+ */
183
+ export declare function ownUniqueId(innerUniqueId: string, negated?: boolean): string;
184
+ /**
185
+ * Generate a normalized unique ID for a starting condition
186
+ */
187
+ export declare function startingUniqueId(negated?: boolean): string;
188
+ /**
189
+ * Generate a normalized unique ID for a supports condition
190
+ */
191
+ export declare function supportsUniqueId(subtype: 'feature' | 'selector', condition: string, negated?: boolean): string;
192
+ /**
193
+ * Create a modifier condition
194
+ */
195
+ export declare function createModifierCondition(attribute: string, value?: string, operator?: '=' | '^=' | '$=' | '*=', negated?: boolean, raw?: string): ModifierCondition;
196
+ /**
197
+ * Create a pseudo condition
198
+ */
199
+ export declare function createPseudoCondition(pseudo: string, negated?: boolean, raw?: string): PseudoCondition;
200
+ /**
201
+ * Create a media dimension condition
202
+ */
203
+ export declare function createMediaDimensionCondition(dimension: 'width' | 'height' | 'inline-size' | 'block-size', lowerBound?: NumericBound, upperBound?: NumericBound, negated?: boolean, raw?: string): MediaCondition;
204
+ /**
205
+ * Create a media feature condition
206
+ */
207
+ export declare function createMediaFeatureCondition(feature: string, featureValue?: string, negated?: boolean, raw?: string): MediaCondition;
208
+ /**
209
+ * Create a media type condition
210
+ */
211
+ export declare function createMediaTypeCondition(mediaType: 'print' | 'screen' | 'all' | 'speech', negated?: boolean, raw?: string): MediaCondition;
212
+ /**
213
+ * Create a container dimension condition
214
+ */
215
+ export declare function createContainerDimensionCondition(dimension: 'width' | 'height' | 'inline-size' | 'block-size', lowerBound?: NumericBound, upperBound?: NumericBound, containerName?: string, negated?: boolean, raw?: string): ContainerCondition;
216
+ /**
217
+ * Create a container style condition
218
+ */
219
+ export declare function createContainerStyleCondition(property: string, propertyValue?: string, containerName?: string, negated?: boolean, raw?: string): ContainerCondition;
220
+ /**
221
+ * Create a root condition
222
+ */
223
+ export declare function createRootCondition(selector: string, negated?: boolean, raw?: string): RootCondition;
224
+ /**
225
+ * Create an own condition
226
+ */
227
+ export declare function createOwnCondition(innerCondition: ConditionNode, negated?: boolean, raw?: string): OwnCondition;
228
+ /**
229
+ * Create a starting condition
230
+ */
231
+ export declare function createStartingCondition(negated?: boolean, raw?: string): StartingCondition;
232
+ /**
233
+ * Create a supports condition
234
+ *
235
+ * @param subtype 'feature' for @supports(display: grid), 'selector' for @supports($, :has(*))
236
+ * @param condition The condition string (e.g., "display: grid" or ":has(*)")
237
+ */
238
+ export declare function createSupportsCondition(subtype: 'feature' | 'selector', condition: string, negated?: boolean, raw?: string): SupportsCondition;
239
+ /**
240
+ * Get the unique ID for any condition node
241
+ */
242
+ export declare function getConditionUniqueId(node: ConditionNode): string;
243
+ export {};
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Exclusive Condition Builder
3
+ *
4
+ * Transforms parsed style entries into exclusive conditions.
5
+ * Each entry's condition is ANDed with the negation of all higher-priority conditions,
6
+ * ensuring exactly one condition matches at any given time.
7
+ */
8
+ import { StyleValue } from '../utils/styles';
9
+ import { ConditionNode } from './conditions';
10
+ /**
11
+ * Parsed style entry with condition
12
+ */
13
+ export interface ParsedStyleEntry {
14
+ styleKey: string;
15
+ stateKey: string;
16
+ value: StyleValue;
17
+ condition: ConditionNode;
18
+ priority: number;
19
+ }
20
+ /**
21
+ * Style entry with exclusive condition
22
+ */
23
+ export interface ExclusiveStyleEntry extends ParsedStyleEntry {
24
+ exclusiveCondition: ConditionNode;
25
+ }
26
+ /**
27
+ * Build exclusive conditions for a list of parsed style entries.
28
+ *
29
+ * The entries should be ordered by priority (highest priority first).
30
+ *
31
+ * For each entry, we compute:
32
+ * exclusiveCondition = condition & !prior[0] & !prior[1] & ...
33
+ *
34
+ * This ensures exactly one condition matches at any time.
35
+ *
36
+ * Example:
37
+ * Input (ordered highest to lowest priority):
38
+ * A: value1 (priority 2)
39
+ * B: value2 (priority 1)
40
+ * C: value3 (priority 0)
41
+ *
42
+ * Output:
43
+ * A: A
44
+ * B: B & !A
45
+ * C: C & !A & !B
46
+ *
47
+ * @param entries Parsed style entries ordered by priority (highest first)
48
+ * @returns Entries with exclusive conditions, filtered to remove impossible ones
49
+ */
50
+ export declare function buildExclusiveConditions(entries: ParsedStyleEntry[]): ExclusiveStyleEntry[];
51
+ /**
52
+ * Parse style entries from a value mapping object.
53
+ *
54
+ * @param styleKey The style key (e.g., 'padding')
55
+ * @param valueMap The value mapping { '': '2x', 'compact': '1x', '@media(w < 768px)': '0.5x' }
56
+ * @param parseCondition Function to parse state keys into conditions
57
+ * @returns Parsed entries ordered by priority (highest first)
58
+ */
59
+ export declare function parseStyleEntries(styleKey: string, valueMap: Record<string, StyleValue>, parseCondition: (stateKey: string) => ConditionNode): ParsedStyleEntry[];
60
+ /**
61
+ * Check if a value is a style value mapping (object with state keys)
62
+ */
63
+ export declare function isValueMapping(value: StyleValue | Record<string, StyleValue>): value is Record<string, StyleValue>;
64
+ /**
65
+ * Expand OR conditions in parsed entries into multiple exclusive entries.
66
+ *
67
+ * For an entry with condition `A | B | C`, this creates 3 entries:
68
+ * - condition: A
69
+ * - condition: B & !A
70
+ * - condition: C & !A & !B
71
+ *
72
+ * This ensures OR branches are mutually exclusive BEFORE the main
73
+ * exclusive condition building pass.
74
+ *
75
+ * @param entries Parsed entries (may contain OR conditions)
76
+ * @returns Expanded entries with OR branches made exclusive
77
+ */
78
+ export declare function expandOrConditions(entries: ParsedStyleEntry[]): ParsedStyleEntry[];
79
+ /**
80
+ * Expand OR conditions in exclusive entries AFTER buildExclusiveConditions.
81
+ *
82
+ * This handles ORs that arise from De Morgan expansion during negation:
83
+ * !(A & B) = !A | !B
84
+ *
85
+ * These ORs need to be made exclusive to avoid overlapping CSS rules:
86
+ * !A | !B → !A | (A & !B)
87
+ *
88
+ * This is logically equivalent but ensures each branch has proper context.
89
+ *
90
+ * Example:
91
+ * Input: { "": V1, "@supports(...) & :has()": V2 }
92
+ * V2's exclusive = @supports & :has
93
+ * V1's exclusive = !(@supports & :has) = !@supports | !:has
94
+ *
95
+ * Without this fix: V1 gets two rules:
96
+ * - @supports (not ...) → V1 ✓
97
+ * - :not(:has()) → V1 ✗ (missing @supports context!)
98
+ *
99
+ * With this fix: V1 gets two exclusive rules:
100
+ * - @supports (not ...) → V1 ✓
101
+ * - @supports (...) { :not(:has()) } → V1 ✓ (proper context!)
102
+ */
103
+ export declare function expandExclusiveOrs(entries: ExclusiveStyleEntry[]): ExclusiveStyleEntry[];