@cube-dev/ui-kit 0.74.2 → 0.75.0

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 (510) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/GlobalStyles.js +10 -15
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +25 -24
  20. package/es/components/Item.js +1 -1
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +2 -2
  23. package/es/components/actions/Action/Action.js +15 -19
  24. package/es/components/actions/Button/Button.js +2 -1
  25. package/es/components/actions/Button/index.js +1 -1
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  27. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/es/components/actions/CommandMenu/index.js +1 -1
  29. package/es/components/actions/CommandMenu/styled.js +1 -1
  30. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  31. package/es/components/actions/ItemButton/index.js +1 -1
  32. package/es/components/actions/Menu/Menu.js +1 -1
  33. package/es/components/actions/Menu/MenuItem.js +3 -8
  34. package/es/components/actions/Menu/MenuSection.js +1 -1
  35. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  36. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  37. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  38. package/es/components/actions/Menu/context.js +1 -1
  39. package/es/components/actions/Menu/index.js +1 -1
  40. package/es/components/actions/Menu/styled.js +1 -1
  41. package/es/components/actions/index.js +1 -1
  42. package/es/components/actions/use-action.js +1 -1
  43. package/es/components/actions/use-anchored-menu.js +1 -1
  44. package/es/components/actions/use-context-menu.js +1 -1
  45. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  46. package/es/components/content/Alert/Alert.js +1 -1
  47. package/es/components/content/Alert/index.js +1 -1
  48. package/es/components/content/Alert/types.js +1 -1
  49. package/es/components/content/Alert/use-alert.js +1 -1
  50. package/es/components/content/Avatar/Avatar.js +1 -1
  51. package/es/components/content/Badge/Badge.js +1 -1
  52. package/es/components/content/Card/Card.js +1 -1
  53. package/es/components/content/Content.js +1 -1
  54. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  55. package/es/components/content/CopyPasteBlock/index.js +1 -1
  56. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  57. package/es/components/content/CopySnippet/index.js +1 -1
  58. package/es/components/content/Divider.js +1 -1
  59. package/es/components/content/Footer.js +1 -1
  60. package/es/components/content/Header.js +1 -1
  61. package/es/components/content/HotKeys/HotKeys.js +1 -1
  62. package/es/components/content/HotKeys/index.js +1 -1
  63. package/es/components/content/ItemBase/ItemBase.js +19 -15
  64. package/es/components/content/ItemBase/index.js +1 -1
  65. package/es/components/content/List/SectionHeading.js +1 -1
  66. package/es/components/content/List/index.js +1 -1
  67. package/es/components/content/Paragraph.js +1 -1
  68. package/es/components/content/Placeholder/Placeholder.js +46 -41
  69. package/es/components/content/PrismCode/PrismCode.js +1 -1
  70. package/es/components/content/PrismCode/prismSetup.js +1 -1
  71. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  72. package/es/components/content/Result/Result.js +1 -1
  73. package/es/components/content/Skeleton/Skeleton.js +1 -1
  74. package/es/components/content/Tag/Tag.js +1 -1
  75. package/es/components/content/Text.js +3 -3
  76. package/es/components/content/Title.js +3 -3
  77. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  78. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  79. package/es/components/fields/Checkbox/context.js +1 -1
  80. package/es/components/fields/Checkbox/index.js +1 -1
  81. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  82. package/es/components/fields/ComboBox/index.js +1 -1
  83. package/es/components/fields/DatePicker/DateInput.js +1 -1
  84. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  85. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  86. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  87. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  88. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  89. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  90. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  91. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  92. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  93. package/es/components/fields/DatePicker/index.js +1 -1
  94. package/es/components/fields/DatePicker/intl.js +1 -1
  95. package/es/components/fields/DatePicker/parseDate.js +1 -1
  96. package/es/components/fields/DatePicker/props.js +1 -1
  97. package/es/components/fields/DatePicker/types.js +1 -1
  98. package/es/components/fields/DatePicker/utils.js +1 -1
  99. package/es/components/fields/FileInput/FileInput.js +1 -1
  100. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  101. package/es/components/fields/FilterListBox/index.js +1 -1
  102. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  103. package/es/components/fields/FilterPicker/index.js +1 -1
  104. package/es/components/fields/Input/Input.js +1 -1
  105. package/es/components/fields/Input/index.js +1 -1
  106. package/es/components/fields/ListBox/ListBox.js +1 -1
  107. package/es/components/fields/ListBox/index.js +1 -1
  108. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  109. package/es/components/fields/NumberInput/StepButton.js +1 -1
  110. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  111. package/es/components/fields/RadioGroup/Radio.js +2 -2
  112. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  113. package/es/components/fields/RadioGroup/context.js +1 -1
  114. package/es/components/fields/RadioGroup/index.js +1 -1
  115. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  116. package/es/components/fields/SearchInput/index.js +1 -1
  117. package/es/components/fields/Select/Select.js +1 -1
  118. package/es/components/fields/Select/index.js +1 -1
  119. package/es/components/fields/Slider/Gradation.js +1 -1
  120. package/es/components/fields/Slider/Header.js +1 -1
  121. package/es/components/fields/Slider/RangeSlider.js +1 -1
  122. package/es/components/fields/Slider/Slider.js +1 -1
  123. package/es/components/fields/Slider/SliderBase.js +1 -1
  124. package/es/components/fields/Slider/SliderInput.js +1 -1
  125. package/es/components/fields/Slider/SliderThumb.js +1 -1
  126. package/es/components/fields/Slider/SliderTrack.js +1 -1
  127. package/es/components/fields/Slider/elements.js +1 -1
  128. package/es/components/fields/Slider/index.js +1 -1
  129. package/es/components/fields/Slider/types.js +1 -1
  130. package/es/components/fields/Switch/Switch.js +1 -1
  131. package/es/components/fields/Switch/index.js +1 -1
  132. package/es/components/fields/TextArea/TextArea.js +1 -1
  133. package/es/components/fields/TextArea/index.js +1 -1
  134. package/es/components/fields/TextInput/TextInput.js +1 -1
  135. package/es/components/fields/TextInput/TextInputBase.js +3 -2
  136. package/es/components/fields/TextInput/index.js +1 -1
  137. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  138. package/es/components/fields/TextInputMapper/index.js +1 -1
  139. package/es/components/fields/index.js +1 -1
  140. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  141. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  142. package/es/components/form/FieldWrapper/index.js +1 -1
  143. package/es/components/form/FieldWrapper/types.js +1 -1
  144. package/es/components/form/Form/Field.js +1 -1
  145. package/es/components/form/Form/Form.js +1 -1
  146. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  147. package/es/components/form/Form/ResetButton/index.js +1 -1
  148. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  149. package/es/components/form/Form/SubmitButton/index.js +1 -1
  150. package/es/components/form/Form/SubmitError.js +1 -1
  151. package/es/components/form/Form/index.js +1 -1
  152. package/es/components/form/Form/types.js +1 -1
  153. package/es/components/form/Form/use-field/index.js +1 -1
  154. package/es/components/form/Form/use-field/types.js +1 -1
  155. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  156. package/es/components/form/Form/use-field/use-field.js +1 -1
  157. package/es/components/form/Form/use-form.js +1 -1
  158. package/es/components/form/Form/validation.js +1 -1
  159. package/es/components/form/Label.js +1 -1
  160. package/es/components/form/index.js +1 -1
  161. package/es/components/form/wrapper.js +1 -1
  162. package/es/components/layout/Flex.js +1 -1
  163. package/es/components/layout/Flow.js +1 -1
  164. package/es/components/layout/Grid.js +1 -1
  165. package/es/components/layout/Panel.js +1 -1
  166. package/es/components/layout/Prefix.js +1 -1
  167. package/es/components/layout/ResizablePanel.js +1 -1
  168. package/es/components/layout/Space.js +1 -1
  169. package/es/components/layout/Suffix.js +1 -1
  170. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  171. package/es/components/navigation/Link/Link.js +1 -1
  172. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  173. package/es/components/organisms/Modal/Modal.js +59 -68
  174. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  175. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  176. package/es/components/other/Calendar/Calendar.js +1 -1
  177. package/es/components/other/Calendar/CalendarCell.js +1 -1
  178. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  179. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  180. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  181. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  182. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  183. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  184. package/es/components/overlays/AlertDialog/index.js +1 -1
  185. package/es/components/overlays/AlertDialog/types.js +1 -1
  186. package/es/components/overlays/Dialog/Dialog.js +1 -1
  187. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  188. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  189. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  190. package/es/components/overlays/Dialog/context.js +1 -1
  191. package/es/components/overlays/Dialog/index.js +1 -1
  192. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  193. package/es/components/overlays/Modal/Modal.js +1 -1
  194. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  195. package/es/components/overlays/Modal/Overlay.js +1 -1
  196. package/es/components/overlays/Modal/Popover.js +1 -1
  197. package/es/components/overlays/Modal/Tray.js +1 -1
  198. package/es/components/overlays/Modal/Underlay.js +1 -1
  199. package/es/components/overlays/Modal/index.js +1 -1
  200. package/es/components/overlays/Modal/types.js +1 -1
  201. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  202. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  203. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  204. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  205. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  206. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  207. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  211. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  212. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  213. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  214. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  215. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  216. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  217. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  218. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  219. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  220. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  221. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  222. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  223. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  224. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  225. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  226. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  227. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  228. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  229. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  230. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  231. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  232. package/es/components/overlays/NewNotifications/index.js +1 -1
  233. package/es/components/overlays/NewNotifications/types.js +1 -1
  234. package/es/components/overlays/Notification/Notification.js +1 -1
  235. package/es/components/overlays/OverlayWrapper.js +1 -1
  236. package/es/components/overlays/Toasts/Toast.js +1 -1
  237. package/es/components/overlays/Toasts/index.js +1 -1
  238. package/es/components/overlays/Toasts/types.js +1 -1
  239. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  240. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  241. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  242. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  243. package/es/components/overlays/Tooltip/context.js +1 -1
  244. package/es/components/overlays/Tooltip/index.js +1 -1
  245. package/es/components/portal/Portal.js +1 -1
  246. package/es/components/portal/PortalProvider.js +1 -1
  247. package/es/components/portal/index.js +1 -1
  248. package/es/components/portal/types.js +1 -1
  249. package/es/components/portal/usePortal.js +1 -1
  250. package/es/components/shared/InvalidIcon.js +1 -1
  251. package/es/components/shared/ValidIcon.js +1 -1
  252. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  253. package/es/components/status/LoadingAnimation/index.js +1 -1
  254. package/es/components/status/Spin/Cube.js +1 -1
  255. package/es/components/status/Spin/InternalSpinner.js +1 -1
  256. package/es/components/status/Spin/Spin.js +1 -1
  257. package/es/components/status/Spin/SpinsContainer.js +1 -1
  258. package/es/components/status/Spin/index.js +1 -1
  259. package/es/components/status/Spin/types.js +1 -1
  260. package/es/components/status/index.js +1 -1
  261. package/es/data/item-themes.js +1 -1
  262. package/es/data/themes.js +1 -1
  263. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  264. package/es/icons/AdjustmentsIcon.js +1 -1
  265. package/es/icons/AiIcon.js +1 -1
  266. package/es/icons/AreaChartIcon.js +1 -1
  267. package/es/icons/BackwardIcon.js +1 -1
  268. package/es/icons/BarChartIcon.js +1 -1
  269. package/es/icons/BellFilledIcon.js +1 -1
  270. package/es/icons/BellIcon.js +1 -1
  271. package/es/icons/BooleanIcon.js +1 -1
  272. package/es/icons/CalendarEditIcon.js +1 -1
  273. package/es/icons/CalendarIcon.js +1 -1
  274. package/es/icons/CaretDownIcon.js +1 -1
  275. package/es/icons/CaretUpIcon.js +1 -1
  276. package/es/icons/ChartAreaStackedIcon.js +1 -1
  277. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  278. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  279. package/es/icons/ChartBarGroupedIcon.js +1 -1
  280. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  281. package/es/icons/ChartBarLineIcon.js +1 -1
  282. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  283. package/es/icons/ChartBarStackedIcon.js +1 -1
  284. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  285. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  286. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  287. package/es/icons/ChartBoxPlotIcon.js +1 -1
  288. package/es/icons/ChartBubbleIcon.js +1 -1
  289. package/es/icons/ChartDonut2Icon.js +1 -1
  290. package/es/icons/ChartFunnelIcon.js +1 -1
  291. package/es/icons/ChartKPIIcon.js +1 -1
  292. package/es/icons/ChartPie2Icon.js +1 -1
  293. package/es/icons/ChartScatterIcon.js +1 -1
  294. package/es/icons/CheckCircleFilledIcon.js +1 -1
  295. package/es/icons/CheckCircleIcon.js +1 -1
  296. package/es/icons/CheckIcon.js +1 -1
  297. package/es/icons/CircleFilledIcon.js +1 -1
  298. package/es/icons/ClearIcon.js +1 -1
  299. package/es/icons/CloseCircleFilledIcon.js +1 -1
  300. package/es/icons/CloseCircleIcon.js +1 -1
  301. package/es/icons/CloseIcon.js +1 -1
  302. package/es/icons/CodeIcon.js +1 -1
  303. package/es/icons/CopyIcon.js +1 -1
  304. package/es/icons/CountIcon.js +1 -1
  305. package/es/icons/CubeIcon.js +1 -1
  306. package/es/icons/DangerIcon.js +1 -1
  307. package/es/icons/DashboardIcon.js +1 -1
  308. package/es/icons/DatabaseIcon.js +1 -1
  309. package/es/icons/DirectionIcon.js +1 -1
  310. package/es/icons/DonutIcon.js +1 -1
  311. package/es/icons/DownIcon.js +1 -1
  312. package/es/icons/EditIcon.js +1 -1
  313. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  314. package/es/icons/ExclamationCircleIcon.js +1 -1
  315. package/es/icons/ExclamationIcon.js +1 -1
  316. package/es/icons/EyeIcon.js +1 -1
  317. package/es/icons/EyeInvisibleIcon.js +1 -1
  318. package/es/icons/FilterIcon.js +1 -1
  319. package/es/icons/FolderFilledIcon.js +1 -1
  320. package/es/icons/FolderIcon.js +1 -1
  321. package/es/icons/FolderOpenFilledIcon.js +1 -1
  322. package/es/icons/FolderOpenIcon.js +1 -1
  323. package/es/icons/ForwardIcon.js +1 -1
  324. package/es/icons/HierarchyIcon.js +1 -1
  325. package/es/icons/Icon.js +1 -1
  326. package/es/icons/InfoCircleIcon.js +1 -1
  327. package/es/icons/InfoIcon.js +1 -1
  328. package/es/icons/KeyIcon.js +1 -1
  329. package/es/icons/LeftIcon.js +1 -1
  330. package/es/icons/LineChartIcon.js +1 -1
  331. package/es/icons/LoadingIcon.js +1 -1
  332. package/es/icons/LockFilledIcon.js +1 -1
  333. package/es/icons/LockIcon.js +1 -1
  334. package/es/icons/MoreIcon.js +1 -1
  335. package/es/icons/NotAllowedIcon.js +1 -1
  336. package/es/icons/NumberIcon.js +1 -1
  337. package/es/icons/PauseCircleFilledIcon.js +1 -1
  338. package/es/icons/PauseCircleIcon.js +1 -1
  339. package/es/icons/PauseIcon.js +1 -1
  340. package/es/icons/PieChartIcon.js +1 -1
  341. package/es/icons/PlayCircleIcon.js +1 -1
  342. package/es/icons/PlayIcon.js +1 -1
  343. package/es/icons/PlusIcon.js +1 -1
  344. package/es/icons/ReloadIcon.js +1 -1
  345. package/es/icons/ReportIcon.js +1 -1
  346. package/es/icons/ReturnIcon.js +1 -1
  347. package/es/icons/RightIcon.js +1 -1
  348. package/es/icons/SchemeIcon.js +1 -1
  349. package/es/icons/SearchIcon.js +1 -1
  350. package/es/icons/SettingsIcon.js +1 -1
  351. package/es/icons/ShieldFilledIcon.js +1 -1
  352. package/es/icons/ShieldIcon.js +1 -1
  353. package/es/icons/SlashIcon.js +1 -1
  354. package/es/icons/SparklesIcon.js +1 -1
  355. package/es/icons/SqlIcon.js +1 -1
  356. package/es/icons/StatsIcon.js +1 -1
  357. package/es/icons/StopIcon.js +1 -1
  358. package/es/icons/StringIcon.js +1 -1
  359. package/es/icons/SwitchIcon.js +1 -1
  360. package/es/icons/TableIcon.js +1 -1
  361. package/es/icons/ThumbsDownIcon.js +1 -1
  362. package/es/icons/ThumbsUpIcon.js +1 -1
  363. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  364. package/es/icons/ThunderboltFilledIcon.js +1 -1
  365. package/es/icons/ThunderboltIcon.js +1 -1
  366. package/es/icons/TimeIcon.js +1 -1
  367. package/es/icons/UnlockIcon.js +1 -1
  368. package/es/icons/UpIcon.js +1 -1
  369. package/es/icons/UserGroupIcon.js +1 -1
  370. package/es/icons/UserIcon.js +1 -1
  371. package/es/icons/UserLockIcon.js +1 -1
  372. package/es/icons/ViewIcon.js +1 -1
  373. package/es/icons/WarningFilledIcon.js +1 -1
  374. package/es/icons/WarningIcon.js +1 -1
  375. package/es/icons/add-new-icon.js +1 -1
  376. package/es/icons/index.js +1 -1
  377. package/es/icons/wrap-icon.js +1 -1
  378. package/es/index.js +1 -1
  379. package/es/provider.js +1 -1
  380. package/es/providers/TrackingProvider.js +1 -1
  381. package/es/services/notification.js +1 -1
  382. package/es/shared/form.js +1 -1
  383. package/es/shared/index.js +1 -1
  384. package/es/stories/Form.legacy-stories.js +1 -1
  385. package/es/stories/FormFieldArgs.js +1 -1
  386. package/es/stories/Layout.stories.js +1 -1
  387. package/es/stories/Tasty.stories.js +1 -1
  388. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  389. package/es/stories/components/DialogFormApp.js +1 -1
  390. package/es/stories/components/StyledButton.js +1 -1
  391. package/es/stories/lists/baseProps.js +1 -2
  392. package/es/tasty/debug.js +906 -0
  393. package/es/tasty/index.js +3 -1
  394. package/es/tasty/injector/index.js +171 -0
  395. package/es/tasty/injector/injector.js +688 -0
  396. package/es/tasty/injector/sheet-manager.js +754 -0
  397. package/es/tasty/injector/types.js +10 -0
  398. package/es/tasty/parser/classify.js +1 -1
  399. package/es/tasty/parser/const.js +1 -1
  400. package/es/tasty/parser/lru.js +38 -2
  401. package/es/tasty/parser/parser.js +1 -1
  402. package/es/tasty/parser/tokenizer.js +1 -1
  403. package/es/tasty/parser/types.js +1 -1
  404. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  405. package/es/tasty/styles/align.js +1 -1
  406. package/es/tasty/styles/border.js +1 -1
  407. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  408. package/es/tasty/styles/color.js +8 -12
  409. package/es/tasty/styles/createStyle.js +19 -4
  410. package/es/tasty/styles/dimension.js +1 -1
  411. package/es/tasty/styles/display.js +1 -1
  412. package/es/tasty/styles/fade.js +1 -1
  413. package/es/tasty/styles/fill.js +6 -8
  414. package/es/tasty/styles/flow.js +1 -1
  415. package/es/tasty/styles/font.js +1 -1
  416. package/es/tasty/styles/fontStyle.js +1 -1
  417. package/es/tasty/styles/gap.js +1 -1
  418. package/es/tasty/styles/groupRadius.js +1 -1
  419. package/es/tasty/styles/height.js +1 -1
  420. package/es/tasty/styles/index.js +1 -1
  421. package/es/tasty/styles/inset.js +1 -1
  422. package/es/tasty/styles/justify.js +1 -1
  423. package/es/tasty/styles/list.js +1 -1
  424. package/es/tasty/styles/margin.js +1 -1
  425. package/es/tasty/styles/marginBlock.js +1 -1
  426. package/es/tasty/styles/marginInline.js +1 -1
  427. package/es/tasty/styles/outline.js +1 -1
  428. package/es/tasty/styles/padding.js +1 -1
  429. package/es/tasty/styles/paddingBlock.js +1 -1
  430. package/es/tasty/styles/paddingInline.js +1 -1
  431. package/es/tasty/styles/place.js +1 -1
  432. package/es/tasty/styles/predefined.js +1 -3
  433. package/es/tasty/styles/preset.js +1 -1
  434. package/es/tasty/styles/radius.js +1 -1
  435. package/es/tasty/styles/reset.js +40 -44
  436. package/es/tasty/styles/scrollbar.js +1 -1
  437. package/es/tasty/styles/shadow.js +1 -1
  438. package/es/tasty/styles/styledScrollbar.js +1 -1
  439. package/es/tasty/styles/transition.js +2 -1
  440. package/es/tasty/styles/types.js +1 -1
  441. package/es/tasty/styles/width.js +1 -1
  442. package/es/tasty/tasty.js +94 -20
  443. package/es/tasty/types.js +1 -1
  444. package/es/tasty/utils/cache-wrapper.js +1 -1
  445. package/es/tasty/utils/case-converter.js +1 -1
  446. package/es/tasty/utils/colors.js +1 -1
  447. package/es/tasty/utils/dotize.js +1 -1
  448. package/es/tasty/utils/filterBaseProps.js +1 -1
  449. package/es/tasty/utils/getDisplayName.js +1 -1
  450. package/es/tasty/utils/getModCombinations.js +26 -30
  451. package/es/tasty/utils/mergeStyles.js +1 -1
  452. package/es/tasty/utils/modAttrs.js +1 -1
  453. package/es/tasty/utils/renderStyles.js +670 -58
  454. package/es/tasty/utils/responsive.js +1 -7
  455. package/es/tasty/utils/string.js +1 -1
  456. package/es/tasty/utils/styles.js +62 -235
  457. package/es/tasty/utils/warnings.js +1 -1
  458. package/es/tokens.js +1 -12
  459. package/es/type-checks.js +1 -1
  460. package/es/utils/ResizeSensor.js +1 -1
  461. package/es/utils/modules.js +1 -1
  462. package/es/utils/promise.js +1 -1
  463. package/es/utils/random.js +1 -1
  464. package/es/utils/range.js +1 -1
  465. package/es/utils/react/Slots.js +1 -1
  466. package/es/utils/react/chain.js +1 -1
  467. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  468. package/es/utils/react/index.js +1 -1
  469. package/es/utils/react/interactions.js +1 -1
  470. package/es/utils/react/isTextOnly.js +1 -1
  471. package/es/utils/react/mapProps.js +1 -1
  472. package/es/utils/react/mergeProps.js +1 -1
  473. package/es/utils/react/nullableValue.js +1 -1
  474. package/es/utils/react/sharedStore.js +1 -1
  475. package/es/utils/react/useCombinedRefs.js +1 -1
  476. package/es/utils/react/useControlledFocusVisible.js +1 -1
  477. package/es/utils/react/useEventBus.js +1 -1
  478. package/es/utils/react/useId.js +1 -1
  479. package/es/utils/react/useIsDarwin.js +1 -1
  480. package/es/utils/react/useKeySymbols.js +1 -1
  481. package/es/utils/react/useLayoutEffect.js +1 -1
  482. package/es/utils/react/useQaProps.js +1 -1
  483. package/es/utils/react/useViewportSize.js +1 -1
  484. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  485. package/es/utils/transitions.js +1 -1
  486. package/es/utils/tree.js +1 -1
  487. package/es/utils/warnings.js +1 -1
  488. package/es/version.js +2 -2
  489. package/package.json +1 -1
  490. package/types/components/HiddenInput.d.ts +1 -3
  491. package/types/components/actions/Button/Button.d.ts +1 -0
  492. package/types/components/actions/Menu/styled.d.ts +702 -705
  493. package/types/components/actions/use-action.d.ts +1 -1
  494. package/types/components/content/List/SectionHeading.d.ts +234 -235
  495. package/types/components/fields/DatePicker/DatePickerElement.d.ts +234 -235
  496. package/types/tasty/debug.d.ts +250 -0
  497. package/types/tasty/index.d.ts +2 -0
  498. package/types/tasty/injector/index.d.ts +71 -0
  499. package/types/tasty/injector/injector.d.ts +109 -0
  500. package/types/tasty/injector/sheet-manager.d.ts +94 -0
  501. package/types/tasty/injector/types.d.ts +90 -0
  502. package/types/tasty/parser/lru.d.ts +5 -1
  503. package/types/tasty/styles/color.d.ts +3 -1
  504. package/types/tasty/styles/reset.d.ts +1 -2
  505. package/types/tasty/types.d.ts +0 -2
  506. package/types/tasty/utils/getModCombinations.d.ts +9 -1
  507. package/types/tasty/utils/renderStyles.d.ts +25 -7
  508. package/types/tasty/utils/responsive.d.ts +0 -1
  509. package/types/tasty/utils/styles.d.ts +6 -90
  510. package/types/tokens.d.ts +0 -11
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Debug utilities for inspecting tasty-generated CSS at runtime
3
+ */
4
+ /**
5
+ * Debug utilities for inspecting tasty styles in runtime applications
6
+ */
7
+ export declare const tastyDebug: {
8
+ /**
9
+ * Get CSS for a specific tasty class (e.g., 't24')
10
+ */
11
+ getCSSForClass(className: string): string;
12
+ /**
13
+ * Get CSS for multiple tasty classes
14
+ */
15
+ getCSSForClasses(classNames: string[]): string;
16
+ /**
17
+ * Log CSS for a specific tasty class (e.g., 't24') to console
18
+ */
19
+ logCSSForClass(className: string): void;
20
+ /**
21
+ * Log CSS for multiple tasty classes to console
22
+ */
23
+ logCSSForClasses(classNames: string[]): void;
24
+ /**
25
+ * Inspect an element by CSS selector and get its tasty CSS
26
+ */
27
+ inspectElement(selector: string): string;
28
+ /**
29
+ * Inspect a DOM element directly and get its tasty CSS
30
+ */
31
+ inspectDOMElement(element: Element): string;
32
+ /**
33
+ * Get all tasty CSS currently injected into the page
34
+ */
35
+ getAllCSS(): string;
36
+ /**
37
+ * Find all tasty classes used in the page (in DOM)
38
+ */
39
+ findAllTastyClasses(): string[];
40
+ /**
41
+ * Find all tasty classes that have styles in the stylesheet (used + unused)
42
+ */
43
+ findAllStyledClasses(): string[];
44
+ /**
45
+ * Get active vs cached class breakdown
46
+ */
47
+ getClassUsage(): {
48
+ activeClasses: string[];
49
+ cachedClasses: string[];
50
+ totalStyledClasses: string[];
51
+ };
52
+ /**
53
+ * Get a comprehensive summary of all tasty styles
54
+ */
55
+ getSummary(): {
56
+ activeClasses: string[];
57
+ cachedClasses: string[];
58
+ totalStyledClasses: string[];
59
+ activeCSSSize: number;
60
+ cachedCSSSize: number;
61
+ totalCSSSize: number;
62
+ activeCSS: string;
63
+ cachedCSS: string;
64
+ allCSS: string;
65
+ globalCSS: string;
66
+ globalCSSSize: number;
67
+ globalRuleCount: number;
68
+ metrics: any;
69
+ definedProperties: string[];
70
+ definedKeyframes: {
71
+ name: string;
72
+ refCount: number;
73
+ cssText?: string;
74
+ }[];
75
+ propertyCount: number;
76
+ keyframeCount: number;
77
+ cleanupSummary: {
78
+ enabled: boolean;
79
+ totalCleanups: number;
80
+ totalClassesDeleted: number;
81
+ totalCssDeleted: number;
82
+ totalRulesDeleted: number;
83
+ averageClassesPerCleanup: number;
84
+ averageCssPerCleanup: number;
85
+ averageRulesPerCleanup: number;
86
+ lastCleanup?: {
87
+ timestamp: number;
88
+ date: string;
89
+ classesDeleted: number;
90
+ cssSize: number;
91
+ rulesDeleted: number;
92
+ };
93
+ };
94
+ };
95
+ /**
96
+ * Helper to log CSS in a readable format
97
+ */
98
+ logCSS(css: string, title?: string): void;
99
+ /**
100
+ * Advanced inspection with detailed breakdown and statistics
101
+ */
102
+ inspect(target: string | Element): {
103
+ element: Element | null;
104
+ tastyClasses: string[];
105
+ css: string;
106
+ cssSize: number;
107
+ ruleCount: number;
108
+ breakdown: {
109
+ [className: string]: {
110
+ css: string;
111
+ cssSize: number;
112
+ ruleCount: number;
113
+ };
114
+ };
115
+ stats: {
116
+ totalClasses: number;
117
+ totalRules: number;
118
+ totalCSSSize: number;
119
+ averageRulesPerClass: number;
120
+ averageCSSPerClass: number;
121
+ };
122
+ };
123
+ /**
124
+ * Get CSS for active classes only
125
+ */
126
+ getActiveCSS(): string;
127
+ /**
128
+ * Get CSS for cached classes only
129
+ */
130
+ getCachedCSS(): string;
131
+ /**
132
+ * Get all defined @property custom properties
133
+ */
134
+ getDefinedProperties(): string[];
135
+ /**
136
+ * Get all defined keyframes
137
+ */
138
+ getDefinedKeyframes(): {
139
+ name: string;
140
+ refCount: number;
141
+ cssText?: string;
142
+ }[];
143
+ /**
144
+ * Check if a specific @property is defined
145
+ */
146
+ isPropertyDefined(propertyName: string): boolean;
147
+ /**
148
+ * Check if a specific keyframe is defined
149
+ */
150
+ isKeyframeDefined(keyframeName: string): boolean;
151
+ /**
152
+ * Get detailed cleanup statistics history
153
+ */
154
+ getCleanupHistory(): {
155
+ totalCleanups: number;
156
+ totalClassesDeleted: number;
157
+ totalCssDeleted: number;
158
+ totalRulesDeleted: number;
159
+ cleanupHistory: Array<{
160
+ timestamp: number;
161
+ date: string;
162
+ classesDeleted: number;
163
+ cssSize: number;
164
+ rulesDeleted: number;
165
+ }>;
166
+ };
167
+ /**
168
+ * Get cleanup statistics summary
169
+ */
170
+ getCleanupSummary(): {
171
+ enabled: boolean;
172
+ totalCleanups: number;
173
+ totalClassesDeleted: number;
174
+ totalCssDeleted: number;
175
+ totalRulesDeleted: number;
176
+ averageClassesPerCleanup: number;
177
+ averageCssPerCleanup: number;
178
+ averageRulesPerCleanup: number;
179
+ lastCleanup?: {
180
+ timestamp: number;
181
+ date: string;
182
+ classesDeleted: number;
183
+ cssSize: number;
184
+ rulesDeleted: number;
185
+ };
186
+ };
187
+ /**
188
+ * Log cleanup history to console in a readable format
189
+ */
190
+ logCleanupHistory(): void;
191
+ /**
192
+ * Get all global CSS rules (non-tasty class selectors)
193
+ */
194
+ getGlobalCSS(): string;
195
+ /**
196
+ * Log global CSS to console
197
+ */
198
+ logGlobalCSS(): void;
199
+ /**
200
+ * Get global CSS rules breakdown with detailed analysis
201
+ */
202
+ getGlobalCSSBreakdown(): {
203
+ globalRules: Array<{
204
+ selector: string;
205
+ declarations: string;
206
+ ruleCount: number;
207
+ }>;
208
+ totalRules: number;
209
+ totalCSSSize: number;
210
+ css: string;
211
+ selectors: {
212
+ elements: string[];
213
+ classes: string[];
214
+ ids: string[];
215
+ pseudoClasses: string[];
216
+ mediaQueries: string[];
217
+ keyframes: string[];
218
+ other: string[];
219
+ };
220
+ };
221
+ /**
222
+ * Log detailed global CSS breakdown
223
+ */
224
+ logGlobalCSSBreakdown(): void;
225
+ /**
226
+ * Helper to extract CSS rules from raw CSS text
227
+ */
228
+ extractCSSRules(css: string): Array<{
229
+ selector: string;
230
+ declarations: string;
231
+ }>;
232
+ /**
233
+ * Safe CSS parser that handles nested rules properly
234
+ */
235
+ parseCSSSafe(css: string, rules: Array<{
236
+ selector: string;
237
+ declarations: string;
238
+ }>): void;
239
+ /**
240
+ * Debug method to see raw CSS content and rule parsing
241
+ */
242
+ debugRawCSS(): void;
243
+ };
244
+ /**
245
+ * Install tastyDebug on window object for easy access in browser console
246
+ * Only in non-production environments
247
+ */
248
+ export declare function installGlobalDebug(options?: {
249
+ force?: boolean;
250
+ }): void;
@@ -11,6 +11,8 @@ export * from './providers/BreakpointsProvider';
11
11
  export * from './utils/mergeStyles';
