@cube-dev/ui-kit 0.74.3 → 0.76.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 (512) hide show
  1. package/CHANGELOG.md +28 -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 +9 -3
  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 +3 -7
  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 +3 -3
  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 +703 -0
  393. package/es/tasty/index.js +3 -1
  394. package/es/tasty/injector/index.js +187 -0
  395. package/es/tasty/injector/injector.js +678 -0
  396. package/es/tasty/injector/sheet-manager.js +912 -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 +120 -35
  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/isDevEnv.js +36 -0
  452. package/es/tasty/utils/mergeStyles.js +1 -1
  453. package/es/tasty/utils/modAttrs.js +1 -1
  454. package/es/tasty/utils/renderStyles.js +710 -58
  455. package/es/tasty/utils/responsive.js +1 -7
  456. package/es/tasty/utils/string.js +1 -1
  457. package/es/tasty/utils/styles.js +100 -235
  458. package/es/tasty/utils/warnings.js +1 -1
  459. package/es/tokens.js +1 -12
  460. package/es/type-checks.js +1 -1
  461. package/es/utils/ResizeSensor.js +1 -1
  462. package/es/utils/modules.js +1 -1
  463. package/es/utils/promise.js +1 -1
  464. package/es/utils/random.js +1 -1
  465. package/es/utils/range.js +1 -1
  466. package/es/utils/react/Slots.js +1 -1
  467. package/es/utils/react/chain.js +1 -1
  468. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  469. package/es/utils/react/index.js +1 -1
  470. package/es/utils/react/interactions.js +1 -1
  471. package/es/utils/react/isTextOnly.js +1 -1
  472. package/es/utils/react/mapProps.js +1 -1
  473. package/es/utils/react/mergeProps.js +1 -1
  474. package/es/utils/react/nullableValue.js +1 -1
  475. package/es/utils/react/sharedStore.js +1 -1
  476. package/es/utils/react/useCombinedRefs.js +1 -1
  477. package/es/utils/react/useControlledFocusVisible.js +1 -1
  478. package/es/utils/react/useEventBus.js +1 -1
  479. package/es/utils/react/useId.js +1 -1
  480. package/es/utils/react/useIsDarwin.js +1 -1
  481. package/es/utils/react/useKeySymbols.js +1 -1
  482. package/es/utils/react/useLayoutEffect.js +1 -1
  483. package/es/utils/react/useQaProps.js +1 -1
  484. package/es/utils/react/useViewportSize.js +1 -1
  485. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  486. package/es/utils/transitions.js +1 -1
  487. package/es/utils/tree.js +1 -1
  488. package/es/utils/warnings.js +1 -1
  489. package/es/version.js +2 -2
  490. package/package.json +1 -1
  491. package/types/components/HiddenInput.d.ts +1 -3
  492. package/types/components/actions/Button/Button.d.ts +1 -0
  493. package/types/components/actions/Menu/styled.d.ts +762 -765
  494. package/types/components/actions/use-action.d.ts +1 -1
  495. package/types/components/content/List/SectionHeading.d.ts +254 -255
  496. package/types/components/fields/DatePicker/DatePickerElement.d.ts +254 -255
  497. package/types/tasty/debug.d.ts +163 -0
  498. package/types/tasty/index.d.ts +2 -0
  499. package/types/tasty/injector/index.d.ts +87 -0
  500. package/types/tasty/injector/injector.d.ts +111 -0
  501. package/types/tasty/injector/sheet-manager.d.ts +98 -0
  502. package/types/tasty/injector/types.d.ts +106 -0
  503. package/types/tasty/parser/lru.d.ts +5 -1
  504. package/types/tasty/styles/color.d.ts +3 -1
  505. package/types/tasty/styles/reset.d.ts +1 -2
  506. package/types/tasty/types.d.ts +0 -2
  507. package/types/tasty/utils/getModCombinations.d.ts +9 -1
  508. package/types/tasty/utils/isDevEnv.d.ts +6 -0
  509. package/types/tasty/utils/renderStyles.d.ts +30 -7
  510. package/types/tasty/utils/responsive.d.ts +0 -1
  511. package/types/tasty/utils/styles.d.ts +7 -90
  512. package/types/tokens.d.ts +0 -11
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Debug utilities for inspecting tasty-generated CSS at runtime
3
+ */
4
+ type CSSTarget = 'all' | 'global' | 'active' | 'unused' | 'page' | string | string[] | Element;
5
+ interface CssOptions {
6
+ root?: Document | ShadowRoot;
7
+ prettify?: boolean;
8
+ log?: boolean;
9
+ }
10
+ interface InspectResult {
11
+ element?: Element | null;
12
+ classes: string[];
13
+ css: string;
14
+ size: number;
15
+ rules: number;
16
+ }
17
+ interface CacheMetrics {
18
+ hits: number;
19
+ misses: number;
20
+ bulkCleanups: number;
21
+ totalInsertions: number;
22
+ totalUnused: number;
23
+ stylesCleanedUp: number;
24
+ cleanupHistory: Array<{
25
+ timestamp: number;
26
+ classesDeleted: number;
27
+ cssSize: number;
28
+ rulesDeleted: number;
29
+ }>;
30
+ startTime: number;
31
+ unusedHits?: number;
32
+ }
33
+ interface CacheStatus {
34
+ classes: {
35
+ active: string[];
36
+ unused: string[];
37
+ all: string[];
38
+ };
39
+ metrics: CacheMetrics | null;
40
+ }
41
+ interface GlobalBreakdown {
42
+ css: string;
43
+ totalRules: number;
44
+ totalCSSSize: number;
45
+ selectors: {
46
+ elements: string[];
47
+ classes: string[];
48
+ ids: string[];
49
+ pseudoClasses: string[];
50
+ mediaQueries: string[];
51
+ keyframes: string[];
52
+ other: string[];
53
+ };
54
+ }
55
+ interface Definitions {
56
+ properties: string[];
57
+ keyframes: Array<{
58
+ name: string;
59
+ refCount: number;
60
+ }>;
61
+ }
62
+ interface SummaryOptions {
63
+ root?: Document | ShadowRoot;
64
+ log?: boolean;
65
+ includePageCSS?: false | true | 'all';
66
+ }
67
+ interface Summary {
68
+ activeClasses: string[];
69
+ unusedClasses: string[];
70
+ totalStyledClasses: string[];
71
+ activeCSSSize: number;
72
+ unusedCSSSize: number;
73
+ totalCSSSize: number;
74
+ activeCSS: string;
75
+ unusedCSS: string;
76
+ allCSS: string;
77
+ globalCSS: string;
78
+ globalCSSSize: number;
79
+ globalRuleCount: number;
80
+ page?: {
81
+ css?: string;
82
+ cssSize: number;
83
+ ruleCount: number;
84
+ stylesheetCount: number;
85
+ skippedStylesheets: number;
86
+ };
87
+ metrics: CacheMetrics | null;
88
+ definedProperties: string[];
89
+ definedKeyframes: Array<{
90
+ name: string;
91
+ refCount: number;
92
+ }>;
93
+ propertyCount: number;
94
+ keyframeCount: number;
95
+ cleanupSummary: {
96
+ enabled: boolean;
97
+ totalCleanups: number;
98
+ totalClassesDeleted: number;
99
+ totalCssDeleted: number;
100
+ totalRulesDeleted: number;
101
+ averageClassesPerCleanup: number;
102
+ averageCssPerCleanup: number;
103
+ averageRulesPerCleanup: number;
104
+ lastCleanup?: {
105
+ timestamp: number;
106
+ date: string;
107
+ classesDeleted: number;
108
+ cssSize: number;
109
+ rulesDeleted: number;
110
+ };
111
+ };
112
+ }
113
+ /**
114
+ * Concise tastyDebug API for inspecting styles at runtime
115
+ */
116
+ export declare const tastyDebug: {
117
+ css(target: CSSTarget, opts?: CssOptions): string;
118
+ inspect(target: string | Element, opts?: {
119
+ root?: Document | ShadowRoot;
120
+ }): InspectResult;
121
+ cache(opts?: {
122
+ root?: Document | ShadowRoot;
123
+ includeHistory?: boolean;
124
+ }): CacheStatus;
125
+ cleanup(opts?: {
126
+ root?: Document | ShadowRoot;
127
+ }): void;
128
+ metrics(opts?: {
129
+ root?: Document | ShadowRoot;
130
+ }): CacheMetrics | null;
131
+ resetMetrics(opts?: {
132
+ root?: Document | ShadowRoot;
133
+ }): void;
134
+ global(opts?: {
135
+ root?: Document | ShadowRoot;
136
+ log?: boolean;
137
+ }): GlobalBreakdown;
138
+ defs(opts?: {
139
+ root?: Document | ShadowRoot;
140
+ }): Definitions;
141
+ summary(opts?: SummaryOptions): Summary;
142
+ pageCSS(opts?: {
143
+ root?: Document | ShadowRoot;
144
+ prettify?: boolean;
145
+ log?: boolean;
146
+ includeCrossOrigin?: boolean;
147
+ }): string;
148
+ pageStats(opts?: {
149
+ root?: Document | ShadowRoot;
150
+ includeCrossOrigin?: boolean;
151
+ }): {
152
+ cssSize: number;
153
+ ruleCount: number;
154
+ stylesheetCount: number;
155
+ skippedStylesheets: number;
156
+ };
157
+ install(): void;
158
+ log(target: CSSTarget, opts?: CssOptions & {
159
+ title?: string;
160
+ }): void;
161
+ help(): void;
162
+ };
163
+ export {};
@@ -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,87 @@
1
+ import { StyleResult } from '../utils/renderStyles';
2
+ import { StyleInjector } from './injector';
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
+ /**
15
+ * Allocate a className for a cacheKey without injecting styles yet
16
+ */
17
+ export declare function allocateClassName(cacheKey: string, options?: {
18
+ root?: Document | ShadowRoot;
19
+ }): {
20
+ className: string;
21
+ isNewAllocation: boolean;
22
+ };
23
+ /**
24
+ * Inject styles and return className with dispose function
25
+ */
26
+ export declare function inject(rules: StyleResult[], options?: {
27
+ root?: Document | ShadowRoot;
28
+ cacheKey?: string;
29
+ }): InjectResult;
30
+ /**
31
+ * Inject global rules that should not reserve tasty class names
32
+ */
33
+ export declare function injectGlobal(rules: StyleResult[], options?: {
34
+ root?: Document | ShadowRoot;
35
+ }): GlobalInjectResult;
36
+ /**
37
+ * Inject keyframes and return object with toString() and dispose()
38
+ */
39
+ export declare function keyframes(steps: import('./types').KeyframesSteps, nameOrOptions?: string | {
40
+ root?: Document | ShadowRoot;
41
+ name?: string;
42
+ }): import('./types').KeyframesResult;
43
+ /**
44
+ * Get CSS text from all sheets (for SSR)
45
+ */
46
+ export declare function getCssText(options?: {
47
+ root?: Document | ShadowRoot;
48
+ }): string;
49
+ /**
50
+ * Collect only CSS used by a rendered subtree (like jest-styled-components).
51
+ * Pass the container returned by render(...).
52
+ */
53
+ export declare function getCssTextForNode(node: ParentNode | Element | DocumentFragment, options?: {
54
+ root?: Document | ShadowRoot;
55
+ }): string;
56
+ /**
57
+ * Force cleanup of unused rules
58
+ */
59
+ export declare function cleanup(root?: Document | ShadowRoot): void;
60
+ /**
61
+ * Check if we're currently running in a test environment
62
+ */
63
+ export declare function getIsTestEnvironment(): boolean;
64
+ /**
65
+ * Get the global injector instance for debugging
66
+ */
67
+ export declare const injector: {
68
+ readonly instance: StyleInjector;
69
+ };
70
+ /**
71
+ * Destroy all resources and clean up
72
+ */
73
+ export declare function destroy(root?: Document | ShadowRoot): void;
74
+ /**
75
+ * Create a new isolated injector instance
76
+ */
77
+ 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';
86
+ export { StyleInjector } from './injector';
87
+ export { SheetManager } from './sheet-manager';
@@ -0,0 +1,111 @@
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 { GlobalInjectResult, 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
+ private globalRuleCounter;
13
+ constructor(config?: StyleInjectorConfig);
14
+ /**
15
+ * Allocate a className for a cacheKey without injecting styles yet.
16
+ * This allows separating className allocation (render phase) from style injection (insertion phase).
17
+ */
18
+ allocateClassName(cacheKey: string, options?: {
19
+ root?: Document | ShadowRoot;
20
+ }): {
21
+ className: string;
22
+ isNewAllocation: boolean;
23
+ };
24
+ /**
25
+ * Inject styles from StyleResult objects
26
+ */
27
+ inject(rules: StyleResult[], options?: {
28
+ root?: Document | ShadowRoot;
29
+ cacheKey?: string;
30
+ }): InjectResult;
31
+ /**
32
+ * Inject global styles (rules without a generated tasty class selector)
33
+ * This ensures we don't reserve a tasty class name (t{number}) for global rules,
34
+ * which could otherwise collide with element-level styles and break lookups.
35
+ */
36
+ injectGlobal(rules: StyleResult[], options?: {
37
+ root?: Document | ShadowRoot;
38
+ }): GlobalInjectResult;
39
+ /**
40
+ * Dispose of a className
41
+ */
42
+ private dispose;
43
+ /**
44
+ * Force bulk cleanup of unused styles
45
+ */
46
+ cleanup(root?: Document | ShadowRoot): void;
47
+ /**
48
+ * Get CSS text from all sheets (for SSR)
49
+ */
50
+ getCssText(options?: {
51
+ root?: Document | ShadowRoot;
52
+ }): string;
53
+ /**
54
+ * Get CSS only for the provided tasty classNames (e.g., ["t0","t3"])
55
+ */
56
+ getCssTextForClasses(classNames: Iterable<string>, options?: {
57
+ root?: Document | ShadowRoot;
58
+ }): string;
59
+ /**
60
+ * Get cache performance metrics
61
+ */
62
+ getMetrics(options?: {
63
+ root?: Document | ShadowRoot;
64
+ }): any;
65
+ /**
66
+ * Reset cache performance metrics
67
+ */
68
+ resetMetrics(options?: {
69
+ root?: Document | ShadowRoot;
70
+ }): void;
71
+ /**
72
+ * Define a CSS @property custom property
73
+ * Example:
74
+ * @property --rotation { syntax: "<angle>"; inherits: false; initial-value: 45deg; }
75
+ * Note: No caching or dispose — this defines a global property.
76
+ */
77
+ property(name: string, options?: {
78
+ syntax?: string;
79
+ inherits?: boolean;
80
+ initialValue?: string | number;
81
+ root?: Document | ShadowRoot;
82
+ }): void;
83
+ /**
84
+ * Check whether a given @property name was already injected by this injector
85
+ */
86
+ isPropertyDefined(name: string, options?: {
87
+ root?: Document | ShadowRoot;
88
+ }): boolean;
89
+ /**
90
+ * Inject keyframes and return object with toString() and dispose()
91
+ */
92
+ keyframes(steps: KeyframesSteps, nameOrOptions?: string | {
93
+ root?: Document | ShadowRoot;
94
+ name?: string;
95
+ }): KeyframesResult;
96
+ /**
97
+ * Dispose keyframes
98
+ */
99
+ private disposeKeyframes;
100
+ /**
101
+ * Destroy all resources for a root
102
+ */
103
+ destroy(root?: Document | ShadowRoot): void;
104
+ /**
105
+ * Create a global style component like styled-components createGlobalStyle
106
+ * Returns a React component that injects global styles when mounted and cleans up when unmounted
107
+ */
108
+ createGlobalStyle<Props = {}>(strings: TemplateStringsArray, ...interpolations: Array<string | number | ((props: Props) => string | number)>): ComponentType<Props & {
109
+ root?: Document | ShadowRoot;
110
+ }>;
111
+ }
@@ -0,0 +1,98 @@
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[], globalKey: string, root: Document | ShadowRoot): RuleInfo | null;
26
+ /**
27
+ * Delete a global CSS rule by key
28
+ */
29
+ deleteGlobalRule(registry: RootRegistry, globalKey: string): void;
30
+ /**
31
+ * Adjust rule indices after deletion to account for shifting
32
+ */
33
+ private adjustIndicesAfterDeletion;
34
+ /**
35
+ * Delete a CSS rule from the sheet
36
+ */
37
+ deleteRule(registry: RootRegistry, ruleInfo: RuleInfo): void;
38
+ /**
39
+ * Find a sheet with available space or return null
40
+ */
41
+ private findAvailableSheet;
42
+ /**
43
+ * Find an available rule index in the sheet
44
+ */
45
+ findAvailableRuleIndex(sheet: SheetInfo): number;
46
+ /**
47
+ * Schedule bulk cleanup of all unused styles (non-stacking)
48
+ */
49
+ private scheduleBulkCleanup;
50
+ /**
51
+ * Force cleanup of unused styles
52
+ */
53
+ forceCleanup(registry: RootRegistry): void;
54
+ /**
55
+ * Perform bulk cleanup of all unused styles
56
+ */
57
+ private performBulkCleanup;
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
+ * Schedule async cleanup check (non-stacking)
88
+ */
89
+ checkCleanupNeeded(registry: RootRegistry): void;
90
+ /**
91
+ * Perform the actual cleanup check (called asynchronously)
92
+ */
93
+ private performCleanupCheck;
94
+ /**
95
+ * Clean up resources for a root
96
+ */
97
+ cleanup(root: Document | ShadowRoot): void;
98
+ }
@@ -0,0 +1,106 @@
1
+ export interface InjectResult {
2
+ className: string;
3
+ dispose: () => void;
4
+ }
5
+ export interface GlobalInjectResult {
6
+ dispose: () => void;
7
+ }
8
+ export type DisposeFunction = () => void;
9
+ export interface StyleInjectorConfig {
10
+ nonce?: string;
11
+ maxRulesPerSheet?: number;
12
+ unusedStylesThreshold?: number;
13
+ bulkCleanupDelay?: number;
14
+ idleCleanup?: boolean;
15
+ forceTextInjection?: boolean;
16
+ /** Enable development mode features: performance metrics and debug information storage */
17
+ devMode?: boolean;
18
+ /**
19
+ * Ratio of unused styles to delete per bulk cleanup run (0..1).
20
+ * Defaults to 0.5 (oldest half) to reduce risk of removing styles
21
+ * that may be restored shortly after being marked unused.
22
+ */
23
+ bulkCleanupBatchRatio?: number;
24
+ /**
25
+ * Minimum age (in ms) a style must remain unused before eligible for deletion.
26
+ * Helps avoid races during rapid mount/unmount cycles. Default: 10000ms.
27
+ */
28
+ unusedStylesMinAgeMs?: number;
29
+ }
30
+ export interface RuleInfo {
31
+ className: string;
32
+ ruleIndex: number;
33
+ sheetIndex: number;
34
+ /** Dev-only: full CSS texts inserted for this class; omitted in production */
35
+ cssText?: string[];
36
+ /** Inclusive end index of the contiguous block of inserted rules for this className */
37
+ endRuleIndex?: number;
38
+ /** NEW: exact indices of all inserted rules for this className */
39
+ indices?: number[];
40
+ }
41
+ export interface SheetInfo {
42
+ sheet: HTMLStyleElement;
43
+ ruleCount: number;
44
+ holes: number[];
45
+ }
46
+ export interface CleanupStats {
47
+ timestamp: number;
48
+ classesDeleted: number;
49
+ cssSize: number;
50
+ rulesDeleted: number;
51
+ }
52
+ export interface CacheMetrics {
53
+ hits: number;
54
+ misses: number;
55
+ bulkCleanups: number;
56
+ totalInsertions: number;
57
+ totalUnused: number;
58
+ stylesCleanedUp: number;
59
+ cleanupHistory: CleanupStats[];
60
+ startTime: number;
61
+ unusedHits?: number;
62
+ }
63
+ export interface RootRegistry {
64
+ sheets: SheetInfo[];
65
+ refCounts: Map<string, number>;
66
+ rules: Map<string, RuleInfo>;
67
+ /** Cache key to className mapping to avoid dual storage of RuleInfo objects */
68
+ cacheKeyToClassName: Map<string, string>;
69
+ /** Deduplication set of fully materialized CSS rules inserted into sheets */
70
+ ruleTextSet: Set<string>;
71
+ /** Scheduled bulk cleanup timeout */
72
+ bulkCleanupTimeout: ReturnType<typeof requestIdleCallback> | ReturnType<typeof setTimeout> | null;
73
+ /** Scheduled cleanup check timeout */
74
+ cleanupCheckTimeout: ReturnType<typeof setTimeout> | null;
75
+ /** Performance metrics (optional) */
76
+ metrics?: CacheMetrics;
77
+ /** Counter for generating sequential class names like t0, t1, t2... */
78
+ classCounter: number;
79
+ /** Keyframes cache by JSON.stringify(steps) -> entry */
80
+ keyframesCache: Map<string, KeyframesCacheEntry>;
81
+ /** Counter for generating keyframes names like k0, k1, k2... */
82
+ keyframesCounter: number;
83
+ /** Set of injected @property names for tracking */
84
+ injectedProperties: Set<string>;
85
+ /** Global rules tracking for index adjustment */
86
+ globalRules: Map<string, RuleInfo>;
87
+ }
88
+ export type StyleRule = import('../utils/renderStyles').StyleResult;
89
+ export interface KeyframesInfo {
90
+ name: string;
91
+ sheetIndex: number;
92
+ ruleIndex: number;
93
+ /** Dev-only: full CSS text of the @keyframes rule; omitted in production */
94
+ cssText?: string;
95
+ }
96
+ export type KeyframeStep = string | Record<string, string | number>;
97
+ export type KeyframesSteps = Record<string, KeyframeStep>;
98
+ export interface KeyframesResult {
99
+ toString(): string;
100
+ dispose: () => void;
101
+ }
102
+ export interface KeyframesCacheEntry {
103
+ name: string;
104
+ refCount: number;
105
+ info: KeyframesInfo;
106
+ }
@@ -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[][];
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Check if we're in a development environment at runtime
3
+ * Uses bracket notation to avoid bundler compilation
4
+ * Also checks for TASTY_DEBUG localStorage setting
5
+ */
6
+ export declare function isDevEnv(): boolean;
@@ -1,10 +1,33 @@
1
+ /**
2
+ * Style rendering that works with structured style objects
3
+ * Eliminates CSS string parsing for better performance
4
+ */
1
5
  import { Styles } from '../styles/types';
