@cube-dev/ui-kit 0.0.0-canary-e9dc427 → 0.0.0-canary-5eba492

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 (637) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/CollectionItem.js +1 -1
  18. package/es/components/GlobalStyles.js +61 -67
  19. package/es/components/GridProvider.js +1 -1
  20. package/es/components/HiddenInput.js +1 -1
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +12 -52
  23. package/es/components/actions/Action/Action.js +1 -1
  24. package/es/components/actions/Button/Button.js +2 -2
  25. package/es/components/actions/Button/index.js +1 -1
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  27. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/es/components/actions/CommandMenu/index.js +1 -1
  29. package/es/components/actions/CommandMenu/styled.js +1 -1
  30. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  31. package/es/components/actions/ItemAction/index.js +1 -1
  32. package/es/components/actions/ItemActionContext.js +1 -1
  33. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/es/components/actions/ItemButton/index.js +1 -1
  35. package/es/components/actions/Link/Link.js +1 -1
  36. package/es/components/actions/Menu/Menu.js +1 -1
  37. package/es/components/actions/Menu/MenuItem.js +1 -1
  38. package/es/components/actions/Menu/MenuSection.js +1 -1
  39. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/es/components/actions/Menu/context.js +1 -1
  43. package/es/components/actions/Menu/index.js +1 -1
  44. package/es/components/actions/Menu/styled.js +1 -1
  45. package/es/components/actions/index.js +1 -1
  46. package/es/components/actions/use-action.js +1 -1
  47. package/es/components/actions/use-anchored-menu.js +1 -1
  48. package/es/components/actions/use-context-menu.js +1 -1
  49. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  50. package/es/components/content/Alert/Alert.js +1 -1
  51. package/es/components/content/Alert/index.js +1 -1
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +1 -1
  54. package/es/components/content/Avatar/Avatar.js +1 -1
  55. package/es/components/content/Badge/Badge.js +1 -1
  56. package/es/components/content/Card/Card.js +1 -1
  57. package/es/components/content/Content.js +1 -1
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  59. package/es/components/content/CopyPasteBlock/index.js +1 -1
  60. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  61. package/es/components/content/CopySnippet/index.js +1 -1
  62. package/es/components/content/Disclosure/Disclosure.js +1 -1
  63. package/es/components/content/Disclosure/index.js +1 -1
  64. package/es/components/content/Divider.js +1 -1
  65. package/es/components/content/Footer.js +1 -1
  66. package/es/components/content/Header.js +1 -1
  67. package/es/components/content/HotKeys/HotKeys.js +1 -1
  68. package/es/components/content/HotKeys/index.js +1 -1
  69. package/es/components/content/Item/Item.js +2 -2
  70. package/es/components/content/Item/index.js +1 -1
  71. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  72. package/es/components/content/ItemBadge/index.js +1 -1
  73. package/es/components/content/Layout/GridLayout.js +1 -1
  74. package/es/components/content/Layout/Layout.js +2 -1
  75. package/es/components/content/Layout/LayoutBlock.js +1 -1
  76. package/es/components/content/Layout/LayoutCenter.js +1 -1
  77. package/es/components/content/Layout/LayoutContainer.js +1 -1
  78. package/es/components/content/Layout/LayoutContent.js +2 -1
  79. package/es/components/content/Layout/LayoutContext.js +1 -1
  80. package/es/components/content/Layout/LayoutFlex.js +1 -1
  81. package/es/components/content/Layout/LayoutFooter.js +1 -1
  82. package/es/components/content/Layout/LayoutGrid.js +1 -1
  83. package/es/components/content/Layout/LayoutHeader.js +1 -1
  84. package/es/components/content/Layout/LayoutPane.js +2 -1
  85. package/es/components/content/Layout/LayoutPanel.js +2 -1
  86. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  87. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/es/components/content/Layout/index.js +1 -1
  90. package/es/components/content/Layout/utils.js +1 -1
  91. package/es/components/content/List/SectionHeading.js +1 -1
  92. package/es/components/content/List/index.js +1 -1
  93. package/es/components/content/Paragraph.js +1 -1
  94. package/es/components/content/Placeholder/Placeholder.js +1 -1
  95. package/es/components/content/PrismCode/PrismCode.js +1 -1
  96. package/es/components/content/PrismCode/prismSetup.js +1 -1
  97. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  98. package/es/components/content/Result/Result.js +1 -1
  99. package/es/components/content/Skeleton/Skeleton.js +1 -1
  100. package/es/components/content/Tag/Tag.js +1 -1
  101. package/es/components/content/Text.js +1 -1
  102. package/es/components/content/TextItem/TextItem.js +1 -1
  103. package/es/components/content/TextItem/index.js +1 -1
  104. package/es/components/content/Title.js +1 -1
  105. package/es/components/content/highlightText.js +1 -1
  106. package/es/components/content/use-auto-tooltip.js +1 -1
  107. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  108. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  109. package/es/components/fields/Checkbox/context.js +1 -1
  110. package/es/components/fields/Checkbox/index.js +1 -1
  111. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  112. package/es/components/fields/ComboBox/index.js +1 -1
  113. package/es/components/fields/DatePicker/DateInput.js +1 -1
  114. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  115. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  121. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  122. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  123. package/es/components/fields/DatePicker/index.js +1 -1
  124. package/es/components/fields/DatePicker/intl.js +1 -1
  125. package/es/components/fields/DatePicker/parseDate.js +1 -1
  126. package/es/components/fields/DatePicker/props.js +1 -1
  127. package/es/components/fields/DatePicker/types.js +1 -1
  128. package/es/components/fields/DatePicker/utils.js +1 -1
  129. package/es/components/fields/FileInput/FileInput.js +1 -1
  130. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  131. package/es/components/fields/FilterListBox/index.js +1 -1
  132. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  133. package/es/components/fields/FilterPicker/index.js +1 -1
  134. package/es/components/fields/Input/Input.js +1 -1
  135. package/es/components/fields/Input/index.js +1 -1
  136. package/es/components/fields/ListBox/ListBox.js +1 -1
  137. package/es/components/fields/ListBox/index.js +1 -1
  138. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  139. package/es/components/fields/NumberInput/StepButton.js +1 -1
  140. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  141. package/es/components/fields/Picker/Picker.js +1 -1
  142. package/es/components/fields/Picker/index.js +1 -1
  143. package/es/components/fields/RadioGroup/Radio.js +1 -1
  144. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  145. package/es/components/fields/RadioGroup/context.js +1 -1
  146. package/es/components/fields/RadioGroup/index.js +1 -1
  147. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  148. package/es/components/fields/SearchInput/index.js +1 -1
  149. package/es/components/fields/Select/Select.js +1 -1
  150. package/es/components/fields/Select/index.js +1 -1
  151. package/es/components/fields/Slider/Gradation.js +1 -1
  152. package/es/components/fields/Slider/Header.js +1 -1
  153. package/es/components/fields/Slider/RangeSlider.js +1 -1
  154. package/es/components/fields/Slider/Slider.js +1 -1
  155. package/es/components/fields/Slider/SliderBase.js +1 -1
  156. package/es/components/fields/Slider/SliderInput.js +1 -1
  157. package/es/components/fields/Slider/SliderThumb.js +1 -1
  158. package/es/components/fields/Slider/SliderTrack.js +1 -1
  159. package/es/components/fields/Slider/elements.js +1 -1
  160. package/es/components/fields/Slider/index.js +1 -1
  161. package/es/components/fields/Slider/types.js +1 -1
  162. package/es/components/fields/Switch/Switch.js +1 -1
  163. package/es/components/fields/Switch/index.js +1 -1
  164. package/es/components/fields/TextArea/TextArea.js +1 -1
  165. package/es/components/fields/TextArea/index.js +1 -1
  166. package/es/components/fields/TextInput/TextInput.js +1 -1
  167. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  168. package/es/components/fields/TextInput/index.js +1 -1
  169. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  170. package/es/components/fields/TextInputMapper/index.js +1 -1
  171. package/es/components/fields/index.js +1 -1
  172. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  173. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  174. package/es/components/form/FieldWrapper/index.js +1 -1
  175. package/es/components/form/FieldWrapper/types.js +1 -1
  176. package/es/components/form/Form/Field.js +1 -1
  177. package/es/components/form/Form/Form.js +1 -1
  178. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  179. package/es/components/form/Form/ResetButton/index.js +1 -1
  180. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  181. package/es/components/form/Form/SubmitButton/index.js +1 -1
  182. package/es/components/form/Form/SubmitError.js +1 -1
  183. package/es/components/form/Form/index.js +1 -1
  184. package/es/components/form/Form/types.js +1 -1
  185. package/es/components/form/Form/use-field/index.js +1 -1
  186. package/es/components/form/Form/use-field/types.js +1 -1
  187. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  188. package/es/components/form/Form/use-field/use-field.js +1 -1
  189. package/es/components/form/Form/use-form.js +1 -1
  190. package/es/components/form/Form/validation.js +1 -1
  191. package/es/components/form/Label.js +1 -1
  192. package/es/components/form/index.js +1 -1
  193. package/es/components/form/wrapper.js +1 -1
  194. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  195. package/es/components/helpers/DisplayTransition/index.js +1 -1
  196. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  197. package/es/components/helpers/index.js +1 -1
  198. package/es/components/layout/Flex.js +1 -1
  199. package/es/components/layout/Flow.js +1 -1
  200. package/es/components/layout/Grid.js +1 -1
  201. package/es/components/layout/Panel.js +1 -1
  202. package/es/components/layout/Prefix.js +1 -1
  203. package/es/components/layout/ResizablePanel.js +1 -1
  204. package/es/components/layout/Space.js +1 -1
  205. package/es/components/layout/Suffix.js +1 -1
  206. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  207. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  208. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  209. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  210. package/es/components/other/Calendar/Calendar.js +1 -1
  211. package/es/components/other/Calendar/CalendarCell.js +1 -1
  212. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  213. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  214. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  217. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  218. package/es/components/overlays/AlertDialog/index.js +1 -1
  219. package/es/components/overlays/AlertDialog/types.js +1 -1
  220. package/es/components/overlays/Dialog/Dialog.js +1 -1
  221. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  222. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  223. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  224. package/es/components/overlays/Dialog/context.js +1 -1
  225. package/es/components/overlays/Dialog/index.js +1 -1
  226. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  227. package/es/components/overlays/Modal/Modal.js +1 -1
  228. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  229. package/es/components/overlays/Modal/Overlay.js +1 -1
  230. package/es/components/overlays/Modal/Popover.js +1 -1
  231. package/es/components/overlays/Modal/Tray.js +1 -1
  232. package/es/components/overlays/Modal/Underlay.js +1 -1
  233. package/es/components/overlays/Modal/index.js +1 -1
  234. package/es/components/overlays/Modal/types.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  238. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  241. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  242. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  260. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  266. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  267. package/es/components/overlays/NewNotifications/index.js +1 -1
  268. package/es/components/overlays/NewNotifications/types.js +1 -1
  269. package/es/components/overlays/Notification/Notification.js +1 -1
  270. package/es/components/overlays/OverlayWrapper.js +1 -1
  271. package/es/components/overlays/Toasts/Toast.js +1 -1
  272. package/es/components/overlays/Toasts/index.js +1 -1
  273. package/es/components/overlays/Toasts/types.js +1 -1
  274. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  275. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  277. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  278. package/es/components/overlays/Tooltip/context.js +1 -1
  279. package/es/components/overlays/Tooltip/index.js +1 -1
  280. package/es/components/portal/Portal.js +1 -1
  281. package/es/components/portal/PortalProvider.js +1 -1
  282. package/es/components/portal/index.js +1 -1
  283. package/es/components/portal/types.js +1 -1
  284. package/es/components/portal/usePortal.js +1 -1
  285. package/es/components/shared/InvalidIcon.js +1 -1
  286. package/es/components/shared/ValidIcon.js +1 -1
  287. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  288. package/es/components/status/LoadingAnimation/index.js +1 -1
  289. package/es/components/status/Spin/Cube.js +1 -1
  290. package/es/components/status/Spin/InternalSpinner.js +1 -1
  291. package/es/components/status/Spin/Spin.js +1 -1
  292. package/es/components/status/Spin/SpinsContainer.js +1 -1
  293. package/es/components/status/Spin/index.js +1 -1
  294. package/es/components/status/Spin/types.js +1 -1
  295. package/es/components/status/index.js +1 -1
  296. package/es/data/item-themes.js +1 -1
  297. package/es/data/themes.js +1 -1
  298. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  299. package/es/icons/AdjustmentsIcon.js +1 -1
  300. package/es/icons/AiIcon.js +1 -1
  301. package/es/icons/AreaChartIcon.js +1 -1
  302. package/es/icons/BackwardIcon.js +1 -1
  303. package/es/icons/BarChartIcon.js +1 -1
  304. package/es/icons/BellFilledIcon.js +1 -1
  305. package/es/icons/BellIcon.js +1 -1
  306. package/es/icons/BooleanIcon.js +1 -1
  307. package/es/icons/CalendarEditIcon.js +1 -1
  308. package/es/icons/CalendarIcon.js +1 -1
  309. package/es/icons/CaretDownIcon.js +1 -1
  310. package/es/icons/CaretUpIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedIcon.js +1 -1
  312. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  314. package/es/icons/ChartBarGroupedIcon.js +1 -1
  315. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  316. package/es/icons/ChartBarLineIcon.js +1 -1
  317. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  318. package/es/icons/ChartBarStackedIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  320. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  321. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  322. package/es/icons/ChartBoxPlotIcon.js +1 -1
  323. package/es/icons/ChartBubbleIcon.js +1 -1
  324. package/es/icons/ChartDonut2Icon.js +1 -1
  325. package/es/icons/ChartFunnelIcon.js +1 -1
  326. package/es/icons/ChartHeatmapIcon.js +1 -1
  327. package/es/icons/ChartKPIIcon.js +1 -1
  328. package/es/icons/ChartPie2Icon.js +1 -1
  329. package/es/icons/ChartScatterIcon.js +1 -1
  330. package/es/icons/CheckCircleFilledIcon.js +1 -1
  331. package/es/icons/CheckCircleIcon.js +1 -1
  332. package/es/icons/CheckIcon.js +1 -1
  333. package/es/icons/CircleFilledIcon.js +1 -1
  334. package/es/icons/ClearIcon.js +1 -1
  335. package/es/icons/CloseCircleFilledIcon.js +1 -1
  336. package/es/icons/CloseCircleIcon.js +1 -1
  337. package/es/icons/CloseIcon.js +1 -1
  338. package/es/icons/CodeIcon.js +1 -1
  339. package/es/icons/ColumnTotalIcon.js +1 -1
  340. package/es/icons/CopyIcon.js +1 -1
  341. package/es/icons/CountIcon.js +1 -1
  342. package/es/icons/CubeIcon.js +1 -1
  343. package/es/icons/CubePauseIcon.js +1 -1
  344. package/es/icons/CubePlayIcon.js +1 -1
  345. package/es/icons/CurrencyDollarIcon.js +1 -1
  346. package/es/icons/DangerIcon.js +1 -1
  347. package/es/icons/DashboardIcon.js +1 -1
  348. package/es/icons/DatabaseIcon.js +1 -1
  349. package/es/icons/DecimalDecreaseIcon.js +1 -1
  350. package/es/icons/DecimalIncreaseIcon.js +1 -1
  351. package/es/icons/DirectionIcon.js +1 -1
  352. package/es/icons/DonutIcon.js +1 -1
  353. package/es/icons/DownIcon.js +1 -1
  354. package/es/icons/EditIcon.js +1 -1
  355. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  356. package/es/icons/ExclamationCircleIcon.js +1 -1
  357. package/es/icons/ExclamationIcon.js +1 -1
  358. package/es/icons/EyeIcon.js +1 -1
  359. package/es/icons/EyeInvisibleIcon.js +1 -1
  360. package/es/icons/FilterIcon.js +1 -1
  361. package/es/icons/FolderFilledIcon.js +1 -1
  362. package/es/icons/FolderIcon.js +1 -1
  363. package/es/icons/FolderOpenFilledIcon.js +1 -1
  364. package/es/icons/FolderOpenIcon.js +1 -1
  365. package/es/icons/ForwardIcon.js +1 -1
  366. package/es/icons/HierarchyIcon.js +1 -1
  367. package/es/icons/HierarchyOpenIcon.js +1 -1
  368. package/es/icons/Icon.js +1 -1
  369. package/es/icons/InfoCircleIcon.js +1 -1
  370. package/es/icons/InfoIcon.js +1 -1
  371. package/es/icons/KeyIcon.js +1 -1
  372. package/es/icons/LeftIcon.js +1 -1
  373. package/es/icons/LineChartIcon.js +1 -1
  374. package/es/icons/LoadingIcon.js +1 -1
  375. package/es/icons/LockFilledIcon.js +1 -1
  376. package/es/icons/LockIcon.js +1 -1
  377. package/es/icons/MoreIcon.js +1 -1
  378. package/es/icons/NotAllowedIcon.js +1 -1
  379. package/es/icons/Number123Icon.js +1 -1
  380. package/es/icons/NumberIcon.js +1 -1
  381. package/es/icons/PauseCircleFilledIcon.js +1 -1
  382. package/es/icons/PauseCircleIcon.js +1 -1
  383. package/es/icons/PauseIcon.js +1 -1
  384. package/es/icons/PercentageIcon.js +1 -1
  385. package/es/icons/PieChartIcon.js +1 -1
  386. package/es/icons/PlayCircleIcon.js +1 -1
  387. package/es/icons/PlayIcon.js +1 -1
  388. package/es/icons/PlusIcon.js +1 -1
  389. package/es/icons/ProgressBarIcon.js +1 -1
  390. package/es/icons/ReloadIcon.js +1 -1
  391. package/es/icons/ReportIcon.js +1 -1
  392. package/es/icons/ReturnIcon.js +1 -1
  393. package/es/icons/RightIcon.js +1 -1
  394. package/es/icons/RowTotalsIcon.js +1 -1
  395. package/es/icons/SchemeIcon.js +1 -1
  396. package/es/icons/SearchIcon.js +1 -1
  397. package/es/icons/SettingsIcon.js +1 -1
  398. package/es/icons/ShieldFilledIcon.js +1 -1
  399. package/es/icons/ShieldIcon.js +1 -1
  400. package/es/icons/SlashIcon.js +1 -1
  401. package/es/icons/SparklesIcon.js +1 -1
  402. package/es/icons/SqlIcon.js +1 -1
  403. package/es/icons/StatsIcon.js +1 -1
  404. package/es/icons/StopIcon.js +1 -1
  405. package/es/icons/StringIcon.js +1 -1
  406. package/es/icons/SubtotalsIcon.js +1 -1
  407. package/es/icons/SwitchIcon.js +1 -1
  408. package/es/icons/TableIcon.js +1 -1
  409. package/es/icons/ThumbsDownIcon.js +1 -1
  410. package/es/icons/ThumbsUpIcon.js +1 -1
  411. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  412. package/es/icons/ThunderboltFilledIcon.js +1 -1
  413. package/es/icons/ThunderboltIcon.js +1 -1
  414. package/es/icons/TimeIcon.js +1 -1
  415. package/es/icons/TrashIcon.js +1 -1
  416. package/es/icons/UnlockIcon.js +1 -1
  417. package/es/icons/UpIcon.js +1 -1
  418. package/es/icons/UserGroupIcon.js +1 -1
  419. package/es/icons/UserIcon.js +1 -1
  420. package/es/icons/UserLockIcon.js +1 -1
  421. package/es/icons/ViewIcon.js +1 -1
  422. package/es/icons/WarningFilledIcon.js +1 -1
  423. package/es/icons/WarningIcon.js +1 -1
  424. package/es/icons/add-new-icon.js +1 -1
  425. package/es/icons/index.js +1 -1
  426. package/es/icons/wrap-icon.js +1 -1
  427. package/es/index.js +2 -1
  428. package/es/provider.js +2 -8
  429. package/es/providers/TrackingProvider.js +1 -1
  430. package/es/providers/navigation.types.js +1 -1
  431. package/es/providers/navigationAdapter.default.js +1 -1
  432. package/es/services/notification.js +1 -1
  433. package/es/shared/form.js +1 -1
  434. package/es/shared/index.js +1 -1
  435. package/es/stories/Form.legacy-stories.js +1 -1
  436. package/es/stories/FormFieldArgs.js +1 -1
  437. package/es/stories/SimpleLayout.stories.js +1 -1
  438. package/es/stories/Tasty.stories.js +1 -1
  439. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  440. package/es/stories/components/DialogFormApp.js +1 -1
  441. package/es/stories/components/StyledButton.js +17 -14
  442. package/es/stories/lists/baseProps.js +1 -1
  443. package/es/tasty/chunks/cacheKey.js +98 -0
  444. package/es/tasty/chunks/definitions.js +280 -0
  445. package/es/tasty/chunks/index.js +12 -0
  446. package/es/tasty/chunks/renderChunk.js +97 -0
  447. package/es/tasty/config.js +216 -0
  448. package/es/tasty/debug.js +193 -7
  449. package/es/tasty/hooks/index.js +12 -0
  450. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  451. package/es/tasty/hooks/useRawCSS.js +40 -0
  452. package/es/tasty/hooks/useStyles.js +146 -0
  453. package/es/tasty/index.js +10 -4
  454. package/es/tasty/injector/index.js +31 -87
  455. package/es/tasty/injector/injector.js +30 -279
  456. package/es/tasty/injector/sheet-manager.js +126 -2
  457. package/es/tasty/injector/types.js +1 -1
  458. package/es/tasty/parser/classify.js +5 -3
  459. package/es/tasty/parser/const.js +1 -1
  460. package/es/tasty/parser/lru.js +1 -1
  461. package/es/tasty/parser/parser.js +14 -1
  462. package/es/tasty/parser/tokenizer.js +1 -1
  463. package/es/tasty/parser/types.js +2 -1
  464. package/es/tasty/pipeline/conditions.js +469 -0
  465. package/es/tasty/pipeline/exclusive.js +193 -0
  466. package/es/tasty/pipeline/index.js +515 -0
  467. package/es/tasty/pipeline/materialize.js +1001 -0
  468. package/es/tasty/pipeline/parseStateKey.js +565 -0
  469. package/es/tasty/pipeline/simplify.js +786 -0
  470. package/es/tasty/states/index.js +515 -0
  471. package/es/tasty/static/index.js +47 -0
  472. package/es/tasty/static/tastyStatic.js +55 -0
  473. package/es/tasty/static/types.js +34 -0
  474. package/es/tasty/styles/align.js +1 -1
  475. package/es/tasty/styles/border.js +1 -1
  476. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  477. package/es/tasty/styles/color.js +1 -1
  478. package/es/tasty/styles/createStyle.js +1 -1
  479. package/es/tasty/styles/dimension.js +1 -1
  480. package/es/tasty/styles/display.js +1 -1
  481. package/es/tasty/styles/fade.js +1 -1
  482. package/es/tasty/styles/fill.js +1 -1
  483. package/es/tasty/styles/flow.js +1 -1
  484. package/es/tasty/styles/font.js +1 -1
  485. package/es/tasty/styles/fontStyle.js +1 -1
  486. package/es/tasty/styles/gap.js +1 -1
  487. package/es/tasty/styles/groupRadius.js +1 -1
  488. package/es/tasty/styles/height.js +1 -1
  489. package/es/tasty/styles/index.js +1 -1
  490. package/es/tasty/styles/inset.js +1 -1
  491. package/es/tasty/styles/justify.js +1 -1
  492. package/es/tasty/styles/list.js +1 -1
  493. package/es/tasty/styles/margin.js +56 -24
  494. package/es/tasty/styles/outline.js +1 -1
  495. package/es/tasty/styles/padding.js +56 -24
  496. package/es/tasty/styles/place.js +1 -1
  497. package/es/tasty/styles/predefined.js +1 -1
  498. package/es/tasty/styles/preset.js +1 -1
  499. package/es/tasty/styles/radius.js +1 -1
  500. package/es/tasty/styles/reset.js +1 -1
  501. package/es/tasty/styles/scrollbar.js +1 -1
  502. package/es/tasty/styles/shadow.js +1 -1
  503. package/es/tasty/styles/styledScrollbar.js +1 -1
  504. package/es/tasty/styles/transition.js +1 -1
  505. package/es/tasty/styles/types.js +1 -1
  506. package/es/tasty/styles/width.js +1 -1
  507. package/es/tasty/tasty.js +14 -119
  508. package/es/tasty/types.js +1 -1
  509. package/es/tasty/utils/cache-wrapper.js +1 -1
  510. package/es/tasty/utils/case-converter.js +1 -1
  511. package/es/tasty/utils/colors.js +1 -1
  512. package/es/tasty/utils/dotize.js +1 -1
  513. package/es/tasty/utils/filterBaseProps.js +1 -1
  514. package/es/tasty/utils/getDisplayName.js +1 -1
  515. package/es/tasty/utils/isDevEnv.js +1 -1
  516. package/es/tasty/utils/mergeStyles.js +2 -2
  517. package/es/tasty/utils/modAttrs.js +1 -1
  518. package/es/tasty/utils/processTokens.js +1 -1
  519. package/es/tasty/utils/string.js +1 -1
  520. package/es/tasty/utils/styles.js +252 -19
  521. package/es/tasty/utils/typography.js +67 -0
  522. package/es/tasty/utils/warnings.js +1 -1
  523. package/es/tasty/zero/babel.js +401 -0
  524. package/es/tasty/zero/css-writer.js +94 -0
  525. package/es/tasty/zero/extractor.js +75 -0
  526. package/es/tasty/zero/index.js +28 -0
  527. package/es/tasty/zero/next.js +102 -0
  528. package/es/tokens/base.js +64 -0
  529. package/es/tokens/colors.js +68 -0
  530. package/es/tokens/index.js +63 -0
  531. package/es/tokens/layout.js +26 -0
  532. package/es/tokens/shadows.js +27 -0
  533. package/es/tokens/sizes.js +44 -0
  534. package/es/tokens/spacing.js +22 -0
  535. package/es/tokens/typography.js +237 -0
  536. package/es/utils/ResizeSensor.js +1 -1
  537. package/es/utils/index.js +1 -1
  538. package/es/utils/modules.js +1 -1
  539. package/es/utils/promise.js +1 -1
  540. package/es/utils/raf.js +1 -1
  541. package/es/utils/random.js +1 -1
  542. package/es/utils/range.js +1 -1
  543. package/es/utils/react/RenderCache.js +1 -1
  544. package/es/utils/react/Slots.js +1 -1
  545. package/es/utils/react/chain.js +1 -1
  546. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  547. package/es/utils/react/index.js +1 -1
  548. package/es/utils/react/interactions.js +1 -1
  549. package/es/utils/react/isTextOnly.js +1 -1
  550. package/es/utils/react/mapProps.js +1 -1
  551. package/es/utils/react/mergeProps.js +1 -1
  552. package/es/utils/react/nullableValue.js +1 -1
  553. package/es/utils/react/resolveIcon.js +1 -1
  554. package/es/utils/react/sharedStore.js +1 -1
  555. package/es/utils/react/useCombinedRefs.js +1 -1
  556. package/es/utils/react/useControlledFocusVisible.js +1 -1
  557. package/es/utils/react/useEventBus.js +1 -1
  558. package/es/utils/react/useId.js +1 -1
  559. package/es/utils/react/useIsDarwin.js +1 -1
  560. package/es/utils/react/useKeySymbols.js +1 -1
  561. package/es/utils/react/useLayoutEffect.js +1 -1
  562. package/es/utils/react/useLocalStorage.js +1 -1
  563. package/es/utils/react/useQaProps.js +1 -1
  564. package/es/utils/react/useViewportSize.js +1 -1
  565. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  566. package/es/utils/tree.js +1 -1
  567. package/es/utils/warnings.js +1 -1
  568. package/es/version.js +2 -2
  569. package/package.json +3 -1
  570. package/types/components/GlobalStyles.d.ts +2 -1
  571. package/types/components/HiddenInput.d.ts +826 -826
  572. package/types/components/Root.d.ts +1 -0
  573. package/types/components/actions/Button/Button.d.ts +1645 -1645
  574. package/types/components/actions/CommandMenu/styled.d.ts +4130 -4130
  575. package/types/components/actions/Menu/styled.d.ts +4373 -4373
  576. package/types/components/content/List/SectionHeading.d.ts +81 -81
  577. package/types/components/content/Text.d.ts +297 -297
  578. package/types/components/fields/DatePicker/DatePickerElement.d.ts +81 -81
  579. package/types/components/fields/Select/Select.d.ts +826 -826
  580. package/types/components/fields/Slider/elements.d.ts +4956 -4956
  581. package/types/index.d.ts +1 -0
  582. package/types/provider.d.ts +1 -2
  583. package/types/stories/components/StyledButton.d.ts +1 -1
  584. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  585. package/types/tasty/chunks/definitions.d.ts +75 -0
  586. package/types/tasty/chunks/index.d.ts +4 -0
  587. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  588. package/types/tasty/config.d.ts +131 -0
  589. package/types/tasty/debug.d.ts +35 -0
  590. package/types/tasty/hooks/index.d.ts +4 -0
  591. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  592. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  593. package/types/tasty/hooks/useStyles.d.ts +38 -0
  594. package/types/tasty/index.d.ts +12 -4
  595. package/types/tasty/injector/index.d.ts +30 -19
  596. package/types/tasty/injector/injector.d.ts +13 -13
  597. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  598. package/types/tasty/injector/types.d.ts +20 -1
  599. package/types/tasty/parser/parser.d.ts +4 -0
  600. package/types/tasty/parser/types.d.ts +1 -0
  601. package/types/tasty/pipeline/conditions.d.ts +248 -0
  602. package/types/tasty/pipeline/exclusive.d.ts +78 -0
  603. package/types/tasty/pipeline/index.d.ts +67 -0
  604. package/types/tasty/pipeline/materialize.d.ts +115 -0
  605. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  606. package/types/tasty/pipeline/simplify.d.ts +28 -0
  607. package/types/tasty/states/index.d.ts +101 -0
  608. package/types/tasty/static/index.d.ts +39 -0
  609. package/types/tasty/static/tastyStatic.d.ts +41 -0
  610. package/types/tasty/static/types.d.ts +44 -0
  611. package/types/tasty/styles/types.d.ts +3 -3
  612. package/types/tasty/tasty.d.ts +845 -837
  613. package/types/tasty/utils/styles.d.ts +50 -6
  614. package/types/tasty/utils/typography.d.ts +32 -0
  615. package/types/tasty/zero/babel.d.ts +56 -0
  616. package/types/tasty/zero/css-writer.d.ts +41 -0
  617. package/types/tasty/zero/extractor.d.ts +19 -0
  618. package/types/tasty/zero/index.d.ts +18 -0
  619. package/types/tasty/zero/next.d.ts +57 -0
  620. package/types/tokens/base.d.ts +8 -0
  621. package/types/tokens/colors.d.ts +6 -0
  622. package/types/tokens/index.d.ts +41 -0
  623. package/types/tokens/layout.d.ts +7 -0
  624. package/types/tokens/shadows.d.ts +12 -0
  625. package/types/tokens/sizes.d.ts +27 -0
  626. package/types/tokens/spacing.d.ts +8 -0
  627. package/types/tokens/typography.d.ts +30 -0
  628. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  629. package/es/tasty/utils/getModCombinations.js +0 -38
  630. package/es/tasty/utils/renderStyles.js +0 -1050
  631. package/es/tasty/utils/responsive.js +0 -60
  632. package/es/tokens.js +0 -309
  633. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  634. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  635. package/types/tasty/utils/renderStyles.d.ts +0 -41
  636. package/types/tasty/utils/responsive.d.ts +0 -8
  637. package/types/tokens.d.ts +0 -221