12
12
  export * from './utils/warnings';
13
13
  export * from './utils/getDisplayName';
14
+ export * from './injector';
15
+ export * from './debug';
14
16
  export type { TastyProps, GlobalTastyProps, AllBasePropsWithMods, } from './tasty';
15
17
  export type { AllBaseProps, BaseProps, BaseStyleProps, DimensionStyleProps, ColorStyleProps, OuterStyleProps, PositionStyleProps, TextStyleProps, BlockStyleProps, ContainerStyleProps, BasePropsWithoutChildren, Props, FlowStyleProps, ShortGridStyles, GlobalStyledProps, TagName, } from './types';
16
18
  export type { StylesInterface, Styles, StylesWithoutSelectors, NoType, Selector, SuffixForSelector, NotSelector, } from './styles/types';
@@ -0,0 +1,71 @@
1
+ import { StyleResult } from '../utils/renderStyles';
2
+ import { StyleInjector } from './injector';
3
+ import { 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
+ /**
15
+ * Inject styles and return className with dispose function
16
+ */
17
+ export declare function inject(rules: StyleResult[], options?: {
18
+ root?: Document | ShadowRoot;
19
+ }): InjectResult;
20
+ /**
21
+ * Inject keyframes and return object with toString() and dispose()
22
+ */
23
+ export declare function keyframes(steps: import('./types').KeyframesSteps, nameOrOptions?: string | {
24
+ root?: Document | ShadowRoot;
25
+ name?: string;
26
+ }): import('./types').KeyframesResult;
27
+ /**
28
+ * Get CSS text from all sheets (for SSR)
29
+ */
30
+ export declare function getCssText(options?: {
31
+ root?: Document | ShadowRoot;
32
+ }): string;
33
+ /**
34
+ * Collect only CSS used by a rendered subtree (like jest-styled-components).
35
+ * Pass the container returned by render(...).
36
+ */
37
+ export declare function getCssTextForNode(node: ParentNode | Element | DocumentFragment, options?: {
38
+ root?: Document | ShadowRoot;
39
+ }): string;
40
+ /**
41
+ * Force cleanup of unused rules
42
+ */
43
+ export declare function cleanup(root?: Document | ShadowRoot): void;
44
+ /**
45
+ * Check if we're currently running in a test environment
46
+ */
47
+ export declare function getIsTestEnvironment(): boolean;
48
+ /**
49
+ * Get the global injector instance for debugging
50
+ */
51
+ export declare const injector: {
52
+ readonly instance: StyleInjector;
53
+ };
54
+ /**
55
+ * Destroy all resources and clean up
56
+ */
57
+ export declare function destroy(root?: Document | ShadowRoot): void;
58
+ /**
59
+ * Create a new isolated injector instance
60
+ */
61
+ export declare function createInjector(config?: Partial<StyleInjectorConfig>): StyleInjector;
62
+ /**
63
+ * Create a global style component like styled-components createGlobalStyle
64
+ * Returns a React component that injects global styles when mounted and cleans up when unmounted
65
+ */
66
+ export declare function createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): import('react').ComponentType<Props & {
67
+ root?: Document | ShadowRoot;
68
+ }>;
69
+ export type { StyleInjectorConfig, InjectResult, DisposeFunction, RuleInfo, SheetInfo, RootRegistry, StyleRule, KeyframesInfo, KeyframesResult, KeyframesSteps, KeyframesCacheEntry, UnusedRuleInfo, CacheMetrics, } from './types';
70
+ export { StyleInjector } from './injector';
71
+ export { SheetManager } from './sheet-manager';
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Style injector that works with structured style objects
3
+ * Eliminates CSS string parsing for better performance
4
+ */
5
+ import { StyleResult } from '../utils/renderStyles';
6
+ import { InjectResult, KeyframesResult, KeyframesSteps, StyleInjectorConfig } from './types';
7
+ import type { ComponentType } from 'react';
8
+ export declare class StyleInjector {
9
+ private sheetManager;
10
+ private config;
11
+ private cleanupScheduled;
12
+ constructor(config?: StyleInjectorConfig);
13
+ /**
14
+ * Inject styles from StyleResult objects
15
+ */
16
+ inject(rules: StyleResult[], options?: {
17
+ root?: Document | ShadowRoot;
18
+ }): InjectResult;
19
+ /**
20
+ * Extract className from rules (assumes first rule contains the base className)
21
+ */
22
+ private extractClassName;
23
+ /**
24
+ * Generate cache key from style rules with optimized deduplication
25
+ */
26
+ private generateCacheKey;
27
+ /**
28
+ * Dispose of a className
29
+ */
30
+ private dispose;
31
+ /**
32
+ * Cleanup unused rules
33
+ */
34
+ cleanup(root?: Document | ShadowRoot): void;
35
+ /**
36
+ * Force bulk cleanup of unused styles
37
+ */
38
+ forceBulkCleanup(root?: Document | ShadowRoot): void;
39
+ /**
40
+ * Get CSS text from all sheets (for SSR)
41
+ */
42
+ getCssText(options?: {
43
+ root?: Document | ShadowRoot;
44
+ }): string;
45
+ /**
46
+ * Get CSS only for the provided tasty classNames (e.g., ["t0","t3"])
47
+ */
48
+ getCssTextForClasses(classNames: Iterable<string>, options?: {
49
+ root?: Document | ShadowRoot;
50
+ }): string;
51
+ /**
52
+ * Get cache performance metrics
53
+ */
54
+ getMetrics(options?: {
55
+ root?: Document | ShadowRoot;
56
+ }): any;
57
+ /**
58
+ * Reset cache performance metrics
59
+ */
60
+ resetMetrics(options?: {
61
+ root?: Document | ShadowRoot;
62
+ }): void;
63
+ /**
64
+ * Force cleanup of unused styles (useful for memory pressure)
65
+ */
66
+ forceCleanupUnused(options?: {
67
+ root?: Document | ShadowRoot;
68
+ }): void;
69
+ /**
70
+ * Define a CSS @property custom property
71
+ * Example:
72
+ * @property --rotation { syntax: "<angle>"; inherits: false; initial-value: 45deg; }
73
+ * Note: No caching or dispose — this defines a global property.
74
+ */
75
+ property(name: string, options?: {
76
+ syntax?: string;
77
+ inherits?: boolean;
78
+ initialValue?: string | number;
79
+ root?: Document | ShadowRoot;
80
+ }): void;
81
+ /**
82
+ * Check whether a given @property name was already injected by this injector
83
+ */
84
+ isPropertyDefined(name: string, options?: {
85
+ root?: Document | ShadowRoot;
86
+ }): boolean;
87
+ /**
88
+ * Inject keyframes and return object with toString() and dispose()
89
+ */
90
+ keyframes(steps: KeyframesSteps, nameOrOptions?: string | {
91
+ root?: Document | ShadowRoot;
92
+ name?: string;
93
+ }): KeyframesResult;
94
+ /**
95
+ * Dispose keyframes
96
+ */
97
+ private disposeKeyframes;
98
+ /**
99
+ * Destroy all resources for a root
100
+ */
101
+ destroy(root?: Document | ShadowRoot): void;
102
+ /**
103
+ * Create a global style component like styled-components createGlobalStyle
104
+ * Returns a React component that injects global styles when mounted and cleans up when unmounted
105
+ */
106
+ createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): ComponentType<Props & {
107
+ root?: Document | ShadowRoot;
108
+ }>;
109
+ }
@@ -0,0 +1,94 @@
1
+ import { CacheMetrics, KeyframesInfo, KeyframesSteps, RootRegistry, RuleInfo, SheetInfo, StyleInjectorConfig, StyleRule } from './types';
2
+ export declare class SheetManager {
3
+ private rootRegistries;
4
+ private config;
5
+ constructor(config: StyleInjectorConfig);
6
+ /**
7
+ * Get or create registry for a root (Document or ShadowRoot)
8
+ */
9
+ getRegistry(root: Document | ShadowRoot): RootRegistry;
10
+ /**
11
+ * Create a new stylesheet for the registry
12
+ */
13
+ createSheet(registry: RootRegistry, root: Document | ShadowRoot): SheetInfo;
14
+ /**
15
+ * Create a style element and append to document
16
+ */
17
+ private createStyleElement;
18
+ /**
19
+ * Insert CSS rules as a single block
20
+ */
21
+ insertRule(registry: RootRegistry, flattenedRules: StyleRule[], className: string, root: Document | ShadowRoot): RuleInfo | null;
22
+ /**
23
+ * Insert global CSS rules
24
+ */
25
+ insertGlobalRule(registry: RootRegistry, flattenedRules: StyleRule[], className: string, root: Document | ShadowRoot): RuleInfo | null;
26
+ /**
27
+ * Delete a CSS rule from the sheet
28
+ */
29
+ deleteRule(registry: RootRegistry, ruleInfo: RuleInfo): void;
30
+ /**
31
+ * Find a sheet with available space or return null
32
+ */
33
+ private findAvailableSheet;
34
+ /**
35
+ * Find an available rule index in the sheet
36
+ */
37
+ findAvailableRuleIndex(sheet: SheetInfo): number;
38
+ /**
39
+ * Mark a ruleset as unused but keep it in the stylesheet
40
+ */
41
+ markAsUnused(registry: RootRegistry, className: string): void;
42
+ /**
43
+ * Restore a ruleset from unused styles
44
+ */
45
+ restoreFromUnused(registry: RootRegistry, className: string): RuleInfo | null;
46
+ /**
47
+ * Schedule bulk cleanup of all unused styles
48
+ */
49
+ private scheduleBulkCleanup;
50
+ /**
51
+ * Perform bulk cleanup of all unused styles
52
+ */
53
+ private performBulkCleanup;
54
+ /**
55
+ * Process the deletion queue for cleanup
56
+ */
57
+ processCleanupQueue(registry: RootRegistry): void;
58
+ /**
59
+ * Get total number of rules across all sheets
60
+ */
61
+ getTotalRuleCount(registry: RootRegistry): number;
62
+ /**
63
+ * Get CSS text from all sheets (for SSR)
64
+ */
65
+ getCssText(registry: RootRegistry): string;
66
+ /**
67
+ * Get cache performance metrics
68
+ */
69
+ getMetrics(registry: RootRegistry): CacheMetrics | null;
70
+ /**
71
+ * Reset cache performance metrics
72
+ */
73
+ resetMetrics(registry: RootRegistry): void;
74
+ /**
75
+ * Convert keyframes steps to CSS string
76
+ */
77
+ private stepsToCSS;
78
+ /**
79
+ * Insert keyframes rule
80
+ */
81
+ insertKeyframes(registry: RootRegistry, steps: KeyframesSteps, name: string, root: Document | ShadowRoot): KeyframesInfo | null;
82
+ /**
83
+ * Delete keyframes rule
84
+ */
85
+ deleteKeyframes(registry: RootRegistry, info: KeyframesInfo): void;
86
+ /**
87
+ * Mark keyframes as unused
88
+ */
89
+ markKeyframesAsUnused(registry: RootRegistry, name: string): void;
90
+ /**
91
+ * Clean up resources for a root
92
+ */
93
+ cleanup(root: Document | ShadowRoot): void;
94
+ }
@@ -0,0 +1,90 @@
1
+ export interface InjectResult {
2
+ className: string;
3
+ dispose: () => void;
4
+ }
5
+ export type DisposeFunction = () => void;
6
+ export interface StyleInjectorConfig {
7
+ nonce?: string;
8
+ maxRulesPerSheet?: number;
9
+ unusedStylesThreshold?: number;
10
+ bulkCleanupDelay?: number;
11
+ idleCleanup?: boolean;
12
+ collectMetrics?: boolean;
13
+ forceTextInjection?: boolean;
14
+ /** When false, avoid storing full cssText for each rule block to reduce memory. */
15
+ debugMode?: boolean;
16
+ }
17
+ export interface RuleInfo {
18
+ className: string;
19
+ ruleIndex: number;
20
+ sheetIndex: number;
21
+ cssText: string[];
22
+ /** Inclusive end index of the contiguous block of inserted rules for this className */
23
+ endRuleIndex?: number;
24
+ }
25
+ export interface SheetInfo {
26
+ sheet: HTMLStyleElement;
27
+ ruleCount: number;
28
+ holes: number[];
29
+ }
30
+ export interface UnusedRuleInfo {
31
+ ruleInfo: RuleInfo;
32
+ markedUnusedAt: number;
33
+ }
34
+ export interface CleanupStats {
35
+ timestamp: number;
36
+ classesDeleted: number;
37
+ cssSize: number;
38
+ rulesDeleted: number;
39
+ }
40
+ export interface CacheMetrics {
41
+ hits: number;
42
+ misses: number;
43
+ unusedHits: number;
44
+ bulkCleanups: number;
45
+ totalInsertions: number;
46
+ totalUnused: number;
47
+ stylesCleanedUp: number;
48
+ cleanupHistory: CleanupStats[];
49
+ startTime: number;
50
+ }
51
+ export interface RootRegistry {
52
+ sheets: SheetInfo[];
53
+ refCounts: Map<string, number>;
54
+ rules: Map<string, RuleInfo>;
55
+ unusedRules: Map<string, UnusedRuleInfo>;
56
+ /** Deduplication set of fully materialized CSS rules inserted into sheets */
57
+ ruleTextSet: Set<string>;
58
+ /** Scheduled bulk cleanup timeout */
59
+ bulkCleanupTimeout: ReturnType<typeof requestIdleCallback> | ReturnType<typeof setTimeout> | null;
60
+ /** Performance metrics (optional) */
61
+ metrics?: CacheMetrics;
62
+ /** Counter for generating sequential class names like t0, t1, t2... */
63
+ classCounter: number;
64
+ /** Keyframes cache by JSON.stringify(steps) -> entry */
65
+ keyframesCache: Map<string, KeyframesCacheEntry>;
66
+ /** Unused keyframes for cleanup */
67
+ unusedKeyframes: Map<string, UnusedRuleInfo>;
68
+ /** Counter for generating keyframes names like k0, k1, k2... */
69
+ keyframesCounter: number;
70
+ /** Set of injected @property names for tracking */
71
+ injectedProperties: Set<string>;
72
+ }
73
+ export type StyleRule = import('../utils/renderStyles').StyleResult;
74
+ export interface KeyframesInfo {
75
+ name: string;
76
+ sheetIndex: number;
77
+ ruleIndex: number;
78
+ cssText: string;
79
+ }
80
+ export type KeyframeStep = string | Record<string, string | number>;
81
+ export type KeyframesSteps = Record<string, KeyframeStep>;
82
+ export interface KeyframesResult {
83
+ toString(): string;
84
+ dispose: () => void;
85
+ }
86
+ export interface KeyframesCacheEntry {
87
+ name: string;
88
+ refCount: number;
89
+ info: KeyframesInfo;
90
+ }
@@ -3,9 +3,13 @@ export declare class Lru<K, V> {
3
3
  private map;
4
4
  private head;
5
5
  private tail;
6
- constructor(limit?: number);
6
+ private onEvict?;
7
+ constructor(limit?: number, onEvict?: (key: K, value: V) => void);
8
+ setOnEvict(fn?: (key: K, value: V) => void): void;
7
9
  get(key: K): V | undefined;
8
10
  set(key: K, value: V): void;
11
+ delete(key: K): void;
12
+ keys(): IterableIterator<K>;
9
13
  private touch;
10
14
  private evict;
11
15
  clear(): void;
@@ -1,6 +1,8 @@
1
1
  export declare function colorStyle({ color }: {
2
2
  color: any;
3
- }): any[] | "";
3
+ }): "" | {
4
+ color: any;
5
+ };
4
6
  export declare namespace colorStyle {
5
7
  var __lookupStyles: string[];
6
8
  }
