@cube-dev/ui-kit 0.0.0-canary-76be278 → 0.0.0-canary-7e4ec9d

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 +67 -61
  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 +52 -12
  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 +1 -2
  74. package/es/components/content/Layout/LayoutBlock.js +1 -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 +1 -2
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -2
  84. package/es/components/content/Layout/LayoutPanel.js +1 -2
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -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 +1 -1
  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 +2 -2
  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 +1 -2
  427. package/es/provider.js +8 -2
  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 +14 -18
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/debug.js +7 -193
  443. package/es/tasty/index.js +4 -18
  444. package/es/tasty/injector/index.js +87 -31
  445. package/es/tasty/injector/injector.js +279 -30
  446. package/es/tasty/injector/sheet-manager.js +2 -126
  447. package/es/tasty/injector/types.js +1 -1
  448. package/es/tasty/parser/classify.js +3 -5
  449. package/es/tasty/parser/const.js +1 -1
  450. package/es/tasty/parser/lru.js +1 -1
  451. package/es/tasty/parser/parser.js +1 -14
  452. package/es/tasty/parser/tokenizer.js +1 -1
  453. package/es/tasty/parser/types.js +1 -2
  454. package/es/tasty/providers/BreakpointsProvider.js +16 -0
  455. package/es/tasty/styles/align.js +1 -1
  456. package/es/tasty/styles/border.js +1 -1
  457. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  458. package/es/tasty/styles/color.js +1 -1
  459. package/es/tasty/styles/createStyle.js +1 -1
  460. package/es/tasty/styles/dimension.js +1 -1
  461. package/es/tasty/styles/display.js +1 -1
  462. package/es/tasty/styles/fade.js +1 -1
  463. package/es/tasty/styles/fill.js +20 -10
  464. package/es/tasty/styles/flow.js +1 -1
  465. package/es/tasty/styles/font.js +1 -1
  466. package/es/tasty/styles/fontStyle.js +1 -1
  467. package/es/tasty/styles/gap.js +1 -1
  468. package/es/tasty/styles/groupRadius.js +1 -1
  469. package/es/tasty/styles/height.js +1 -1
  470. package/es/tasty/styles/index.js +1 -1
  471. package/es/tasty/styles/inset.js +1 -1
  472. package/es/tasty/styles/justify.js +1 -1
  473. package/es/tasty/styles/list.js +1 -1
  474. package/es/tasty/styles/margin.js +55 -75
  475. package/es/tasty/styles/outline.js +1 -1
  476. package/es/tasty/styles/padding.js +55 -75
  477. package/es/tasty/styles/place.js +1 -1
  478. package/es/tasty/styles/predefined.js +2 -3
  479. package/es/tasty/styles/preset.js +1 -1
  480. package/es/tasty/styles/radius.js +1 -1
  481. package/es/tasty/styles/reset.js +1 -1
  482. package/es/tasty/styles/scrollbar.js +1 -1
  483. package/es/tasty/styles/shadow.js +1 -1
  484. package/es/tasty/styles/styledScrollbar.js +1 -1
  485. package/es/tasty/styles/transition.js +1 -1
  486. package/es/tasty/styles/types.js +1 -1
  487. package/es/tasty/styles/width.js +1 -1
  488. package/es/tasty/tasty.js +117 -76
  489. package/es/tasty/types.js +1 -1
  490. package/es/tasty/utils/cache-wrapper.js +1 -1
  491. package/es/tasty/utils/case-converter.js +1 -1
  492. package/es/tasty/utils/colors.js +1 -1
  493. package/es/tasty/utils/dotize.js +1 -1
  494. package/es/tasty/utils/filterBaseProps.js +1 -1
  495. package/es/tasty/utils/getDisplayName.js +1 -1
  496. package/es/tasty/utils/getModCombinations.js +38 -0
  497. package/es/tasty/utils/isDevEnv.js +1 -1
  498. package/es/tasty/utils/mergeStyles.js +2 -2
  499. package/es/tasty/utils/modAttrs.js +1 -1
  500. package/es/tasty/utils/processTokens.js +1 -1
  501. package/es/tasty/utils/renderStyles.js +1050 -0
  502. package/es/tasty/utils/responsive.js +60 -0
  503. package/es/tasty/utils/string.js +1 -1
  504. package/es/tasty/utils/styles.js +19 -252
  505. package/es/tasty/utils/warnings.js +1 -1
  506. package/es/tokens.js +309 -0
  507. package/es/utils/ResizeSensor.js +1 -1
  508. package/es/utils/index.js +1 -1
  509. package/es/utils/modules.js +1 -1
  510. package/es/utils/promise.js +1 -1
  511. package/es/utils/raf.js +1 -1
  512. package/es/utils/random.js +1 -1
  513. package/es/utils/range.js +1 -1
  514. package/es/utils/react/RenderCache.js +1 -1
  515. package/es/utils/react/Slots.js +1 -1
  516. package/es/utils/react/chain.js +1 -1
  517. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  518. package/es/utils/react/index.js +1 -1
  519. package/es/utils/react/interactions.js +1 -1
  520. package/es/utils/react/isTextOnly.js +1 -1
  521. package/es/utils/react/mapProps.js +1 -1
  522. package/es/utils/react/mergeProps.js +1 -1
  523. package/es/utils/react/nullableValue.js +1 -1
  524. package/es/utils/react/resolveIcon.js +1 -1
  525. package/es/utils/react/sharedStore.js +1 -1
  526. package/es/utils/react/useCombinedRefs.js +1 -1
  527. package/es/utils/react/useControlledFocusVisible.js +1 -1
  528. package/es/utils/react/useEventBus.js +1 -1
  529. package/es/utils/react/useId.js +1 -1
  530. package/es/utils/react/useIsDarwin.js +1 -1
  531. package/es/utils/react/useKeySymbols.js +1 -1
  532. package/es/utils/react/useLayoutEffect.js +1 -1
  533. package/es/utils/react/useLocalStorage.js +1 -1
  534. package/es/utils/react/useQaProps.js +1 -1
  535. package/es/utils/react/useViewportSize.js +1 -1
  536. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  537. package/es/utils/tree.js +1 -1
  538. package/es/utils/warnings.js +1 -1
  539. package/es/version.js +2 -2
  540. package/package.json +1 -3
  541. package/types/components/GlobalStyles.d.ts +1 -2
  542. package/types/components/HiddenInput.d.ts +826 -827
  543. package/types/components/Root.d.ts +0 -1
  544. package/types/components/actions/Button/Button.d.ts +1645 -1647
  545. package/types/components/actions/CommandMenu/styled.d.ts +4130 -4135
  546. package/types/components/actions/Menu/styled.d.ts +4379 -4384
  547. package/types/components/actions/use-action.d.ts +1 -1
  548. package/types/components/content/List/SectionHeading.d.ts +83 -83
  549. package/types/components/content/Text.d.ts +311 -311
  550. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  551. package/types/components/fields/Select/Select.d.ts +826 -827
  552. package/types/components/fields/Slider/elements.d.ts +4956 -4962
  553. package/types/index.d.ts +0 -1
  554. package/types/provider.d.ts +2 -1
  555. package/types/stories/components/StyledButton.d.ts +1 -1
  556. package/types/tasty/debug.d.ts +0 -35
  557. package/types/tasty/index.d.ts +4 -14
  558. package/types/tasty/injector/index.d.ts +19 -30
  559. package/types/tasty/injector/injector.d.ts +13 -13
  560. package/types/tasty/injector/sheet-manager.d.ts +1 -25
  561. package/types/tasty/injector/types.d.ts +1 -20
  562. package/types/tasty/parser/parser.d.ts +0 -4
  563. package/types/tasty/parser/types.d.ts +0 -1
  564. package/types/tasty/providers/BreakpointsProvider.d.ts +8 -0
  565. package/types/tasty/styles/fill.d.ts +1 -11
  566. package/types/tasty/styles/margin.d.ts +1 -3
  567. package/types/tasty/styles/padding.d.ts +1 -3
  568. package/types/tasty/styles/types.d.ts +3 -13
  569. package/types/tasty/tasty.d.ts +840 -891
  570. package/types/tasty/utils/getModCombinations.d.ts +9 -0
  571. package/types/tasty/utils/renderStyles.d.ts +41 -0
  572. package/types/tasty/utils/responsive.d.ts +8 -0
  573. package/types/tasty/utils/styles.d.ts +6 -50
  574. package/types/tokens.d.ts +221 -0
  575. package/es/tasty/chunks/cacheKey.js +0 -98
  576. package/es/tasty/chunks/definitions.js +0 -280
  577. package/es/tasty/chunks/index.js +0 -12
  578. package/es/tasty/chunks/renderChunk.js +0 -97
  579. package/es/tasty/config.js +0 -244
  580. package/es/tasty/hooks/index.js +0 -12
  581. package/es/tasty/hooks/useGlobalStyles.js +0 -67
  582. package/es/tasty/hooks/useRawCSS.js +0 -40
  583. package/es/tasty/hooks/useStyles.js +0 -146
  584. package/es/tasty/pipeline/conditions.js +0 -469
  585. package/es/tasty/pipeline/exclusive.js +0 -193
  586. package/es/tasty/pipeline/index.js +0 -515
  587. package/es/tasty/pipeline/materialize.js +0 -1001
  588. package/es/tasty/pipeline/parseStateKey.js +0 -565
  589. package/es/tasty/pipeline/simplify.js +0 -786
  590. package/es/tasty/plugins/index.js +0 -26
  591. package/es/tasty/plugins/okhsl-plugin.js +0 -400
  592. package/es/tasty/plugins/types.js +0 -10
  593. package/es/tasty/states/index.js +0 -515
  594. package/es/tasty/static/index.js +0 -47
  595. package/es/tasty/static/tastyStatic.js +0 -55
  596. package/es/tasty/static/types.js +0 -34
  597. package/es/tasty/utils/typography.js +0 -67
  598. package/es/tasty/zero/babel.js +0 -401
  599. package/es/tasty/zero/css-writer.js +0 -94
  600. package/es/tasty/zero/extractor.js +0 -75
  601. package/es/tasty/zero/index.js +0 -28
  602. package/es/tasty/zero/next.js +0 -102
  603. package/es/tokens/base.js +0 -64
  604. package/es/tokens/colors.js +0 -68
  605. package/es/tokens/index.js +0 -63
  606. package/es/tokens/layout.js +0 -26
  607. package/es/tokens/shadows.js +0 -27
  608. package/es/tokens/sizes.js +0 -44
  609. package/es/tokens/spacing.js +0 -22
  610. package/es/tokens/typography.js +0 -237
  611. package/types/tasty/chunks/cacheKey.d.ts +0 -26
  612. package/types/tasty/chunks/definitions.d.ts +0 -75
  613. package/types/tasty/chunks/index.d.ts +0 -4
  614. package/types/tasty/chunks/renderChunk.d.ts +0 -25
  615. package/types/tasty/config.d.ts +0 -145
  616. package/types/tasty/hooks/index.d.ts +0 -4
  617. package/types/tasty/hooks/useGlobalStyles.d.ts +0 -22
  618. package/types/tasty/hooks/useRawCSS.d.ts +0 -50
  619. package/types/tasty/hooks/useStyles.d.ts +0 -38
  620. package/types/tasty/pipeline/conditions.d.ts +0 -248
  621. package/types/tasty/pipeline/exclusive.d.ts +0 -78
  622. package/types/tasty/pipeline/index.d.ts +0 -67
  623. package/types/tasty/pipeline/materialize.d.ts +0 -115
  624. package/types/tasty/pipeline/parseStateKey.d.ts +0 -20
  625. package/types/tasty/pipeline/simplify.d.ts +0 -28
  626. package/types/tasty/plugins/index.d.ts +0 -17
  627. package/types/tasty/plugins/okhsl-plugin.d.ts +0 -45
  628. package/types/tasty/plugins/types.d.ts +0 -34
  629. package/types/tasty/states/index.d.ts +0 -101
  630. package/types/tasty/static/index.d.ts +0 -39
  631. package/types/tasty/static/tastyStatic.d.ts +0 -41
  632. package/types/tasty/static/types.d.ts +0 -44
  633. package/types/tasty/utils/typography.d.ts +0 -32
  634. package/types/tasty/zero/babel.d.ts +0 -56
  635. package/types/tasty/zero/css-writer.d.ts +0 -41
  636. package/types/tasty/zero/extractor.d.ts +0 -19
  637. package/types/tasty/zero/index.d.ts +0 -18
  638. package/types/tasty/zero/next.d.ts +0 -57
  639. package/types/tokens/base.d.ts +0 -8
  640. package/types/tokens/colors.d.ts +0 -6
  641. package/types/tokens/index.d.ts +0 -41
  642. package/types/tokens/layout.d.ts +0 -7
  643. package/types/tokens/shadows.d.ts +0 -12
  644. package/types/tokens/sizes.d.ts +0 -27
  645. package/types/tokens/spacing.d.ts +0 -8
  646. package/types/tokens/typography.d.ts +0 -30