package/es/tasty/tasty.js CHANGED
@@ -1,22 +1,18 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { createElement, forwardRef, useContext, useInsertionEffect, useMemo, useRef, } from 'react';
8
+ import { createElement, forwardRef, useMemo, } from 'react';
9
9
  import { isValidElementType } from 'react-is';
10
- import { allocateClassName, inject, injectGlobal } from './injector';
11
- import { BreakpointsContext } from './providers/BreakpointsProvider';
10
+ import { useStyles } from './hooks/useStyles';
12
11
  import { BASE_STYLES } from './styles/list';
13
- import { cacheWrapper } from './utils/cache-wrapper';
14
12
  import { getDisplayName } from './utils/getDisplayName';
15
13
  import { mergeStyles } from './utils/mergeStyles';
16
14
  import { modAttrs } from './utils/modAttrs';
17
15
  import { processTokens, stringifyTokens } from './utils/processTokens';
18
- import { renderStyles } from './utils/renderStyles';
19
- import { stringifyStyles } from './utils/styles';
20
16
  /**
21
17
  * Mapping of is* properties to their corresponding HTML attributes
22
18
  */
@@ -46,52 +42,13 @@ function handleIsProperties(props) {
46
42
  }
47
43
  }
48
44
  }
49
- /**
50
- * Simple hash function for internal cache keys
51
- */
52
- // Generate unique cache key for style deduplication
53
- function generateStyleCacheKey(styleKey, contextKey) {
54
- // Use null character as separator for better performance and no collision risk
55
- return contextKey ? `${styleKey}\0${contextKey}` : styleKey;
56
- }
57
45
  // Implementation