2
- export declare function isSelector(key: any): any;
6
+ export interface StyleResult {
7
+ selector: string;
8
+ declarations: string;
9
+ atRules?: string[];
10
+ needsClassName?: boolean;
11
+ }
12
+ export interface RenderResult {
13
+ rules: StyleResult[];
14
+ className?: string;
15
+ }
16
+ /**
17
+ * Check if a key represents a CSS selector
18
+ */
19
+ export declare function isSelector(key: string): boolean;
20
+ /**
21
+ * Render styles to StyleResult[] format (recommended)
22
+ * Supports both component and global styling with advanced optimizations
23
+ */
24
+ export declare function renderStyles(styles?: Styles, responsive?: number[], className?: string): RenderResult;
25
+ /**
26
+ * Render styles without className for element styles (injector will add it)
27
+ */
28
+ export declare function renderStyles(styles: Styles | undefined, responsive?: number[]): RenderResult;
3
29
  /**
4
- * Render style props to complete Styled Components CSS.
5
- * @param styles - Complete style props.
6
- * @param responsive - A list of responsive zones
7
- * @param {string} [suffix]
8
- * @return {string}
30
+ * Render styles for direct injection with a specific selector
31
+ * Bypasses CSS text generation and flattening by directly creating StyleResult[]
9
32
  */
10
- export declare function renderStyles(styles?: Styles, responsive?: number[], suffix?: string): any;
33
+ export declare function renderStyles(styles: Styles | undefined, responsive: number[], selector: string): StyleResult[];
@@ -1,5 +1,4 @@
1
1
  import { ResponsiveStyleValue } from './styles';
2
- export declare function mediaWrapper(cssRules: any, points: any): any;
3
2
  export interface ResponsiveZone {
4
3
  max?: number;
5
4
  min?: number;