@cube-dev/ui-kit 0.0.0-canary-0d47ea4 → 0.0.0-canary-73c0d53

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 (410) hide show
  1. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  2. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  3. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  4. package/dist/_internal/hooks/use-event.js +1 -1
  5. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  6. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  7. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  8. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  9. package/dist/_internal/hooks/use-warn.js +1 -1
  10. package/dist/components/Block.js +1 -1
  11. package/dist/components/CollectionItem.js +1 -1
  12. package/dist/components/GlobalStyles.js +1 -1
  13. package/dist/components/GridProvider.js +1 -1
  14. package/dist/components/HiddenInput.js +1 -1
  15. package/dist/components/Root.js +2 -1
  16. package/dist/components/Root.js.map +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.js +1 -1
  20. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  21. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  22. package/dist/components/actions/ButtonSplit/context.js +1 -1
  23. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  24. package/dist/components/actions/CommandMenu/styled.js +1 -1
  25. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  26. package/dist/components/actions/ItemActionContext.js +1 -1
  27. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  28. package/dist/components/actions/Link/Link.js +1 -1
  29. package/dist/components/actions/Menu/Menu.js +1 -1
  30. package/dist/components/actions/Menu/MenuItem.js +1 -1
  31. package/dist/components/actions/Menu/MenuSection.js +1 -1
  32. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  33. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  35. package/dist/components/actions/Menu/context.js +1 -1
  36. package/dist/components/actions/Menu/styled.js +1 -1
  37. package/dist/components/actions/index.js +1 -1
  38. package/dist/components/actions/use-action.js +1 -1
  39. package/dist/components/actions/use-anchored-menu.js +1 -1
  40. package/dist/components/actions/use-context-menu.js +1 -1
  41. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  42. package/dist/components/content/Alert/Alert.js +1 -1
  43. package/dist/components/content/Alert/use-alert.js +1 -1
  44. package/dist/components/content/Avatar/Avatar.js +1 -1
  45. package/dist/components/content/Badge/Badge.js +1 -1
  46. package/dist/components/content/Card/Card.js +1 -1
  47. package/dist/components/content/Content.js +1 -1
  48. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  49. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  51. package/dist/components/content/Divider.js +1 -1
  52. package/dist/components/content/Footer.js +1 -1
  53. package/dist/components/content/Header.js +1 -1
  54. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  55. package/dist/components/content/Item/Item.js +1 -1
  56. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  57. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  58. package/dist/components/content/Layout/GridLayout.js +1 -1
  59. package/dist/components/content/Layout/Layout.js +1 -1
  60. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  61. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  62. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  63. package/dist/components/content/Layout/LayoutContent.js +1 -1
  64. package/dist/components/content/Layout/LayoutContext.js +1 -1
  65. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  66. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  67. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  68. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  69. package/dist/components/content/Layout/LayoutPane.js +1 -1
  70. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  71. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  72. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  73. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  74. package/dist/components/content/Layout/index.js +1 -1
  75. package/dist/components/content/Layout/utils.js +1 -1
  76. package/dist/components/content/Paragraph.js +1 -1
  77. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  78. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  79. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  80. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  81. package/dist/components/content/Result/Result.js +1 -1
  82. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  83. package/dist/components/content/Tag/Tag.js +1 -1
  84. package/dist/components/content/Text.d.ts +28 -28
  85. package/dist/components/content/Text.js +1 -1
  86. package/dist/components/content/TextItem/TextItem.js +1 -1
  87. package/dist/components/content/Title.js +1 -1
  88. package/dist/components/content/highlightText.js +1 -1
  89. package/dist/components/content/use-auto-tooltip.js +1 -1
  90. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  91. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  92. package/dist/components/fields/Checkbox/context.js +1 -1
  93. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  94. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  95. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  96. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  97. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  98. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  99. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  100. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  101. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  102. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  103. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  104. package/dist/components/fields/DatePicker/intl.js +1 -1
  105. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  106. package/dist/components/fields/DatePicker/props.js +1 -1
  107. package/dist/components/fields/DatePicker/utils.js +1 -1
  108. package/dist/components/fields/FileInput/FileInput.js +1 -1
  109. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  110. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  111. package/dist/components/fields/Input/Input.js +1 -1
  112. package/dist/components/fields/ListBox/ListBox.js +1 -1
  113. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  114. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  115. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  116. package/dist/components/fields/Picker/Picker.js +1 -1
  117. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  118. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  119. package/dist/components/fields/RadioGroup/context.js +1 -1
  120. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  121. package/dist/components/fields/Select/Select.js +1 -1
  122. package/dist/components/fields/Slider/Gradation.js +1 -1
  123. package/dist/components/fields/Slider/HueSlider.js +1 -1
  124. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  125. package/dist/components/fields/Slider/Slider.js +1 -1
  126. package/dist/components/fields/Slider/SliderBase.js +1 -1
  127. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  128. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  129. package/dist/components/fields/Slider/elements.js +1 -1
  130. package/dist/components/fields/Slider/index.js +1 -1
  131. package/dist/components/fields/Switch/Switch.js +1 -1
  132. package/dist/components/fields/TextArea/TextArea.js +1 -1
  133. package/dist/components/fields/TextInput/TextInput.js +1 -1
  134. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  135. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  136. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  137. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  138. package/dist/components/form/Form/Field.js +1 -1
  139. package/dist/components/form/Form/Form.js +1 -1
  140. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  141. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  142. package/dist/components/form/Form/SubmitError.js +1 -1
  143. package/dist/components/form/Form/index.js +1 -1
  144. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  145. package/dist/components/form/Form/use-field/use-field.js +1 -1
  146. package/dist/components/form/Form/use-form.js +1 -1
  147. package/dist/components/form/Form/validation.js +1 -1
  148. package/dist/components/form/Label.js +1 -1
  149. package/dist/components/form/wrapper.js +1 -1
  150. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  151. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  152. package/dist/components/layout/Flex.js +1 -1
  153. package/dist/components/layout/Flow.js +1 -1
  154. package/dist/components/layout/Grid.js +1 -1
  155. package/dist/components/layout/Panel.js +1 -1
  156. package/dist/components/layout/Prefix.js +1 -1
  157. package/dist/components/layout/ResizablePanel.js +1 -1
  158. package/dist/components/layout/Space.js +1 -1
  159. package/dist/components/layout/Suffix.js +1 -1
  160. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  161. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  162. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  163. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  164. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  165. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  166. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  167. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  168. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  169. package/dist/components/navigation/Tabs/styled.js +1 -1
  170. package/dist/components/navigation/Tabs/types.js +1 -1
  171. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  172. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  173. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  174. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  175. package/dist/components/other/Calendar/Calendar.js +1 -1
  176. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  177. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  178. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  179. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  180. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  181. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  182. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  183. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  184. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  185. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  186. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  187. package/dist/components/overlays/Dialog/context.js +1 -1
  188. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  189. package/dist/components/overlays/Modal/Modal.js +1 -1
  190. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  191. package/dist/components/overlays/Modal/Overlay.js +1 -1
  192. package/dist/components/overlays/Modal/Popover.js +1 -1
  193. package/dist/components/overlays/Modal/Tray.js +1 -1
  194. package/dist/components/overlays/Modal/Underlay.js +1 -1
  195. package/dist/components/overlays/Notifications/Notification.js +1 -1
  196. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  197. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  198. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  199. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  200. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  201. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  202. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  203. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  204. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  205. package/dist/components/overlays/Notifications/index.js +1 -1
  206. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  207. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  208. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  209. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  210. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  211. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  212. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  213. package/dist/components/overlays/Toast/index.js +1 -1
  214. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  215. package/dist/components/overlays/Toast/useToast.js +1 -1
  216. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  217. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  218. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  219. package/dist/components/overlays/Tooltip/context.js +1 -1
  220. package/dist/components/portal/Portal.js +1 -1
  221. package/dist/components/portal/PortalProvider.js +1 -1
  222. package/dist/components/portal/usePortal.js +1 -1
  223. package/dist/components/shared/InvalidIcon.js +1 -1
  224. package/dist/components/shared/ValidIcon.js +1 -1
  225. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  226. package/dist/components/status/Spin/Cube.js +1 -1
  227. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  228. package/dist/components/status/Spin/Spin.js +1 -1
  229. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  230. package/dist/data/item-themes.js +1 -1
  231. package/dist/data/themes.js +1 -1
  232. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  233. package/dist/icons/AdjustmentsIcon.js +1 -1
  234. package/dist/icons/AiIcon.js +1 -1
  235. package/dist/icons/AreaChartIcon.js +1 -1
  236. package/dist/icons/BackwardIcon.js +1 -1
  237. package/dist/icons/BarChartIcon.js +1 -1
  238. package/dist/icons/BellFilledIcon.js +1 -1
  239. package/dist/icons/BellIcon.js +1 -1
  240. package/dist/icons/BooleanIcon.js +1 -1
  241. package/dist/icons/CalendarEditIcon.js +1 -1
  242. package/dist/icons/CalendarIcon.js +1 -1
  243. package/dist/icons/CaretDownIcon.js +1 -1
  244. package/dist/icons/CaretUpIcon.js +1 -1
  245. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  246. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  247. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  248. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  249. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  250. package/dist/icons/ChartBarLineIcon.js +1 -1
  251. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  252. package/dist/icons/ChartBarStackedIcon.js +1 -1
  253. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  254. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  255. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  256. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  257. package/dist/icons/ChartBubbleIcon.js +1 -1
  258. package/dist/icons/ChartDonut2Icon.js +1 -1
  259. package/dist/icons/ChartFunnelIcon.js +1 -1
  260. package/dist/icons/ChartHeatmapIcon.js +1 -1
  261. package/dist/icons/ChartKPIIcon.js +1 -1
  262. package/dist/icons/ChartPie2Icon.js +1 -1
  263. package/dist/icons/ChartScatterIcon.js +1 -1
  264. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  265. package/dist/icons/CheckCircleIcon.js +1 -1
  266. package/dist/icons/CheckIcon.js +1 -1
  267. package/dist/icons/CircleFilledIcon.js +1 -1
  268. package/dist/icons/ClearIcon.js +1 -1
  269. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  270. package/dist/icons/CloseCircleIcon.js +1 -1
  271. package/dist/icons/CloseIcon.js +1 -1
  272. package/dist/icons/CodeIcon.js +1 -1
  273. package/dist/icons/ColumnTotalIcon.js +1 -1
  274. package/dist/icons/CopyIcon.js +1 -1
  275. package/dist/icons/CountIcon.js +1 -1
  276. package/dist/icons/CubeIcon.js +1 -1
  277. package/dist/icons/CubePauseIcon.js +1 -1
  278. package/dist/icons/CubePlayIcon.js +1 -1
  279. package/dist/icons/CurrencyDollarIcon.js +1 -1
  280. package/dist/icons/DangerIcon.js +1 -1
  281. package/dist/icons/DashboardIcon.js +1 -1
  282. package/dist/icons/DatabaseIcon.js +1 -1
  283. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  284. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  285. package/dist/icons/DirectionIcon.js +1 -1
  286. package/dist/icons/DonutIcon.js +1 -1
  287. package/dist/icons/DownIcon.js +1 -1
  288. package/dist/icons/EditIcon.js +1 -1
  289. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  290. package/dist/icons/ExclamationCircleIcon.js +1 -1
  291. package/dist/icons/ExclamationIcon.js +1 -1
  292. package/dist/icons/EyeIcon.js +1 -1
  293. package/dist/icons/EyeInvisibleIcon.js +1 -1
  294. package/dist/icons/FilterIcon.js +1 -1
  295. package/dist/icons/FolderFilledIcon.js +1 -1
  296. package/dist/icons/FolderIcon.js +1 -1
  297. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  298. package/dist/icons/FolderOpenIcon.js +1 -1
  299. package/dist/icons/ForwardIcon.js +1 -1
  300. package/dist/icons/HierarchyIcon.js +1 -1
  301. package/dist/icons/HierarchyOpenIcon.js +1 -1
  302. package/dist/icons/Icon.js +1 -1
  303. package/dist/icons/InfoCircleIcon.js +1 -1
  304. package/dist/icons/InfoIcon.js +1 -1
  305. package/dist/icons/KeyIcon.js +1 -1
  306. package/dist/icons/LeftIcon.js +1 -1
  307. package/dist/icons/LineChartIcon.js +1 -1
  308. package/dist/icons/LoadingIcon.js +1 -1
  309. package/dist/icons/LockFilledIcon.js +1 -1
  310. package/dist/icons/LockIcon.js +1 -1
  311. package/dist/icons/MoreIcon.js +1 -1
  312. package/dist/icons/NotAllowedIcon.js +1 -1
  313. package/dist/icons/Number123Icon.js +1 -1
  314. package/dist/icons/NumberIcon.js +1 -1
  315. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  316. package/dist/icons/PauseCircleIcon.js +1 -1
  317. package/dist/icons/PauseIcon.js +1 -1
  318. package/dist/icons/PercentageIcon.js +1 -1
  319. package/dist/icons/PieChartIcon.js +1 -1
  320. package/dist/icons/PlayCircleIcon.js +1 -1
  321. package/dist/icons/PlayIcon.js +1 -1
  322. package/dist/icons/PlusIcon.js +1 -1
  323. package/dist/icons/ProgressBarIcon.js +1 -1
  324. package/dist/icons/ReloadIcon.js +1 -1
  325. package/dist/icons/ReportIcon.js +1 -1
  326. package/dist/icons/ReturnIcon.js +1 -1
  327. package/dist/icons/RightIcon.js +1 -1
  328. package/dist/icons/RowTotalsIcon.js +1 -1
  329. package/dist/icons/SchemeIcon.js +1 -1
  330. package/dist/icons/SearchIcon.js +1 -1
  331. package/dist/icons/SemanticQueryIcon.js +1 -1
  332. package/dist/icons/SettingsIcon.js +1 -1
  333. package/dist/icons/ShieldFilledIcon.js +1 -1
  334. package/dist/icons/ShieldIcon.js +1 -1
  335. package/dist/icons/SlashIcon.js +1 -1
  336. package/dist/icons/SparklesIcon.js +1 -1
  337. package/dist/icons/SqlIcon.js +1 -1
  338. package/dist/icons/StatsIcon.js +1 -1
  339. package/dist/icons/StopIcon.js +1 -1
  340. package/dist/icons/StringIcon.js +1 -1
  341. package/dist/icons/SubtotalsIcon.js +1 -1
  342. package/dist/icons/SwitchIcon.js +1 -1
  343. package/dist/icons/TableIcon.js +1 -1
  344. package/dist/icons/ThumbsDownIcon.js +1 -1
  345. package/dist/icons/ThumbsUpIcon.js +1 -1
  346. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  347. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  348. package/dist/icons/ThunderboltIcon.js +1 -1
  349. package/dist/icons/TimeIcon.js +1 -1
  350. package/dist/icons/TrashIcon.js +1 -1
  351. package/dist/icons/UnlockIcon.js +1 -1
  352. package/dist/icons/UpIcon.js +1 -1
  353. package/dist/icons/UserGroupIcon.js +1 -1
  354. package/dist/icons/UserIcon.js +1 -1
  355. package/dist/icons/UserLockIcon.js +1 -1
  356. package/dist/icons/ViewIcon.js +1 -1
  357. package/dist/icons/WarningFilledIcon.js +1 -1
  358. package/dist/icons/WarningIcon.js +1 -1
  359. package/dist/icons/wrap-icon.js +1 -1
  360. package/dist/index.js +1 -1
  361. package/dist/provider.js +1 -1
  362. package/dist/providers/TrackingProvider.js +1 -1
  363. package/dist/providers/navigationAdapter.default.js +1 -1
  364. package/dist/tokens/base.js +1 -1
  365. package/dist/tokens/colors.js +1 -1
  366. package/dist/tokens/index.js +1 -1
  367. package/dist/tokens/layout.js +1 -1
  368. package/dist/tokens/shadows.js +1 -1
  369. package/dist/tokens/sizes.js +1 -1
  370. package/dist/tokens/spacing.js +1 -1
  371. package/dist/tokens/typography.js +1 -1
  372. package/dist/utils/ResizeSensor.js +1 -1
  373. package/dist/utils/is-dev-env.js +1 -1
  374. package/dist/utils/modules.js +1 -1
  375. package/dist/utils/promise.js +1 -1
  376. package/dist/utils/raf.js +1 -1
  377. package/dist/utils/random.js +1 -1
  378. package/dist/utils/range.js +1 -1
  379. package/dist/utils/react/RenderCache.js +1 -1
  380. package/dist/utils/react/Slots.js +1 -1
  381. package/dist/utils/react/chain.js +1 -1
  382. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  383. package/dist/utils/react/index.js +1 -1
  384. package/dist/utils/react/interactions.js +1 -1
  385. package/dist/utils/react/isTextOnly.js +1 -1
  386. package/dist/utils/react/mapProps.js +1 -1
  387. package/dist/utils/react/mergeProps.js +1 -1
  388. package/dist/utils/react/nullableValue.js +1 -1
  389. package/dist/utils/react/resolveIcon.js +1 -1
  390. package/dist/utils/react/sharedStore.js +1 -1
  391. package/dist/utils/react/useCombinedRefs.js +1 -1
  392. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  393. package/dist/utils/react/useEventBus.js +1 -1
  394. package/dist/utils/react/useId.js +1 -1
  395. package/dist/utils/react/useIsDarwin.js +1 -1
  396. package/dist/utils/react/useKeySymbols.js +1 -1
  397. package/dist/utils/react/useLayoutEffect.js +1 -1
  398. package/dist/utils/react/useLocalStorage.js +1 -1
  399. package/dist/utils/react/useMergeStyles.js +1 -1
  400. package/dist/utils/react/useQaProps.js +1 -1
  401. package/dist/utils/react/useViewportSize.js +1 -1
  402. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  403. package/dist/utils/selection.js +1 -1
  404. package/dist/utils/styles.js +1 -1
  405. package/dist/utils/tree.js +1 -1
  406. package/dist/utils/warnings.js +1 -1
  407. package/dist/version.js +2 -2
  408. package/docs/tasty/injector.md +33 -18
  409. package/docs/tasty/ssr.md +12 -42
  410. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { createContext, useContext, useMemo } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/providers/navigationAdapter.default.ts