58
46
  export function tasty(Component, options) {
59
- if (typeof Component === 'string') {
60
- return tastyGlobal(Component, options);
61
- }
62
47
  if (isValidElementType(Component)) {
63
48
  return tastyWrap(Component, options);
64
49
  }
65
50
  return tastyElement(Component);
66
51
  }
67
- // Internal specialized implementations
68
- function tastyGlobal(selector, styles) {
69
- const _StyleDeclarationComponent = ({ breakpoints, }) => {
70
- let contextBreakpoints = useContext(BreakpointsContext);
71
- const breakpointsList = (breakpoints ?? contextBreakpoints) || [980];
72
- const disposeRef = useRef(null);
73
- const styleResults = useMemo(() => {
74
- if (!styles)
75
- return [];
76
- return renderStyles(styles, breakpointsList, selector);
77
- }, [selector, styles, breakpointsList]);
78
- // Inject styles at insertion phase; cleanup on change/unmount
79
- useInsertionEffect(() => {
80
- disposeRef.current?.();
81
- if (styleResults.length === 0)
82
- return;
83
- const { dispose } = injectGlobal(styleResults);
84
- disposeRef.current = dispose;
85
- return () => {
86
- disposeRef.current?.();
87
- disposeRef.current = null;
88
- };
89
- }, [styleResults]);
90
- return null;
91
- };
92
- _StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${selector})`;
93
- return _StyleDeclarationComponent;
94
- }
95
52
  function tastyWrap(Component, options) {
96
53
  let { as: extendTag, element: extendElement, ...defaultProps } = (options ?? {});
97
54
  let propsWithStyles = ['styles'].concat(Object.keys(defaultProps).filter((prop) => prop.endsWith('Styles')));
@@ -162,18 +119,10 @@ function tastyElement(tastyOptions) {
162
119
  });
163
120
  }
164
121
  else {
165
- /**
166
- * An additional optimization that allows to avoid rendering styles across various instances
167
- * of the same element if no custom styles are provided via `styles` prop or direct style props.
168
- */
169
- const renderDefaultStyles = cacheWrapper((breakpoints) => {
170
- // Return rules without className - injector will add it
171
- return renderStyles(defaultStyles || {}, breakpoints);
172
- });
173
122
  let { qa: defaultQa, qaVal: defaultQaVal, ...otherDefaultProps } = defaultProps ?? {};
174
123
  // eslint-disable-next-line react/display-name
175
124
  _TastyComponent = forwardRef((allProps, ref) => {
176
- let { as, styles, variant: _omitVariant, breakpoints, mods, element, qa, qaVal, className: userClassName, tokens, style, ...otherProps } = allProps;
125
+ let { as, styles, variant: _omitVariant, mods, element, qa, qaVal, className: userClassName, tokens, style, ...otherProps } = allProps;
177
126
  // Optimize propStyles extraction - avoid creating empty objects
178
127
  let propStyles = null;
179
128
  const propsToCheck = styleProps
@@ -192,66 +141,17 @@ function tastyElement(tastyOptions) {
192
141
  (styles && Object.keys(styles).length === 0)) {
193
142
  styles = undefined;
194
143
  }
195
- let contextBreakpoints = useContext(BreakpointsContext);
196
- breakpoints = breakpoints ?? contextBreakpoints;
197
- // Memoize breakpoints key once
198
- const breakpointsKey = useMemo(() => breakpoints?.join(',') || '', [breakpoints?.join(',')]);
199
- const propStylesKey = stringifyStyles(propStyles);
200
- // Optimize style computation and cache key generation
201
- const { allStyles, cacheKey, useDefaultStyles } = useMemo(() => {
144
+ // Merge default styles with instance styles and prop styles
145
+ const allStyles = useMemo(() => {
202
146
  const hasStyles = styles && Object.keys(styles).length > 0;
203
147
  const hasPropStyles = propStyles && Object.keys(propStyles).length > 0;
204
- const useDefault = !hasStyles && !hasPropStyles;
205
- const merged = useDefault
206
- ? defaultStyles
207
- : mergeStyles(defaultStyles, styles, propStyles);
208
- // Generate cache key for style deduplication
209
- const styleKey = stringifyStyles(merged || {});
210
- const key = generateStyleCacheKey(styleKey, breakpointsKey ? `bp:${breakpointsKey}` : undefined);
211
- return {
212
- allStyles: merged,
213
- cacheKey: key,
214
- useDefaultStyles: useDefault,
215
- };
216
- }, [styles, propStylesKey, breakpointsKey]);
217
- // Compute rules synchronously; inject via insertion effect
218
- const directResult = useMemo(() => {
219
- if (useDefaultStyles) {
220
- return renderDefaultStyles(breakpoints);
221
- }
222
- else if (allStyles && Object.keys(allStyles).length > 0) {
223
- // Return rules without className - injector will add it
224
- return renderStyles(allStyles, breakpoints);
225
- }
226
- else {
227
- return { rules: [], className: '' };
228
- }
229
- }, [useDefaultStyles, allStyles, breakpointsKey, cacheKey]);
230
- const disposeRef = useRef(null);
231
- // Allocate className in render phase (safe for React Strict Mode)
232
- const allocatedClassName = useMemo(() => {
233
- if (!directResult.rules.length || !cacheKey)
234
- return '';
235
- const { className } = allocateClassName(cacheKey);
236
- return className;
237
- }, [directResult.rules.length, cacheKey]);
238
- // Inject styles in insertion effect (avoids render phase side effects)
239
- useInsertionEffect(() => {
240
- // Cleanup previous disposal reference
241
- disposeRef.current?.();
242
- if (directResult.rules.length > 0) {
243
- const injectionResult = inject(directResult.rules, { cacheKey });
244
- disposeRef.current = injectionResult.dispose;
245
- }
246
- else {
247
- disposeRef.current = null;
148
+ if (!hasStyles && !hasPropStyles) {
149
+ return defaultStyles;
248
150
  }
249
- return () => {
250
- disposeRef.current?.();
251
- disposeRef.current = null;
252
- };
253
- }, [directResult.rules, cacheKey]);
254
- const injectedClassName = allocatedClassName;
151
+ return mergeStyles(defaultStyles, styles, propStyles);
152
+ }, [styles, propStyles]);
153
+ // Use the useStyles hook for style generation and injection
154
+ const { className: stylesClassName } = useStyles({ styles: allStyles });
255
155
  // Merge default tokens with instance tokens (instance overrides defaults)
256
156
  const tokensKey = stringifyTokens(tokens);
257
157
  const mergedTokens = useMemo(() => {
@@ -282,11 +182,8 @@ function tastyElement(tastyOptions) {
282
182
  const modsObject = mods;
283
183
  modProps = modAttrs(modsObject);
284
184
  }
285
- // Merge user className with injected className
286
- const finalClassName = [
287
- userClassName || '',
288
- injectedClassName,
289
- ]
185
+ // Merge user className with generated className
186
+ const finalClassName = [userClassName || '', stylesClassName]
290
187
  .filter(Boolean)
291
188
  .join(' ');
292
189
  const elementProps = {
@@ -302,9 +199,7 @@ function tastyElement(tastyOptions) {
302
199
  };
303
200
  // Apply the helper to handle is* properties
304
201
  handleIsProperties(elementProps);
305
- // NEW: Use plain createElement instead of styled Element
306
202
  const renderedElement = createElement(as ?? originalAs, elementProps);
307
- // Note: Empty className is normal for elements with no styles
308
203
  return renderedElement;
309
204
  });
310
205
  }
package/es/tasty/types.js CHANGED
@@ -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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { isSelector } from './renderStyles';
8
+ import { isSelector } from '../pipeline';
9
9
  export function mergeStyles(...objects) {
10
10
  let styles = objects[0] ? { ...objects[0] } : {};
11
11
  let pos = 1;
@@ -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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
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-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-e9dc427
4
+ * @cube-dev/ui-kit v0.0.0-canary-5eba492
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { StyleParser } from '../parser/parser';
9
+ import { createStateParserContext, parseAdvancedState } from '../states';
9
10
  import { cacheWrapper } from './cache-wrapper';
10
11
  import { camelToKebab } from './case-converter';
11
12
  const devMode = process.env.NODE_ENV !== 'production';
@@ -27,9 +28,6 @@ const SIMPLE_COLOR_PATTERNS = [
27
28
  // Rate limiting for dev warnings to avoid spam
28
29
  let colorWarningCount = 0;
29
30
  const MAX_COLOR_WARNINGS = 10;
30
- const IS_DVH_SUPPORTED = typeof CSS !== 'undefined' && typeof CSS?.supports === 'function'
31
- ? CSS.supports('height: 100dvh')
32
- : false;
33
31
  export const CUSTOM_UNITS = {
34
32
  r: 'var(--radius)',
35
33
  cr: 'var(--card-radius)',
@@ -43,12 +41,6 @@ export const CUSTOM_UNITS = {
43
41
  sf: function sf(num) {
44
42
  return `minmax(0, ${num}fr)`;
45
43
  },
46
- // global setting
47
- dvh: function dvh(num) {
48
- return IS_DVH_SUPPORTED
49
- ? `${num}dvh`
50
- : `calc(var(--cube-dynamic-viewport-height, 100dvh) / 100 * ${num})`;
51
- },
52
44
  // span unit for GridProvider
53
45
  sp: function spanWidth(num) {
54
46
  return `((${num} * var(--column-width)) + (${num - 1} * var(--column-gap)))`;
@@ -117,6 +109,20 @@ export function customFunc(name, fn) {
117
109
  __tastyFuncs[name] = fn;
118
110
  __tastyParser.setFuncs(__tastyFuncs);
119
111
  }
112
+ /**
113
+ * Get the global StyleParser instance.
114
+ * Used by configure() to apply parser configuration.
115
+ */
116
+ export function getGlobalParser() {
117
+ return __tastyParser;
118
+ }
119
+ /**
120
+ * Get the current custom functions registry.
121
+ * Used by configure() to merge with new functions.
122
+ */
123
+ export function getGlobalFuncs() {
124
+ return __tastyFuncs;
125
+ }
120
126
  /**
121
127
  *
122
128
  * @param {String} value
@@ -208,11 +214,38 @@ export function strToRgb(color, ignoreAlpha = false) {
208
214
  return hexToRgb(color);
209
215
  return null;
210
216
  }
217
+ /**
218
+ * Extract RGB values from an rgb()/rgba() string.
219
+ * Supports all modern CSS syntax variations:
220
+ * - Comma-separated: rgb(255, 128, 0)
221
+ * - Space-separated: rgb(255 128 0)
222
+ * - Fractional: rgb(128.5, 64.3, 32.1)
223
+ * - Percentages: rgb(50%, 25%, 75%)
224
+ * - Slash alpha notation: rgb(255 128 0 / 0.5)
225
+ *
226
+ * Returns array of RGB values (0-255 range), converting percentages as needed.
227
+ */
211
228
  export function getRgbValuesFromRgbaString(str) {
212
- return str
213
- .match(/\d+/g)
214
- .map((s) => parseInt(s))
215
- .slice(0, 3);
229
+ // Extract content inside rgb()/rgba()
230
+ const match = str.match(/rgba?\(([^)]+)\)/i);
231
+ if (!match)
232
+ return [];
233
+ const inner = match[1].trim();
234
+ // Split by slash first (for alpha), then handle color components
235
+ const [colorPart] = inner.split('/');
236
+ // Split by comma or whitespace
237
+ const parts = colorPart
238
+ .trim()
239
+ .split(/[,\s]+/)
240
+ .filter(Boolean);
241
+ return parts.slice(0, 3).map((part) => {
242
+ part = part.trim();
243
+ if (part.endsWith('%')) {
244
+ // Convert percentage to 0-255 range
245
+ return (parseFloat(part) / 100) * 255;
246
+ }
247
+ return parseFloat(part);
248
+ });
216
249
  }
217
250
  export function hexToRgb(hex) {
218
251
  const rgba = hex
@@ -275,7 +308,16 @@ export function extractStyles(props, styleList = [], defaultStyles, propMap, ign
275
308
  }, {});
276
309
  return styles;
277
310
  }
278
- const STATES_REGEXP = /([&|!^])|([()])|([a-z][a-z0-9-]+=(?:"[^"]*"|'[^']*'|[^\s&|!^()]+))|([a-z][a-z0-9-]+)|(:[a-z][a-z0-9-]+\([^)]+\)|:[a-z][a-z0-9-]+)|(\.[a-z][a-z0-9-]+)|(\[[^\]]+])/gi;
311
+ // Enhanced regex that includes advanced state patterns
312
+ // Matches: operators, parentheses, @media(...), @(...), @root(...), @own(...), @starting, @predefined,
313
+ // value mods, boolean mods, pseudo-classes, classes, attribute selectors
314
+ const STATES_REGEXP = /([&|!^])|([()])|(@media:[a-z]+)|(@media\([^)]+\))|(@root\([^)]+\))|(@own\([^)]+\))|(@\([^)]+\))|(@starting)|(@[A-Za-z][A-Za-z0-9-]*)|([a-z][a-z0-9-]+=(?:"[^"]*"|'[^']*'|[^\s&|!^()]+))|([a-z][a-z0-9-]+)|(:[a-z][a-z0-9-]+\([^)]+\)|:[a-z][a-z0-9-]+)|(\.[a-z][a-z0-9-]+)|(\[[^\]]+])/gi;
315
+ /**
316
+ * Check if a token is an advanced state (starts with @)
317
+ */
318
+ export function isAdvancedStateToken(token) {
319
+ return token.startsWith('@') || token.startsWith('!@');
320
+ }
279
321
  export const STATE_OPERATORS = {
280
322
  NOT: '!',
281
323
  AND: '&',
@@ -317,11 +359,38 @@ function convertTokensToComputeUnits(tokens) {
317
359
  });
318
360
  return tokens.length === 1 ? tokens[0] : tokens;
319
361
  }
362
+ /**
363
+ * Replace commas with | only outside of parentheses.
364
+ * This preserves commas in advanced states like @(card, w < 600px)
365
+ */
366
+ function replaceCommasOutsideParens(str) {
367
+ let result = '';
368
+ let depth = 0;
369
+ for (let i = 0; i < str.length; i++) {
370
+ const char = str[i];
371
+ if (char === '(') {
372
+ depth++;
373
+ result += char;
374
+ }
375
+ else if (char === ')') {
376
+ depth--;
377
+ result += char;
378
+ }
379
+ else if (char === ',' && depth === 0) {
380
+ // Only replace commas at the top level (outside parentheses)
381
+ result += '|';
382
+ }
383
+ else {
384
+ result += char;
385
+ }
386
+ }
387
+ return result;
388
+ }
320
389
  /**
321
390
  * Parse state notation and return tokens, modifiers and compute model.
322
391
  */
323
392
  function parseStateNotationInner(notation, value) {
324
- const tokens = notation.replace(/,/g, '|').match(STATES_REGEXP);
393
+ const tokens = replaceCommasOutsideParens(notation).match(STATES_REGEXP);
325
394
  if (!tokens || !tokens.length) {
326
395
  return {
327
396
  model: undefined,
@@ -380,10 +449,115 @@ function parseStateNotationInner(notation, value) {
380
449
  };
381
450
  }
382
451
  export const parseStateNotation = cacheWrapper(parseStateNotationInner);
452
+ /**
453
+ * Build an AtRuleContext from parsed advanced states
454
+ */
455
+ export function buildAtRuleContext(advancedStates, negatedStates) {
456
+ if (advancedStates.length === 0)
457
+ return undefined;
458
+ const ctx = {};
459
+ for (const state of advancedStates) {
460
+ const isNegated = negatedStates.has(state.raw);
461
+ switch (state.type) {
462
+ case 'media': {
463
+ if (!ctx.media)
464
+ ctx.media = [];
465
+ let mediaCondition = '';
466
+ if (state.mediaType) {
467
+ // @media:print, @media:screen, etc.
468
+ mediaCondition = state.mediaType;
469
+ }
470
+ else if (state.condition) {
471
+ // @media(width < 920px)
472
+ mediaCondition = `(${state.condition})`;
473
+ }
474
+ if (mediaCondition) {
475
+ if (isNegated) {
476
+ ctx.media.push(`not ${mediaCondition}`);
477
+ }
478
+ else {
479
+ ctx.media.push(mediaCondition);
480
+ }
481
+ }
482
+ break;
483
+ }
484
+ case 'container': {
485
+ if (!ctx.container)
486
+ ctx.container = [];
487
+ let condition = state.condition;
488
+ if (isNegated) {
489
+ condition = `not (${condition})`;
490
+ }
491
+ ctx.container.push({
492
+ name: state.containerName,
493
+ condition,
494
+ });
495
+ break;
496
+ }
497
+ case 'root': {
498
+ if (!ctx.rootStates)
499
+ ctx.rootStates = [];
500
+ // Parse the condition to generate the proper selector
501
+ const rootSelector = buildRootSelector(state.condition, isNegated);
502
+ ctx.rootStates.push(rootSelector);
503
+ break;
504
+ }
505
+ case 'starting': {
506
+ if (!isNegated) {
507
+ ctx.startingStyle = true;
508
+ }
509
+ break;
510
+ }
511
+ // 'own' and 'predefined' are handled differently (selector-based, not at-rule)
512
+ // 'modifier' is a regular state
513
+ }
514
+ }
515
+ // Return undefined if no at-rules were added
516
+ if (!ctx.media?.length &&
517
+ !ctx.container?.length &&
518
+ !ctx.rootStates?.length &&
519
+ !ctx.startingStyle) {
520
+ return undefined;
521
+ }
522
+ return ctx;
523
+ }
524
+ /**
525
+ * Build a root state selector from a condition
526
+ */
527
+ function buildRootSelector(condition, isNegated) {
528
+ // Handle different condition formats:
529
+ // - theme=dark -> [data-theme="dark"]
530
+ // - .className -> .className
531
+ // - [attr] -> [attr]
532
+ // - booleanMod -> [data-boolean-mod]
533
+ let selector;
534
+ if (condition.startsWith('.')) {
535
+ // Class selector
536
+ selector = condition;
537
+ }
538
+ else if (condition.startsWith('[')) {
539
+ // Attribute selector
540
+ selector = condition;
541
+ }
542
+ else if (condition.includes('=')) {
543
+ // Value mod: theme=dark -> [data-theme="dark"]
544
+ const [key, value] = condition.split('=');
545
+ selector = `[data-${camelToKebab(key.trim())}="${value.trim()}"]`;
546
+ }
547
+ else {
548
+ // Boolean mod: camelCase -> [data-camel-case]
549
+ selector = `[data-${camelToKebab(condition)}]`;
550
+ }
551
+ if (isNegated) {
552
+ return `:not(${selector})`;
553
+ }
554
+ return selector;
555
+ }
383
556
  /**
384
557
  * Parse state notation and return tokens, modifiers and compute model.
558
+ * Enhanced to detect and extract advanced states.
385
559
  */
386
- export function styleStateMapToStyleStateDataList(styleStateMap) {
560
+ export function styleStateMapToStyleStateDataList(styleStateMap, parserContext) {
387
561
  if (typeof styleStateMap !== 'object' || !styleStateMap) {
388
562
  return {
389
563
  states: [
@@ -395,17 +569,76 @@ export function styleStateMapToStyleStateDataList(styleStateMap) {
395
569
  },
396
570
  ],
397
571
  mods: [],
572
+ hasAdvancedStates: false,
398
573
  };
399
574
  }
400
575
  const stateDataList = [];
576
+ let hasAdvancedStates = false;
401
577
  Object.keys(styleStateMap).forEach((stateNotation) => {
402
578
  const state = parseStateNotation(stateNotation, styleStateMap[stateNotation]);
579
+ // Check if this state contains any advanced states
580
+ const advancedStates = [];
581
+ const negatedAdvancedStates = new Set();
582
+ const regularMods = [];
583
+ const ownMods = [];
584
+ const negatedOwnMods = [];
585
+ // Scan tokens for advanced states
586
+ if (state.tokens) {
587
+ let isNegated = false;
588
+ for (const token of state.tokens) {
589
+ if (token === '!') {
590
+ isNegated = true;
591
+ continue;
592
+ }
593
+ if (isAdvancedStateToken(token)) {
594
+ hasAdvancedStates = true;
595
+ const ctx = parserContext || createStateParserContext(undefined);
596
+ const parsed = parseAdvancedState(token, ctx);
597
+ advancedStates.push(parsed);
598
+ // Handle @own states specially - extract condition as ownMod
599
+ if (parsed.type === 'own' && parsed.condition) {
600
+ if (isNegated) {
601
+ negatedOwnMods.push(parsed.condition);
602
+ }
603
+ else {
604
+ ownMods.push(parsed.condition);
605
+ }
606
+ }
607
+ else if (isNegated) {
608
+ negatedAdvancedStates.add(token);
609
+ }
610
+ isNegated = false;
611
+ }
612
+ else if (token.length > 1 &&
613
+ !['&', '|', '^', '(', ')'].includes(token)) {
614
+ regularMods.push(token);
615
+ isNegated = false;
616
+ }
617
+ else {
618
+ isNegated = false;
619
+ }
620
+ }
621
+ }
622
+ // If there are advanced states, build the atRuleContext
623
+ if (advancedStates.length > 0) {
624
+ state.advancedStates = advancedStates;
625
+ state.atRuleContext = buildAtRuleContext(advancedStates, negatedAdvancedStates);
626
+ // Filter mods to only include regular mods (not advanced states)
627
+ state.mods = regularMods;
628
+ }
629
+ // Store own mods for sub-element selector generation
630
+ if (ownMods.length > 0) {
631
+ state.ownMods = ownMods;
632
+ }
633
+ if (negatedOwnMods.length > 0) {
634
+ state.negatedOwnMods = negatedOwnMods;
635
+ }
403
636
  stateDataList.push(state);
404
637
  });
405
638
  stateDataList.reverse();
406
639
  let initialState;
407
640
  const allMods = stateDataList.reduce((all, state) => {
408
- if (!state.mods.length) {
641
+ if (!state.mods.length && !state.advancedStates?.length) {
409
642
  initialState = state;
410
643
  }
411
644
  else {
@@ -424,7 +657,7 @@ export function styleStateMapToStyleStateDataList(styleStateMap) {
424
657
  value: true,
425
658
  });
426
659
  }
427
- return { states: stateDataList, mods: allMods };
660
+ return { states: stateDataList, mods: allMods, hasAdvancedStates };
428
661
  }
429
662
  export const COMPUTE_FUNC_MAP = {
430
663
  '!': (a) => !a, // NOT - boolean negation