@cube-dev/ui-kit 0.0.0-canary-9e3bcfc → 0.0.0-canary-eaff7d7

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 (593) 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 +51 -52
  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 +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/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 +1 -1
  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 +1 -1
  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 -1
  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 -1
  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 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  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 +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +1 -1
  427. package/es/provider.js +1 -1
  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 +17 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +1 -1
  443. package/es/tasty/chunks/definitions.js +3 -1
  444. package/es/tasty/chunks/index.js +1 -1
  445. package/es/tasty/chunks/renderChunk.js +1 -1
  446. package/es/tasty/config.js +196 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +2 -1
  449. package/es/tasty/hooks/useGlobalStyles.js +9 -9
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +3 -3
  452. package/es/tasty/index.js +4 -2
  453. package/es/tasty/injector/index.js +31 -96
  454. package/es/tasty/injector/injector.js +16 -277
  455. package/es/tasty/injector/sheet-manager.js +119 -1
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +1 -1
  458. package/es/tasty/parser/const.js +1 -1
  459. package/es/tasty/parser/lru.js +1 -1
  460. package/es/tasty/parser/parser.js +1 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +1 -1
  463. package/es/tasty/pipeline/conditions.js +1 -1
  464. package/es/tasty/pipeline/exclusive.js +1 -1
  465. package/es/tasty/pipeline/index.js +1 -1
  466. package/es/tasty/pipeline/materialize.js +1 -1
  467. package/es/tasty/pipeline/parseStateKey.js +1 -1
  468. package/es/tasty/pipeline/simplify.js +1 -1
  469. package/es/tasty/states/index.js +4 -23
  470. package/es/tasty/static/index.js +47 -0
  471. package/es/tasty/static/tastyStatic.js +55 -0
  472. package/es/tasty/static/types.js +34 -0
  473. package/es/tasty/styles/align.js +1 -1
  474. package/es/tasty/styles/border.js +1 -1
  475. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  476. package/es/tasty/styles/color.js +1 -1
  477. package/es/tasty/styles/createStyle.js +1 -1
  478. package/es/tasty/styles/dimension.js +1 -1
  479. package/es/tasty/styles/display.js +1 -1
  480. package/es/tasty/styles/fade.js +1 -1
  481. package/es/tasty/styles/fill.js +1 -1
  482. package/es/tasty/styles/flow.js +1 -1
  483. package/es/tasty/styles/font.js +1 -1
  484. package/es/tasty/styles/fontStyle.js +1 -1
  485. package/es/tasty/styles/gap.js +1 -1
  486. package/es/tasty/styles/groupRadius.js +1 -1
  487. package/es/tasty/styles/height.js +1 -1
  488. package/es/tasty/styles/index.js +1 -1
  489. package/es/tasty/styles/inset.js +1 -1
  490. package/es/tasty/styles/justify.js +1 -1
  491. package/es/tasty/styles/list.js +1 -1
  492. package/es/tasty/styles/margin.js +1 -1
  493. package/es/tasty/styles/outline.js +1 -1
  494. package/es/tasty/styles/padding.js +1 -1
  495. package/es/tasty/styles/place.js +1 -1
  496. package/es/tasty/styles/predefined.js +1 -1
  497. package/es/tasty/styles/preset.js +1 -1
  498. package/es/tasty/styles/radius.js +1 -1
  499. package/es/tasty/styles/reset.js +1 -1
  500. package/es/tasty/styles/scrollbar.js +1 -1
  501. package/es/tasty/styles/shadow.js +1 -1
  502. package/es/tasty/styles/styledScrollbar.js +1 -1
  503. package/es/tasty/styles/transition.js +1 -1
  504. package/es/tasty/styles/types.js +1 -1
  505. package/es/tasty/styles/width.js +1 -1
  506. package/es/tasty/tasty.js +1 -14
  507. package/es/tasty/types.js +1 -1
  508. package/es/tasty/utils/cache-wrapper.js +1 -1
  509. package/es/tasty/utils/case-converter.js +1 -1
  510. package/es/tasty/utils/colors.js +1 -1
  511. package/es/tasty/utils/dotize.js +1 -1
  512. package/es/tasty/utils/filterBaseProps.js +1 -1
  513. package/es/tasty/utils/getDisplayName.js +1 -1
  514. package/es/tasty/utils/isDevEnv.js +1 -1
  515. package/es/tasty/utils/mergeStyles.js +1 -1
  516. package/es/tasty/utils/modAttrs.js +1 -1
  517. package/es/tasty/utils/processTokens.js +1 -1
  518. package/es/tasty/utils/string.js +1 -1
  519. package/es/tasty/utils/styles.js +1 -1
  520. package/es/tasty/utils/warnings.js +1 -1
  521. package/es/tasty/zero/babel.js +385 -0
  522. package/es/tasty/zero/css-writer.js +94 -0
  523. package/es/tasty/zero/extractor.js +75 -0
  524. package/es/tasty/zero/index.js +28 -0
  525. package/es/tasty/zero/next.js +102 -0
  526. package/es/tokens.js +1 -1
  527. package/es/utils/ResizeSensor.js +1 -1
  528. package/es/utils/index.js +1 -1
  529. package/es/utils/modules.js +1 -1
  530. package/es/utils/promise.js +1 -1
  531. package/es/utils/raf.js +1 -1
  532. package/es/utils/random.js +1 -1
  533. package/es/utils/range.js +1 -1
  534. package/es/utils/react/RenderCache.js +1 -1
  535. package/es/utils/react/Slots.js +1 -1
  536. package/es/utils/react/chain.js +1 -1
  537. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  538. package/es/utils/react/index.js +1 -1
  539. package/es/utils/react/interactions.js +1 -1
  540. package/es/utils/react/isTextOnly.js +1 -1
  541. package/es/utils/react/mapProps.js +1 -1
  542. package/es/utils/react/mergeProps.js +1 -1
  543. package/es/utils/react/nullableValue.js +1 -1
  544. package/es/utils/react/resolveIcon.js +1 -1
  545. package/es/utils/react/sharedStore.js +1 -1
  546. package/es/utils/react/useCombinedRefs.js +1 -1
  547. package/es/utils/react/useControlledFocusVisible.js +1 -1
  548. package/es/utils/react/useEventBus.js +1 -1
  549. package/es/utils/react/useId.js +1 -1
  550. package/es/utils/react/useIsDarwin.js +1 -1
  551. package/es/utils/react/useKeySymbols.js +1 -1
  552. package/es/utils/react/useLayoutEffect.js +1 -1
  553. package/es/utils/react/useLocalStorage.js +1 -1
  554. package/es/utils/react/useQaProps.js +1 -1
  555. package/es/utils/react/useViewportSize.js +1 -1
  556. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  557. package/es/utils/tree.js +1 -1
  558. package/es/utils/warnings.js +1 -1
  559. package/es/version.js +2 -2
  560. package/package.json +3 -1
  561. package/types/components/GlobalStyles.d.ts +1 -1
  562. package/types/components/HiddenInput.d.ts +10 -10
  563. package/types/components/actions/Button/Button.d.ts +14 -14
  564. package/types/components/actions/CommandMenu/styled.d.ts +50 -50
  565. package/types/components/actions/Menu/styled.d.ts +89 -89
  566. package/types/components/actions/use-action.d.ts +1 -1
  567. package/types/components/content/List/SectionHeading.d.ts +13 -13
  568. package/types/components/content/Text.d.ts +70 -70
  569. package/types/components/fields/DatePicker/DatePickerElement.d.ts +13 -13
  570. package/types/components/fields/Select/Select.d.ts +10 -10
  571. package/types/components/fields/Slider/elements.d.ts +60 -60
  572. package/types/stories/components/StyledButton.d.ts +1 -1
  573. package/types/tasty/chunks/definitions.d.ts +2 -0
  574. package/types/tasty/config.d.ts +113 -0
  575. package/types/tasty/debug.d.ts +35 -0
  576. package/types/tasty/hooks/index.d.ts +1 -1
  577. package/types/tasty/hooks/useGlobalStyles.d.ts +8 -18
  578. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  579. package/types/tasty/index.d.ts +4 -2
  580. package/types/tasty/injector/index.d.ts +29 -18
  581. package/types/tasty/injector/injector.d.ts +12 -12
  582. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  583. package/types/tasty/injector/types.d.ts +13 -0
  584. package/types/tasty/states/index.d.ts +0 -12
  585. package/types/tasty/static/index.d.ts +39 -0
  586. package/types/tasty/static/tastyStatic.d.ts +41 -0
  587. package/types/tasty/static/types.d.ts +44 -0
  588. package/types/tasty/tasty.d.ts +10 -11
  589. package/types/tasty/zero/babel.d.ts +43 -0
  590. package/types/tasty/zero/css-writer.d.ts +41 -0
  591. package/types/tasty/zero/extractor.d.ts +19 -0
  592. package/types/tasty/zero/index.d.ts +18 -0
  593. package/types/tasty/zero/next.d.ts +57 -0
