@cube-dev/ui-kit 0.0.0-canary-0692b88 → 0.0.0-canary-72a72ab

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 (492) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/GlobalStyles.js +1 -1
  17. package/es/components/GridProvider.js +1 -1
  18. package/es/components/HiddenInput.js +1 -1
  19. package/es/components/Item.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  30. package/es/components/actions/ItemButton/index.js +1 -1
  31. package/es/components/actions/Menu/Menu.js +1 -1
  32. package/es/components/actions/Menu/MenuItem.js +1 -1
  33. package/es/components/actions/Menu/MenuSection.js +1 -1
  34. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  35. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  36. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/es/components/actions/Menu/context.js +1 -1
  38. package/es/components/actions/Menu/index.js +1 -1
  39. package/es/components/actions/Menu/styled.js +1 -1
  40. package/es/components/actions/index.js +1 -1
  41. package/es/components/actions/use-action.js +1 -1
  42. package/es/components/actions/use-anchored-menu.js +1 -1
  43. package/es/components/actions/use-context-menu.js +1 -1
  44. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  45. package/es/components/content/Alert/Alert.js +1 -1
  46. package/es/components/content/Alert/index.js +1 -1
  47. package/es/components/content/Alert/types.js +1 -1
  48. package/es/components/content/Alert/use-alert.js +1 -1
  49. package/es/components/content/Avatar/Avatar.js +1 -1
  50. package/es/components/content/Badge/Badge.js +1 -1
  51. package/es/components/content/Card/Card.js +1 -1
  52. package/es/components/content/Content.js +1 -1
  53. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  54. package/es/components/content/CopyPasteBlock/index.js +1 -1
  55. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  56. package/es/components/content/CopySnippet/index.js +1 -1
  57. package/es/components/content/Divider.js +1 -1
  58. package/es/components/content/Footer.js +1 -1
  59. package/es/components/content/Header.js +1 -1
  60. package/es/components/content/HotKeys/HotKeys.js +1 -1
  61. package/es/components/content/HotKeys/index.js +1 -1
  62. package/es/components/content/ItemBase/ItemBase.js +1 -1
  63. package/es/components/content/ItemBase/index.js +1 -1
  64. package/es/components/content/List/SectionHeading.js +1 -1
  65. package/es/components/content/List/index.js +1 -1
  66. package/es/components/content/Paragraph.js +1 -1
  67. package/es/components/content/Placeholder/Placeholder.js +1 -1
  68. package/es/components/content/PrismCode/PrismCode.js +1 -1
  69. package/es/components/content/PrismCode/prismSetup.js +1 -1
  70. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  71. package/es/components/content/Result/Result.js +1 -1
  72. package/es/components/content/Skeleton/Skeleton.js +1 -1
  73. package/es/components/content/Tag/Tag.js +1 -1
  74. package/es/components/content/Text.js +1 -1
  75. package/es/components/content/Title.js +1 -1
  76. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  77. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  78. package/es/components/fields/Checkbox/context.js +1 -1
  79. package/es/components/fields/Checkbox/index.js +1 -1
  80. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  81. package/es/components/fields/ComboBox/index.js +1 -1
  82. package/es/components/fields/DatePicker/DateInput.js +1 -1
  83. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  84. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  85. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  86. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  87. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  88. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  89. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  90. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  91. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  92. package/es/components/fields/DatePicker/index.js +1 -1
  93. package/es/components/fields/DatePicker/intl.js +1 -1
  94. package/es/components/fields/DatePicker/parseDate.js +1 -1
  95. package/es/components/fields/DatePicker/props.js +1 -1
  96. package/es/components/fields/DatePicker/types.js +1 -1
  97. package/es/components/fields/DatePicker/utils.js +1 -1
  98. package/es/components/fields/FileInput/FileInput.js +1 -1
  99. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  100. package/es/components/fields/FilterListBox/index.js +1 -1
  101. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  102. package/es/components/fields/FilterPicker/index.js +1 -1
  103. package/es/components/fields/Input/Input.js +1 -1
  104. package/es/components/fields/Input/index.js +1 -1
  105. package/es/components/fields/ListBox/ListBox.js +1 -1
  106. package/es/components/fields/ListBox/index.js +1 -1
  107. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  108. package/es/components/fields/NumberInput/StepButton.js +1 -1
  109. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  110. package/es/components/fields/RadioGroup/Radio.js +1 -1
  111. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  112. package/es/components/fields/RadioGroup/context.js +1 -1
  113. package/es/components/fields/RadioGroup/index.js +1 -1
  114. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  115. package/es/components/fields/SearchInput/index.js +1 -1
  116. package/es/components/fields/Select/Select.js +1 -1
  117. package/es/components/fields/Select/index.js +1 -1
  118. package/es/components/fields/Slider/Gradation.js +1 -1
  119. package/es/components/fields/Slider/Header.js +1 -1
  120. package/es/components/fields/Slider/RangeSlider.js +1 -1
  121. package/es/components/fields/Slider/Slider.js +1 -1
  122. package/es/components/fields/Slider/SliderBase.js +1 -1
  123. package/es/components/fields/Slider/SliderInput.js +1 -1
  124. package/es/components/fields/Slider/SliderThumb.js +1 -1
  125. package/es/components/fields/Slider/SliderTrack.js +1 -1
  126. package/es/components/fields/Slider/elements.js +1 -1
  127. package/es/components/fields/Slider/index.js +1 -1
  128. package/es/components/fields/Slider/types.js +1 -1
  129. package/es/components/fields/Switch/Switch.js +1 -1
  130. package/es/components/fields/Switch/index.js +1 -1
  131. package/es/components/fields/TextArea/TextArea.js +1 -1
  132. package/es/components/fields/TextArea/index.js +1 -1
  133. package/es/components/fields/TextInput/TextInput.js +1 -1
  134. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  135. package/es/components/fields/TextInput/index.js +1 -1
  136. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  137. package/es/components/fields/TextInputMapper/index.js +1 -1
  138. package/es/components/fields/index.js +1 -1
  139. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  140. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  141. package/es/components/form/FieldWrapper/index.js +1 -1
  142. package/es/components/form/FieldWrapper/types.js +1 -1
  143. package/es/components/form/Form/Field.js +1 -1
  144. package/es/components/form/Form/Form.js +1 -1
  145. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  146. package/es/components/form/Form/ResetButton/index.js +1 -1
  147. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  148. package/es/components/form/Form/SubmitButton/index.js +1 -1
  149. package/es/components/form/Form/SubmitError.js +1 -1
  150. package/es/components/form/Form/index.js +1 -1
  151. package/es/components/form/Form/types.js +1 -1
  152. package/es/components/form/Form/use-field/index.js +1 -1
  153. package/es/components/form/Form/use-field/types.js +1 -1
  154. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  155. package/es/components/form/Form/use-field/use-field.js +1 -1
  156. package/es/components/form/Form/use-form.js +1 -1
  157. package/es/components/form/Form/validation.js +1 -1
  158. package/es/components/form/Label.js +1 -1
  159. package/es/components/form/index.js +1 -1
  160. package/es/components/form/wrapper.js +1 -1
  161. package/es/components/layout/Flex.js +1 -1
  162. package/es/components/layout/Flow.js +1 -1
  163. package/es/components/layout/Grid.js +1 -1
  164. package/es/components/layout/Panel.js +1 -1
  165. package/es/components/layout/Prefix.js +1 -1
  166. package/es/components/layout/ResizablePanel.js +1 -1
  167. package/es/components/layout/Space.js +1 -1
  168. package/es/components/layout/Suffix.js +1 -1
  169. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  170. package/es/components/navigation/Link/Link.js +1 -1
  171. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  172. package/es/components/organisms/Modal/Modal.js +1 -1
  173. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  174. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  175. package/es/components/other/Calendar/Calendar.js +1 -1
  176. package/es/components/other/Calendar/CalendarCell.js +1 -1
  177. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  178. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  179. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  180. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  181. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  182. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  183. package/es/components/overlays/AlertDialog/index.js +1 -1
  184. package/es/components/overlays/AlertDialog/types.js +1 -1
  185. package/es/components/overlays/Dialog/Dialog.js +1 -1
  186. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  187. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  188. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  189. package/es/components/overlays/Dialog/context.js +1 -1
  190. package/es/components/overlays/Dialog/index.js +1 -1
  191. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  192. package/es/components/overlays/Modal/Modal.js +1 -1
  193. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  194. package/es/components/overlays/Modal/Overlay.js +1 -1
  195. package/es/components/overlays/Modal/Popover.js +1 -1
  196. package/es/components/overlays/Modal/Tray.js +1 -1
  197. package/es/components/overlays/Modal/Underlay.js +1 -1
  198. package/es/components/overlays/Modal/index.js +1 -1
  199. package/es/components/overlays/Modal/types.js +1 -1
  200. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  201. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  202. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  203. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  204. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  205. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  206. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  207. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  211. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  212. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  213. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  214. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  215. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  216. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  217. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  218. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  219. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  220. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  221. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  222. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  223. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  224. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  225. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  226. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  227. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  228. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  229. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  230. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  231. package/es/components/overlays/NewNotifications/index.js +1 -1
  232. package/es/components/overlays/NewNotifications/types.js +1 -1
  233. package/es/components/overlays/Notification/Notification.js +1 -1
  234. package/es/components/overlays/OverlayWrapper.js +1 -1
  235. package/es/components/overlays/Toasts/Toast.js +1 -1
  236. package/es/components/overlays/Toasts/index.js +1 -1
  237. package/es/components/overlays/Toasts/types.js +1 -1
  238. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  239. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  240. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  241. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  242. package/es/components/overlays/Tooltip/context.js +1 -1
  243. package/es/components/overlays/Tooltip/index.js +1 -1
  244. package/es/components/portal/Portal.js +1 -1
  245. package/es/components/portal/PortalProvider.js +1 -1
  246. package/es/components/portal/index.js +1 -1
  247. package/es/components/portal/types.js +1 -1
  248. package/es/components/portal/usePortal.js +1 -1
  249. package/es/components/shared/InvalidIcon.js +1 -1
  250. package/es/components/shared/ValidIcon.js +1 -1
  251. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  252. package/es/components/status/LoadingAnimation/index.js +1 -1
  253. package/es/components/status/Spin/Cube.js +1 -1
  254. package/es/components/status/Spin/InternalSpinner.js +1 -1
  255. package/es/components/status/Spin/Spin.js +1 -1
  256. package/es/components/status/Spin/SpinsContainer.js +1 -1
  257. package/es/components/status/Spin/index.js +1 -1
  258. package/es/components/status/Spin/types.js +1 -1
  259. package/es/components/status/index.js +1 -1
  260. package/es/data/item-themes.js +1 -1
  261. package/es/data/themes.js +1 -1
  262. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  263. package/es/icons/AdjustmentsIcon.js +1 -1
  264. package/es/icons/AiIcon.js +1 -1
  265. package/es/icons/AreaChartIcon.js +1 -1
  266. package/es/icons/BackwardIcon.js +1 -1
  267. package/es/icons/BarChartIcon.js +1 -1
  268. package/es/icons/BellFilledIcon.js +1 -1
  269. package/es/icons/BellIcon.js +1 -1
  270. package/es/icons/BooleanIcon.js +1 -1
  271. package/es/icons/CalendarEditIcon.js +1 -1
  272. package/es/icons/CalendarIcon.js +1 -1
  273. package/es/icons/CaretDownIcon.js +1 -1
  274. package/es/icons/CaretUpIcon.js +1 -1
  275. package/es/icons/ChartAreaStackedIcon.js +1 -1
  276. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  277. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  278. package/es/icons/ChartBarGroupedIcon.js +1 -1
  279. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  280. package/es/icons/ChartBarLineIcon.js +1 -1
  281. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  282. package/es/icons/ChartBarStackedIcon.js +1 -1
  283. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  284. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  285. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  286. package/es/icons/ChartBoxPlotIcon.js +1 -1
  287. package/es/icons/ChartBubbleIcon.js +1 -1
  288. package/es/icons/ChartDonut2Icon.js +1 -1
  289. package/es/icons/ChartFunnelIcon.js +1 -1
  290. package/es/icons/ChartKPIIcon.js +1 -1
  291. package/es/icons/ChartPie2Icon.js +1 -1
  292. package/es/icons/ChartScatterIcon.js +1 -1
  293. package/es/icons/CheckCircleFilledIcon.js +1 -1
  294. package/es/icons/CheckCircleIcon.js +1 -1
  295. package/es/icons/CheckIcon.js +1 -1
  296. package/es/icons/CircleFilledIcon.js +1 -1
  297. package/es/icons/ClearIcon.js +1 -1
  298. package/es/icons/CloseCircleFilledIcon.js +1 -1
  299. package/es/icons/CloseCircleIcon.js +1 -1
  300. package/es/icons/CloseIcon.js +1 -1
  301. package/es/icons/CodeIcon.js +1 -1
  302. package/es/icons/CopyIcon.js +1 -1
  303. package/es/icons/CountIcon.js +1 -1
  304. package/es/icons/CubeIcon.js +1 -1
  305. package/es/icons/DangerIcon.js +1 -1
  306. package/es/icons/DashboardIcon.js +1 -1
  307. package/es/icons/DatabaseIcon.js +1 -1
  308. package/es/icons/DirectionIcon.js +1 -1
  309. package/es/icons/DonutIcon.js +1 -1
  310. package/es/icons/DownIcon.js +1 -1
  311. package/es/icons/EditIcon.js +1 -1
  312. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  313. package/es/icons/ExclamationCircleIcon.js +1 -1
  314. package/es/icons/ExclamationIcon.js +1 -1
  315. package/es/icons/EyeIcon.js +1 -1
  316. package/es/icons/EyeInvisibleIcon.js +1 -1
  317. package/es/icons/FilterIcon.js +1 -1
  318. package/es/icons/FolderFilledIcon.js +1 -1
  319. package/es/icons/FolderIcon.js +1 -1
  320. package/es/icons/FolderOpenFilledIcon.js +1 -1
  321. package/es/icons/FolderOpenIcon.js +1 -1
  322. package/es/icons/ForwardIcon.js +1 -1
  323. package/es/icons/HierarchyIcon.js +1 -1
  324. package/es/icons/Icon.js +1 -1
  325. package/es/icons/InfoCircleIcon.js +1 -1
  326. package/es/icons/InfoIcon.js +1 -1
  327. package/es/icons/KeyIcon.js +1 -1
  328. package/es/icons/LeftIcon.js +1 -1
  329. package/es/icons/LineChartIcon.js +1 -1
  330. package/es/icons/LoadingIcon.js +1 -1
  331. package/es/icons/LockFilledIcon.js +1 -1
  332. package/es/icons/LockIcon.js +1 -1
  333. package/es/icons/MoreIcon.js +1 -1
  334. package/es/icons/NotAllowedIcon.js +1 -1
  335. package/es/icons/NumberIcon.js +1 -1
  336. package/es/icons/PauseCircleFilledIcon.js +1 -1
  337. package/es/icons/PauseCircleIcon.js +1 -1
  338. package/es/icons/PauseIcon.js +1 -1
  339. package/es/icons/PieChartIcon.js +1 -1
  340. package/es/icons/PlayCircleIcon.js +1 -1
  341. package/es/icons/PlayIcon.js +1 -1
  342. package/es/icons/PlusIcon.js +1 -1
  343. package/es/icons/ReloadIcon.js +1 -1
  344. package/es/icons/ReportIcon.js +1 -1
  345. package/es/icons/ReturnIcon.js +1 -1
  346. package/es/icons/RightIcon.js +1 -1
  347. package/es/icons/SchemeIcon.js +1 -1
  348. package/es/icons/SearchIcon.js +1 -1
  349. package/es/icons/SettingsIcon.js +1 -1
  350. package/es/icons/ShieldFilledIcon.js +1 -1
  351. package/es/icons/ShieldIcon.js +1 -1
  352. package/es/icons/SlashIcon.js +1 -1
  353. package/es/icons/SparklesIcon.js +1 -1
  354. package/es/icons/SqlIcon.js +1 -1
  355. package/es/icons/StatsIcon.js +1 -1
  356. package/es/icons/StopIcon.js +1 -1
  357. package/es/icons/StringIcon.js +1 -1
  358. package/es/icons/SwitchIcon.js +1 -1
  359. package/es/icons/TableIcon.js +1 -1
  360. package/es/icons/ThumbsDownIcon.js +1 -1
  361. package/es/icons/ThumbsUpIcon.js +1 -1
  362. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  363. package/es/icons/ThunderboltFilledIcon.js +1 -1
  364. package/es/icons/ThunderboltIcon.js +1 -1
  365. package/es/icons/TimeIcon.js +1 -1
  366. package/es/icons/UnlockIcon.js +1 -1
  367. package/es/icons/UpIcon.js +1 -1
  368. package/es/icons/UserGroupIcon.js +1 -1
  369. package/es/icons/UserIcon.js +1 -1
  370. package/es/icons/UserLockIcon.js +1 -1
  371. package/es/icons/ViewIcon.js +1 -1
  372. package/es/icons/WarningFilledIcon.js +1 -1
  373. package/es/icons/WarningIcon.js +1 -1
  374. package/es/icons/add-new-icon.js +1 -1
  375. package/es/icons/index.js +1 -1
  376. package/es/icons/wrap-icon.js +1 -1
  377. package/es/index.js +1 -1
  378. package/es/provider.js +1 -1
  379. package/es/providers/TrackingProvider.js +1 -1
  380. package/es/services/notification.js +1 -1
  381. package/es/shared/form.js +1 -1
  382. package/es/shared/index.js +1 -1
  383. package/es/stories/Form.legacy-stories.js +1 -1
  384. package/es/stories/FormFieldArgs.js +1 -1
  385. package/es/stories/Layout.stories.js +1 -1
  386. package/es/stories/Tasty.stories.js +1 -1
  387. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  388. package/es/stories/components/DialogFormApp.js +1 -1
  389. package/es/stories/components/StyledButton.js +1 -1
  390. package/es/stories/lists/baseProps.js +1 -1
  391. package/es/tasty/debug.js +15 -156
  392. package/es/tasty/index.js +1 -1
  393. package/es/tasty/injector/flatten.js +1 -1
  394. package/es/tasty/injector/index.js +1 -1
  395. package/es/tasty/injector/injector.js +6 -49
  396. package/es/tasty/injector/sheet-manager.js +110 -355
  397. package/es/tasty/injector/types.js +1 -1
  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 +1 -1
  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 +1 -1
  409. package/es/tasty/styles/createStyle.js +1 -1
  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 +1 -1
  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 -1
  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 +1 -1
  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 +1 -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 +1 -1
  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 +1 -1
  451. package/es/tasty/utils/mergeStyles.js +1 -1
  452. package/es/tasty/utils/modAttrs.js +1 -1
  453. package/es/tasty/utils/renderStyles.js +1 -1
  454. package/es/tasty/utils/responsive.js +1 -1
  455. package/es/tasty/utils/string.js +1 -1
  456. package/es/tasty/utils/styles.js +1 -1
  457. package/es/tasty/utils/warnings.js +1 -1
  458. package/es/tokens.js +1 -1
  459. package/es/type-checks.js +1 -1
  460. package/es/utils/ResizeSensor.js +1 -1
  461. package/es/utils/modules.js +1 -1
  462. package/es/utils/promise.js +1 -1
  463. package/es/utils/random.js +1 -1
  464. package/es/utils/range.js +1 -1
  465. package/es/utils/react/Slots.js +1 -1
  466. package/es/utils/react/chain.js +1 -1
  467. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  468. package/es/utils/react/index.js +1 -1
  469. package/es/utils/react/interactions.js +1 -1
  470. package/es/utils/react/isTextOnly.js +1 -1
  471. package/es/utils/react/mapProps.js +1 -1
  472. package/es/utils/react/mergeProps.js +1 -1
  473. package/es/utils/react/nullableValue.js +1 -1
  474. package/es/utils/react/sharedStore.js +1 -1
  475. package/es/utils/react/useCombinedRefs.js +1 -1
  476. package/es/utils/react/useControlledFocusVisible.js +1 -1
  477. package/es/utils/react/useEventBus.js +1 -1
  478. package/es/utils/react/useId.js +1 -1
  479. package/es/utils/react/useIsDarwin.js +1 -1
  480. package/es/utils/react/useKeySymbols.js +1 -1
  481. package/es/utils/react/useLayoutEffect.js +1 -1
  482. package/es/utils/react/useQaProps.js +1 -1
  483. package/es/utils/react/useViewportSize.js +1 -1
  484. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  485. package/es/utils/transitions.js +1 -1
  486. package/es/utils/tree.js +1 -1
  487. package/es/utils/warnings.js +1 -1
  488. package/es/version.js +2 -2
  489. package/package.json +1 -1
  490. package/types/tasty/debug.d.ts +2 -27
  491. package/types/tasty/injector/sheet-manager.d.ts +0 -27
  492. package/types/tasty/injector/types.d.ts +0 -37
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -38,10 +38,6 @@ export class SheetManager {
38
38
  bulkCleanupTimeout: null,
39
39
  metrics,
40
40
  classCounter: 0,
41
- batchedRules: new Map(),
42
- batchedRuleMeta: new Map(),
43
- classToBatchedKeys: new Map(),
44
- unusedBatchedClasses: new Set(),
45
41
  };