3
3
  /**
4
4
  * Converts a Path object to a string URL
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/base.ts
3
3
  /**
4
4
  * Base design system tokens.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/colors.ts
3
3
  const PINK_HUE = 5;
4
4
  const PURPLE_HUE = 280.3;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { BASE_TOKENS } from "./base.js";
3
3
  import { COLOR_TOKENS } from "./colors.js";
4
4
  import { LAYOUT_TOKENS } from "./layout.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/layout.ts
3
3
  /**
4
4
  * Layout-related tokens for common UI dimensions.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/shadows.ts
3
3
  /**
4
4
  * Shadow tokens using tasty shorthand syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/sizes.ts
3
3
  /**
4
4
  * Component size values in pixels.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/spacing.ts
3
3
  /**
4
4
  * Spacing tokens using tasty multiplier syntax.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/tokens/typography.ts
3
3
  /**
4
4
  * Typography presets for headings, text, and special styles.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/ResizeSensor.ts
3
3
  /**
4
4
  * Iterate over each of the provided element(s).
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/is-dev-env.ts
3
3
  function isDevEnv() {
4
4
  if (typeof window !== "undefined" && window.localStorage) try {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/modules.ts
3
3
  function extractModule(promise) {
4
4
  return promise.then((module) => module.default || module);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/promise.ts
3
3
  function timeout(ms = 30) {
4
4
  return new Promise((resolve) => {
package/dist/utils/raf.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/raf.ts
3
3
  /**
4
4
  * Chains N requestAnimationFrame calls and returns a cancel function.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/random.ts
3
3
  function random(min, max) {
4
4
  const realMin = min < max ? min : max;
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/range.ts
3
3
  function range(count) {
4
4
  return Array.from({ length: count }, (_, i) => i);
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useRef } from "react";
3
3
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { mergeProps } from "./mergeProps.js";
3
3
  import { Children, cloneElement, createContext, useContext, useMemo } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/chain.ts
3
3
  /**
4
4
  * Calls all functions in the order they were chained with the same arguments.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/forwardRefWithGenerics.tsx
3
3
  /**
4
4
  * A helper for creating forwardRef components with generic types.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { forwardRefWithGenerics } from "./forwardRefWithGenerics.js";
4
4
  import { isTextOnly } from "./isTextOnly.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useState } from "react";
3
3
  import { useFocus, useFocusVisible } from "react-aria";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { Children, isValidElement } from "react";
3
3
 
4
4
  //#region src/utils/react/isTextOnly.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/mapProps.ts
3
3
  /** Converts AriaButtonProps to CubeButtonProps */
