@cube-dev/ui-kit 0.98.9 → 0.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/es/_internal/hooks/index.js +10 -10
  3. package/es/_internal/hooks/use-chained-callback.js +2 -2
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +2 -2
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +2 -2
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +2 -2
  10. package/es/_internal/hooks/use-timer/index.js +3 -3
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +3 -3
  13. package/es/_internal/hooks/use-update-effect.js +2 -2
  14. package/es/_internal/hooks/use-warn.js +3 -3
  15. package/es/_internal/index.js +2 -2
  16. package/es/components/Block.js +2 -2
  17. package/es/components/CollectionItem.js +3 -3
  18. package/es/components/GlobalStyles.js +56 -65
  19. package/es/components/GridProvider.js +4 -4
  20. package/es/components/HiddenInput.js +2 -2
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +22 -64
  23. package/es/components/actions/Action/Action.js +3 -3
  24. package/es/components/actions/Button/Button.js +12 -12
  25. package/es/components/actions/Button/index.js +2 -2
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +4 -4
  27. package/es/components/actions/CommandMenu/CommandMenu.js +11 -11
  28. package/es/components/actions/CommandMenu/index.js +2 -2
  29. package/es/components/actions/CommandMenu/styled.js +2 -2
  30. package/es/components/actions/ItemAction/ItemAction.js +9 -9
  31. package/es/components/actions/ItemAction/index.js +2 -2
  32. package/es/components/actions/ItemActionContext.js +1 -1
  33. package/es/components/actions/ItemButton/ItemButton.js +9 -9
  34. package/es/components/actions/ItemButton/index.js +2 -2
  35. package/es/components/actions/Link/Link.js +2 -2
  36. package/es/components/actions/Menu/Menu.js +10 -10
  37. package/es/components/actions/Menu/MenuItem.js +7 -7
  38. package/es/components/actions/Menu/MenuSection.js +4 -4
  39. package/es/components/actions/Menu/MenuTrigger.js +6 -6
  40. package/es/components/actions/Menu/SubMenuTrigger.js +6 -6
  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 +10 -10
  44. package/es/components/actions/Menu/styled.js +5 -5
  45. package/es/components/actions/index.js +13 -13
  46. package/es/components/actions/use-action.js +7 -7
  47. package/es/components/actions/use-anchored-menu.js +6 -6
  48. package/es/components/actions/use-context-menu.js +6 -6
  49. package/es/components/content/ActiveZone/ActiveZone.js +4 -4
  50. package/es/components/content/Alert/Alert.js +4 -4
  51. package/es/components/content/Alert/index.js +2 -2
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +3 -3
  54. package/es/components/content/Avatar/Avatar.js +2 -2
  55. package/es/components/content/Badge/Badge.js +4 -4
  56. package/es/components/content/Card/Card.js +2 -2
  57. package/es/components/content/Content.js +3 -3
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +8 -8
  59. package/es/components/content/CopyPasteBlock/index.js +2 -2
  60. package/es/components/content/CopySnippet/CopySnippet.js +9 -9
  61. package/es/components/content/CopySnippet/index.js +2 -2
  62. package/es/components/content/Disclosure/Disclosure.js +6 -6
  63. package/es/components/content/Disclosure/index.js +2 -2
  64. package/es/components/content/Divider.js +3 -3
  65. package/es/components/content/Footer.js +3 -3
  66. package/es/components/content/Header.js +3 -3
  67. package/es/components/content/HotKeys/HotKeys.js +5 -5
  68. package/es/components/content/HotKeys/index.js +2 -2
  69. package/es/components/content/Item/Item.js +15 -15
  70. package/es/components/content/Item/index.js +3 -3
  71. package/es/components/content/ItemBadge/ItemBadge.js +8 -8
  72. package/es/components/content/ItemBadge/index.js +2 -2
  73. package/es/components/content/Layout/GridLayout.js +13 -13
  74. package/es/components/content/Layout/Layout.js +7 -6
  75. package/es/components/content/Layout/LayoutBlock.js +4 -3
  76. package/es/components/content/Layout/LayoutCenter.js +3 -3
  77. package/es/components/content/Layout/LayoutContainer.js +4 -4
  78. package/es/components/content/Layout/LayoutContent.js +6 -5
  79. package/es/components/content/Layout/LayoutContext.js +1 -1
  80. package/es/components/content/Layout/LayoutFlex.js +4 -3
  81. package/es/components/content/Layout/LayoutFooter.js +4 -3
  82. package/es/components/content/Layout/LayoutGrid.js +4 -3
  83. package/es/components/content/Layout/LayoutHeader.js +8 -7
  84. package/es/components/content/Layout/LayoutPane.js +8 -7
  85. package/es/components/content/Layout/LayoutPanel.js +10 -9
  86. package/es/components/content/Layout/LayoutPanelHeader.js +7 -7
  87. package/es/components/content/Layout/LayoutToolbar.js +4 -3
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/es/components/content/Layout/index.js +16 -16
  90. package/es/components/content/Layout/utils.js +1 -1
  91. package/es/components/content/List/SectionHeading.js +3 -3
  92. package/es/components/content/List/index.js +2 -2
  93. package/es/components/content/Paragraph.js +3 -3
  94. package/es/components/content/Placeholder/Placeholder.js +2 -2
  95. package/es/components/content/PrismCode/PrismCode.js +7 -7
  96. package/es/components/content/PrismCode/prismSetup.js +1 -1
  97. package/es/components/content/PrismDiffCode/PrismDiffCode.js +2 -2
  98. package/es/components/content/Result/Result.js +4 -4
  99. package/es/components/content/Skeleton/Skeleton.js +5 -5
  100. package/es/components/content/Tag/Tag.js +4 -4
  101. package/es/components/content/Text.js +3 -3
  102. package/es/components/content/TextItem/TextItem.js +5 -5
  103. package/es/components/content/TextItem/index.js +2 -2
  104. package/es/components/content/Title.js +4 -4
  105. package/es/components/content/highlightText.js +2 -2
  106. package/es/components/content/use-auto-tooltip.js +2 -2
  107. package/es/components/fields/Checkbox/Checkbox.js +12 -12
  108. package/es/components/fields/Checkbox/CheckboxGroup.js +7 -7
  109. package/es/components/fields/Checkbox/context.js +1 -1
  110. package/es/components/fields/Checkbox/index.js +3 -3
  111. package/es/components/fields/ComboBox/ComboBox.js +18 -18
  112. package/es/components/fields/ComboBox/index.js +2 -2
  113. package/es/components/fields/DatePicker/DateInput.js +10 -10
  114. package/es/components/fields/DatePicker/DateInputBase.js +6 -6
  115. package/es/components/fields/DatePicker/DatePicker.js +14 -14
  116. package/es/components/fields/DatePicker/DatePickerButton.js +4 -4
  117. package/es/components/fields/DatePicker/DatePickerElement.js +3 -3
  118. package/es/components/fields/DatePicker/DatePickerInput.js +5 -5
  119. package/es/components/fields/DatePicker/DatePickerSegment.js +2 -2
  120. package/es/components/fields/DatePicker/DateRangePicker.js +15 -15
  121. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +15 -15
  122. package/es/components/fields/DatePicker/TimeInput.js +9 -9
  123. package/es/components/fields/DatePicker/index.js +8 -8
  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 +6 -6
  130. package/es/components/fields/FilterListBox/FilterListBox.js +10 -10
  131. package/es/components/fields/FilterListBox/index.js +2 -2
  132. package/es/components/fields/FilterPicker/FilterPicker.js +14 -14
  133. package/es/components/fields/FilterPicker/index.js +2 -2
  134. package/es/components/fields/Input/Input.js +6 -6
  135. package/es/components/fields/Input/index.js +2 -2
  136. package/es/components/fields/ListBox/ListBox.js +14 -14
  137. package/es/components/fields/ListBox/index.js +2 -2
  138. package/es/components/fields/NumberInput/NumberInput.js +8 -8
  139. package/es/components/fields/NumberInput/StepButton.js +4 -4
  140. package/es/components/fields/PasswordInput/PasswordInput.js +8 -8
  141. package/es/components/fields/Picker/Picker.js +13 -13
  142. package/es/components/fields/Picker/index.js +2 -2
  143. package/es/components/fields/RadioGroup/Radio.js +10 -10
  144. package/es/components/fields/RadioGroup/RadioGroup.js +7 -7
  145. package/es/components/fields/RadioGroup/context.js +1 -1
  146. package/es/components/fields/RadioGroup/index.js +3 -3
  147. package/es/components/fields/SearchInput/SearchInput.js +8 -8
  148. package/es/components/fields/SearchInput/index.js +2 -2
  149. package/es/components/fields/Select/Select.js +20 -20
  150. package/es/components/fields/Select/index.js +2 -2
  151. package/es/components/fields/Slider/Gradation.js +2 -2
  152. package/es/components/fields/Slider/Header.js +1 -1
  153. package/es/components/fields/Slider/RangeSlider.js +5 -5
  154. package/es/components/fields/Slider/Slider.js +7 -7
  155. package/es/components/fields/Slider/SliderBase.js +6 -6
  156. package/es/components/fields/Slider/SliderInput.js +2 -2
  157. package/es/components/fields/Slider/SliderThumb.js +3 -3
  158. package/es/components/fields/Slider/SliderTrack.js +2 -2
  159. package/es/components/fields/Slider/elements.js +2 -2
  160. package/es/components/fields/Slider/index.js +4 -4
  161. package/es/components/fields/Slider/types.js +1 -1
  162. package/es/components/fields/Switch/Switch.js +11 -11
  163. package/es/components/fields/Switch/index.js +2 -2
  164. package/es/components/fields/TextArea/TextArea.js +7 -7
  165. package/es/components/fields/TextArea/index.js +2 -2
  166. package/es/components/fields/TextInput/TextInput.js +6 -6
  167. package/es/components/fields/TextInput/TextInputBase.js +9 -9
  168. package/es/components/fields/TextInput/index.js +3 -3
  169. package/es/components/fields/TextInputMapper/TextInputMapper.js +14 -14
  170. package/es/components/fields/TextInputMapper/index.js +2 -2
  171. package/es/components/fields/index.js +20 -20
  172. package/es/components/form/FieldWrapper/FieldWrapper.js +9 -9
  173. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  174. package/es/components/form/FieldWrapper/index.js +4 -4
  175. package/es/components/form/FieldWrapper/types.js +1 -1
  176. package/es/components/form/Form/Field.js +6 -6
  177. package/es/components/form/Form/Form.js +6 -6
  178. package/es/components/form/Form/ResetButton/ResetButton.js +6 -6
  179. package/es/components/form/Form/ResetButton/index.js +2 -2
  180. package/es/components/form/Form/SubmitButton/SubmitButton.js +4 -4
  181. package/es/components/form/Form/SubmitButton/index.js +2 -2
  182. package/es/components/form/Form/SubmitError.js +3 -3
  183. package/es/components/form/Form/index.js +11 -11
  184. package/es/components/form/Form/types.js +1 -1
  185. package/es/components/form/Form/use-field/index.js +4 -4
  186. package/es/components/form/Form/use-field/types.js +1 -1
  187. package/es/components/form/Form/use-field/use-field-props.js +6 -6
  188. package/es/components/form/Form/use-field/use-field.js +4 -4
  189. package/es/components/form/Form/use-form.js +3 -3
  190. package/es/components/form/Form/validation.js +1 -1
  191. package/es/components/form/Label.js +3 -3
  192. package/es/components/form/index.js +5 -5
  193. package/es/components/form/wrapper.js +3 -3
  194. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  195. package/es/components/helpers/DisplayTransition/index.js +2 -2
  196. package/es/components/helpers/IconSwitch/IconSwitch.js +3 -3
  197. package/es/components/helpers/index.js +3 -3
  198. package/es/components/layout/Flex.js +2 -2
  199. package/es/components/layout/Flow.js +2 -2
  200. package/es/components/layout/Grid.js +2 -2
  201. package/es/components/layout/Panel.js +2 -2
  202. package/es/components/layout/Prefix.js +3 -3
  203. package/es/components/layout/ResizablePanel.js +5 -5
  204. package/es/components/layout/Space.js +2 -2
  205. package/es/components/layout/Suffix.js +3 -3
  206. package/es/components/organisms/FileTabs/FileTabs.js +8 -8
  207. package/es/components/organisms/StatsCard/StatsCard.js +4 -4
  208. package/es/components/other/Calendar/Calendar.js +8 -8
  209. package/es/components/other/Calendar/CalendarCell.js +2 -2
  210. package/es/components/other/Calendar/CalendarGrid.js +3 -3
  211. package/es/components/other/Calendar/RangeCalendar.js +8 -8
  212. package/es/components/other/CloudLogo/CloudLogo.js +3 -3
  213. package/es/components/overlays/AlertDialog/AlertDialog.js +11 -11
  214. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
  215. package/es/components/overlays/AlertDialog/AlertDialogZone.js +4 -4
  216. package/es/components/overlays/AlertDialog/index.js +4 -4
  217. package/es/components/overlays/AlertDialog/types.js +1 -1
  218. package/es/components/overlays/Dialog/Dialog.js +7 -7
  219. package/es/components/overlays/Dialog/DialogContainer.js +3 -3
  220. package/es/components/overlays/Dialog/DialogForm.js +8 -8
  221. package/es/components/overlays/Dialog/DialogTrigger.js +4 -4
  222. package/es/components/overlays/Dialog/context.js +1 -1
  223. package/es/components/overlays/Dialog/index.js +6 -6
  224. package/es/components/overlays/Dialog/use-dialog-container.js +4 -4
  225. package/es/components/overlays/Modal/Modal.js +5 -5
  226. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  227. package/es/components/overlays/Modal/Overlay.js +3 -3
  228. package/es/components/overlays/Modal/Popover.js +4 -4
  229. package/es/components/overlays/Modal/Tray.js +6 -6
  230. package/es/components/overlays/Modal/Underlay.js +2 -2
  231. package/es/components/overlays/Modal/index.js +7 -7
  232. package/es/components/overlays/Modal/types.js +1 -1
  233. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +5 -5
  234. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +7 -7
  235. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +36 -34
  236. package/es/components/overlays/NewNotifications/Bar/index.js +2 -2
  237. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +8 -8
  239. package/es/components/overlays/NewNotifications/Dialog/index.js +2 -2
  240. package/es/components/overlays/NewNotifications/Notification.js +4 -4
  241. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +5 -5
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +4 -4
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +4 -4
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +3 -3
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +3 -3
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +4 -4
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +12 -12
  249. package/es/components/overlays/NewNotifications/NotificationView/index.js +3 -3
  250. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +5 -5
  253. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +3 -3
  254. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +2 -2
  255. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +4 -4
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +5 -5
  257. package/es/components/overlays/NewNotifications/NotificationsList/index.js +2 -2
  258. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  259. package/es/components/overlays/NewNotifications/hooks/index.js +6 -6
  260. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +2 -2
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +3 -3
  265. package/es/components/overlays/NewNotifications/index.js +7 -7
  266. package/es/components/overlays/NewNotifications/types.js +1 -1
  267. package/es/components/overlays/Notification/Notification.js +7 -7
  268. package/es/components/overlays/OverlayWrapper.js +2 -2
  269. package/es/components/overlays/Toasts/Toast.js +4 -4
  270. package/es/components/overlays/Toasts/index.js +3 -3
  271. package/es/components/overlays/Toasts/types.js +1 -1
  272. package/es/components/overlays/Toasts/use-toasts-api.js +2 -2
  273. package/es/components/overlays/Tooltip/Tooltip.js +4 -4
  274. package/es/components/overlays/Tooltip/TooltipProvider.js +3 -3
  275. package/es/components/overlays/Tooltip/TooltipTrigger.js +6 -6
  276. package/es/components/overlays/Tooltip/context.js +1 -1
  277. package/es/components/overlays/Tooltip/index.js +4 -4
  278. package/es/components/portal/Portal.js +2 -2
  279. package/es/components/portal/PortalProvider.js +1 -1
  280. package/es/components/portal/index.js +3 -3
  281. package/es/components/portal/types.js +1 -1
  282. package/es/components/portal/usePortal.js +2 -2
  283. package/es/components/shared/InvalidIcon.js +2 -2
  284. package/es/components/shared/ValidIcon.js +2 -2
  285. package/es/components/status/LoadingAnimation/LoadingAnimation.js +58 -114
  286. package/es/components/status/LoadingAnimation/index.js +2 -2
  287. package/es/components/status/Spin/Cube.js +95 -179
  288. package/es/components/status/Spin/InternalSpinner.js +5 -5
  289. package/es/components/status/Spin/Spin.js +4 -4
  290. package/es/components/status/Spin/SpinsContainer.js +28 -30
  291. package/es/components/status/Spin/index.js +2 -2
  292. package/es/components/status/Spin/types.js +1 -1
  293. package/es/components/status/index.js +3 -3
  294. package/es/data/item-themes.js +1 -1
  295. package/es/data/themes.js +1 -1
  296. package/es/icons/AdjustmentsHorizontalIcon.js +2 -2
  297. package/es/icons/AdjustmentsIcon.js +2 -2
  298. package/es/icons/AiIcon.js +2 -2
  299. package/es/icons/AreaChartIcon.js +2 -2
  300. package/es/icons/BackwardIcon.js +2 -2
  301. package/es/icons/BarChartIcon.js +2 -2
  302. package/es/icons/BellFilledIcon.js +2 -2
  303. package/es/icons/BellIcon.js +2 -2
  304. package/es/icons/BooleanIcon.js +2 -2
  305. package/es/icons/CalendarEditIcon.js +2 -2
  306. package/es/icons/CalendarIcon.js +2 -2
  307. package/es/icons/CaretDownIcon.js +2 -2
  308. package/es/icons/CaretUpIcon.js +2 -2
  309. package/es/icons/ChartAreaStackedIcon.js +2 -2
  310. package/es/icons/ChartAreaStackedPercentageIcon.js +2 -2
  311. package/es/icons/ChartBarGroupedHorizontalIcon.js +2 -2
  312. package/es/icons/ChartBarGroupedIcon.js +2 -2
  313. package/es/icons/ChartBarHorizontalIcon.js +2 -2
  314. package/es/icons/ChartBarLineIcon.js +2 -2
  315. package/es/icons/ChartBarStackedHorizontalIcon.js +2 -2
  316. package/es/icons/ChartBarStackedIcon.js +2 -2
  317. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +2 -2
  318. package/es/icons/ChartBarStackedPercentageIcon.js +2 -2
  319. package/es/icons/ChartBoxPlot2Icon.js +2 -2
  320. package/es/icons/ChartBoxPlotIcon.js +2 -2
  321. package/es/icons/ChartBubbleIcon.js +2 -2
  322. package/es/icons/ChartDonut2Icon.js +2 -2
  323. package/es/icons/ChartFunnelIcon.js +2 -2
  324. package/es/icons/ChartHeatmapIcon.js +2 -2
  325. package/es/icons/ChartKPIIcon.js +2 -2
  326. package/es/icons/ChartPie2Icon.js +2 -2
  327. package/es/icons/ChartScatterIcon.js +2 -2
  328. package/es/icons/CheckCircleFilledIcon.js +2 -2
  329. package/es/icons/CheckCircleIcon.js +2 -2
  330. package/es/icons/CheckIcon.js +2 -2
  331. package/es/icons/CircleFilledIcon.js +2 -2
  332. package/es/icons/ClearIcon.js +2 -2
  333. package/es/icons/CloseCircleFilledIcon.js +2 -2
  334. package/es/icons/CloseCircleIcon.js +2 -2
  335. package/es/icons/CloseIcon.js +2 -2
  336. package/es/icons/CodeIcon.js +2 -2
  337. package/es/icons/ColumnTotalIcon.js +2 -2
  338. package/es/icons/CopyIcon.js +2 -2
  339. package/es/icons/CountIcon.js +2 -2
  340. package/es/icons/CubeIcon.js +2 -2
  341. package/es/icons/CubePauseIcon.js +2 -2
  342. package/es/icons/CubePlayIcon.js +2 -2
  343. package/es/icons/CurrencyDollarIcon.js +2 -2
  344. package/es/icons/DangerIcon.js +2 -2
  345. package/es/icons/DashboardIcon.js +2 -2
  346. package/es/icons/DatabaseIcon.js +2 -2
  347. package/es/icons/DecimalDecreaseIcon.js +2 -2
  348. package/es/icons/DecimalIncreaseIcon.js +2 -2
  349. package/es/icons/DirectionIcon.js +3 -3
  350. package/es/icons/DonutIcon.js +2 -2
  351. package/es/icons/DownIcon.js +2 -2
  352. package/es/icons/EditIcon.js +2 -2
  353. package/es/icons/ExclamationCircleFilledIcon.js +2 -2
  354. package/es/icons/ExclamationCircleIcon.js +2 -2
  355. package/es/icons/ExclamationIcon.js +2 -2
  356. package/es/icons/EyeIcon.js +2 -2
  357. package/es/icons/EyeInvisibleIcon.js +2 -2
  358. package/es/icons/FilterIcon.js +2 -2
  359. package/es/icons/FolderFilledIcon.js +2 -2
  360. package/es/icons/FolderIcon.js +2 -2
  361. package/es/icons/FolderOpenFilledIcon.js +2 -2
  362. package/es/icons/FolderOpenIcon.js +2 -2
  363. package/es/icons/ForwardIcon.js +2 -2
  364. package/es/icons/HierarchyIcon.js +2 -2
  365. package/es/icons/HierarchyOpenIcon.js +2 -2
  366. package/es/icons/Icon.js +2 -2
  367. package/es/icons/InfoCircleIcon.js +2 -2
  368. package/es/icons/InfoIcon.js +2 -2
  369. package/es/icons/KeyIcon.js +2 -2
  370. package/es/icons/LeftIcon.js +2 -2
  371. package/es/icons/LineChartIcon.js +2 -2
  372. package/es/icons/LoadingIcon.js +2 -2
  373. package/es/icons/LockFilledIcon.js +2 -2
  374. package/es/icons/LockIcon.js +2 -2
  375. package/es/icons/MoreIcon.js +2 -2
  376. package/es/icons/NotAllowedIcon.js +2 -2
  377. package/es/icons/Number123Icon.js +2 -2
  378. package/es/icons/NumberIcon.js +2 -2
  379. package/es/icons/PauseCircleFilledIcon.js +2 -2
  380. package/es/icons/PauseCircleIcon.js +2 -2
  381. package/es/icons/PauseIcon.js +2 -2
  382. package/es/icons/PercentageIcon.js +2 -2
  383. package/es/icons/PieChartIcon.js +2 -2
  384. package/es/icons/PlayCircleIcon.js +2 -2
  385. package/es/icons/PlayIcon.js +2 -2
  386. package/es/icons/PlusIcon.js +2 -2
  387. package/es/icons/ProgressBarIcon.js +2 -2
  388. package/es/icons/ReloadIcon.js +2 -2
  389. package/es/icons/ReportIcon.js +2 -2
  390. package/es/icons/ReturnIcon.js +2 -2
  391. package/es/icons/RightIcon.js +2 -2
  392. package/es/icons/RowTotalsIcon.js +2 -2
  393. package/es/icons/SchemeIcon.js +2 -2
  394. package/es/icons/SearchIcon.js +2 -2
  395. package/es/icons/SemanticQueryIcon.js +2 -2
  396. package/es/icons/SettingsIcon.js +2 -2
  397. package/es/icons/ShieldFilledIcon.js +2 -2
  398. package/es/icons/ShieldIcon.js +2 -2
  399. package/es/icons/SlashIcon.js +2 -2
  400. package/es/icons/SparklesIcon.js +2 -2
  401. package/es/icons/SqlIcon.js +2 -2
  402. package/es/icons/StatsIcon.js +2 -2
  403. package/es/icons/StopIcon.js +2 -2
  404. package/es/icons/StringIcon.js +2 -2
  405. package/es/icons/SubtotalsIcon.js +2 -2
  406. package/es/icons/SwitchIcon.js +2 -2
  407. package/es/icons/TableIcon.js +2 -2
  408. package/es/icons/ThumbsDownIcon.js +2 -2
  409. package/es/icons/ThumbsUpIcon.js +2 -2
  410. package/es/icons/ThunderboltCrossedIcon.js +2 -2
  411. package/es/icons/ThunderboltFilledIcon.js +2 -2
  412. package/es/icons/ThunderboltIcon.js +2 -2
  413. package/es/icons/TimeIcon.js +2 -2
  414. package/es/icons/TrashIcon.js +2 -2
  415. package/es/icons/UnlockIcon.js +2 -2
  416. package/es/icons/UpIcon.js +2 -2
  417. package/es/icons/UserGroupIcon.js +2 -2
  418. package/es/icons/UserIcon.js +2 -2
  419. package/es/icons/UserLockIcon.js +2 -2
  420. package/es/icons/ViewIcon.js +2 -2
  421. package/es/icons/WarningFilledIcon.js +2 -2
  422. package/es/icons/WarningIcon.js +2 -2
  423. package/es/icons/index.js +129 -129
  424. package/es/icons/wrap-icon.js +2 -2
  425. package/es/index.js +73 -74
  426. package/es/provider.js +4 -10
  427. package/es/providers/TrackingProvider.js +1 -1
  428. package/es/providers/navigation.types.js +1 -1
  429. package/es/providers/navigationAdapter.default.js +1 -1
  430. package/es/services/notification.js +2 -2
  431. package/es/shared/form.js +1 -1
  432. package/es/shared/index.js +2 -2
  433. package/es/stories/Form.legacy-stories.js +4 -4
  434. package/es/stories/FormFieldArgs.js +2 -2
  435. package/es/stories/SimpleLayout.stories.js +2 -2
  436. package/es/stories/Tasty.stories.js +2 -2
  437. package/es/stories/components/ConfirmDeletionDialogForm.js +2 -2
  438. package/es/stories/components/DialogFormApp.js +3 -3
  439. package/es/stories/components/StyledButton.js +19 -15
  440. package/es/stories/lists/baseProps.js +2 -2
  441. package/es/stories/playground/PlaygroundEditor.js +89 -0
  442. package/es/stories/playground/PlaygroundLayout.js +16 -0
  443. package/es/stories/playground/PlaygroundOutput.js +92 -0
  444. package/es/stories/playground/PlaygroundPreview.js +91 -0
  445. package/es/stories/playground/components/Button.js +45 -0
  446. package/es/stories/playground/components/Card.js +20 -0
  447. package/es/stories/playground/components/ScrollProgress.js +17 -0
  448. package/es/stories/playground/examples.js +158 -0
  449. package/es/tasty/chunks/cacheKey.js +98 -0
  450. package/es/tasty/chunks/definitions.js +281 -0
  451. package/es/tasty/chunks/index.js +12 -0
  452. package/es/tasty/chunks/renderChunk.js +97 -0
  453. package/es/tasty/config.js +280 -0
  454. package/es/tasty/debug.js +195 -9
  455. package/es/tasty/hooks/index.js +12 -0
  456. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  457. package/es/tasty/hooks/useRawCSS.js +40 -0
  458. package/es/tasty/hooks/useStyles.js +206 -0
  459. package/es/tasty/index.js +31 -17
  460. package/es/tasty/injector/index.js +34 -90
  461. package/es/tasty/injector/injector.js +81 -299
  462. package/es/tasty/injector/sheet-manager.js +138 -3
  463. package/es/tasty/injector/types.js +1 -1
  464. package/es/tasty/keyframes/index.js +301 -0
  465. package/es/tasty/parser/classify.js +8 -6
  466. package/es/tasty/parser/const.js +1 -1
  467. package/es/tasty/parser/lru.js +1 -1
  468. package/es/tasty/parser/parser.js +18 -5
  469. package/es/tasty/parser/tokenizer.js +1 -1
  470. package/es/tasty/parser/types.js +2 -1
  471. package/es/tasty/pipeline/conditions.js +426 -0
  472. package/es/tasty/pipeline/exclusive.js +311 -0
  473. package/es/tasty/pipeline/index.js +543 -0
  474. package/es/tasty/pipeline/materialize.js +1260 -0
  475. package/es/tasty/pipeline/parseStateKey.js +592 -0
  476. package/es/tasty/pipeline/simplify.js +898 -0
  477. package/es/tasty/plugins/index.js +26 -0
  478. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  479. package/es/tasty/plugins/types.js +10 -0
  480. package/es/tasty/states/index.js +523 -0
  481. package/es/tasty/static/index.js +47 -0
  482. package/es/tasty/static/tastyStatic.js +55 -0
  483. package/es/tasty/static/types.js +34 -0
  484. package/es/tasty/styles/align.js +1 -1
  485. package/es/tasty/styles/border.js +2 -2
  486. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  487. package/es/tasty/styles/color.js +3 -3
  488. package/es/tasty/styles/createStyle.js +3 -3
  489. package/es/tasty/styles/dimension.js +2 -2
  490. package/es/tasty/styles/display.js +1 -1
  491. package/es/tasty/styles/fade.js +2 -2
  492. package/es/tasty/styles/fill.js +11 -21
  493. package/es/tasty/styles/flow.js +1 -1
  494. package/es/tasty/styles/font.js +1 -1
  495. package/es/tasty/styles/fontStyle.js +1 -1
  496. package/es/tasty/styles/gap.js +2 -2
  497. package/es/tasty/styles/groupRadius.js +2 -2
  498. package/es/tasty/styles/height.js +2 -2
  499. package/es/tasty/styles/index.js +3 -3
  500. package/es/tasty/styles/inset.js +2 -2
  501. package/es/tasty/styles/justify.js +1 -1
  502. package/es/tasty/styles/list.js +1 -1
  503. package/es/tasty/styles/margin.js +76 -56
  504. package/es/tasty/styles/outline.js +2 -2
  505. package/es/tasty/styles/padding.js +76 -56
  506. package/es/tasty/styles/place.js +1 -1
  507. package/es/tasty/styles/predefined.js +28 -27
  508. package/es/tasty/styles/preset.js +2 -2
  509. package/es/tasty/styles/radius.js +5 -12
  510. package/es/tasty/styles/reset.js +3 -7
  511. package/es/tasty/styles/scrollbar.js +2 -2
  512. package/es/tasty/styles/shadow.js +2 -2
  513. package/es/tasty/styles/styledScrollbar.js +1 -1
  514. package/es/tasty/styles/transition.js +10 -3
  515. package/es/tasty/styles/types.js +1 -1
  516. package/es/tasty/styles/width.js +2 -2
  517. package/es/tasty/tasty.js +81 -122
  518. package/es/tasty/types.js +1 -1
  519. package/es/tasty/utils/cache-wrapper.js +1 -1
  520. package/es/tasty/utils/case-converter.js +1 -1
  521. package/es/tasty/utils/colors.js +1 -1
  522. package/es/tasty/utils/dotize.js +1 -1
  523. package/es/tasty/utils/filterBaseProps.js +1 -1
  524. package/es/tasty/utils/getDisplayName.js +1 -1
  525. package/es/tasty/utils/isDevEnv.js +1 -1
  526. package/es/tasty/utils/mergeStyles.js +2 -2
  527. package/es/tasty/utils/modAttrs.js +3 -3
  528. package/es/tasty/utils/processTokens.js +88 -2
  529. package/es/tasty/utils/string.js +1 -1
  530. package/es/tasty/utils/styles.js +255 -22
  531. package/es/tasty/utils/typography.js +67 -0
  532. package/es/tasty/utils/warnings.js +1 -1
  533. package/es/tasty/zero/babel.js +453 -0
  534. package/es/tasty/zero/css-writer.js +94 -0
  535. package/es/tasty/zero/extractor.js +222 -0
  536. package/es/tasty/zero/index.js +28 -0
  537. package/es/tasty/zero/next.js +102 -0
  538. package/es/tokens/base.js +64 -0
  539. package/es/tokens/colors.js +68 -0
  540. package/es/tokens/index.js +63 -0
  541. package/es/tokens/layout.js +26 -0
  542. package/es/tokens/shadows.js +27 -0
  543. package/es/tokens/sizes.js +42 -0
  544. package/es/tokens/spacing.js +22 -0
  545. package/es/tokens/typography.js +237 -0
  546. package/es/utils/ResizeSensor.js +1 -1
  547. package/es/utils/index.js +10 -10
  548. package/es/utils/modules.js +1 -1
  549. package/es/utils/promise.js +1 -1
  550. package/es/utils/raf.js +1 -1
  551. package/es/utils/random.js +1 -1
  552. package/es/utils/range.js +1 -1
  553. package/es/utils/react/RenderCache.js +1 -1
  554. package/es/utils/react/Slots.js +2 -2
  555. package/es/utils/react/chain.js +1 -1
  556. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  557. package/es/utils/react/index.js +17 -17
  558. package/es/utils/react/interactions.js +1 -1
  559. package/es/utils/react/isTextOnly.js +1 -1
  560. package/es/utils/react/mapProps.js +1 -1
  561. package/es/utils/react/mergeProps.js +4 -4
  562. package/es/utils/react/nullableValue.js +1 -1
  563. package/es/utils/react/resolveIcon.js +1 -1
  564. package/es/utils/react/sharedStore.js +2 -2
  565. package/es/utils/react/useCombinedRefs.js +1 -1
  566. package/es/utils/react/useControlledFocusVisible.js +2 -2
  567. package/es/utils/react/useEventBus.js +1 -1
  568. package/es/utils/react/useId.js +2 -2
  569. package/es/utils/react/useIsDarwin.js +1 -1
  570. package/es/utils/react/useKeySymbols.js +2 -2
  571. package/es/utils/react/useLayoutEffect.js +1 -1
  572. package/es/utils/react/useLocalStorage.js +2 -2
  573. package/es/utils/react/useQaProps.js +1 -1
  574. package/es/utils/react/useViewportSize.js +1 -1
  575. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  576. package/es/utils/tree.js +1 -1
  577. package/es/utils/warnings.js +1 -1
  578. package/es/version.js +2 -2
  579. package/package.json +14 -4
  580. package/types/components/GlobalStyles.d.ts +2 -1
  581. package/types/components/HiddenInput.d.ts +828 -826
  582. package/types/components/Root.d.ts +1 -0
  583. package/types/components/actions/Button/Button.d.ts +1649 -1645
  584. package/types/components/actions/CommandMenu/styled.d.ts +4140 -4130
  585. package/types/components/actions/Menu/styled.d.ts +4893 -4883
  586. package/types/components/actions/use-action.d.ts +1 -1
  587. package/types/components/content/List/SectionHeading.d.ts +251 -251
  588. package/types/components/content/Text.d.ts +1487 -1487
  589. package/types/components/fields/DatePicker/DatePickerElement.d.ts +251 -251
  590. package/types/components/fields/Select/Select.d.ts +828 -826
  591. package/types/components/fields/Slider/elements.d.ts +4968 -4956
  592. package/types/components/status/Spin/Cube.d.ts +1 -1
  593. package/types/components/status/Spin/SpinsContainer.d.ts +6 -3
  594. package/types/index.d.ts +1 -4
  595. package/types/provider.d.ts +1 -2
  596. package/types/stories/components/StyledButton.d.ts +1 -1
  597. package/types/stories/playground/PlaygroundEditor.d.ts +6 -0
  598. package/types/stories/playground/PlaygroundLayout.d.ts +8 -0
  599. package/types/stories/playground/PlaygroundOutput.d.ts +5 -0
  600. package/types/stories/playground/PlaygroundPreview.d.ts +6 -0
  601. package/types/stories/playground/components/Button.d.ts +11 -0
  602. package/types/stories/playground/components/Card.d.ts +7 -0
  603. package/types/stories/playground/components/ScrollProgress.d.ts +5 -0
  604. package/types/stories/playground/examples.d.ts +7 -0
  605. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  606. package/types/tasty/chunks/definitions.d.ts +75 -0
  607. package/types/tasty/chunks/index.d.ts +4 -0
  608. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  609. package/types/tasty/config.d.ts +171 -0
  610. package/types/tasty/debug.d.ts +35 -0
  611. package/types/tasty/hooks/index.d.ts +4 -0
  612. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  613. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  614. package/types/tasty/hooks/useStyles.d.ts +35 -0
  615. package/types/tasty/index.d.ts +14 -4
  616. package/types/tasty/injector/index.d.ts +30 -19
  617. package/types/tasty/injector/injector.d.ts +19 -13
  618. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  619. package/types/tasty/injector/types.d.ts +23 -2
  620. package/types/tasty/keyframes/index.d.ts +49 -0
  621. package/types/tasty/parser/parser.d.ts +4 -0
  622. package/types/tasty/parser/types.d.ts +1 -0
  623. package/types/tasty/pipeline/conditions.d.ts +243 -0
  624. package/types/tasty/pipeline/exclusive.d.ts +103 -0
  625. package/types/tasty/pipeline/index.d.ts +67 -0
  626. package/types/tasty/pipeline/materialize.d.ts +162 -0
  627. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  628. package/types/tasty/pipeline/simplify.d.ts +28 -0
  629. package/types/tasty/plugins/index.d.ts +17 -0
  630. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  631. package/types/tasty/plugins/types.d.ts +34 -0
  632. package/types/tasty/states/index.d.ts +101 -0
  633. package/types/tasty/static/index.d.ts +39 -0
  634. package/types/tasty/static/tastyStatic.d.ts +41 -0
  635. package/types/tasty/static/types.d.ts +44 -0
  636. package/types/tasty/styles/fill.d.ts +11 -1
  637. package/types/tasty/styles/margin.d.ts +3 -1
  638. package/types/tasty/styles/padding.d.ts +3 -1
  639. package/types/tasty/styles/radius.d.ts +2 -10
  640. package/types/tasty/styles/types.d.ts +24 -3
  641. package/types/tasty/tasty.d.ts +892 -840
  642. package/types/tasty/utils/styles.d.ts +50 -6
  643. package/types/tasty/utils/typography.d.ts +32 -0
  644. package/types/tasty/zero/babel.d.ts +63 -0
  645. package/types/tasty/zero/css-writer.d.ts +41 -0
  646. package/types/tasty/zero/extractor.d.ts +40 -0
  647. package/types/tasty/zero/index.d.ts +18 -0
  648. package/types/tasty/zero/next.d.ts +57 -0
  649. package/types/tokens/base.d.ts +8 -0
  650. package/types/tokens/colors.d.ts +6 -0
  651. package/types/tokens/index.d.ts +41 -0
  652. package/types/tokens/layout.d.ts +7 -0
  653. package/types/tokens/shadows.d.ts +12 -0
  654. package/types/tokens/sizes.d.ts +25 -0
  655. package/types/tokens/spacing.d.ts +8 -0
  656. package/types/tokens/typography.d.ts +30 -0
  657. package/es/components/navigation/LegacyTabs/LegacyTabs.js +0 -275
  658. package/es/components/other/Base64Upload/Base64Upload.js +0 -103
  659. package/es/icons/add-new-icon.js +0 -129
  660. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  661. package/es/tasty/utils/getModCombinations.js +0 -38
  662. package/es/tasty/utils/renderStyles.js +0 -1050
  663. package/es/tasty/utils/responsive.js +0 -60
  664. package/es/tokens.js +0 -309
  665. package/types/components/navigation/LegacyTabs/LegacyTabs.d.ts +0 -43
  666. package/types/components/other/Base64Upload/Base64Upload.d.ts +0 -5
  667. package/types/icons/add-new-icon.d.ts +0 -2
  668. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  669. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  670. package/types/tasty/utils/renderStyles.d.ts +0 -41
  671. package/types/tasty/utils/responsive.d.ts +0 -8
  672. package/types/tokens.d.ts +0 -221
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Tasty Style Rendering Pipeline
3
+ *
4
+ * This is the main entrypoint for the new pipeline implementation.
5
+ * It implements the complete flow from style objects to CSS rules.
6
+ *
7
+ * Pipeline stages:
8
+ * 1. PARSE CONDITIONS - Parse state keys into ConditionNode trees
9
+ * 2. BUILD EXCLUSIVE CONDITIONS - AND with negation of higher-priority conditions
10
+ * 3. SIMPLIFY CONDITIONS - Apply boolean algebra, detect contradictions
11
+ * 4. GROUP BY HANDLER - Collect styles per handler, compute combinations
12
+ * 5. COMPUTE CSS VALUES - Call handlers to get CSS declarations
13
+ * 6. MERGE BY VALUE - Merge rules with identical CSS output
14
+ * 7. MATERIALIZE CSS - Convert conditions to CSS selectors + at-rules
15
+ */
16
+ import { Styles } from '../styles/types';
17
+ import { CSSRule } from './materialize';
18
+ /**
19
+ * Matches the old StyleResult interface for backward compatibility
20
+ */
21
+ export interface StyleResult {
22
+ selector: string;
23
+ declarations: string;
24
+ atRules?: string[];
25
+ needsClassName?: boolean;
26
+ rootPrefix?: string;
27
+ }
28
+ /**
29
+ * Matches the old RenderResult interface for backward compatibility
30
+ */
31
+ export interface RenderResult {
32
+ rules: StyleResult[];
33
+ className?: string;
34
+ }
35
+ export interface PipelineResult {
36
+ rules: CSSRule[];
37
+ className?: string;
38
+ }
39
+ /**
40
+ * Render styles using the new pipeline.
41
+ *
42
+ * This is the main entrypoint that implements the complete flow.
43
+ */
44
+ export declare function renderStylesPipeline(styles?: Styles, className?: string): PipelineResult;
45
+ /**
46
+ * Clear the pipeline cache (for testing)
47
+ */
48
+ export declare function clearPipelineCache(): void;
49
+ /**
50
+ * Check if a key is a CSS selector
51
+ */
52
+ export declare function isSelector(key: string): boolean;
53
+ /**
54
+ * Render styles to CSS rules.
55
+ *
56
+ * When called without classNameOrSelector, returns RenderResult with needsClassName=true.
57
+ * When called with a selector/className string, returns StyleResult[] for direct injection.
58
+ */
59
+ export declare function renderStyles(styles?: Styles): RenderResult;
60
+ export declare function renderStyles(styles: Styles | undefined, classNameOrSelector: string): StyleResult[];
61
+ export type { ConditionNode } from './conditions';
62
+ export { and, or, not, trueCondition, falseCondition } from './conditions';
63
+ export { parseStateKey } from './parseStateKey';
64
+ export { simplifyCondition } from './simplify';
65
+ export { buildExclusiveConditions } from './exclusive';
66
+ export { conditionToCSS } from './materialize';
67
+ export type { CSSRule } from './materialize';
@@ -0,0 +1,162 @@
1
+ /**
2
+ * CSS Materialization
3
+ *
4
+ * Converts condition trees into CSS selectors and at-rules.
5
+ * This is the final stage that produces actual CSS output.
6
+ */
7
+ import { ConditionNode } from './conditions';
8
+ /**
9
+ * Parsed media condition for structured analysis and combination
10
+ */
11
+ export interface ParsedMediaCondition {
12
+ /** Subtype for structured analysis */
13
+ subtype: 'dimension' | 'feature' | 'type';
14
+ /** Whether this is a negated condition */
15
+ negated: boolean;
16
+ /** The condition part for CSS output (e.g., "(width < 600px)", "print") */
17
+ condition: string;
18
+ /** For dimension queries: dimension name */
19
+ dimension?: 'width' | 'height' | 'inline-size' | 'block-size';
20
+ /** For dimension queries: lower bound value */
21
+ lowerBound?: {
22
+ value: string;
23
+ valueNumeric: number | null;
24
+ inclusive: boolean;
25
+ };
26
+ /** For dimension queries: upper bound value */
27
+ upperBound?: {
28
+ value: string;
29
+ valueNumeric: number | null;
30
+ inclusive: boolean;
31
+ };
32
+ /** For feature queries: feature name */
33
+ feature?: string;
34
+ /** For feature queries: feature value */
35
+ featureValue?: string;
36
+ /** For type queries: media type */
37
+ mediaType?: 'print' | 'screen' | 'all' | 'speech';
38
+ }
39
+ /**
40
+ * Parsed container condition for structured analysis and combination
41
+ */
42
+ export interface ParsedContainerCondition {
43
+ /** Container name (undefined = unnamed/nearest container) */
44
+ name?: string;
45
+ /** The condition part (e.g., "(width < 600px)" or "style(--variant: danger)") */
46
+ condition: string;
47
+ /** Whether this is a negated condition */
48
+ negated: boolean;
49
+ /** Subtype for structured analysis */
50
+ subtype: 'dimension' | 'style';
51
+ /** For style queries: property name (without --) */
52
+ property?: string;
53
+ /** For style queries: property value (undefined = existence check) */
54
+ propertyValue?: string;
55
+ }
56
+ /**
57
+ * Parsed supports condition for structured analysis and combination
58
+ */
59
+ export interface ParsedSupportsCondition {
60
+ /** Subtype: 'feature' for property support, 'selector' for selector() support */
61
+ subtype: 'feature' | 'selector';
62
+ /** The condition string (e.g., "display: grid" or ":has(*)") */
63
+ condition: string;
64
+ /** Whether this is a negated condition */
65
+ negated: boolean;
66
+ }
67
+ /**
68
+ * Parsed modifier condition for structured analysis
69
+ */
70
+ export interface ParsedModifierCondition {
71
+ /** Attribute name (e.g., 'data-hovered', 'data-size') */
72
+ attribute: string;
73
+ /** Value if present (e.g., 'large', 'danger') */
74
+ value?: string;
75
+ /** Operator for value matching (default '=') */
76
+ operator?: '=' | '^=' | '$=' | '*=';
77
+ /** Whether this is negated (:not(...)) */
78
+ negated: boolean;
79
+ }
80
+ /**
81
+ * Parsed pseudo-class condition for structured analysis
82
+ */
83
+ export interface ParsedPseudoCondition {
84
+ /** The pseudo-class (e.g., ':hover', ':focus-visible', ':has(> Icon)') */
85
+ pseudo: string;
86
+ /** Whether this is negated (:not(...)) */
87
+ negated: boolean;
88
+ }
89
+ /**
90
+ * Parsed root condition for structured analysis
91
+ */
92
+ export interface ParsedRootCondition {
93
+ /** The selector part (e.g., '[data-theme="dark"]') */
94
+ selector: string;
95
+ /** Whether this is negated (:root:not(...)) */
96
+ negated: boolean;
97
+ }
98
+ /**
99
+ * A single selector variant (one term in a DNF expression)
100
+ */
101
+ export interface SelectorVariant {
102
+ /** Structured modifier conditions */
103
+ modifierConditions: ParsedModifierCondition[];
104
+ /** Structured pseudo conditions */
105
+ pseudoConditions: ParsedPseudoCondition[];
106
+ /** Structured own conditions (for sub-element states) */
107
+ ownConditions: (ParsedModifierCondition | ParsedPseudoCondition)[];
108
+ /** Parsed media conditions for structured combination */
109
+ mediaConditions: ParsedMediaCondition[];
110
+ /** Parsed container conditions for structured combination */
111
+ containerConditions: ParsedContainerCondition[];
112
+ /** Parsed supports conditions for @supports at-rules */
113
+ supportsConditions: ParsedSupportsCondition[];
114
+ /** Structured root conditions */
115
+ rootConditions: ParsedRootCondition[];
116
+ /** Whether to wrap in @starting-style */
117
+ startingStyle: boolean;
118
+ }
119
+ /**
120
+ * CSS output components extracted from a condition
121
+ * Supports multiple variants for OR conditions (DNF form)
122
+ */
123
+ export interface CSSComponents {
124
+ /** Selector variants - OR means multiple variants, AND means single variant with combined selectors */
125
+ variants: SelectorVariant[];
126
+ /** Whether condition is impossible (should skip) */
127
+ isImpossible: boolean;
128
+ }
129
+ /**
130
+ * Final CSS rule output
131
+ */
132
+ export interface CSSRule {
133
+ /** Single selector or array of selector fragments (for OR conditions) */
134
+ selector: string | string[];
135
+ declarations: string;
136
+ atRules?: string[];
137
+ rootPrefix?: string;
138
+ }
139
+ /**
140
+ * Convert a condition tree to CSS components
141
+ */
142
+ export declare function conditionToCSS(node: ConditionNode): CSSComponents;
143
+ /**
144
+ * Clear the condition cache (for testing)
145
+ */
146
+ export declare function clearConditionCache(): void;
147
+ /**
148
+ * Convert parsed modifier to CSS selector string (for final output)
149
+ */
150
+ export declare function modifierToCSS(mod: ParsedModifierCondition): string;
151
+ /**
152
+ * Convert parsed pseudo to CSS selector string (for final output)
153
+ */
154
+ export declare function pseudoToCSS(pseudo: ParsedPseudoCondition): string;
155
+ /**
156
+ * Convert parsed root conditions to CSS selector prefix (for final output)
157
+ */
158
+ export declare function rootConditionsToCSS(roots: ParsedRootCondition[]): string | undefined;
159
+ /**
160
+ * Build at-rules array from a variant
161
+ */
162
+ export declare function buildAtRulesFromVariant(variant: SelectorVariant): string[];
@@ -0,0 +1,20 @@
1
+ /**
2
+ * State Key Parser
3
+ *
4
+ * Parses state notation strings (like 'hovered & !disabled', '@media(w < 768px)')
5
+ * into ConditionNode trees for processing in the pipeline.
6
+ */
7
+ import { StateParserContext } from '../states';
8
+ import { ConditionNode } from './conditions';
9
+ export interface ParseStateKeyOptions {
10
+ context?: StateParserContext;
11
+ isSubElement?: boolean;
12
+ }
13
+ /**
14
+ * Parse a state key string into a ConditionNode
15
+ */
16
+ export declare function parseStateKey(stateKey: string, options?: ParseStateKeyOptions): ConditionNode;
17
+ /**
18
+ * Clear the parse cache (for testing)
19
+ */
20
+ export declare function clearParseCache(): void;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Condition Simplification Engine
3
+ *
4
+ * Simplifies condition trees by applying boolean algebra rules,
5
+ * detecting contradictions, merging ranges, and deduplicating terms.
6
+ *
7
+ * This is critical for:
8
+ * 1. Detecting invalid combinations (A & !A → FALSE)
9
+ * 2. Reducing CSS output size
10
+ * 3. Producing cleaner selectors
11
+ */
12
+ import { ConditionNode } from './conditions';
13
+ /**
14
+ * Simplify a condition tree aggressively.
15
+ *
16
+ * This applies all possible simplification rules:
17
+ * - Boolean algebra (identity, annihilator, idempotent, absorption)
18
+ * - Contradiction detection (A & !A → FALSE)
19
+ * - Tautology detection (A | !A → TRUE)
20
+ * - Range intersection for numeric queries
21
+ * - Attribute value conflict detection
22
+ * - Deduplication and sorting
23
+ */
24
+ export declare function simplifyCondition(node: ConditionNode): ConditionNode;
25
+ /**
26
+ * Clear the simplify cache (for testing)
27
+ */
28
+ export declare function clearSimplifyCache(): void;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Tasty Plugins
3
+ *
4
+ * This module exports official tasty plugins that extend the style system.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { configure } from '@cube-dev/ui-kit';
9
+ * import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';
10
+ *
11
+ * configure({
12
+ * plugins: [okhslPlugin()],
13
+ * });
14
+ * ```
15
+ */
16
+ export type { TastyPlugin, TastyPluginFactory } from './types';
17
+ export { okhslPlugin, okhslFunc } from './okhsl-plugin';
@@ -0,0 +1,45 @@
1
+ /**
2
+ * OKHSL Plugin for Tasty
3
+ *
4
+ * Converts OKHSL color syntax to RGB notation.
5
+ * Supports angle units: deg, turn, rad, or unitless (degrees).
6
+ *
7
+ * Examples:
8
+ * okhsl(240.5 50% 50%)
9
+ * okhsl(240.5deg 50% 50%)
10
+ * okhsl(0.25turn 50% 50%)
11
+ * okhsl(1.57rad 50% 50%)
12
+ *
13
+ * Conversion math inlined from @texel/color to avoid external dependencies.
14
+ */
15
+ import type { StyleDetails } from '../parser/types';
16
+ import type { TastyPluginFactory } from './types';
17
+ /**
18
+ * The okhsl function handler for tasty parser.
19
+ * Receives parsed style groups and returns an RGB color string.
20
+ */
21
+ declare const okhslFunc: (groups: StyleDetails[]) => string;
22
+ /**
23
+ * OKHSL Plugin for Tasty.
24
+ *
25
+ * Adds support for the `okhsl()` color function in tasty styles.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { configure } from '@cube-dev/ui-kit';
30
+ * import { okhslPlugin } from '@cube-dev/ui-kit/tasty/plugins';
31
+ *
32
+ * configure({
33
+ * plugins: [okhslPlugin()],
34
+ * });
35
+ *
36
+ * // Now you can use okhsl in styles:
37
+ * const Box = tasty({
38
+ * styles: {
39
+ * fill: 'okhsl(240 50% 50%)',
40
+ * },
41
+ * });
42
+ * ```
43
+ */
44
+ export declare const okhslPlugin: TastyPluginFactory;
45
+ export { okhslFunc };
@@ -0,0 +1,34 @@
1
+ import type { StyleDetails, UnitHandler } from '../parser/types';
2
+ /**
3
+ * A tasty plugin that extends the style system with custom functions, units, or states.
4
+ */
5
+ export interface TastyPlugin {
6
+ /** Unique name for the plugin (used for debugging and conflict detection) */
7
+ name: string;
8
+ /** Custom functions that transform parsed style groups into CSS values */
9
+ funcs?: Record<string, (groups: StyleDetails[]) => string>;
10
+ /** Custom units that transform numeric values (e.g., `2x` → `calc(2 * var(--gap))`) */
11
+ units?: Record<string, string | UnitHandler>;
12
+ /** Custom state aliases (e.g., `'@mobile': '@media(w < 768px)'`) */
13
+ states?: Record<string, string>;
14
+ }
15
+ /**
16
+ * A factory function that creates a TastyPlugin.
17
+ * Can optionally accept configuration options.
18
+ *
19
+ * @example
20
+ * ```ts
21
+ * // Plugin without options
22
+ * const okhslPlugin: TastyPluginFactory = () => ({
23
+ * name: 'okhsl',
24
+ * funcs: { okhsl: okhslFunc },
25
+ * });
26
+ *
27
+ * // Plugin with options
28
+ * const debugPlugin: TastyPluginFactory<{ verbose: boolean }> = (options) => ({
29
+ * name: 'debug',
30
+ * funcs: { debug: createDebugFunc(options.verbose) },
31
+ * });
32
+ * ```
33
+ */
34
+ export type TastyPluginFactory<TOptions = void> = TOptions extends void ? () => TastyPlugin : (options: TOptions) => TastyPlugin;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Advanced State Mapping - Predefined States Management
3
+ *
4
+ * This module handles global and local predefined states for the Tasty styling system.
5
+ * See ADVANCED_STATE_MAPPING.md for full specification.
6
+ */
7
+ import { Styles } from '../styles/types';
8
+ /**
9
+ * Parsed advanced state information
10
+ */
11
+ export interface ParsedAdvancedState {
12
+ type: 'media' | 'container' | 'root' | 'own' | 'starting' | 'predefined' | 'modifier';
13
+ condition: string;
14
+ containerName?: string;
15
+ raw: string;
16
+ mediaType?: string;
17
+ }
18
+ /**
19
+ * Context for state parsing operations
20
+ */
21
+ export interface StateParserContext {
22
+ localPredefinedStates: Record<string, string>;
23
+ globalPredefinedStates: Record<string, string>;
24
+ isSubElement?: boolean;
25
+ }
26
+ /**
27
+ * At-rule context for CSS generation
28
+ */
29
+ export interface AtRuleContext {
30
+ media?: string[];
31
+ container?: {
32
+ name?: string;
33
+ condition: string;
34
+ }[];
35
+ startingStyle?: boolean;
36
+ rootStates?: string[];
37
+ negatedRootStates?: string[];
38
+ }
39
+ /**
40
+ * Configure global predefined states
41
+ */
42
+ export declare function setGlobalPredefinedStates(states: Record<string, string>): void;
43
+ /**
44
+ * Get global predefined states
45
+ */
46
+ export declare function getGlobalPredefinedStates(): Record<string, string>;
47
+ /**
48
+ * Clear global predefined states (for testing only)
49
+ */
50
+ export declare function clearGlobalPredefinedStates(): void;
51
+ /**
52
+ * Extract predefined state references from a string
53
+ */
54
+ export declare function extractPredefinedStateRefs(value: string): string[];
55
+ /**
56
+ * Check if a state key is a predefined state reference
57
+ */
58
+ export declare function isPredefinedStateRef(stateKey: string): boolean;
59
+ /**
60
+ * Extract local predefined states from a styles object
61
+ * Local predefined states are top-level keys starting with @ that have string values
62
+ * and are valid predefined state names (not built-in like @media, @root, etc.)
63
+ */
64
+ export declare function extractLocalPredefinedStates(styles: Styles): Record<string, string>;
65
+ /**
66
+ * Create a state parser context from styles
67
+ */
68
+ export declare function createStateParserContext(styles?: Styles, isSubElement?: boolean): StateParserContext;
69
+ /**
70
+ * Resolve a predefined state reference to its value
71
+ * Returns the resolved value or null if not found
72
+ */
73
+ export declare function resolvePredefinedState(stateKey: string, ctx: StateParserContext): string | null;
74
+ /**
75
+ * Normalize state key by trimming whitespace and removing trailing/leading operators
76
+ */
77
+ export declare function normalizeStateKey(stateKey: string): {
78
+ key: string;
79
+ warnings: string[];
80
+ };
81
+ /**
82
+ * Expand dimension shorthands in a condition string
83
+ * w -> width, h -> height, is -> inline-size, bs -> block-size
84
+ */
85
+ export declare function expandDimensionShorthands(condition: string): string;
86
+ /**
87
+ * Convert tasty units in a string (e.g., 40x -> calc(var(--gap) * 40))
88
+ */
89
+ export declare function expandTastyUnits(value: string): string;
90
+ /**
91
+ * Parse an advanced state key and return its type and components
92
+ */
93
+ export declare function parseAdvancedState(stateKey: string, ctx: StateParserContext): ParsedAdvancedState;
94
+ /**
95
+ * Check if a state key is an advanced state (starts with @)
96
+ */
97
+ export declare function isAdvancedState(stateKey: string): boolean;
98
+ /**
99
+ * Detect the type of advanced state from a raw state key
100
+ */
101
+ export declare function detectAdvancedStateType(stateKey: string): ParsedAdvancedState['type'];
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Build-time only module for zero-runtime static site generation.
3
+ *
4
+ * Usage:
5
+ * ```typescript
6
+ * import { tastyStatic } from '@cube-dev/ui-kit/tasty/static';
7
+ *
8
+ * // Returns StaticStyle object (className + styles + toString)
9
+ * const button = tastyStatic({
10
+ * fill: '#blue',
11
+ * padding: '2x',
12
+ * });
13
+ *
14
+ * // Extend existing styles
15
+ * const primaryButton = tastyStatic(button, {
16
+ * fill: '#purple',
17
+ * });
18
+ *
19
+ * // Global styles (removed at build time)
20
+ * tastyStatic('.heading', { preset: 'h1' });
21
+ *
22
+ * // Usage in JSX
23
+ * <div className={button} /> // toString() coercion
24
+ * <div className={button.className} /> // Explicit
25
+ * ```
26
+ *
27
+ * Requires the Babel plugin to be configured:
28
+ * ```javascript
29
+ * // babel.config.js
30
+ * plugins: [
31
+ * ['@cube-dev/ui-kit/tasty/zero/babel', { output: 'public/tasty.css' }]
32
+ * ]
33
+ * ```
34
+ */
35
+ export { tastyStatic } from './tastyStatic';
36
+ export { createStaticStyle, isStaticStyle } from './types';
37
+ export type { StaticStyle } from './types';
38
+ export type { Styles } from '../styles/types';
39
+ export { mergeStyles } from '../utils/mergeStyles';
@@ -0,0 +1,41 @@
1
+ import { Styles } from '../styles/types';
2
+ import { StaticStyle } from './types';
3
+ /**
4
+ * Generate styles and return a StaticStyle object.
5
+ * The object has `className`, `styles`, and `toString()`.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const button = tastyStatic({
10
+ * fill: '#blue',
11
+ * padding: '2x',
12
+ * });
13
+ * // After build: { className: 'ts3f2a1b', styles: {...}, toString() }
14
+ *
15
+ * <div className={button} /> // Works via toString()
16
+ * ```
17
+ */
18
+ export declare function tastyStatic(styles: Styles): StaticStyle;
19
+ /**
20
+ * Extend an existing StaticStyle with additional styles.
21
+ * Uses mergeStyles() internally for proper nested selector handling.
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const button = tastyStatic({ fill: '#blue' });
26
+ * const primary = tastyStatic(button, { fill: '#purple' });
27
+ * // After build: { className: 'ts8c4d2e', styles: {...merged...}, toString() }
28
+ * ```
29
+ */
30
+ export declare function tastyStatic(base: StaticStyle, styles: Styles): StaticStyle;
31
+ /**
32
+ * Generate styles for a specific CSS selector.
33
+ * The call is completely removed after build transformation.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * tastyStatic('.heading', { preset: 'h1', color: '#primary' });
38
+ * // After build: (removed)
39
+ * ```
40
+ */
41
+ export declare function tastyStatic(selector: string, styles: Styles): void;
@@ -0,0 +1,44 @@
1
+ import { Styles } from '../styles/types';
2
+ /**
3
+ * Static style definition returned by tastyStatic().
4
+ *
5
+ * Supports both explicit className access and implicit string coercion via toString().
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const button = tastyStatic({ fill: '#blue' });
10
+ *
11
+ * // Both work in JSX:
12
+ * <div className={button} /> // Uses toString()
13
+ * <div className={button.className} /> // Explicit
14
+ *
15
+ * // Extension:
16
+ * const primary = tastyStatic(button, { fill: '#purple' });
17
+ * ```
18
+ */
19
+ export interface StaticStyle {
20
+ /**
21
+ * Generated className(s) for use in JSX.
22
+ * May contain multiple space-separated class names due to chunking.
23
+ */
24
+ className: string;
25
+ /**
26
+ * The original (or merged) styles object.
27
+ * Available for extension via tastyStatic(base, overrides).
28
+ */
29
+ styles: Styles;
30
+ /**
31
+ * Returns className for implicit string coercion.
32
+ * Enables `<div className={button} />` syntax.
33
+ */
34
+ toString(): string;
35
+ }
36
+ /**
37
+ * Create a StaticStyle object.
38
+ * Used internally by the Babel plugin to generate output.
39
+ */
40
+ export declare function createStaticStyle(className: string, styles: Styles): StaticStyle;
41
+ /**
42
+ * Type guard to check if a value is a StaticStyle object.
43
+ */
44
+ export declare function isStaticStyle(value: unknown): value is StaticStyle;
@@ -1,6 +1,16 @@
1
1
  export declare function fillStyle({ fill }: {
2
2
  fill: any;
3
- }): any[] | "";
3
+ }): "" | {
4
+ 'background-color': any;
5
+ };
4
6
  export declare namespace fillStyle {
5
7
  var __lookupStyles: string[];
6
8
  }