@@ -1,515 +0,0 @@
1
- /**
2
- * @license MIT
3
- * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-76be278
5
- * Released under the MIT license.
6
- */
7
-
8
- /**
9
- * Tasty Style Rendering Pipeline
10
- *
11
- * This is the main entrypoint for the new pipeline implementation.
12
- * It implements the complete flow from style objects to CSS rules.
13
- *
14
- * Pipeline stages:
15
- * 1. PARSE CONDITIONS - Parse state keys into ConditionNode trees
16
- * 2. BUILD EXCLUSIVE CONDITIONS - AND with negation of higher-priority conditions
17
- * 3. SIMPLIFY CONDITIONS - Apply boolean algebra, detect contradictions
18
- * 4. GROUP BY HANDLER - Collect styles per handler, compute combinations
19
- * 5. COMPUTE CSS VALUES - Call handlers to get CSS declarations
20
- * 6. MERGE BY VALUE - Merge rules with identical CSS output
21
- * 7. MATERIALIZE CSS - Convert conditions to CSS selectors + at-rules
22
- */
23
- import { Lru } from '../parser/lru';
24
- import { createStateParserContext } from '../states';
25
- import { createStyle, STYLE_HANDLER_MAP } from '../styles';
26
- import { stringifyStyles } from '../utils/styles';
27
- import { and, or, trueCondition, } from './conditions';
28
- import { buildExclusiveConditions, expandOrConditions, isValueMapping, parseStyleEntries, } from './exclusive';
29
- import { buildAtRulesFromVariant, conditionToCSS, } from './materialize';
30
- import { parseStateKey } from './parseStateKey';
31
- import { simplifyCondition } from './simplify';
32
- // ============================================================================
33
- // Caching
34
- // ============================================================================
35
- const pipelineCache = new Lru(5000);
36
- // ============================================================================
37
- // Main Pipeline Function
38
- // ============================================================================
39
- /**
40
- * Render styles using the new pipeline.
41
- *
42
- * This is the main entrypoint that implements the complete flow.
43
- */
44
- export function renderStylesPipeline(styles, className) {
45
- if (!styles) {
46
- return { rules: [], className };
47
- }
48
- // Check cache
49
- const cacheKey = stringifyStyles(styles);
50
- let rules = pipelineCache.get(cacheKey);
51
- if (!rules) {
52
- // Create parser context
53
- const parserContext = createStateParserContext(styles);
54
- // Run pipeline
55
- rules = runPipeline(styles, parserContext);
56
- // Cache result
57
- pipelineCache.set(cacheKey, rules);
58
- }
59
- // If no className, rules need it to be prepended later
60
- if (!className) {
61
- return {
62
- rules: rules.map((r) => ({
63
- ...r,
64
- needsClassName: true,
65
- })),
66
- };
67
- }
68
- // Prepend className to selectors
69
- const finalRules = rules.map((rule) => {
70
- // Parse the selector to find where to insert className
71
- let selector = rule.selector;
72
- // If selector starts with :root, insert className after the :root part
73
- if (rule.rootPrefix) {
74
- selector = `${rule.rootPrefix} .${className}.${className}${selector}`;
75
- }
76
- else {
77
- selector = `.${className}.${className}${selector}`;
78
- }
79
- return {
80
- ...rule,
81
- selector,
82
- };
83
- });
84
- return {
85
- rules: finalRules,
86
- className,
87
- };
88
- }
89
- /**
90
- * Clear the pipeline cache (for testing)
91
- */
92
- export function clearPipelineCache() {
93
- pipelineCache.clear();
94
- }
95
- // ============================================================================
96
- // Pipeline Implementation
97
- // ============================================================================
98
- function runPipeline(styles, parserContext) {
99
- const allRules = [];
100
- // Process styles recursively (including nested selectors)
101
- processStyles(styles, '', parserContext, allRules);
102
- // Deduplicate rules
103
- const seen = new Set();
104
- const dedupedRules = allRules.filter((rule) => {
105
- // Include rootPrefix in dedup key - rules with different root prefixes are distinct
106
- const key = `${rule.selector}|${rule.declarations}|${JSON.stringify(rule.atRules || [])}|${rule.rootPrefix || ''}`;
107
- if (seen.has(key))
108
- return false;
109
- seen.add(key);
110
- return true;
111
- });
112
- return dedupedRules;
113
- }
114
- /**
115
- * Process styles at a given nesting level
116
- */
117
- function processStyles(styles, selectorSuffix, parserContext, allRules) {
118
- const keys = Object.keys(styles);
119
- // Separate selector keys from style keys
120
- const selectorKeys = keys.filter((key) => isSelector(key));
121
- const styleKeys = keys.filter((key) => !isSelector(key) && !key.startsWith('@'));
122
- // Process nested selectors first
123
- for (const key of selectorKeys) {
124
- const nestedStyles = styles[key];
125
- if (!nestedStyles || typeof nestedStyles !== 'object')
126
- continue;
127
- const suffix = getSelector(key, nestedStyles);
128
- if (suffix) {
129
- // Create sub-element context for @own() validation
130
- const subContext = {
131
- ...parserContext,
132
- isSubElement: true,
133
- };
134
- // Remove $ from nested styles
135
- const { $: _omit, ...cleanedStyles } = nestedStyles;
136
- processStyles(cleanedStyles, selectorSuffix + suffix, subContext, allRules);
137
- }
138
- }
139
- // Build handler queue
140
- const handlerQueue = buildHandlerQueue(styleKeys, styles);
141
- // Process each handler
142
- for (const { handler, styleMap } of handlerQueue) {
143
- const lookupStyles = handler.__lookupStyles;
144
- // Stage 1 & 2: Parse and build exclusive conditions for each style
145
- // Exclusive conditions ensure each CSS rule applies to exactly one state.
146
- // OR conditions in exclusives are properly expanded to DNF (multiple CSS selectors).
147
- const exclusiveByStyle = new Map();
148
- for (const styleName of lookupStyles) {
149
- const value = styleMap[styleName];
150
- if (value === undefined)
151
- continue;
152
- if (isValueMapping(value)) {
153
- // Parse entries from value mapping
154
- const parsed = parseStyleEntries(styleName, value, (stateKey) => parseStateKey(stateKey, { context: parserContext }));
155
- // Expand OR conditions into exclusive branches
156
- // This ensures OR branches like `A | B | C` become:
157
- // A, B & !A, C & !A & !B
158
- const expanded = expandOrConditions(parsed);
159
- // Build exclusive conditions across all entries
160
- const exclusive = buildExclusiveConditions(expanded);
161
- exclusiveByStyle.set(styleName, exclusive);
162
- }
163
- else {
164
- // Simple value - single entry with TRUE condition
165
- exclusiveByStyle.set(styleName, [
166
- {
167
- styleKey: styleName,
168
- stateKey: '',
169
- value,
170
- condition: trueCondition(),
171
- priority: 0,
172
- exclusiveCondition: trueCondition(),
173
- },
174
- ]);
175
- }
176
- }
177
- // Stage 4: Compute all valid state combinations
178
- const stateSnapshots = computeStateCombinations(exclusiveByStyle, lookupStyles);
179
- // Stage 5: Call handler for each snapshot
180
- const computedRules = [];
181
- for (const snapshot of stateSnapshots) {
182
- const result = handler(snapshot.values);
183
- if (!result)
184
- continue;
185
- // Handler may return single or array
186
- const results = Array.isArray(result) ? result : [result];
187
- for (const r of results) {
188
- if (!r || typeof r !== 'object')
189
- continue;
190
- const { $, ...styleProps } = r;
191
- const declarations = {};
192
- for (const [prop, val] of Object.entries(styleProps)) {
193
- if (val != null && val !== '') {
194
- declarations[prop] = String(val);
195
- }
196
- }
197
- if (Object.keys(declarations).length === 0)
198
- continue;
199
- // Handle $ suffixes
200
- const suffixes = $
201
- ? (Array.isArray($) ? $ : [$]).map((s) => selectorSuffix + normalizeSelectorSuffix(String(s)))
202
- : [selectorSuffix];
203
- for (const suffix of suffixes) {
204
- computedRules.push({
205
- condition: snapshot.condition,
206
- declarations,
207
- selectorSuffix: suffix,
208
- });
209
- }
210
- }
211
- }
212
- // Stage 6: Merge rules with identical CSS output
213
- const mergedRules = mergeByValue(computedRules);
214
- // Stage 7: Materialize to CSS
215
- for (const rule of mergedRules) {
216
- const cssRules = materializeComputedRule(rule);
217
- allRules.push(...cssRules);
218
- }
219
- }
220
- }
221
- // ============================================================================
222
- // Helper Functions
223
- // ============================================================================
224
- /**
225
- * Check if a key is a CSS selector
226
- */
227
- export function isSelector(key) {
228
- return key.startsWith('&') || key.startsWith('.') || /^[A-Z]/.test(key);
229
- }
230
- /**
231
- * Get selector suffix for a key
232
- */
233
- function getSelector(key, styles) {
234
- if (key.startsWith('&')) {
235
- return key.slice(1);
236
- }
237
- if (key.startsWith('.')) {
238
- return ` ${key}`;
239
- }
240
- if (/^[A-Z]/.test(key)) {
241
- const affix = styles?.$;
242
- if (affix !== undefined) {
243
- const prefix = transformSelectorAffix(String(affix));
244
- return `${prefix}[data-element="${key}"]`;
245
- }
246
- return ` [data-element="${key}"]`;
247
- }
248
- return null;
249
- }
250
- /**
251
- * Transform selector affix
252
- */
253
- function transformSelectorAffix(affix) {
254
- const trimmed = affix.trim();
255
- if (!trimmed)
256
- return ' ';
257
- // Validate that combinators have spaces around them
258
- // Check for capitalized words adjacent to combinators without spaces
259
- const invalidPattern = /[A-Z][a-z]*[>+~]|[>+~][A-Z][a-z]*/;
260
- if (invalidPattern.test(trimmed)) {
261
- console.error(`[Tasty] Invalid selector affix ($) syntax: "${affix}"\n` +
262
- `Combinators (>, +, ~) must have spaces around them when used with element names.\n` +
263
- `Example: Use "$: '> Body > Row'" instead of "$: '>Body>Row'"\n` +
264
- `This is a design choice: the parser uses simple whitespace splitting for performance.`);
265
- }
266
- const tokens = trimmed.split(/\s+/);
267
- const transformed = tokens.map((token) => /^[A-Z]/.test(token) ? `[data-element="${token}"]` : token);
268
- return ` ${transformed.join(' ')} `;
269
- }
270
- /**
271
- * Normalize selector suffix from $ property
272
- */
273
- function normalizeSelectorSuffix(suffix) {
274
- if (!suffix)
275
- return '';
276
- return suffix.startsWith('&') ? suffix.slice(1) : suffix;
277
- }
278
- /**
279
- * Build handler queue from style keys
280
- */
281
- function buildHandlerQueue(styleKeys, styles) {
282
- const queue = [];
283
- const seenHandlers = new Set();
284
- for (const styleName of styleKeys) {
285
- let handlers = STYLE_HANDLER_MAP[styleName];
286
- if (!handlers) {
287
- handlers = STYLE_HANDLER_MAP[styleName] = [createStyle(styleName)];
288
- }
289
- for (const handler of handlers) {
290
- if (seenHandlers.has(handler))
291
- continue;
292
- seenHandlers.add(handler);
293
- const lookupStyles = handler.__lookupStyles;
294
- const styleMap = {};
295
- for (const name of lookupStyles) {
296
- if (styles[name] !== undefined) {
297
- styleMap[name] = styles[name];
298
- }
299
- }
300
- queue.push({ handler, styleMap });
301
- }
302
- }
303
- return queue;
304
- }
305
- /**
306
- * Compute all valid state combinations for a handler's lookup styles
307
- */
308
- function computeStateCombinations(exclusiveByStyle, lookupStyles) {
309
- // Get entries for each style
310
- const entriesPerStyle = lookupStyles.map((style) => exclusiveByStyle.get(style) || []);
311
- // Cartesian product of all combinations
312
- const combinations = cartesianProduct(entriesPerStyle);
313
- // Build snapshots, simplifying and filtering impossible combinations
314
- const snapshots = [];
315
- for (const combo of combinations) {
316
- // Combine all exclusive conditions with AND
317
- const conditions = combo.map((e) => e.exclusiveCondition);
318
- const combined = and(...conditions);
319
- const simplified = simplifyCondition(combined);
320
- // Skip impossible combinations
321
- if (simplified.kind === 'false')
322
- continue;
323
- // Build values map
324
- const values = {};
325
- for (const entry of combo) {
326
- values[entry.styleKey] = entry.value;
327
- }
328
- snapshots.push({
329
- condition: simplified,
330
- values,
331
- });
332
- }
333
- return snapshots;
334
- }
335
- /**
336
- * Cartesian product of arrays
337
- */
338
- function cartesianProduct(arrays) {
339
- if (arrays.length === 0)
340
- return [[]];
341
- // Filter out empty arrays
342
- const nonEmpty = arrays.filter((a) => a.length > 0);
343
- if (nonEmpty.length === 0)
344
- return [[]];
345
- return nonEmpty.reduce((acc, arr) => acc.flatMap((combo) => arr.map((item) => [...combo, item])), [[]]);
346
- }
347
- /**
348
- * Merge rules with identical CSS output
349
- */
350
- function mergeByValue(rules) {
351
- // Group by selectorSuffix + declarations
352
- const groups = new Map();
353
- for (const rule of rules) {
354
- const key = `${rule.selectorSuffix}|${JSON.stringify(rule.declarations)}`;
355
- if (!groups.has(key)) {
356
- groups.set(key, []);
357
- }
358
- groups.get(key).push(rule);
359
- }
360
- // Merge conditions with OR for each group
361
- const merged = [];
362
- for (const [, groupRules] of groups) {
363
- if (groupRules.length === 1) {
364
- merged.push(groupRules[0]);
365
- }
366
- else {
367
- // Merge conditions with OR
368
- const mergedCondition = simplifyCondition(or(...groupRules.map((r) => r.condition)));
369
- merged.push({
370
- condition: mergedCondition,
371
- declarations: groupRules[0].declarations,
372
- selectorSuffix: groupRules[0].selectorSuffix,
373
- });
374
- }
375
- }
376
- return merged;
377
- }
378
- /**
379
- * Build selector fragment from a variant (without className prefix)
380
- */
381
- function buildSelectorFromVariant(variant, selectorSuffix) {
382
- let selector = variant.modifierSelectors.join('');
383
- selector += selectorSuffix;
384
- selector += variant.ownSelectors.join('');
385
- return selector;
386
- }
387
- /**
388
- * Materialize a computed rule to final CSS format
389
- *
390
- * Returns an array because OR conditions may generate multiple CSS rules
391
- * (when different branches have different at-rules)
392
- */
393
- function materializeComputedRule(rule) {
394
- const components = conditionToCSS(rule.condition);
395
- if (components.isImpossible || components.variants.length === 0) {
396
- return [];
397
- }
398
- const declarations = Object.entries(rule.declarations)
399
- .map(([prop, value]) => `${prop}: ${value};`)
400
- .join(' ');
401
- // Group variants by their at-rules (variants with same at-rules can be combined with commas)
402
- const byAtRules = new Map();
403
- for (const variant of components.variants) {
404
- const atRules = buildAtRulesFromVariant(variant);
405
- const key = atRules.sort().join('|||') + '###' + (variant.rootPrefix || '');
406
- const group = byAtRules.get(key);
407
- if (group) {
408
- group.variants.push(variant);
409
- }
410
- else {
411
- byAtRules.set(key, {
412
- variants: [variant],
413
- atRules,
414
- rootPrefix: variant.rootPrefix,
415
- });
416
- }
417
- }
418
- // Generate one CSSRule per at-rules group
419
- const rules = [];
420
- for (const [, group] of byAtRules) {
421
- // Build selector fragments for each variant (will be joined with className later)
422
- const selectorFragments = group.variants.map((v) => buildSelectorFromVariant(v, rule.selectorSuffix));
423
- // Store as array if multiple, string if single
424
- const selector = selectorFragments.length === 1 ? selectorFragments[0] : selectorFragments;
425
- const cssRule = {
426
- selector,
427
- declarations,
428
- };
429
- if (group.atRules.length > 0) {
430
- cssRule.atRules = group.atRules;
431
- }
432
- if (group.rootPrefix) {
433
- cssRule.rootPrefix = group.rootPrefix;
434
- }
435
- rules.push(cssRule);
436
- }
437
- return rules;
438
- }
439
- export function renderStyles(styles, classNameOrSelector) {
440
- // Check if we have a direct selector/className
441
- const directSelector = !!classNameOrSelector;
442
- if (!styles) {
443
- return directSelector ? [] : { rules: [] };
444
- }
445
- // Check cache
446
- const cacheKey = stringifyStyles(styles);
447
- let rules = pipelineCache.get(cacheKey);
448
- if (!rules) {
449
- // Create parser context
450
- const parserContext = createStateParserContext(styles);
451
- // Run pipeline
452
- rules = runPipeline(styles, parserContext);
453
- // Cache result
454
- pipelineCache.set(cacheKey, rules);
455
- }
456
- // Direct selector/className mode: return StyleResult[] directly
457
- if (directSelector) {
458
- return rules.map((rule) => {
459
- // Handle selector as array (OR conditions) or string
460
- const selectorParts = Array.isArray(rule.selector)
461
- ? rule.selector
462
- : rule.selector
463
- ? [rule.selector]
464
- : [''];
465
- let finalSelector = selectorParts
466
- .map((part) => {
467
- let sel = part
468
- ? `${classNameOrSelector}${part}`
469
- : classNameOrSelector;
470
- // Increase specificity for tasty class selectors by duplicating the class
471
- if (sel.startsWith('.') && /^\.t\d+/.test(sel)) {
472
- const classMatch = sel.match(/^\.t\d+/);
473
- if (classMatch) {
474
- const baseClass = classMatch[0];
475
- sel = baseClass + sel;
476
- }
477
- }
478
- // Handle root prefix for this selector
479
- if (rule.rootPrefix) {
480
- sel = `${rule.rootPrefix} ${sel}`;
481
- }
482
- return sel;
483
- })
484
- .join(', ');
485
- const result = {
486
- selector: finalSelector,
487
- declarations: rule.declarations,
488
- };
489
- if (rule.atRules && rule.atRules.length > 0) {
490
- result.atRules = rule.atRules;
491
- }
492
- return result;
493
- });
494
- }
495
- // No className mode: return RenderResult with needsClassName flag
496
- // Normalize selector to string (join array with placeholder that injector will handle)
497
- return {
498
- rules: rules.map((r) => ({
499
- selector: Array.isArray(r.selector)
500
- ? r.selector.join('|||')
501
- : r.selector,
502
- declarations: r.declarations,
503
- atRules: r.atRules,
504
- needsClassName: true,
505
- rootPrefix: r.rootPrefix,
506
- })),
507
- };
508
- }
509
- export { and, or, not, trueCondition, falseCondition } from './conditions';
510
- export { parseStateKey } from './parseStateKey';
511
- export { simplifyCondition } from './simplify';
512
- export { buildExclusiveConditions } from './exclusive';
513
- export { conditionToCSS } from './materialize';
514
-
515
-