@@ -1,7 +1,6 @@
1
- import { CSSMap } from '../utils/styles';
2
1
  export declare function resetStyle({ reset }: {
3
2
  reset: any;
4
- }): CSSMap[] | undefined;
3
+ }): any[] | undefined;
5
4
  export declare namespace resetStyle {
6
5
  var __lookupStyles: string[];
7
6
  }
@@ -32,8 +32,6 @@ export interface BasePropsWithoutChildren<K extends TagName = TagName> extends P
32
32
  isDisabled?: boolean;
33
33
  /** Plain css for the element */
34
34
  css?: string;
35
- /** The element name for using in style overriding */
36
- styleName?: string;
37
35
  /** The CSS style map */
38
36
  style?: CSSProperties | (CSSProperties & {
39
37
  [key: string]: string | number | null;
@@ -1 +1,9 @@
1
- export declare function getModCombinations(array: string[], allowEmpty?: boolean): any;
1
+ export type ConflictChecker = (combination: string[]) => boolean;
2
+ /**
3
+ * Efficient iterative combination generator with early pruning
4
+ * Generates combinations one by one and prunes branches early when conflicts are detected
5
+ * @param array - Array of mod strings to generate combinations from
6
+ * @param allowEmpty - Whether to include empty combination
7
+ * @param conflictChecker - Function to detect conflicting combinations (required)
8
+ */
9
+ export declare function getModCombinationsIterative(array: string[], allowEmpty?: boolean, conflictChecker?: ConflictChecker): string[][];