@@ -0,0 +1,385 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Babel plugin for zero-runtime tasty static site generation.
10
+ *
11
+ * Transforms:
12
+ * - `tastyStatic(styles)` → StaticStyle object { className, styles, toString() }
13
+ * - `tastyStatic(base, styles)` → StaticStyle object with merged styles
14
+ * - `tastyStatic(selector, styles)` → removed entirely
15
+ *
16
+ * Usage:
17
+ * ```javascript
18
+ * // babel.config.js
19
+ * module.exports = {
20
+ * plugins: [
21
+ * ['@cube-dev/ui-kit/tasty/zero/babel', { output: 'public/tasty.css' }]
22
+ * ]
23
+ * };
24
+ * ```
25
+ */
26
+ import { declare } from '@babel/helper-plugin-utils';
27
+ import * as t from '@babel/types';
28
+ import { setGlobalPredefinedStates } from '../states';
29
+ import { mergeStyles } from '../utils/mergeStyles';
30
+ import { CSSWriter } from './css-writer';
31
+ import { extractStylesForSelector, extractStylesWithChunks } from './extractor';
32
+ export default declare((api, options) => {
33
+ api.assertVersion(7);
34
+ const outputPath = options.output || 'tasty.css';
35
+ const config = options.config || {};
36
+ const devMode = config.devMode ?? false;
37
+ // Apply global predefined states if configured
38
+ if (config.states) {
39
+ setGlobalPredefinedStates(config.states);
40
+ }
41
+ const cssWriter = new CSSWriter(outputPath, { devMode });
42
+ // Global registry for cross-file references (same build)
43
+ const globalRegistry = {};
44
+ return {
45
+ name: 'tasty-zero',
46
+ pre() {
47
+ // Initialize per-file registry
48
+ this.staticStyleRegistry = {};
49
+ // Extract source filename for devMode comments
50
+ if (devMode && this.filename) {
51
+ // Get relative path or just filename
52
+ this.sourceFile = this.filename.split('/').pop() || this.filename;
53
+ }
54
+ },
55
+ visitor: {
56
+ // Remove import statements for tasty/static
57
+ ImportDeclaration(path) {
58
+ const source = path.node.source.value;
59
+ if (source === '@cube-dev/ui-kit/tasty/static' ||
60
+ source.endsWith('/tasty/static')) {
61
+ path.remove();
62
+ }
63
+ },
64
+ // Transform tastyStatic() calls
65
+ CallExpression(path, state) {
66
+ const callee = path.node.callee;
67
+ // Match tastyStatic(...) calls
68
+ if (!t.isIdentifier(callee, { name: 'tastyStatic' })) {
69
+ return;
70
+ }
71
+ const args = path.node.arguments;
72
+ if (args.length === 0) {
73
+ throw path.buildCodeFrameError('tastyStatic() requires at least one argument');
74
+ }
75
+ const firstArg = args[0];
76
+ if (t.isStringLiteral(firstArg)) {
77
+ // Selector mode: tastyStatic(selector, styles)
78
+ handleSelectorMode(path, args, cssWriter, state.sourceFile);
79
+ }
80
+ else if (t.isObjectExpression(firstArg)) {
81
+ // Styles mode: tastyStatic(styles)
82
+ handleStylesMode(path, args, cssWriter, state, globalRegistry);
83
+ }
84
+ else if (t.isIdentifier(firstArg)) {
85
+ // Extension mode: tastyStatic(base, styles)
86
+ handleExtensionMode(path, args, cssWriter, state, globalRegistry);
87
+ }
88
+ else {
89
+ throw path.buildCodeFrameError('tastyStatic() first argument must be an object (styles), ' +
90
+ 'identifier (base StaticStyle), or string (selector)');
91
+ }
92
+ },
93
+ // Track variable declarations to register StaticStyle objects
94
+ VariableDeclarator(path, state) {
95
+ const init = path.node.init;
96
+ const id = path.node.id;
97
+ // Check if this is a StaticStyle object (has className and styles properties)
98
+ if (t.isIdentifier(id) &&
99
+ t.isObjectExpression(init) &&
100
+ isStaticStyleObject(init)) {
101
+ const variableName = id.name;
102
+ const styles = extractStylesFromStaticStyleObject(init, path);
103
+ const className = extractClassNameFromStaticStyleObject(init);
104
+ if (styles && className) {
105
+ state.staticStyleRegistry[variableName] = { styles, className };
106
+ globalRegistry[variableName] = { styles, className };
107
+ }
108
+ }
109
+ },
110
+ },
111
+ post() {
112
+ // Write all collected CSS at the end of the build
113
+ if (cssWriter.size > 0) {
114
+ cssWriter.write();
115
+ }
116
+ },
117
+ };
118
+ });
119
+ /**
120
+ * Check if an object expression looks like a StaticStyle object
121
+ */
122
+ function isStaticStyleObject(node) {
123
+ const hasClassName = node.properties.some((p) => t.isObjectProperty(p) && t.isIdentifier(p.key, { name: 'className' }));
124
+ const hasStyles = node.properties.some((p) => t.isObjectProperty(p) && t.isIdentifier(p.key, { name: 'styles' }));
125
+ return hasClassName && hasStyles;
126
+ }
127
+ /**
128
+ * Extract styles object from a StaticStyle object expression
129
+ */
130
+ function extractStylesFromStaticStyleObject(node, path) {
131
+ for (const prop of node.properties) {
132
+ if (t.isObjectProperty(prop) &&
133
+ t.isIdentifier(prop.key, { name: 'styles' }) &&
134
+ t.isObjectExpression(prop.value)) {
135
+ return evaluateObjectExpression(prop.value, path);
136
+ }
137
+ }
138
+ return null;
139
+ }
140
+ /**
141
+ * Extract className from a StaticStyle object expression
142
+ */
143
+ function extractClassNameFromStaticStyleObject(node) {
144
+ for (const prop of node.properties) {
145
+ if (t.isObjectProperty(prop) &&
146
+ t.isIdentifier(prop.key, { name: 'className' }) &&
147
+ t.isStringLiteral(prop.value)) {
148
+ return prop.value.value;
149
+ }
150
+ }
151
+ return null;
152
+ }
153
+ /**
154
+ * Handle tastyStatic(styles) - returns StaticStyle object
155
+ */
156
+ function handleStylesMode(path, args, cssWriter, state, globalRegistry) {
157
+ const stylesArg = args[0];
158
+ if (!t.isObjectExpression(stylesArg)) {
159
+ throw path.buildCodeFrameError('tastyStatic(styles) argument must be a static object literal');
160
+ }
161
+ // Evaluate styles object at build time
162
+ const styles = evaluateObjectExpression(stylesArg, path);
163
+ // Extract styles with chunking
164
+ const chunks = extractStylesWithChunks(styles);
165
+ // Add CSS to writer (with source for devMode)
166
+ for (const chunk of chunks) {
167
+ cssWriter.add(chunk.className, chunk.css, state.sourceFile);
168
+ }
169
+ // Generate className
170
+ const className = chunks.length > 0 ? chunks.map((c) => c.className).join(' ') : '';
171
+ // Replace call with StaticStyle object
172
+ const staticStyleObject = createStaticStyleAST(className, styles);
173
+ path.replaceWith(staticStyleObject);
174
+ // Register if this is being assigned to a variable
175
+ registerIfVariableDeclaration(path, className, styles, state, globalRegistry);
176
+ }
177
+ /**
178
+ * Handle tastyStatic(base, styles) - extends base with additional styles
179
+ */
180
+ function handleExtensionMode(path, args, cssWriter, state, globalRegistry) {
181
+ if (args.length < 2) {
182
+ throw path.buildCodeFrameError('tastyStatic(base, styles) requires two arguments');
183
+ }
184
+ const baseArg = args[0];
185
+ const stylesArg = args[1];
186
+ if (!t.isIdentifier(baseArg)) {
187
+ throw path.buildCodeFrameError('tastyStatic(base, styles) first argument must be an identifier');
188
+ }
189
+ if (!t.isObjectExpression(stylesArg)) {
190
+ throw path.buildCodeFrameError('tastyStatic(base, styles) second argument must be a static object literal');
191
+ }
192
+ const baseName = baseArg.name;
193
+ // Look up base styles in registry
194
+ const baseEntry = state.staticStyleRegistry[baseName] || globalRegistry[baseName];
195
+ if (!baseEntry) {
196
+ throw path.buildCodeFrameError(`Cannot find base StaticStyle '${baseName}'. ` +
197
+ 'Make sure it is defined before being extended.');
198
+ }
199
+ // Evaluate override styles
200
+ const overrideStyles = evaluateObjectExpression(stylesArg, path);
201
+ // Merge styles using mergeStyles
202
+ const mergedStyles = mergeStyles(baseEntry.styles, overrideStyles);
203
+ // Extract styles with chunking
204
+ const chunks = extractStylesWithChunks(mergedStyles);
205
+ // Add CSS to writer (with source for devMode)
206
+ for (const chunk of chunks) {
207
+ cssWriter.add(chunk.className, chunk.css, state.sourceFile);
208
+ }
209
+ // Generate className
210
+ const className = chunks.length > 0 ? chunks.map((c) => c.className).join(' ') : '';
211
+ // Replace call with StaticStyle object
212
+ const staticStyleObject = createStaticStyleAST(className, mergedStyles);
213
+ path.replaceWith(staticStyleObject);
214
+ // Register if this is being assigned to a variable
215
+ registerIfVariableDeclaration(path, className, mergedStyles, state, globalRegistry);
216
+ }
217
+ /**
218
+ * Handle tastyStatic(selector, styles) - removes the call entirely
219
+ */
220
+ function handleSelectorMode(path, args, cssWriter, sourceFile) {
221
+ if (args.length < 2) {
222
+ throw path.buildCodeFrameError('tastyStatic(selector, styles) requires two arguments');
223
+ }
224
+ const selectorArg = args[0];
225
+ const stylesArg = args[1];
226
+ if (!t.isStringLiteral(selectorArg)) {
227
+ throw path.buildCodeFrameError('tastyStatic(selector, styles) first argument must be a string literal');
228
+ }
229
+ if (!t.isObjectExpression(stylesArg)) {
230
+ throw path.buildCodeFrameError('tastyStatic(selector, styles) second argument must be a static object literal');
231
+ }
232
+ const selector = selectorArg.value;
233
+ const styles = evaluateObjectExpression(stylesArg, path);
234
+ // Extract styles for selector
235
+ const result = extractStylesForSelector(selector, styles);
236
+ // Add CSS to writer (use selector as key for deduplication, with source for devMode)
237
+ cssWriter.add(selector, result.css, sourceFile);
238
+ // Remove the entire statement
239
+ const parent = path.parentPath;
240
+ if (parent && t.isExpressionStatement(parent.node)) {
241
+ parent.remove();
242
+ }
243
+ else {
244
+ // If used in an expression context (which would be incorrect usage),
245
+ // replace with undefined
246
+ path.replaceWith(t.identifier('undefined'));
247
+ }
248
+ }
249
+ /**
250
+ * Create a StaticStyle object AST node
251
+ */
252
+ function createStaticStyleAST(className, styles) {
253
+ return t.objectExpression([
254
+ t.objectProperty(t.identifier('className'), t.stringLiteral(className)),
255
+ t.objectProperty(t.identifier('styles'), valueToAST(styles)),
256
+ t.objectMethod('method', t.identifier('toString'), [], t.blockStatement([
257
+ t.returnStatement(t.memberExpression(t.thisExpression(), t.identifier('className'))),
258
+ ])),
259
+ ]);
260
+ }
261
+ /**
262
+ * Register a StaticStyle in the registry if it's being assigned to a variable
263
+ */
264
+ function registerIfVariableDeclaration(path, className, styles, state, globalRegistry) {
265
+ const parent = path.parentPath;
266
+ if (parent && t.isVariableDeclarator(parent.node)) {
267
+ const id = parent.node.id;
268
+ if (t.isIdentifier(id)) {
269
+ const variableName = id.name;
270
+ state.staticStyleRegistry[variableName] = { styles, className };
271
+ globalRegistry[variableName] = { styles, className };
272
+ }
273
+ }
274
+ }
275
+ /**
276
+ * Convert a JavaScript value to an AST node
277
+ */
278
+ function valueToAST(value) {
279
+ if (value === null) {
280
+ return t.nullLiteral();
281
+ }
282
+ if (value === undefined) {
283
+ return t.identifier('undefined');
284
+ }
285
+ if (typeof value === 'string') {
286
+ return t.stringLiteral(value);
287
+ }
288
+ if (typeof value === 'number') {
289
+ return t.numericLiteral(value);
290
+ }
291
+ if (typeof value === 'boolean') {
292
+ return t.booleanLiteral(value);
293
+ }
294
+ if (Array.isArray(value)) {
295
+ return t.arrayExpression(value.map(valueToAST));
296
+ }
297
+ if (typeof value === 'object') {
298
+ const properties = Object.entries(value).map(([key, val]) => t.objectProperty(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(key)
299
+ ? t.identifier(key)
300
+ : t.stringLiteral(key), valueToAST(val)));
301
+ return t.objectExpression(properties);
302
+ }
303
+ // Fallback for unsupported types
304
+ return t.identifier('undefined');
305
+ }
306
+ /**
307
+ * Evaluate an ObjectExpression to a plain JavaScript object.
308
+ * Only supports static values that can be determined at build time.
309
+ */
310
+ function evaluateObjectExpression(node, path) {
311
+ const result = {};
312
+ for (const prop of node.properties) {
313
+ if (t.isSpreadElement(prop)) {
314
+ throw path.buildCodeFrameError('Spread elements are not supported in tastyStatic() - styles must be fully static');
315
+ }
316
+ if (!t.isObjectProperty(prop)) {
317
+ throw path.buildCodeFrameError('Only object properties are supported in tastyStatic()');
318
+ }
319
+ // Get key
320
+ let key;
321
+ if (t.isIdentifier(prop.key)) {
322
+ key = prop.key.name;
323
+ }
324
+ else if (t.isStringLiteral(prop.key)) {
325
+ key = prop.key.value;
326
+ }
327
+ else {
328
+ throw path.buildCodeFrameError('Dynamic property keys are not supported in tastyStatic()');
329
+ }
330
+ // Get value
331
+ const value = evaluateExpression(prop.value, path);
332
+ result[key] = value;
333
+ }
334
+ return result;
335
+ }
336
+ /**
337
+ * Evaluate an expression to a JavaScript value.
338
+ */
339
+ function evaluateExpression(node, path) {
340
+ if (t.isStringLiteral(node)) {
341
+ return node.value;
342
+ }
343
+ if (t.isNumericLiteral(node)) {
344
+ return node.value;
345
+ }
346
+ if (t.isBooleanLiteral(node)) {
347
+ return node.value;
348
+ }
349
+ if (t.isNullLiteral(node)) {
350
+ return null;
351
+ }
352
+ if (t.isIdentifier(node, { name: 'undefined' })) {
353
+ return undefined;
354
+ }
355
+ if (t.isArrayExpression(node)) {
356
+ return node.elements.map((el) => {
357
+ if (el === null)
358
+ return null;
359
+ if (t.isSpreadElement(el)) {
360
+ throw path.buildCodeFrameError('Spread elements are not supported in tastyStatic()');
361
+ }
362
+ return evaluateExpression(el, path);
363
+ });
364
+ }
365
+ if (t.isObjectExpression(node)) {
366
+ return evaluateObjectExpression(node, path);
367
+ }
368
+ if (t.isTemplateLiteral(node)) {
369
+ // Only support template literals without expressions
370
+ if (node.expressions.length > 0) {
371
+ throw path.buildCodeFrameError('Template literals with expressions are not supported in tastyStatic()');
372
+ }
373
+ return node.quasis.map((q) => q.value.cooked).join('');
374
+ }
375
+ if (t.isUnaryExpression(node, { operator: '-' })) {
376
+ const arg = evaluateExpression(node.argument, path);
377
+ if (typeof arg === 'number') {
378
+ return -arg;
379
+ }
380
+ }
381
+ throw path.buildCodeFrameError(`Dynamic expressions are not supported in tastyStatic() - got ${node.type}. ` +
382
+ 'All values must be static literals.');
383
+ }
384
+
385
+
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import * as fs from 'fs';
9
+ import * as path from 'path';
10
+ export class CSSWriter {
11
+ cssBlocks = new Map();
12
+ outputPath;
13
+ devMode;
14
+ constructor(outputPath, options = {}) {
15
+ this.outputPath = outputPath;
16
+ this.devMode = options.devMode ?? false;
17
+ }
18
+ /**
19
+ * Add CSS block with deduplication key
20
+ * @param key - Unique key for deduplication
21
+ * @param css - CSS content
22
+ * @param source - Optional source file path (used in devMode)
23
+ */
24
+ add(key, css, source) {
25
+ if (!this.cssBlocks.has(key)) {
26
+ this.cssBlocks.set(key, { css, source });
27
+ }
28
+ }
29
+ /**
30
+ * Check if a key already exists
31
+ */
32
+ has(key) {
33
+ return this.cssBlocks.has(key);
34
+ }
35
+ /**
36
+ * Get the number of CSS blocks
37
+ */
38
+ get size() {
39
+ return this.cssBlocks.size;
40
+ }
41
+ /**
42
+ * Write all collected CSS to the output file
43
+ */
44
+ write() {
45
+ const outputDir = path.dirname(this.outputPath);
46
+ // Ensure directory exists
47
+ if (!fs.existsSync(outputDir)) {
48
+ fs.mkdirSync(outputDir, { recursive: true });
49
+ }
50
+ // Combine all CSS blocks with optional source comments
51
+ const cssBlocks = [];
52
+ for (const block of this.cssBlocks.values()) {
53
+ if (this.devMode && block.source) {
54
+ cssBlocks.push(`/* from: ${block.source} */\n${block.css}`);
55
+ }
56
+ else {
57
+ cssBlocks.push(block.css);
58
+ }
59
+ }
60
+ const css = cssBlocks.join('\n\n');
61
+ // Add header comment
62
+ const header = `/* Generated by @cube-dev/ui-kit/tasty/zero - DO NOT EDIT */\n\n`;
63
+ fs.writeFileSync(this.outputPath, header + css);
64
+ }
65
+ /**
66
+ * Get all CSS as string (for testing or in-memory use)
67
+ */
68
+ getCSS() {
69
+ const cssBlocks = [];
70
+ for (const block of this.cssBlocks.values()) {
71
+ if (this.devMode && block.source) {
72
+ cssBlocks.push(`/* from: ${block.source} */\n${block.css}`);
73
+ }
74
+ else {
75
+ cssBlocks.push(block.css);
76
+ }
77
+ }
78
+ return cssBlocks.join('\n\n');
79
+ }
80
+ /**
81
+ * Clear all collected CSS
82
+ */
83
+ clear() {
84
+ this.cssBlocks.clear();
85
+ }
86
+ /**
87
+ * Get the output path
88
+ */
89
+ getOutputPath() {
90
+ return this.outputPath;
91
+ }
92
+ }
93
+
94
+
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { createHash } from 'crypto';
9
+ import { categorizeStyleKeys, generateChunkCacheKey, renderStylesForChunk, } from '../chunks';
10
+ import { renderStyles } from '../pipeline';
11
+ /**
12
+ * Generate a deterministic className from a cache key using content hash.
13
+ * This ensures the same styles always produce the same className,
14
+ * regardless of build order or incremental compilation.
15
+ */
16
+ function generateClassName(cacheKey) {
17
+ const hash = createHash('md5').update(cacheKey).digest('hex').slice(0, 6);
18
+ return `ts${hash}`; // 'ts' prefix for "tasty-static" to distinguish from runtime 't' classes
19
+ }
20
+ /**
21
+ * Extract styles using chunking (for className mode).
22
+ * Returns multiple classes, one per chunk.
23
+ */
24
+ export function extractStylesWithChunks(styles) {
25
+ const chunks = [];
26
+ // Categorize style keys into chunks
27
+ const chunkMap = categorizeStyleKeys(styles);
28
+ for (const [chunkName, chunkStyleKeys] of chunkMap) {
29
+ if (chunkStyleKeys.length === 0)
30
+ continue;
31
+ // Generate cache key for this chunk (used for className hash)
32
+ const cacheKey = generateChunkCacheKey(styles, chunkName, chunkStyleKeys);
33
+ // Render styles for this chunk
34
+ const renderResult = renderStylesForChunk(styles, chunkName, chunkStyleKeys);
35
+ if (renderResult.rules.length === 0)
36
+ continue;
37
+ // Generate deterministic className from content hash
38
+ const className = generateClassName(cacheKey);
39
+ const selector = `.${className}.${className}`;
40
+ // Format CSS
41
+ const css = formatRulesToCSS(renderResult.rules, selector);
42
+ chunks.push({ className, css });
43
+ }
44
+ return chunks;
45
+ }
46
+ /**
47
+ * Extract styles for a specific selector (for global/selector mode).
48
+ * Returns a single CSS block.
49
+ */
50
+ export function extractStylesForSelector(selector, styles) {
51
+ const rules = renderStyles(styles, selector);
52
+ const css = formatRulesToCSS(rules, selector);
53
+ return { selector, css };
54
+ }
55
+ /**
56
+ * Format StyleResult[] to CSS string
57
+ */
58
+ function formatRulesToCSS(rules, _baseSelector) {
59
+ return rules
60
+ .map((rule) => {
61
+ let css = `${rule.selector} { ${rule.declarations} }`;
62
+ // Wrap in at-rules (in reverse order for proper nesting)
63
+ if (rule.atRules && rule.atRules.length > 0) {
64
+ for (const atRule of [...rule.atRules].reverse()) {
65
+ css = `${atRule} {\n ${css}\n}`;
66
+ }
67
+ }
68
+ return css;
69
+ })
70
+ .join('\n\n');
71
+ }
72
+ // Note: With hash-based className generation, counter management functions
73
+ // are no longer needed. ClassNames are deterministic based on content.
74
+
75
+
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Zero-runtime module for programmatic use.
10
+ *
11
+ * For the Babel plugin, import from '@cube-dev/ui-kit/tasty/zero/babel'
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { extractStylesWithChunks, CSSWriter } from '@cube-dev/ui-kit/tasty/zero';
16
+ *
17
+ * const chunks = extractStylesWithChunks({ fill: '#blue', padding: '2x' });
18
+ * const writer = new CSSWriter('output.css');
19
+ * chunks.forEach(chunk => writer.add(chunk.className, chunk.css));
20
+ * writer.write();
21
+ * ```
22
+ */
23
+ // Core extraction utilities
24
+ export { extractStylesWithChunks, extractStylesForSelector } from './extractor';
25
+ // CSS output utilities
26
+ export { CSSWriter } from './css-writer';
27
+
28
+
@@ -0,0 +1,102 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ /**
9
+ * Next.js configuration wrapper for tasty-zero.
10
+ *
11
+ * Provides a convenient way to configure the Babel plugin for Next.js projects.
12
+ *
13
+ * @example
14
+ * ```javascript
15
+ * // next.config.js
16
+ * const { withTastyZero } = require('@cube-dev/ui-kit/tasty/zero/next');
17
+ *
18
+ * module.exports = withTastyZero({
19
+ * output: 'public/tasty.css',
20
+ * })({
21
+ * // your Next.js config
22
+ * });
23
+ * ```
24
+ */
25
+ import * as path from 'path';
26
+ /**
27
+ * Next.js configuration wrapper for tasty-zero.
28
+ *
29
+ * @param options - Configuration options
30
+ * @returns A function that wraps the Next.js config
31
+ *
32
+ * @example
33
+ * ```javascript
34
+ * // next.config.js
35
+ * const { withTastyZero } = require('@cube-dev/ui-kit/tasty/zero/next');
36
+ *
37
+ * module.exports = withTastyZero()({
38
+ * reactStrictMode: true,
39
+ * });
40
+ * ```
41
+ */
42
+ export function withTastyZero(options = {}) {
43
+ const { output = 'public/tasty.css', enabled = true } = options;
44
+ return (nextConfig = {}) => {
45
+ if (!enabled) {
46
+ return nextConfig;
47
+ }
48
+ return {
49
+ ...nextConfig,
50
+ webpack(config, context) {
51
+ const { isServer, dir } = context;
52
+ // Only process on client build to avoid duplicate CSS generation
53
+ if (!isServer) {
54
+ // Get absolute output path
55
+ const absoluteOutput = path.resolve(dir || process.cwd(), output);
56
+ // Find existing babel-loader rule or add new one
57
+ const babelPluginConfig = [
58
+ require.resolve('./babel'),
59
+ { output: absoluteOutput },
60
+ ];
61
+ // Add our plugin to the existing babel config or create new rule
62
+ const existingRule = config.module?.rules?.find((rule) => rule.use?.loader === 'babel-loader' ||
63
+ rule.use?.some?.((u) => u.loader === 'babel-loader'));
64
+ if (existingRule) {
65
+ // Add to existing babel-loader
66
+ const babelUse = Array.isArray(existingRule.use)
67
+ ? existingRule.use.find((u) => u.loader === 'babel-loader')
68
+ : existingRule.use;
69
+ if (babelUse?.options) {
70
+ babelUse.options.plugins = babelUse.options.plugins || [];
71
+ babelUse.options.plugins.push(babelPluginConfig);
72
+ }
73
+ }
74
+ else {
75
+ // Add new rule for our plugin
76
+ config.module = config.module || {};
77
+ config.module.rules = config.module.rules || [];
78
+ config.module.rules.push({
79
+ test: /\.(tsx?|jsx?)$/,
80
+ exclude: /node_modules/,
81
+ use: [
82
+ {
83
+ loader: require.resolve('babel-loader'),
84
+ options: {
85
+ plugins: [babelPluginConfig],
86
+ },
87
+ },
88
+ ],
89
+ });
90
+ }
91
+ }
92
+ // Chain with existing webpack config
93
+ if (typeof nextConfig.webpack === 'function') {
94
+ return nextConfig.webpack(config, context);
95
+ }
96
+ return config;
97
+ },
98
+ };
99
+ };
100
+ }
101
+
102
+
package/es/tokens.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-9e3bcfc
4
+ * @cube-dev/ui-kit v0.0.0-canary-eaff7d7
5
5
  * Released under the MIT license.
6
6
  */
7
7