@cube-dev/ui-kit 0.0.0-canary-4777472 → 0.0.0-canary-b26ec55

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 (646) 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/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +55 -64
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +11 -52
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +2 -2
  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/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +2 -2
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +2 -1
  74. package/es/components/content/Layout/LayoutBlock.js +2 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +2 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +2 -1
  80. package/es/components/content/Layout/LayoutFooter.js +2 -1
  81. package/es/components/content/Layout/LayoutGrid.js +2 -1
  82. package/es/components/content/Layout/LayoutHeader.js +2 -1
  83. package/es/components/content/Layout/LayoutPane.js +2 -1
  84. package/es/components/content/Layout/LayoutPanel.js +2 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +2 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +6 -6
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -1
  427. package/es/provider.js +2 -8
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/services/notification.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +18 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +98 -0
  443. package/es/tasty/chunks/definitions.js +280 -0
  444. package/es/tasty/chunks/index.js +12 -0
  445. package/es/tasty/chunks/renderChunk.js +97 -0
  446. package/es/tasty/config.js +244 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +12 -0
  449. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +146 -0
  452. package/es/tasty/index.js +18 -4
  453. package/es/tasty/injector/index.js +31 -87
  454. package/es/tasty/injector/injector.js +30 -279
  455. package/es/tasty/injector/sheet-manager.js +126 -2
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +5 -3
  458. package/es/tasty/parser/const.js +1 -1
  459. package/es/tasty/parser/lru.js +1 -1
  460. package/es/tasty/parser/parser.js +14 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +2 -1
  463. package/es/tasty/pipeline/conditions.js +469 -0
  464. package/es/tasty/pipeline/exclusive.js +193 -0
  465. package/es/tasty/pipeline/index.js +515 -0
  466. package/es/tasty/pipeline/materialize.js +1001 -0
  467. package/es/tasty/pipeline/parseStateKey.js +565 -0
  468. package/es/tasty/pipeline/simplify.js +786 -0
  469. package/es/tasty/plugins/index.js +26 -0
  470. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  471. package/es/tasty/plugins/types.js +10 -0
  472. package/es/tasty/states/index.js +515 -0
  473. package/es/tasty/static/index.js +47 -0
  474. package/es/tasty/static/tastyStatic.js +55 -0
  475. package/es/tasty/static/types.js +34 -0
  476. package/es/tasty/styles/align.js +1 -1
  477. package/es/tasty/styles/border.js +1 -1
  478. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  479. package/es/tasty/styles/color.js +1 -1
  480. package/es/tasty/styles/createStyle.js +1 -1
  481. package/es/tasty/styles/dimension.js +1 -1
  482. package/es/tasty/styles/display.js +1 -1
  483. package/es/tasty/styles/fade.js +1 -1
  484. package/es/tasty/styles/fill.js +10 -20
  485. package/es/tasty/styles/flow.js +1 -1
  486. package/es/tasty/styles/font.js +1 -1
  487. package/es/tasty/styles/fontStyle.js +1 -1
  488. package/es/tasty/styles/gap.js +1 -1
  489. package/es/tasty/styles/groupRadius.js +1 -1
  490. package/es/tasty/styles/height.js +1 -1
  491. package/es/tasty/styles/index.js +1 -1
  492. package/es/tasty/styles/inset.js +1 -1
  493. package/es/tasty/styles/justify.js +1 -1
  494. package/es/tasty/styles/list.js +1 -1
  495. package/es/tasty/styles/margin.js +75 -55
  496. package/es/tasty/styles/outline.js +1 -1
  497. package/es/tasty/styles/padding.js +75 -55
  498. package/es/tasty/styles/place.js +1 -1
  499. package/es/tasty/styles/predefined.js +3 -2
  500. package/es/tasty/styles/preset.js +1 -1
  501. package/es/tasty/styles/radius.js +1 -1
  502. package/es/tasty/styles/reset.js +2 -6
  503. package/es/tasty/styles/scrollbar.js +1 -1
  504. package/es/tasty/styles/shadow.js +1 -1
  505. package/es/tasty/styles/styledScrollbar.js +1 -1
  506. package/es/tasty/styles/transition.js +1 -1
  507. package/es/tasty/styles/types.js +1 -1
  508. package/es/tasty/styles/width.js +1 -1
  509. package/es/tasty/tasty.js +76 -117
  510. package/es/tasty/types.js +1 -1
  511. package/es/tasty/utils/cache-wrapper.js +1 -1
  512. package/es/tasty/utils/case-converter.js +1 -1
  513. package/es/tasty/utils/colors.js +1 -1
  514. package/es/tasty/utils/dotize.js +1 -1
  515. package/es/tasty/utils/filterBaseProps.js +1 -1
  516. package/es/tasty/utils/getDisplayName.js +1 -1
  517. package/es/tasty/utils/isDevEnv.js +1 -1
  518. package/es/tasty/utils/mergeStyles.js +2 -2
  519. package/es/tasty/utils/modAttrs.js +1 -1
  520. package/es/tasty/utils/processTokens.js +87 -1
  521. package/es/tasty/utils/string.js +1 -1
  522. package/es/tasty/utils/styles.js +252 -19
  523. package/es/tasty/utils/typography.js +67 -0
  524. package/es/tasty/utils/warnings.js +1 -1
  525. package/es/tasty/zero/babel.js +401 -0
  526. package/es/tasty/zero/css-writer.js +94 -0
  527. package/es/tasty/zero/extractor.js +75 -0
  528. package/es/tasty/zero/index.js +28 -0
  529. package/es/tasty/zero/next.js +102 -0
  530. package/es/tokens/base.js +64 -0
  531. package/es/tokens/colors.js +68 -0
  532. package/es/tokens/index.js +63 -0
  533. package/es/tokens/layout.js +26 -0
  534. package/es/tokens/shadows.js +27 -0
  535. package/es/tokens/sizes.js +42 -0
  536. package/es/tokens/spacing.js +22 -0
  537. package/es/tokens/typography.js +237 -0
  538. package/es/utils/ResizeSensor.js +1 -1
  539. package/es/utils/index.js +1 -1
  540. package/es/utils/modules.js +1 -1
  541. package/es/utils/promise.js +1 -1
  542. package/es/utils/raf.js +1 -1
  543. package/es/utils/random.js +1 -1
  544. package/es/utils/range.js +1 -1
  545. package/es/utils/react/RenderCache.js +1 -1
  546. package/es/utils/react/Slots.js +1 -1
  547. package/es/utils/react/chain.js +1 -1
  548. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  549. package/es/utils/react/index.js +1 -1
  550. package/es/utils/react/interactions.js +1 -1
  551. package/es/utils/react/isTextOnly.js +1 -1
  552. package/es/utils/react/mapProps.js +1 -1
  553. package/es/utils/react/mergeProps.js +1 -1
  554. package/es/utils/react/nullableValue.js +1 -1
  555. package/es/utils/react/resolveIcon.js +1 -1
  556. package/es/utils/react/sharedStore.js +1 -1
  557. package/es/utils/react/useCombinedRefs.js +1 -1
  558. package/es/utils/react/useControlledFocusVisible.js +1 -1
  559. package/es/utils/react/useEventBus.js +1 -1
  560. package/es/utils/react/useId.js +1 -1
  561. package/es/utils/react/useIsDarwin.js +1 -1
  562. package/es/utils/react/useKeySymbols.js +1 -1
  563. package/es/utils/react/useLayoutEffect.js +1 -1
  564. package/es/utils/react/useLocalStorage.js +1 -1
  565. package/es/utils/react/useQaProps.js +1 -1
  566. package/es/utils/react/useViewportSize.js +1 -1
  567. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  568. package/es/utils/tree.js +1 -1
  569. package/es/utils/warnings.js +1 -1
  570. package/es/version.js +2 -2
  571. package/package.json +3 -1
  572. package/types/components/GlobalStyles.d.ts +2 -1
  573. package/types/components/HiddenInput.d.ts +827 -826
  574. package/types/components/Root.d.ts +1 -0
  575. package/types/components/actions/Button/Button.d.ts +1647 -1645
  576. package/types/components/actions/CommandMenu/styled.d.ts +4135 -4130
  577. package/types/components/actions/Menu/styled.d.ts +4384 -4379
  578. package/types/components/actions/use-action.d.ts +1 -1
  579. package/types/components/content/List/SectionHeading.d.ts +83 -83
  580. package/types/components/content/Text.d.ts +311 -311
  581. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  582. package/types/components/fields/Select/Select.d.ts +827 -826
  583. package/types/components/fields/Slider/elements.d.ts +4962 -4956
  584. package/types/index.d.ts +1 -0
  585. package/types/provider.d.ts +1 -2
  586. package/types/stories/components/StyledButton.d.ts +1 -1
  587. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  588. package/types/tasty/chunks/definitions.d.ts +75 -0
  589. package/types/tasty/chunks/index.d.ts +4 -0
  590. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  591. package/types/tasty/config.d.ts +145 -0
  592. package/types/tasty/debug.d.ts +35 -0
  593. package/types/tasty/hooks/index.d.ts +4 -0
  594. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  595. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  596. package/types/tasty/hooks/useStyles.d.ts +38 -0
  597. package/types/tasty/index.d.ts +14 -4
  598. package/types/tasty/injector/index.d.ts +30 -19
  599. package/types/tasty/injector/injector.d.ts +13 -13
  600. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  601. package/types/tasty/injector/types.d.ts +20 -1
  602. package/types/tasty/parser/parser.d.ts +4 -0
  603. package/types/tasty/parser/types.d.ts +1 -0
  604. package/types/tasty/pipeline/conditions.d.ts +248 -0
  605. package/types/tasty/pipeline/exclusive.d.ts +78 -0
  606. package/types/tasty/pipeline/index.d.ts +67 -0
  607. package/types/tasty/pipeline/materialize.d.ts +115 -0
  608. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  609. package/types/tasty/pipeline/simplify.d.ts +28 -0
  610. package/types/tasty/plugins/index.d.ts +17 -0
  611. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  612. package/types/tasty/plugins/types.d.ts +34 -0
  613. package/types/tasty/states/index.d.ts +101 -0
  614. package/types/tasty/static/index.d.ts +39 -0
  615. package/types/tasty/static/tastyStatic.d.ts +41 -0
  616. package/types/tasty/static/types.d.ts +44 -0
  617. package/types/tasty/styles/fill.d.ts +11 -1
  618. package/types/tasty/styles/margin.d.ts +3 -1
  619. package/types/tasty/styles/padding.d.ts +3 -1
  620. package/types/tasty/styles/types.d.ts +13 -3
  621. package/types/tasty/tasty.d.ts +891 -840
  622. package/types/tasty/utils/styles.d.ts +50 -6
  623. package/types/tasty/utils/typography.d.ts +32 -0
  624. package/types/tasty/zero/babel.d.ts +56 -0
  625. package/types/tasty/zero/css-writer.d.ts +41 -0
  626. package/types/tasty/zero/extractor.d.ts +19 -0
  627. package/types/tasty/zero/index.d.ts +18 -0
  628. package/types/tasty/zero/next.d.ts +57 -0
  629. package/types/tokens/base.d.ts +8 -0
  630. package/types/tokens/colors.d.ts +6 -0
  631. package/types/tokens/index.d.ts +41 -0
  632. package/types/tokens/layout.d.ts +7 -0
  633. package/types/tokens/shadows.d.ts +12 -0
  634. package/types/tokens/sizes.d.ts +25 -0
  635. package/types/tokens/spacing.d.ts +8 -0
  636. package/types/tokens/typography.d.ts +30 -0
  637. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  638. package/es/tasty/utils/getModCombinations.js +0 -38
  639. package/es/tasty/utils/renderStyles.js +0 -1050
  640. package/es/tasty/utils/responsive.js +0 -60
  641. package/es/tokens.js +0 -309
  642. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  643. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  644. package/types/tasty/utils/renderStyles.d.ts +0 -41
  645. package/types/tasty/utils/responsive.d.ts +0 -8
  646. package/types/tokens.d.ts +0 -221