46
42
  this.rootRegistries.set(root, registry);
47
43
  }
@@ -93,105 +89,113 @@ export class SheetManager {
93
89
  * Insert CSS rules as a single block
94
90
  */
95
91
  insertRule(registry, flattenedRules, className, root) {
92
+ // Find or create a sheet with available space
93
+ let targetSheet = this.findAvailableSheet(registry, root);
94
+ if (!targetSheet) {
95
+ targetSheet = this.createSheet(registry, root);
96
+ }
97
+ const ruleIndex = this.findAvailableRuleIndex(targetSheet);
98
+ const sheetIndex = registry.sheets.indexOf(targetSheet);
96
99
  try {
97
- // Pre-merge identical selector+atRules declarations within the same class
100
+ // Group rules by selector and at-rules to combine declarations
98
101
  const groupedRules = [];
99
102
  const groupMap = new Map();
100
103
  const atKey = (at) => (at && at.length ? at.join('|') : '');
101
- for (const r of flattenedRules) {
104
+ flattenedRules.forEach((r) => {
102
105
  const key = `${atKey(r.atRules)}||${r.selector}`;
103
106
  const existing = groupMap.get(key);
104
107
  if (existing) {
105
- existing.rule.declarations = `${existing.rule.declarations} ${r.declarations}`;
108
+ // Append declarations, preserving order
109
+ existing.declarations = existing.declarations
110
+ ? `${existing.declarations} ${r.declarations}`
111
+ : r.declarations;
106
112
  }
107
113
  else {
108
- const clone = { ...r };
109
- groupMap.set(key, { idx: groupedRules.length, rule: clone });
110
- groupedRules.push(clone);
111
- }
112
- }
113
- // Ensure registry maps exist for this class
114
- if (!registry.classToBatchedKeys.has(className)) {
115
- registry.classToBatchedKeys.set(className, new Set());
116
- }
117
- // Apply batching per grouped rule
118
- for (const rule of groupedRules) {
119
- const normalizedDecl = this.normalizeDeclarations(rule.declarations);
120
- const { selectorTemplate } = this.makeSelectorTemplate(rule.selector, className);
121
- const batchKey = this.getBatchKey(rule.atRules, selectorTemplate, normalizedDecl);
122
- // Record meta
123
- if (!registry.batchedRuleMeta.has(batchKey)) {
124
- registry.batchedRuleMeta.set(batchKey, {
125
- selectorTemplate,
126
- declarations: normalizedDecl,
127
- atRules: rule.atRules && rule.atRules.length
128
- ? [...rule.atRules]
129
- : undefined,
114
+ groupMap.set(key, {
115
+ idx: groupedRules.length,
116
+ selector: r.selector,
117
+ atRules: r.atRules,
118
+ declarations: r.declarations,
130
119
  });
120
+ groupedRules.push({ ...r });
131
121
  }
132
- // Link class -> batch keys
133
- registry.classToBatchedKeys.get(className).add(batchKey);
134
- const existingEntry = registry.batchedRules.get(batchKey);
135
- if (existingEntry) {
136
- if (!existingEntry.classNames.has(className)) {
137
- existingEntry.classNames.add(className);
138
- this.updateBatchedRuleCss(registry, existingEntry, root);
139
- }
140
- // Unmark class as unused if it was marked
141
- if (registry.unusedBatchedClasses.has(className)) {
142
- registry.unusedBatchedClasses.delete(className);
143
- }
144
- continue;
145
- }
146
- // Check if this exact rule already exists as a non-batched rule in any sheet
147
- // and convert it to a batched rule instead of duplicating
148
- const existingClassWithSameRule = this.findClassWithIdenticalRule(registry, batchKey, className);
149
- if (existingClassWithSameRule) {
150
- // Convert existing rule to batched and add current class
151
- this.convertToBatchedRule(registry, existingClassWithSameRule, className, batchKey, root);
152
- continue;
153
- }
154
- // Need to create a new CSS rule for this batch key
155
- const { sheet, sheetIndex, ruleIndex } = this.ensureTargetSheetAndIndex(registry, root);
156
- const entry = {
157
- key: batchKey,
158
- selectorTemplate,
159
- declarations: normalizedDecl,
160
- atRules: rule.atRules && rule.atRules.length ? [...rule.atRules] : undefined,
161
- classNames: new Set([className]),
162
- sheetIndex,
163
- ruleIndex,
122
+ });
123
+ // Normalize groupedRules from map (with merged declarations)
124
+ groupMap.forEach((val) => {
125
+ groupedRules[val.idx] = {
126
+ selector: val.selector,
127
+ atRules: val.atRules,
128
+ declarations: val.declarations,
164
129
  };
165
- const cssText = this.composeCssForEntry(entry);
166
- const styleElement = sheet.sheet;
130
+ });
131
+ // Insert grouped rules
132
+ const insertedRuleTexts = [];
133
+ let currentRuleIndex = ruleIndex;
134
+ let firstInsertedIndex = null;
135
+ let lastInsertedIndex = null;
136
+ for (const rule of groupedRules) {
137
+ const declarations = rule.declarations;
138
+ const baseRule = `${rule.selector} { ${declarations} }`;
139
+ // Wrap with at-rules if present
140
+ let fullRule = baseRule;
141
+ if (rule.atRules && rule.atRules.length > 0) {
142
+ fullRule = rule.atRules.reduce((css, atRule) => `${atRule} { ${css} }`, baseRule);
143
+ }
144
+ // Insert individual rule into style element
145
+ const styleElement = targetSheet.sheet;
167
146
  const styleSheet = styleElement.sheet;
168
147
  if (styleSheet && !this.config.forceTextInjection) {
169
148
  const maxIndex = styleSheet.cssRules.length;
170
- const safeIndex = Math.min(Math.max(0, ruleIndex), maxIndex);
171
- styleSheet.insertRule(cssText, safeIndex);
149
+ const safeIndex = Math.min(Math.max(0, currentRuleIndex), maxIndex);
150
+ styleSheet.insertRule(fullRule, safeIndex);
151
+ if (firstInsertedIndex == null)
152
+ firstInsertedIndex = safeIndex;
153
+ lastInsertedIndex = safeIndex;
154
+ currentRuleIndex = safeIndex + 1;
172
155
  }
173
156
  else {
157
+ // Use textContent (either as fallback or when forceTextInjection is enabled)
174
158
  styleElement.textContent =
175
- (styleElement.textContent || '') + '\n' + cssText;
176
- entry.currentCssText = cssText;
159
+ (styleElement.textContent || '') + '\n' + fullRule;
160
+ if (firstInsertedIndex == null)
161
+ firstInsertedIndex = currentRuleIndex;
162
+ lastInsertedIndex = currentRuleIndex;
163
+ currentRuleIndex++;
177
164
  }
178
- // Update bookkeeping
179
- sheet.ruleCount = Math.max(sheet.ruleCount, ruleIndex + 1);
180
- registry.batchedRules.set(batchKey, entry);
181
- if (registry.metrics) {
182
- registry.metrics.totalInsertions++;
165
+ // CRITICAL DEBUG: Verify the style element is in DOM only if there are issues and we're not using forceTextInjection
166
+ if (!styleElement.parentNode && !this.config.forceTextInjection) {
167
+ console.error('SheetManager: Style element is NOT in DOM! This is the problem!', {
168
+ className,
169
+ ruleIndex: currentRuleIndex,
170
+ });
183
171
  }
172
+ // Conditionally store cssText and track for debug
173
+ if (this.config.debugMode) {
174
+ insertedRuleTexts.push(fullRule);
175
+ try {
176
+ registry.ruleTextSet.add(fullRule);
177
+ }
178
+ catch (_) {
179
+ // noop: defensive in case ruleTextSet is unavailable
180
+ }
181
+ }
182
+ // currentRuleIndex already adjusted above
183
+ }
184
+ // Update sheet info based on the number of rules inserted
185
+ const finalRuleIndex = currentRuleIndex - 1;
186
+ if (finalRuleIndex >= targetSheet.ruleCount) {
187
+ targetSheet.ruleCount = finalRuleIndex + 1;
184
188
  }
185
- // For batched insertion, we don't create per-class RuleInfo ranges anymore
186
189
  return {
187
190
  className,
188
- ruleIndex: -1,
189
- sheetIndex: -1,
190
- cssText: [],
191
+ ruleIndex: firstInsertedIndex ?? ruleIndex,
192
+ sheetIndex,
193
+ cssText: this.config.debugMode ? insertedRuleTexts : [],
194
+ endRuleIndex: lastInsertedIndex ?? finalRuleIndex,
191
195
  };
192
196
  }
193
197
  catch (error) {
194
- console.warn('Failed to insert CSS rules (batched):', error, {
198
+ console.warn('Failed to insert CSS rules:', error, {
195
199
  flattenedRules,
196
200
  className,
197
201
  });
@@ -296,34 +300,21 @@ export class SheetManager {
296
300
  * Mark a ruleset as unused but keep it in the stylesheet
297
301
  */
298
302
  markAsUnused(registry, className) {
299
- // If this class participates in batched rules, just mark it as unused
300
- const keys = registry.classToBatchedKeys.get(className);
301
- if (keys && keys.size) {
302
- registry.unusedBatchedClasses.add(className);
303
- registry.refCounts.delete(className);
304
- if (registry.metrics) {
305
- registry.metrics.totalUnused++;
306
- }
307
- // Schedule cleanup when we have enough unused classes
308
- const threshold = this.config.unusedStylesThreshold || 500;
309
- if (registry.unusedBatchedClasses.size >= threshold) {
310
- this.scheduleBulkCleanup(registry);
311
- }
312
- return; // handled via batched path
313
- }
314
- // Fallback to legacy unused path for non-batched rules
315
303
  const ruleInfo = registry.rules.get(className);
316
304
  if (!ruleInfo)
317
305
  return;
306
+ // Mark as unused (but keep in registry.rules)
318
307
  const unusedInfo = {
319
308
  ruleInfo,
320
309
  markedUnusedAt: Date.now(),
321
310
  };
322
311
  registry.unusedRules.set(className, unusedInfo);
323
312
  registry.refCounts.delete(className);
313
+ // Update metrics
324
314
  if (registry.metrics) {
325
315
  registry.metrics.totalUnused++;
326
316
  }
317
+ // Schedule bulk cleanup if threshold exceeded
327
318
  const threshold = this.config.unusedStylesThreshold || 500;
328
319
  if (registry.unusedRules.size >= threshold) {
329
320
  this.scheduleBulkCleanup(registry);
@@ -368,79 +359,41 @@ export class SheetManager {
368
359
  * Perform bulk cleanup of all unused styles
369
360
  */
370
361
  performBulkCleanup(registry) {
362
+ if (registry.unusedRules.size === 0)
363
+ return;
364
+ const classNamesToCleanup = Array.from(registry.unusedRules.keys());
371
365
  let cleanedUpCount = 0;
372
- // Handle legacy unused rules
373
- if (registry.unusedRules.size > 0) {
374
- const classNamesToCleanup = Array.from(registry.unusedRules.keys());
375
- // Group by sheet for efficient deletion
376
- const rulesBySheet = new Map();
377
- for (const className of classNamesToCleanup) {
378
- const unusedInfo = registry.unusedRules.get(className);
379
- if (!unusedInfo)
380
- continue;
381
- const sheetIndex = unusedInfo.ruleInfo.sheetIndex;
382
- if (!rulesBySheet.has(sheetIndex)) {
383
- rulesBySheet.set(sheetIndex, []);
384
- }
385
- rulesBySheet
386
- .get(sheetIndex)
387
- .push({ className, ruleInfo: unusedInfo.ruleInfo });
366
+ // Group by sheet for efficient deletion
367
+ const rulesBySheet = new Map();
368
+ for (const className of classNamesToCleanup) {
369
+ const unusedInfo = registry.unusedRules.get(className);
370
+ if (!unusedInfo)
371
+ continue;
372
+ const sheetIndex = unusedInfo.ruleInfo.sheetIndex;
373
+ if (!rulesBySheet.has(sheetIndex)) {
374
+ rulesBySheet.set(sheetIndex, []);
388
375
  }
389
- // Delete rules from each sheet (in reverse order to preserve indices)
390
- for (const [sheetIndex, rulesInSheet] of rulesBySheet) {
391
- // Sort by rule index in descending order for safe deletion
392
- rulesInSheet.sort((a, b) => b.ruleInfo.ruleIndex - a.ruleInfo.ruleIndex);
393
- for (const { className, ruleInfo } of rulesInSheet) {
394
- this.deleteRule(registry, ruleInfo);
395
- registry.rules.delete(className);
396
- registry.unusedRules.delete(className);
397
- cleanedUpCount++;
398
- }
376
+ rulesBySheet
377
+ .get(sheetIndex)
378
+ .push({ className, ruleInfo: unusedInfo.ruleInfo });
379
+ }
380
+ // Delete rules from each sheet (in reverse order to preserve indices)
381
+ for (const [sheetIndex, rulesInSheet] of rulesBySheet) {
382
+ // Sort by rule index in descending order for safe deletion
383
+ rulesInSheet.sort((a, b) => b.ruleInfo.ruleIndex - a.ruleInfo.ruleIndex);
384
+ for (const { className, ruleInfo } of rulesInSheet) {
385
+ this.deleteRule(registry, ruleInfo);
386
+ registry.rules.delete(className);
387
+ registry.unusedRules.delete(className);
388
+ cleanedUpCount++;
399
389
  }
400
390
  }
401
- // Handle batched unused classes
402
- if (registry.unusedBatchedClasses.size > 0) {
403
- cleanedUpCount += this.cleanupBatchedUnusedClasses(registry);
404
- }
405
391
  // Update metrics
406
392
  if (registry.metrics) {
407
393
  registry.metrics.bulkCleanups++;
408
394
  registry.metrics.stylesCleanedUp += cleanedUpCount;
409
395
  }
410
396
  }
411
- /**
412
- * Clean up unused classes from batched rules
413
- */
414
- cleanupBatchedUnusedClasses(registry) {
415
- const unusedClasses = Array.from(registry.unusedBatchedClasses);
416
- let cleanedUpCount = 0;
417
- for (const className of unusedClasses) {
418
- const keys = registry.classToBatchedKeys.get(className);
419
- if (!keys)
420
- continue;
421
- for (const key of keys) {
422
- const entry = registry.batchedRules.get(key);
423
- if (!entry)
424
- continue;
425
- // Remove class from the batched rule
426
- entry.classNames.delete(className);
427
- if (entry.classNames.size === 0) {
428
- // Remove the entire batched rule if no classes left
429
- this.removeBatchedEntry(registry, entry);
430
- registry.batchedRules.delete(key);
431
- }
432
- else {
433
- // Update the CSS to remove this class from the selector
434
- this.updateBatchedRuleCss(registry, entry, document);
435
- }
436
- }
437
- // Clean up the class mappings
438
- registry.classToBatchedKeys.delete(className);
439
- registry.unusedBatchedClasses.delete(className);
440
- cleanedUpCount++;
441
- }
442
- return cleanedUpCount;
443
- }
444
397
  /**
445
398
  * Process the deletion queue for cleanup
446
399
  */
@@ -534,204 +487,6 @@ export class SheetManager {
534
487
  // Clear registry
535
488
  this.rootRegistries.delete(root);
536
489
  }
537
- /** Normalize declaration list by sorting properties for stable keys */
538
- normalizeDeclarations(declarations) {
539
- return declarations
540
- .split(';')
541
- .map((d) => d.trim())
542
- .filter(Boolean)
543
- .sort((a, b) => a.localeCompare(b))
544
- .join(';');
545
- }
546
- /** Build selector template normalizing class references to placeholders.
547
- * Rules:
548
- * - Replace any occurrence of :is(.class[, .class]*) with :is(__CLASS__)
549
- * - If starts with .<name>.<name>, replace with __CLASS__.__CLASS__ (legacy specificity)
550
- * - Else if starts with .<name>, replace with __CLASS__
551
- */
552
- makeSelectorTemplate(selector, className) {
553
- // Normalize any :is(.tX, .tY) occurrences first
554
- const isClassList = /:is\(\s*\.[A-Za-z0-9_-]+(?:\s*,\s*\.[A-Za-z0-9_-]+)*\s*\)/g;
555
- let normalized = selector.replace(isClassList, ':is(__CLASS__)');
556
- // Legacy patterns that may still start with plain class
557
- const doubleRe = /^\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/;
558
- const singleRe = /^\.[A-Za-z0-9_-]+/;
559
- if (doubleRe.test(normalized)) {
560
- normalized = normalized.replace(doubleRe, '__CLASS__.__CLASS__');
561
- }
562
- else if (singleRe.test(normalized)) {
563
- normalized = normalized.replace(singleRe, '__CLASS__');
564
- }
565
- return { selectorTemplate: normalized };
566
- }
567
- /** Compose a unique batch key */
568
- getBatchKey(atRules, selectorTemplate, normalizedDecl) {
569
- const at = atRules && atRules.length ? atRules.join('|') : '';
570
- return `${at}||${selectorTemplate}||${normalizedDecl}`;
571
- }
572
- /** Ensure there is a target sheet and available rule index */
573
- ensureTargetSheetAndIndex(registry, root) {
574
- let sheet = this.findAvailableSheet(registry, root);
575
- if (!sheet) {
576
- sheet = this.createSheet(registry, root);
577
- }
578
- const ruleIndex = this.findAvailableRuleIndex(sheet);
579
- const sheetIndex = registry.sheets.indexOf(sheet);
580
- return { sheet, sheetIndex, ruleIndex };
581
- }
582
- /** Compose CSS text for a batched rule entry */
583
- composeCssForEntry(entry) {
584
- const classList = Array.from(entry.classNames)
585
- .sort((a, b) => {
586
- const aNum = parseInt(a.slice(1));
587
- const bNum = parseInt(b.slice(1));
588
- return aNum - bNum;
589
- })
590
- .map((c) => `.${c}`)
591
- .join(', ');
592
- // If template expects doubled specificity, replicate :is twice
593
- let selector = entry.selectorTemplate
594
- .replace(/:is\(__CLASS__\)/g, `:is(${classList})`)
595
- .replace(/__CLASS__\.__CLASS__/g, `:is(${classList}):is(${classList})`)
596
- .replace(/__CLASS__/g, `:is(${classList})`);
597
- const baseRule = `${selector} { ${entry.declarations} }`;
598
- if (entry.atRules && entry.atRules.length) {
599
- return entry.atRules.reduce((acc, at) => `${at} { ${acc} }`, baseRule);
600
- }
601
- return baseRule;
602
- }
603
- /** Update CSSOM/textContent for an existing batched rule */
604
- updateBatchedRuleCss(registry, entry, root) {
605
- const sheet = registry.sheets[entry.sheetIndex];
606
- if (!sheet)
607
- return;
608
- const styleElement = sheet.sheet;
609
- const styleSheet = styleElement.sheet;
610
- const newCssText = this.composeCssForEntry(entry);
611
- if (styleSheet && !this.config.forceTextInjection) {
612
- // Replace rule at the same index
613
- const idx = Math.max(0, Math.min(entry.ruleIndex, styleSheet.cssRules.length - 1));
614
- try {
615
- styleSheet.deleteRule(idx);
616
- }
617
- catch {
618
- // Ignore CSSOM errors when deleting rules
619
- }
620
- const insertIdx = Math.min(idx, styleSheet.cssRules.length);
621
- styleSheet.insertRule(newCssText, insertIdx);
622
- entry.ruleIndex = insertIdx;
623
- }
624
- else {
625
- // Text content replacement
626
- const old = entry.currentCssText || '';
627
- const fullText = styleElement.textContent || '';
628
- if (old) {
629
- styleElement.textContent = fullText.replace(old, newCssText);
630
- }
631
- else {
632
- styleElement.textContent =
633
- (fullText ? fullText + '\n' : '') + newCssText;
634
- }
635
- entry.currentCssText = newCssText;
636
- }
637
- }
638
- /** Remove a batched rule entirely from the stylesheet */
639
- removeBatchedEntry(registry, entry) {
640
- const sheet = registry.sheets[entry.sheetIndex];
641
- if (!sheet)
642
- return;
643
- const styleElement = sheet.sheet;
644
- const styleSheet = styleElement.sheet;
645
- if (styleSheet && !this.config.forceTextInjection) {
646
- const idx = entry.ruleIndex;
647
- if (idx >= 0 && idx < styleSheet.cssRules.length) {
648
- try {
649
- styleSheet.deleteRule(idx);
650
- sheet.ruleCount = Math.max(0, sheet.ruleCount - 1);
651
- }
652
- catch {
653
- // Ignore CSSOM errors when deleting rules
654
- }
655
- }
656
- }
657
- else {
658
- const old = entry.currentCssText || '';
659
- if (old) {
660
- const fullText = styleElement.textContent || '';
661
- styleElement.textContent = fullText.replace(old, '');
662
- }
663
- sheet.ruleCount = Math.max(0, sheet.ruleCount - 1);
664
- }
665
- }
666
- /** Find existing class that has an identical rule (same batch key) */
667
- findClassWithIdenticalRule(registry, batchKey, excludeClassName) {
668
- const meta = registry.batchedRuleMeta.get(batchKey);
669
- if (!meta)
670
- return null;
671
- // Look through all classes to find one that has this batch key but isn't batched yet
672
- for (const [className, keys] of registry.classToBatchedKeys.entries()) {
673
- if (className === excludeClassName)
674
- continue;
675
- if (keys.has(batchKey) && !registry.batchedRules.has(batchKey)) {
676
- return className;
677
- }
678
- }
679
- return null;
680
- }
681
- /** Convert an existing single-class rule to a batched rule with additional class */
682
- convertToBatchedRule(registry, existingClassName, newClassName, batchKey, root) {
683
- const meta = registry.batchedRuleMeta.get(batchKey);
684
- if (!meta)
685
- return;
686
- // Find the existing rule info for the existing class
687
- const existingRuleInfo = registry.rules.get(existingClassName);
688
- if (!existingRuleInfo || existingRuleInfo.sheetIndex < 0)
689
- return;
690
- // Create a new batched entry at the same location
691
- const entry = {
692
- key: batchKey,
693
- selectorTemplate: meta.selectorTemplate,
694
- declarations: meta.declarations,
695
- atRules: meta.atRules,
696
- classNames: new Set([existingClassName, newClassName]),
697
- sheetIndex: existingRuleInfo.sheetIndex,
698
- ruleIndex: existingRuleInfo.ruleIndex,
699
- };
700
- // Update the CSS rule to use batched selector
701
- const newCssText = this.composeCssForEntry(entry);
702
- const sheet = registry.sheets[entry.sheetIndex];
703
- if (!sheet)
704
- return;
705
- const styleElement = sheet.sheet;
706
- const styleSheet = styleElement.sheet;
707
- if (styleSheet && !this.config.forceTextInjection) {
708
- try {
709
- // Replace the existing rule
710
- const idx = Math.max(0, Math.min(entry.ruleIndex, styleSheet.cssRules.length - 1));
711
- styleSheet.deleteRule(idx);
712
- styleSheet.insertRule(newCssText, idx);
713
- }
714
- catch {
715
- // Ignore CSSOM errors when updating rules
716
- }
717
- }
718
- else {
719
- // Replace in text content
720
- const oldCssText = existingRuleInfo.cssText?.[0] || '';
721
- if (oldCssText) {
722
- const fullText = styleElement.textContent || '';
723
- styleElement.textContent = fullText.replace(oldCssText, newCssText);
724
- }
725
- entry.currentCssText = newCssText;
726
- }
727
- // Update registry
728
- registry.batchedRules.set(batchKey, entry);
729
- // Update class mappings
730
- if (!registry.classToBatchedKeys.has(newClassName)) {
731
- registry.classToBatchedKeys.set(newClassName, new Set());
732
- }
733
- registry.classToBatchedKeys.get(newClassName).add(batchKey);
734
- }
735
490
  }
736
491
 
737
492
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-0692b88
4
+ * @cube-dev/ui-kit v0.0.0-canary-72a72ab
5
5
  * Released under the MIT license.
6
6
  */
7
7