4
4
  function ariaToCubeButtonProps(props) {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { chain } from "./chain.js";
3
3
  import { mergeIds } from "./useId.js";
4
4
  import { mergeStyles } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/nullableValue.ts
3
3
  function castNullableStringValue(props) {
4
4
  return castNullableField(props, ["value", "defaultValue"], "string", (v) => String(v));
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/resolveIcon.ts
3
3
  /**
4
4
  * Resolves a dynamic icon prop to its content and slot state.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useCombinedRefs.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { createSharedStore } from "./sharedStore.js";
3
3
  import { useEffect } from "react";
4
4
  import { useFocusVisible } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import React, { createContext, useCallback, useContext, useEffect, useRef } from "react";
3
3
 
4
4
  //#region src/utils/react/useEventBus.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useLayoutEffect as useLayoutEffect$1 } from "./useLayoutEffect.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { useSSRSafeId } from "@react-aria/ssr";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useIsDarwin.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useIsDarwin } from "./useIsDarwin.js";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/utils/react/useLayoutEffect.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useEvent } from "../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useSyncExternalStore } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { mergeStyles } from "@tenphi/tasty";
3
3
  import { useMemo } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/react/useQaProps.ts
3
3
  /**
4
4
  * Processes QA props.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { useEffect, useState } from "react";
3
3
 
4
4
  //#region src/utils/react/useViewportSize.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  import { isValidElement } from "react";
3
3
  import { isFragment } from "react-is";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/selection.ts
3
3
  /**
4
4
  * Deduplicate/toggle keys in a selection: if a key appears twice it is
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/styles.ts
3
3
  /**
4
4
  * Split properties into style and non-style properties.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/tree.ts
3
3
  function toFlatTree(tree, includingFolders) {
4
4
  return tree.reduce((result, node) => {
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/utils/warnings.ts
3
3
  const SUGGESTED_PROP_MAP = {
4
4
  disabled: "isDisabled",
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-0d47ea4 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.0.0-canary-73c0d53 | Cube Dev Team */
2
2
  //#region src/version.ts
3
- const VERSION = "0.0.0-canary-0d47ea4";
3
+ const VERSION = "0.0.0-canary-73c0d53";
4
4
  if (typeof window !== "undefined") {
5
5
  const version = VERSION;
6
6
  window.CubeUIKit = window.CubeUIKit || { version };
@@ -207,13 +207,15 @@ import { configure } from '@tenphi/tasty';
207
207
  configure({
208
208
  devMode: true, // Enable development features (auto-detected)
209
209
  maxRulesPerSheet: 8192, // Cap rules per stylesheet (default: 8192)
210
- unusedStylesThreshold: 500, // Trigger cleanup threshold (CSS rules only)
211
- bulkCleanupDelay: 5000, // Cleanup delay (ms) - ignored if idleCleanup is true
212
- idleCleanup: true, // Use requestIdleCallback for cleanup
213
- bulkCleanupBatchRatio: 0.5, // Clean up oldest 50% per batch
214
- unusedStylesMinAgeMs: 10000, // Minimum age before cleanup (ms)
215
210
  forceTextInjection: false, // Force textContent insertion (auto-detected for tests)
216
211
  nonce: 'csp-nonce', // CSP nonce for security
212
+ gc: { // Garbage collection for unused styles
213
+ auto: true, // Enable automatic background sweep
214
+ baseMaxAge: 60000, // Base TTL (ms) for single-use styles
215
+ cooldown: 30000, // Minimum time between GC runs
216
+ autoInterval: 300000, // Background sweep interval (ms)
217
+ cacheCapacity: 5000, // Hard cap on cached styles (optional)
218
+ },
217
219
  states: { // Global predefined states for advanced state mapping
218
220
  '@mobile': '@media(w < 768px)',
219
221
  '@dark': '@root(schema=dark)',
@@ -229,7 +231,9 @@ configure({
229
231
  - Most options have sensible defaults and auto-detection
230
232
  - `configure()` is optional - the injector works with defaults
231
233
  - **Configuration is locked after styles are generated** - calling `configure()` after first render will emit a warning and be ignored
232
- - `unusedStylesMinAgeMs`: Minimum time (ms) a style must remain unused before being eligible for cleanup. Helps prevent removal of styles that might be quickly reactivated.
234
+ - `gc.baseMaxAge`: Base TTL for a style rendered only once. Popular styles get longer TTLs via logarithmic scaling (`baseMaxAge * log2(hitCount + 1)`).
235
+ - `gc.auto`: When true, runs a periodic background sweep at `gc.autoInterval` intervals using `requestIdleCallback`.
236
+ - `gc.cooldown`: Minimum time between GC runs to avoid thrashing.
233
237
 
234
238
  ---
235
239
 
@@ -291,21 +295,31 @@ comp3.dispose(); // refCount: 1 → 0, eligible for bulk cleanup
291
295
  // Next inject() with same styles will increment refCount and reuse immediately
292
296
  ```
293
297
 
294
- ### Smart Cleanup System
298
+ ### Garbage Collection
295
299
 
296
300
  ```typescript
297
- import { configure } from '@tenphi/tasty';
301
+ import { configure, gc, maybeGC } from '@tenphi/tasty';
298
302
 
299
- // CSS rules: Not immediately deleted, marked for bulk cleanup (refCount = 0)
300
303
  // Keyframes: Disposed immediately when refCount = 0 (safer for global scope)
304
+ // CSS rules: Tracked by popularity and cleaned up via gc()
301
305
 
302
306
  configure({
303
- unusedStylesThreshold: 100, // Cleanup when 100+ unused CSS rules
304
- bulkCleanupBatchRatio: 0.3, // Remove oldest 30% each time
307
+ gc: {
308
+ auto: true, // Enable background sweep
309
+ baseMaxAge: 60000, // 1-minute base TTL
310
+ cooldown: 30000, // 30s between runs
311
+ },
305
312
  });
306
313
 
314
+ // Manual GC (synchronous, returns number of swept styles):
315
+ gc();
316
+
317
+ // Event-driven GC with cooldown (e.g. on route change):
318
+ maybeGC();
319
+
307
320
  // Benefits:
308
- // - CSS rules: Batch cleanup prevents DOM manipulation overhead
321
+ // - Popularity-aware: frequently used styles survive longer
322
+ // - DOM-safe: styles currently in the DOM are never evicted
309
323
  // - Keyframes: Immediate cleanup prevents global namespace pollution
310
324
  // - Unused styles can be instantly reactivated (just increment refCount)
311
325
  ```
@@ -462,13 +476,14 @@ injectGlobal([
462
476
  { selector: '.container', declarations: 'max-width: 1200px;' }
463
477
  ]);
464
478
 
465
- // ✅ Configure appropriate thresholds for your app (BEFORE first render!)
479
+ // ✅ Configure GC for your app (BEFORE first render!)
466
480
  import { configure } from '@tenphi/tasty';
467
481
 
468
482
  configure({
469
- unusedStylesThreshold: 500, // Default threshold (adjust based on app size)
470
- bulkCleanupBatchRatio: 0.5, // Default: clean oldest 50% per batch
471
- unusedStylesMinAgeMs: 10000, // Wait 10s before cleanup eligibility
483
+ gc: {
484
+ auto: true, // Enable background sweep for long-lived pages
485
+ baseMaxAge: 60000, // Default base TTL (adjust based on app size)
486
+ },
472
487
  });
473
488
  ```
474
489
 
@@ -480,8 +495,8 @@ configure({
480
495
  // 1. Hash-based deduplication - same CSS = same className
481
496
  // 2. Reference counting - styles stay alive while in use (refCount > 0)
482
497
  // 3. Immediate keyframes cleanup - disposed instantly when refCount = 0
483
- // 4. Batch CSS cleanup - unused CSS rules (refCount = 0) cleaned in batches
484
- // 5. Non-stacking cleanups - prevents timeout accumulation
498
+ // 4. Popularity-aware GC - unused CSS rules are scored by hitCount and age
499
+ // 5. DOM safety guard - styles visible in the DOM are never evicted
485
500
 
486
501
  // Manual cleanup is rarely needed but available:
487
502
  cleanup(); // Force immediate cleanup of all unused CSS rules (refCount = 0)
package/docs/tasty/ssr.md CHANGED
@@ -82,15 +82,15 @@ That's it. All `tasty()` components inside the tree automatically get SSR suppor
82
82
 
83
83
  ### How it works
84
84
 
85
- - `TastyRegistry` is a `'use client'` component, but Next.js still server-renders it on initial page load.
86
- - During SSR, `computeStyles()` finds the collector (registered globally by `TastyRegistry`) and collects CSS rules into it.
87
- - `TastyRegistry` uses `useServerInsertedHTML` to flush collected CSS into the HTML stream as `<style data-tasty-ssr>` tags. This is fully streaming-compatible -- styles are injected alongside each Suspense boundary as it resolves.
85
+ - `TastyRegistry` is a `'use client'` component, but Next.js still server-renders it on initial page load. The `'use client'` boundary is required solely to access `useServerInsertedHTML` — **not** because `tasty()` components need the client.
86
+ - During SSR, `TastyRegistry` creates a `ServerStyleCollector` and registers it via a module-level global getter. All style computation — whether from `tasty()` components, `computeStyles()`, `useStyles()`, or other hooks like `useGlobalStyles()` — discovers the collector through this single global getter. No React context is involved.
87
+ - `TastyRegistry` uses `useServerInsertedHTML` to flush collected CSS into the HTML stream as `<style data-tasty-ssr>` tags. This is fully streaming-compatible — styles are injected alongside each Suspense boundary as it resolves.
88
88
  - A companion `<script>` tag transfers the `cacheKey → className` mapping to the client.
89
89
  - When the module loads on the client, `hydrateTastyCache()` runs automatically and pre-populates the injector cache. During hydration, `computeStyles()` hits the cache and skips the entire pipeline.
90
90
 
91
91
  ### Using tasty() in Server Components
92
92
 
93
- `tasty()` components are hook-free and do not require `'use client'`. They can be used directly in React Server Components. Dynamic `styleProps` like `<Grid flow="column">` work normally in server components. During SSR, the `TastyRegistry` registers its collector globally so that `computeStyles()` can discover it without React context.
93
+ `tasty()` components are hook-free and do not require `'use client'`. They can be used directly in React Server Components. Dynamic `styleProps` like `<Grid flow="column">` work normally in server components. During SSR, `computeStyles()` discovers the collector via the same global getter registered by `TastyRegistry` — no React context or client boundary needed for this path.
94
94
 
95
95
  ### Options
96
96
 
@@ -197,12 +197,12 @@ Same as Next.js -- call `configure({ nonce: '...' })` before any rendering happe
197
197
 
198
198
  ## Generic Framework Integration
199
199
 
200
- Any React-based framework can integrate using the core SSR API:
200
+ Any React-based framework can integrate using `runWithCollector`, which binds a `ServerStyleCollector` to the current async context via `AsyncLocalStorage`. All `computeStyles()` and hook calls within the render automatically discover the collector.
201
201
 
202
202
  ```tsx
203
203
  import {
204
204
  ServerStyleCollector,
205
- TastySSRContext,
205
+ runWithCollector,
206
206
  hydrateTastyCache,
207
207
  } from '@tenphi/tasty/ssr';
208
208
  import { renderToString } from 'react-dom/server';
@@ -212,10 +212,8 @@ import { hydrateRoot } from 'react-dom/client';
212
212
 
213
213
  const collector = new ServerStyleCollector();
214
214
 
215
- const html = renderToString(
216
- <TastySSRContext.Provider value={collector}>
217
- <App />
218
- </TastySSRContext.Provider>
215
+ const html = await runWithCollector(collector, () =>
216
+ renderToString(<App />)
219
217
  );
220
218
 
221
219
  const css = collector.getCSS();
@@ -251,11 +249,8 @@ For streaming with `renderToPipeableStream`, use `flushCSS()` instead of `getCSS
251
249
  ```tsx
252
250
  const collector = new ServerStyleCollector();
253
251
 
254
- const stream = renderToPipeableStream(
255
- <TastySSRContext.Provider value={collector}>
256
- <App />
257
- </TastySSRContext.Provider>,
258
- {
252
+ const stream = await runWithCollector(collector, () =>
253
+ renderToPipeableStream(<App />, {
259
254
  onShellReady() {
260
255
  // Flush styles collected so far
261
256
  const css = collector.flushCSS();
@@ -270,31 +265,10 @@ const stream = renderToPipeableStream(
270
265
  const state = collector.getCacheState();
271
266
  res.write(`<script data-tasty-cache type="application/json">${JSON.stringify(state)}</script>`);
272
267
  },
273
- }
268
+ })
274
269
  );
275
270
  ```
276
271
 
277
- ### AsyncLocalStorage (no React context)
278
-
279
- If your framework doesn't support wrapping the React tree with a provider, use `runWithCollector`:
280
-
281
- ```tsx
282
- import {
283
- ServerStyleCollector,
284
- runWithCollector,
285
- hydrateTastyCache,
286
- } from '@tenphi/tasty/ssr';
287
-
288
- const collector = new ServerStyleCollector();
289
-
290
- const html = await runWithCollector(collector, () =>
291
- renderToString(<App />)
292
- );
293
-
294
- const css = collector.getCSS();
295
- // ... inject into HTML as above
296
- ```
297
-
298
272
  ---
299
273
 
300
274
  ## API Reference
@@ -303,7 +277,7 @@ const css = collector.getCSS();
303
277
 
304
278
  | Import path | Description |
305
279
  |---|---|
306
- | `@tenphi/tasty/ssr` | Core SSR API: `ServerStyleCollector`, `TastySSRContext`, `runWithCollector`, `hydrateTastyCache` |
280
+ | `@tenphi/tasty/ssr` | Core SSR API: `ServerStyleCollector`, `runWithCollector`, `hydrateTastyCache` |
307
281
  | `@tenphi/tasty/ssr/next` | Next.js App Router: `TastyRegistry` component |
308
282
  | `@tenphi/tasty/ssr/astro` | Astro: `tastyMiddleware`, auto-hydration on import |
309
283
 
@@ -323,10 +297,6 @@ Server-safe style collector. One instance per request.
323
297
  | `flushCSS()` | Get only CSS collected since the last flush. For streaming SSR. |
324
298
  | `getCacheState()` | Serialize `{ entries: Record<cacheKey, className>, classCounter }` for client hydration. |
325
299
 
326
- ### `TastySSRContext`
327
-
328
- React context (`createContext<ServerStyleCollector | null>(null)`). Used by the `useStyles()` hook to find the collector during SSR. Not needed when using `computeStyles()` directly (which discovers the collector via `AsyncLocalStorage` or the global getter registered by `TastyRegistry`).
329
-
330
300
  ### `TastyRegistry`
331
301
 
332
302
  Next.js App Router component. Props:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.0.0-canary-0d47ea4",
3
+ "version": "0.0.0-canary-73c0d53",
4
4
  "type": "module",
5
5
  "description": "UIKit for Cube Projects",
6
6
  "repository": {
@@ -74,7 +74,7 @@
74
74
  "@react-types/shared": "^3.32.1",
75
75
  "@tabler/icons-react": "^3.31.0",
76
76
  "@tanstack/react-virtual": "^3.13.12",
77
- "@tenphi/tasty": "0.0.0-snapshot.e8f14d4",
77
+ "@tenphi/tasty": "0.0.0-snapshot.be4449a",
78
78
  "clipboard-copy": "^4.0.1",
79
79
  "clsx": "^1.1.1",
80
80
  "diff": "^8.0.3",