@@ -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-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
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
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { TYPOGRAPHY_PRESETS } from '../../tokens/typography';
9
+ /**
10
+ * Generate typography tokens with $ prefix for CSS custom properties.
11
+ *
12
+ * Each preset generates the following CSS custom properties:
13
+ * - `${name}-font-size`
14
+ * - `${name}-line-height`
15
+ * - `${name}-letter-spacing`
16
+ * - `${name}-font-weight`
17
+ * - `${name}-bold-font-weight` (if defined)
18
+ * - `${name}-icon-size` (if defined)
19
+ * - `${name}-text-transform` (if defined)
20
+ * - `${name}-font-family` (if defined)
21
+ * - `${name}-font-style` (if defined)
22
+ *
23
+ * @param presets - Typography presets object (defaults to TYPOGRAPHY_PRESETS)
24
+ * @returns Styles object with $ prefixed keys
25
+ *
26
+ * @example
27
+ * // Using default presets
28
+ * const tokens = generateTypographyTokens();
29
+ * // tokens['$h1-font-size'] === '36px'
30
+ *
31
+ * @example
32
+ * // Using custom presets
33
+ * const customTokens = generateTypographyTokens({
34
+ * myHeading: { fontSize: '24px', lineHeight: '32px', fontWeight: '700' }
35
+ * });
36
+ */
37
+ export function generateTypographyTokens(presets = TYPOGRAPHY_PRESETS) {
38
+ const tokens = {};
39
+ for (const [name, preset] of Object.entries(presets)) {
40
+ tokens[`$${name}-font-size`] = preset.fontSize;
41
+ tokens[`$${name}-line-height`] = preset.lineHeight;
42
+ tokens[`$${name}-letter-spacing`] = preset.letterSpacing ?? '0';
43
+ tokens[`$${name}-font-weight`] = preset.fontWeight;
44
+ if (preset.boldFontWeight !== undefined) {
45
+ // Handle different property naming for c1 (uses font-bold-weight instead of bold-font-weight)
46
+ const boldKey = name === 'c1'
47
+ ? `$${name}-font-bold-weight`
48
+ : `$${name}-bold-font-weight`;
49
+ tokens[boldKey] = preset.boldFontWeight;
50
+ }
51
+ if (preset.iconSize !== undefined) {
52
+ tokens[`$${name}-icon-size`] = preset.iconSize;
53
+ }
54
+ if (preset.textTransform !== undefined) {
55
+ tokens[`$${name}-text-transform`] = preset.textTransform;
56
+ }
57
+ if (preset.fontFamily !== undefined) {
58
+ tokens[`$${name}-font-family`] = preset.fontFamily;
59
+ }
60
+ if (preset.fontStyle !== undefined) {
61
+ tokens[`$${name}-font-style`] = preset.fontStyle;
62
+ }
63
+ }
64
+ return tokens;
65
+ }
66
+
67
+
@@ -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-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7