9
+ export declare function svgFillStyle({ svgFill }: {
10
+ svgFill: any;
11
+ }): "" | {
12
+ fill: any;
13
+ };
14
+ export declare namespace svgFillStyle {
15
+ var __lookupStyles: string[];
16
+ }
@@ -7,7 +7,9 @@ export declare function marginStyle({ margin, marginBlock, marginInline, marginT
7
7
  marginBottom?: string | number | boolean;
8
8
  marginLeft?: string | number | boolean;
9
9
  }): {
10
- [key: string]: string;
10
+ margin?: undefined;
11
+ } | {
12
+ margin: string;
11
13
  };
12
14
  export declare namespace marginStyle {
13
15
  var __lookupStyles: string[];
@@ -7,7 +7,9 @@ export declare function paddingStyle({ padding, paddingBlock, paddingInline, pad
7
7
  paddingBottom?: string | number | boolean;
8
8
  paddingLeft?: string | number | boolean;
9
9
  }): {
10
- [key: string]: string;
10
+ padding?: undefined;
11
+ } | {
12
+ padding: string;
11
13
  };
12
14
  export declare namespace paddingStyle {
13
15
  var __lookupStyles: string[];
@@ -1,16 +1,8 @@
1
1
  export declare function radiusStyle({ radius }: {
2
2
  radius: any;
3
- }): "" | ({
4
- '--local-radius': string;
3
+ }): "" | {
5
4
  'border-radius': string;
6
- $?: undefined;
7
- '--context-radius'?: undefined;
8
- } | {
9
- $: string;
10
- '--context-radius': string;
11
- '--local-radius'?: undefined;
12
- 'border-radius'?: undefined;
13
- })[];
5
+ };
14
6
  export declare namespace radiusStyle {
15
7
  var __lookupStyles: string[];
16
8
  }