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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) hide show
  1. package/es/_internal/hooks/index.js +1 -1
  2. package/es/_internal/hooks/use-chained-callback.js +1 -1
  3. package/es/_internal/hooks/use-debounced-value.js +1 -1
  4. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/es/_internal/hooks/use-effect-once.js +1 -1
  6. package/es/_internal/hooks/use-event.js +1 -1
  7. package/es/_internal/hooks/use-is-first-render.js +1 -1
  8. package/es/_internal/hooks/use-sync-ref.js +1 -1
  9. package/es/_internal/hooks/use-timer/index.js +1 -1
  10. package/es/_internal/hooks/use-timer/timer.js +1 -1
  11. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  12. package/es/_internal/hooks/use-update-effect.js +1 -1
  13. package/es/_internal/hooks/use-warn.js +1 -1
  14. package/es/_internal/index.js +1 -1
  15. package/es/components/Block.js +1 -1
  16. package/es/components/CollectionItem.js +1 -1
  17. package/es/components/GlobalStyles.js +55 -64
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +11 -52
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +2 -2
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +2 -2
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +2 -2
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +2 -1
  74. package/es/components/content/Layout/LayoutBlock.js +2 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +2 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +2 -1
  80. package/es/components/content/Layout/LayoutFooter.js +2 -1
  81. package/es/components/content/Layout/LayoutGrid.js +2 -1
  82. package/es/components/content/Layout/LayoutHeader.js +2 -1
  83. package/es/components/content/Layout/LayoutPane.js +2 -1
  84. package/es/components/content/Layout/LayoutPanel.js +2 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  86. package/es/components/content/Layout/LayoutToolbar.js +2 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +6 -6
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +2 -1
  427. package/es/provider.js +2 -8
  428. package/es/providers/TrackingProvider.js +1 -1
  429. package/es/providers/navigation.types.js +1 -1
  430. package/es/providers/navigationAdapter.default.js +1 -1
  431. package/es/services/notification.js +1 -1
  432. package/es/shared/form.js +1 -1
  433. package/es/shared/index.js +1 -1
  434. package/es/stories/Form.legacy-stories.js +1 -1
  435. package/es/stories/FormFieldArgs.js +1 -1
  436. package/es/stories/SimpleLayout.stories.js +1 -1
  437. package/es/stories/Tasty.stories.js +1 -1
  438. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  439. package/es/stories/components/DialogFormApp.js +1 -1
  440. package/es/stories/components/StyledButton.js +18 -14
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/chunks/cacheKey.js +98 -0
  443. package/es/tasty/chunks/definitions.js +280 -0
  444. package/es/tasty/chunks/index.js +12 -0
  445. package/es/tasty/chunks/renderChunk.js +97 -0
  446. package/es/tasty/config.js +244 -0
  447. package/es/tasty/debug.js +193 -7
  448. package/es/tasty/hooks/index.js +12 -0
  449. package/es/tasty/hooks/useGlobalStyles.js +67 -0
  450. package/es/tasty/hooks/useRawCSS.js +40 -0
  451. package/es/tasty/hooks/useStyles.js +146 -0
  452. package/es/tasty/index.js +18 -4
  453. package/es/tasty/injector/index.js +31 -87
  454. package/es/tasty/injector/injector.js +30 -279
  455. package/es/tasty/injector/sheet-manager.js +126 -2
  456. package/es/tasty/injector/types.js +1 -1
  457. package/es/tasty/parser/classify.js +5 -3
  458. package/es/tasty/parser/const.js +1 -1
  459. package/es/tasty/parser/lru.js +1 -1
  460. package/es/tasty/parser/parser.js +14 -1
  461. package/es/tasty/parser/tokenizer.js +1 -1
  462. package/es/tasty/parser/types.js +2 -1
  463. package/es/tasty/pipeline/conditions.js +469 -0
  464. package/es/tasty/pipeline/exclusive.js +193 -0
  465. package/es/tasty/pipeline/index.js +515 -0
  466. package/es/tasty/pipeline/materialize.js +1001 -0
  467. package/es/tasty/pipeline/parseStateKey.js +565 -0
  468. package/es/tasty/pipeline/simplify.js +786 -0
  469. package/es/tasty/plugins/index.js +26 -0
  470. package/es/tasty/plugins/okhsl-plugin.js +400 -0
  471. package/es/tasty/plugins/types.js +10 -0
  472. package/es/tasty/states/index.js +515 -0
  473. package/es/tasty/static/index.js +47 -0
  474. package/es/tasty/static/tastyStatic.js +55 -0
  475. package/es/tasty/static/types.js +34 -0
  476. package/es/tasty/styles/align.js +1 -1
  477. package/es/tasty/styles/border.js +1 -1
  478. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  479. package/es/tasty/styles/color.js +1 -1
  480. package/es/tasty/styles/createStyle.js +1 -1
  481. package/es/tasty/styles/dimension.js +1 -1
  482. package/es/tasty/styles/display.js +1 -1
  483. package/es/tasty/styles/fade.js +1 -1
  484. package/es/tasty/styles/fill.js +10 -20
  485. package/es/tasty/styles/flow.js +1 -1
  486. package/es/tasty/styles/font.js +1 -1
  487. package/es/tasty/styles/fontStyle.js +1 -1
  488. package/es/tasty/styles/gap.js +1 -1
  489. package/es/tasty/styles/groupRadius.js +1 -1
  490. package/es/tasty/styles/height.js +1 -1
  491. package/es/tasty/styles/index.js +1 -1
  492. package/es/tasty/styles/inset.js +1 -1
  493. package/es/tasty/styles/justify.js +1 -1
  494. package/es/tasty/styles/list.js +1 -1
  495. package/es/tasty/styles/margin.js +75 -55
  496. package/es/tasty/styles/outline.js +1 -1
  497. package/es/tasty/styles/padding.js +75 -55
  498. package/es/tasty/styles/place.js +1 -1
  499. package/es/tasty/styles/predefined.js +3 -2
  500. package/es/tasty/styles/preset.js +1 -1
  501. package/es/tasty/styles/radius.js +1 -1
  502. package/es/tasty/styles/reset.js +2 -6
  503. package/es/tasty/styles/scrollbar.js +1 -1
  504. package/es/tasty/styles/shadow.js +1 -1
  505. package/es/tasty/styles/styledScrollbar.js +1 -1
  506. package/es/tasty/styles/transition.js +1 -1
  507. package/es/tasty/styles/types.js +1 -1
  508. package/es/tasty/styles/width.js +1 -1
  509. package/es/tasty/tasty.js +76 -117
  510. package/es/tasty/types.js +1 -1
  511. package/es/tasty/utils/cache-wrapper.js +1 -1
  512. package/es/tasty/utils/case-converter.js +1 -1
  513. package/es/tasty/utils/colors.js +1 -1
  514. package/es/tasty/utils/dotize.js +1 -1
  515. package/es/tasty/utils/filterBaseProps.js +1 -1
  516. package/es/tasty/utils/getDisplayName.js +1 -1
  517. package/es/tasty/utils/isDevEnv.js +1 -1
  518. package/es/tasty/utils/mergeStyles.js +2 -2
  519. package/es/tasty/utils/modAttrs.js +1 -1
  520. package/es/tasty/utils/processTokens.js +87 -1
  521. package/es/tasty/utils/string.js +1 -1
  522. package/es/tasty/utils/styles.js +252 -19
  523. package/es/tasty/utils/typography.js +67 -0
  524. package/es/tasty/utils/warnings.js +1 -1
  525. package/es/tasty/zero/babel.js +401 -0
  526. package/es/tasty/zero/css-writer.js +94 -0
  527. package/es/tasty/zero/extractor.js +75 -0
  528. package/es/tasty/zero/index.js +28 -0
  529. package/es/tasty/zero/next.js +102 -0
  530. package/es/tokens/base.js +64 -0
  531. package/es/tokens/colors.js +68 -0
  532. package/es/tokens/index.js +63 -0
  533. package/es/tokens/layout.js +26 -0
  534. package/es/tokens/shadows.js +27 -0
  535. package/es/tokens/sizes.js +42 -0
  536. package/es/tokens/spacing.js +22 -0
  537. package/es/tokens/typography.js +237 -0
  538. package/es/utils/ResizeSensor.js +1 -1
  539. package/es/utils/index.js +1 -1
  540. package/es/utils/modules.js +1 -1
  541. package/es/utils/promise.js +1 -1
  542. package/es/utils/raf.js +1 -1
  543. package/es/utils/random.js +1 -1
  544. package/es/utils/range.js +1 -1
  545. package/es/utils/react/RenderCache.js +1 -1
  546. package/es/utils/react/Slots.js +1 -1
  547. package/es/utils/react/chain.js +1 -1
  548. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  549. package/es/utils/react/index.js +1 -1
  550. package/es/utils/react/interactions.js +1 -1
  551. package/es/utils/react/isTextOnly.js +1 -1
  552. package/es/utils/react/mapProps.js +1 -1
  553. package/es/utils/react/mergeProps.js +1 -1
  554. package/es/utils/react/nullableValue.js +1 -1
  555. package/es/utils/react/resolveIcon.js +1 -1
  556. package/es/utils/react/sharedStore.js +1 -1
  557. package/es/utils/react/useCombinedRefs.js +1 -1
  558. package/es/utils/react/useControlledFocusVisible.js +1 -1
  559. package/es/utils/react/useEventBus.js +1 -1
  560. package/es/utils/react/useId.js +1 -1
  561. package/es/utils/react/useIsDarwin.js +1 -1
  562. package/es/utils/react/useKeySymbols.js +1 -1
  563. package/es/utils/react/useLayoutEffect.js +1 -1
  564. package/es/utils/react/useLocalStorage.js +1 -1
  565. package/es/utils/react/useQaProps.js +1 -1
  566. package/es/utils/react/useViewportSize.js +1 -1
  567. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  568. package/es/utils/tree.js +1 -1
  569. package/es/utils/warnings.js +1 -1
  570. package/es/version.js +2 -2
  571. package/package.json +3 -1
  572. package/types/components/GlobalStyles.d.ts +2 -1
  573. package/types/components/HiddenInput.d.ts +827 -826
  574. package/types/components/Root.d.ts +1 -0
  575. package/types/components/actions/Button/Button.d.ts +1647 -1645
  576. package/types/components/actions/CommandMenu/styled.d.ts +4135 -4130
  577. package/types/components/actions/Menu/styled.d.ts +4384 -4379
  578. package/types/components/actions/use-action.d.ts +1 -1
  579. package/types/components/content/List/SectionHeading.d.ts +83 -83
  580. package/types/components/content/Text.d.ts +311 -311
  581. package/types/components/fields/DatePicker/DatePickerElement.d.ts +83 -83
  582. package/types/components/fields/Select/Select.d.ts +827 -826
  583. package/types/components/fields/Slider/elements.d.ts +4962 -4956
  584. package/types/index.d.ts +1 -0
  585. package/types/provider.d.ts +1 -2
  586. package/types/stories/components/StyledButton.d.ts +1 -1
  587. package/types/tasty/chunks/cacheKey.d.ts +26 -0
  588. package/types/tasty/chunks/definitions.d.ts +75 -0
  589. package/types/tasty/chunks/index.d.ts +4 -0
  590. package/types/tasty/chunks/renderChunk.d.ts +25 -0
  591. package/types/tasty/config.d.ts +145 -0
  592. package/types/tasty/debug.d.ts +35 -0
  593. package/types/tasty/hooks/index.d.ts +4 -0
  594. package/types/tasty/hooks/useGlobalStyles.d.ts +22 -0
  595. package/types/tasty/hooks/useRawCSS.d.ts +50 -0
  596. package/types/tasty/hooks/useStyles.d.ts +38 -0
  597. package/types/tasty/index.d.ts +14 -4
  598. package/types/tasty/injector/index.d.ts +30 -19
  599. package/types/tasty/injector/injector.d.ts +13 -13
  600. package/types/tasty/injector/sheet-manager.d.ts +25 -1
  601. package/types/tasty/injector/types.d.ts +20 -1
  602. package/types/tasty/parser/parser.d.ts +4 -0
  603. package/types/tasty/parser/types.d.ts +1 -0
  604. package/types/tasty/pipeline/conditions.d.ts +248 -0
  605. package/types/tasty/pipeline/exclusive.d.ts +78 -0
  606. package/types/tasty/pipeline/index.d.ts +67 -0
  607. package/types/tasty/pipeline/materialize.d.ts +115 -0
  608. package/types/tasty/pipeline/parseStateKey.d.ts +20 -0
  609. package/types/tasty/pipeline/simplify.d.ts +28 -0
  610. package/types/tasty/plugins/index.d.ts +17 -0
  611. package/types/tasty/plugins/okhsl-plugin.d.ts +45 -0
  612. package/types/tasty/plugins/types.d.ts +34 -0
  613. package/types/tasty/states/index.d.ts +101 -0
  614. package/types/tasty/static/index.d.ts +39 -0
  615. package/types/tasty/static/tastyStatic.d.ts +41 -0
  616. package/types/tasty/static/types.d.ts +44 -0
  617. package/types/tasty/styles/fill.d.ts +11 -1
  618. package/types/tasty/styles/margin.d.ts +3 -1
  619. package/types/tasty/styles/padding.d.ts +3 -1
  620. package/types/tasty/styles/types.d.ts +13 -3
  621. package/types/tasty/tasty.d.ts +891 -840
  622. package/types/tasty/utils/styles.d.ts +50 -6
  623. package/types/tasty/utils/typography.d.ts +32 -0
  624. package/types/tasty/zero/babel.d.ts +56 -0
  625. package/types/tasty/zero/css-writer.d.ts +41 -0
  626. package/types/tasty/zero/extractor.d.ts +19 -0
  627. package/types/tasty/zero/index.d.ts +18 -0
  628. package/types/tasty/zero/next.d.ts +57 -0
  629. package/types/tokens/base.d.ts +8 -0
  630. package/types/tokens/colors.d.ts +6 -0
  631. package/types/tokens/index.d.ts +41 -0
  632. package/types/tokens/layout.d.ts +7 -0
  633. package/types/tokens/shadows.d.ts +12 -0
  634. package/types/tokens/sizes.d.ts +25 -0
  635. package/types/tokens/spacing.d.ts +8 -0
  636. package/types/tokens/typography.d.ts +30 -0
  637. package/es/tasty/providers/BreakpointsProvider.js +0 -16
  638. package/es/tasty/utils/getModCombinations.js +0 -38
  639. package/es/tasty/utils/renderStyles.js +0 -1050
  640. package/es/tasty/utils/responsive.js +0 -60
  641. package/es/tokens.js +0 -309
  642. package/types/tasty/providers/BreakpointsProvider.d.ts +0 -8
  643. package/types/tasty/utils/getModCombinations.d.ts +0 -9
  644. package/types/tasty/utils/renderStyles.d.ts +0 -41
  645. package/types/tasty/utils/responsive.d.ts +0 -8
  646. package/types/tokens.d.ts +0 -221
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/tasty/tasty.js CHANGED
@@ -1,22 +1,18 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { createElement, forwardRef, useContext, useInsertionEffect, useMemo, useRef, } from 'react';
8
+ import { createElement, forwardRef, useMemo, } from 'react';
9
9
  import { isValidElementType } from 'react-is';
10
- import { allocateClassName, inject, injectGlobal } from './injector';
11
- import { BreakpointsContext } from './providers/BreakpointsProvider';
10
+ import { useStyles } from './hooks/useStyles';
12
11
  import { BASE_STYLES } from './styles/list';
13
- import { cacheWrapper } from './utils/cache-wrapper';
14
12
  import { getDisplayName } from './utils/getDisplayName';
15
13
  import { mergeStyles } from './utils/mergeStyles';
16
14
  import { modAttrs } from './utils/modAttrs';
17
15
  import { processTokens, stringifyTokens } from './utils/processTokens';
18
- import { renderStyles } from './utils/renderStyles';
19
- import { stringifyStyles } from './utils/styles';
20
16
  /**
21
17
  * Mapping of is* properties to their corresponding HTML attributes
22
18
  */
@@ -47,51 +43,68 @@ function handleIsProperties(props) {
47
43
  }
48
44
  }
49
45
  /**
50
- * Simple hash function for internal cache keys
46
+ * Creates a sub-element component for compound component patterns.
47
+ * Sub-elements are lightweight components with data-element attribute for CSS targeting.
51
48
  */
52
- // Generate unique cache key for style deduplication
53
- function generateStyleCacheKey(styleKey, contextKey) {
54
- // Use null character as separator for better performance and no collision risk
55
- return contextKey ? `${styleKey}\0${contextKey}` : styleKey;
49
+ function createSubElement(elementName, definition) {
50
+ // Normalize definition to object form
51
+ const config = typeof definition === 'string'
52
+ ? { as: definition }
53
+ : definition;
54
+ const tag = config.as ?? 'div';
55
+ const defaultQa = config.qa;
56
+ const defaultQaVal = config.qaVal;
57
+ const SubElement = forwardRef((props, ref) => {
58
+ const { qa, qaVal, mods, tokens, isDisabled, isHidden, isChecked, className, style, ...htmlProps } = props;
59
+ // Build mod attributes
60
+ let modProps;
61
+ if (mods) {
62
+ modProps = modAttrs(mods);
63
+ }
64
+ // Process tokens into inline style properties
65
+ const tokenStyle = tokens
66
+ ? processTokens(tokens)
67
+ : undefined;
68
+ // Merge token styles with explicit style prop (style has priority)
69
+ let mergedStyle;
70
+ if (tokenStyle || style) {
71
+ mergedStyle =
72
+ tokenStyle && style
73
+ ? { ...tokenStyle, ...style }
74
+ : (tokenStyle ?? style);
75
+ }
76
+ const elementProps = {
77
+ 'data-element': elementName,
78
+ 'data-qa': qa ?? defaultQa,
79
+ 'data-qaval': qaVal ?? defaultQaVal,
80
+ ...(modProps || {}),
81
+ ...htmlProps,
82
+ className,
83
+ style: mergedStyle,
84
+ isDisabled,
85
+ isHidden,
86
+ isChecked,
87
+ ref,
88
+ };
89
+ // Handle is* properties (isDisabled -> disabled + data-disabled, etc.)
90
+ handleIsProperties(elementProps);
91
+ // Clean up undefined data attributes
92
+ if (elementProps['data-qa'] === undefined)
93
+ delete elementProps['data-qa'];
94
+ if (elementProps['data-qaval'] === undefined)
95
+ delete elementProps['data-qaval'];
96
+ return createElement(tag, elementProps);
97
+ });
98
+ SubElement.displayName = `SubElement(${elementName})`;
99
+ return SubElement;
56
100
  }
57
101
  // Implementation
58
102
  export function tasty(Component, options) {
59
- if (typeof Component === 'string') {
60
- return tastyGlobal(Component, options);
61
- }
62
103
  if (isValidElementType(Component)) {
63
104
  return tastyWrap(Component, options);
64
105
  }
65
106
  return tastyElement(Component);
66
107
  }
67
- // Internal specialized implementations
68
- function tastyGlobal(selector, styles) {
69
- const _StyleDeclarationComponent = ({ breakpoints, }) => {
70
- let contextBreakpoints = useContext(BreakpointsContext);
71
- const breakpointsList = (breakpoints ?? contextBreakpoints) || [980];
72
- const disposeRef = useRef(null);
73
- const styleResults = useMemo(() => {
74
- if (!styles)
75
- return [];
76
- return renderStyles(styles, breakpointsList, selector);
77
- }, [selector, styles, breakpointsList]);
78
- // Inject styles at insertion phase; cleanup on change/unmount
79
- useInsertionEffect(() => {
80
- disposeRef.current?.();
81
- if (styleResults.length === 0)
82
- return;
83
- const { dispose } = injectGlobal(styleResults);
84
- disposeRef.current = dispose;
85
- return () => {
86
- disposeRef.current?.();
87
- disposeRef.current = null;
88
- };
89
- }, [styleResults]);
90
- return null;
91
- };
92
- _StyleDeclarationComponent.displayName = `TastyStyleDeclaration(${selector})`;
93
- return _StyleDeclarationComponent;
94
- }
95
108
  function tastyWrap(Component, options) {
96
109
  let { as: extendTag, element: extendElement, ...defaultProps } = (options ?? {});
97
110
  let propsWithStyles = ['styles'].concat(Object.keys(defaultProps).filter((prop) => prop.endsWith('Styles')));
@@ -125,7 +138,7 @@ function tastyWrap(Component, options) {
125
138
  return _WrappedComponent;
126
139
  }
127
140
  function tastyElement(tastyOptions) {
128
- let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, variants, tokens: defaultTokens, ...defaultProps } = tastyOptions;
141
+ let { as: originalAs = 'div', element: defaultElement, styles: defaultStyles, styleProps, variants, tokens: defaultTokens, elements, ...defaultProps } = tastyOptions;
129
142
  let _TastyComponent;
130
143
  if (variants) {
131
144
  const variantEntries = Object.entries(variants);
@@ -162,18 +175,10 @@ function tastyElement(tastyOptions) {
162
175
  });
163
176
  }
164
177
  else {
165
- /**
166
- * An additional optimization that allows to avoid rendering styles across various instances
167
- * of the same element if no custom styles are provided via `styles` prop or direct style props.
168
- */
169
- const renderDefaultStyles = cacheWrapper((breakpoints) => {
170
- // Return rules without className - injector will add it
171
- return renderStyles(defaultStyles || {}, breakpoints);
172
- });
173
178
  let { qa: defaultQa, qaVal: defaultQaVal, ...otherDefaultProps } = defaultProps ?? {};
174
179
  // eslint-disable-next-line react/display-name
175
180
  _TastyComponent = forwardRef((allProps, ref) => {
176
- let { as, styles, variant: _omitVariant, breakpoints, mods, element, qa, qaVal, className: userClassName, tokens, style, ...otherProps } = allProps;
181
+ let { as, styles, variant: _omitVariant, mods, element, qa, qaVal, className: userClassName, tokens, style, ...otherProps } = allProps;
177
182
  // Optimize propStyles extraction - avoid creating empty objects
178
183
  let propStyles = null;
179
184
  const propsToCheck = styleProps
@@ -192,66 +197,17 @@ function tastyElement(tastyOptions) {
192
197
  (styles && Object.keys(styles).length === 0)) {
193
198
  styles = undefined;
194
199
  }
195
- let contextBreakpoints = useContext(BreakpointsContext);
196
- breakpoints = breakpoints ?? contextBreakpoints;
197
- // Memoize breakpoints key once
198
- const breakpointsKey = useMemo(() => breakpoints?.join(',') || '', [breakpoints?.join(',')]);
199
- const propStylesKey = stringifyStyles(propStyles);
200
- // Optimize style computation and cache key generation
201
- const { allStyles, cacheKey, useDefaultStyles } = useMemo(() => {
200
+ // Merge default styles with instance styles and prop styles
201
+ const allStyles = useMemo(() => {
202
202
  const hasStyles = styles && Object.keys(styles).length > 0;
203
203
  const hasPropStyles = propStyles && Object.keys(propStyles).length > 0;
204
- const useDefault = !hasStyles && !hasPropStyles;
205
- const merged = useDefault
206
- ? defaultStyles
207
- : mergeStyles(defaultStyles, styles, propStyles);
208
- // Generate cache key for style deduplication
209
- const styleKey = stringifyStyles(merged || {});
210
- const key = generateStyleCacheKey(styleKey, breakpointsKey ? `bp:${breakpointsKey}` : undefined);
211
- return {
212
- allStyles: merged,
213
- cacheKey: key,
214
- useDefaultStyles: useDefault,
215
- };
216
- }, [styles, propStylesKey, breakpointsKey]);
217
- // Compute rules synchronously; inject via insertion effect
218
- const directResult = useMemo(() => {
219
- if (useDefaultStyles) {
220
- return renderDefaultStyles(breakpoints);
221
- }
222
- else if (allStyles && Object.keys(allStyles).length > 0) {
223
- // Return rules without className - injector will add it
224
- return renderStyles(allStyles, breakpoints);
225
- }
226
- else {
227
- return { rules: [], className: '' };
228
- }
229
- }, [useDefaultStyles, allStyles, breakpointsKey, cacheKey]);
230
- const disposeRef = useRef(null);
231
- // Allocate className in render phase (safe for React Strict Mode)
232
- const allocatedClassName = useMemo(() => {
233
- if (!directResult.rules.length || !cacheKey)
234
- return '';
235
- const { className } = allocateClassName(cacheKey);
236
- return className;
237
- }, [directResult.rules.length, cacheKey]);
238
- // Inject styles in insertion effect (avoids render phase side effects)
239
- useInsertionEffect(() => {
240
- // Cleanup previous disposal reference
241
- disposeRef.current?.();
242
- if (directResult.rules.length > 0) {
243
- const injectionResult = inject(directResult.rules, { cacheKey });
244
- disposeRef.current = injectionResult.dispose;
204
+ if (!hasStyles && !hasPropStyles) {
205
+ return defaultStyles;
245
206
  }
246
- else {
247
- disposeRef.current = null;
248
- }
249
- return () => {
250
- disposeRef.current?.();
251
- disposeRef.current = null;
252
- };
253
- }, [directResult.rules, cacheKey]);
254
- const injectedClassName = allocatedClassName;
207
+ return mergeStyles(defaultStyles, styles, propStyles);
208
+ }, [styles, propStyles]);
209
+ // Use the useStyles hook for style generation and injection
210
+ const { className: stylesClassName } = useStyles({ styles: allStyles });
255
211
  // Merge default tokens with instance tokens (instance overrides defaults)
256
212
  const tokensKey = stringifyTokens(tokens);
257
213
  const mergedTokens = useMemo(() => {
@@ -282,11 +238,8 @@ function tastyElement(tastyOptions) {
282
238
  const modsObject = mods;
283
239
  modProps = modAttrs(modsObject);
284
240
  }
285
- // Merge user className with injected className
286
- const finalClassName = [
287
- userClassName || '',
288
- injectedClassName,
289
- ]
241
+ // Merge user className with generated className
242
+ const finalClassName = [userClassName || '', stylesClassName]
290
243
  .filter(Boolean)
291
244
  .join(' ');
292
245
  const elementProps = {
@@ -302,13 +255,19 @@ function tastyElement(tastyOptions) {
302
255
  };
303
256
  // Apply the helper to handle is* properties
304
257
  handleIsProperties(elementProps);
305
- // NEW: Use plain createElement instead of styled Element
306
258
  const renderedElement = createElement(as ?? originalAs, elementProps);
307
- // Note: Empty className is normal for elements with no styles
308
259
  return renderedElement;
309
260
  });
310
261
  }
311
262
  _TastyComponent.displayName = `TastyComponent(${defaultProps.qa || originalAs})`;
263
+ // Attach sub-element components if elements are defined
264
+ if (elements) {
265
+ const subElements = Object.entries(elements).reduce((acc, [name, definition]) => {
266
+ acc[name] = createSubElement(name, definition);
267
+ return acc;
268
+ }, {});
269
+ return Object.assign(_TastyComponent, subElements);
270
+ }
312
271
  return _TastyComponent;
313
272
  }
314
273
  export const Element = tasty({});
package/es/tasty/types.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- import { isSelector } from './renderStyles';
8
+ import { isSelector } from '../pipeline';
9
9
  export function mergeStyles(...objects) {
10
10
  let styles = objects[0] ? { ...objects[0] } : {};
11
11
  let pos = 1;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,12 +1,86 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { getRgbValuesFromRgbaString, hexToRgb, parseStyle } from './styles';
9
9
  const devMode = process.env.NODE_ENV !== 'production';
10
+ /**
11
+ * Parse HSL values from an hsl()/hsla() string.
12
+ * Supports both comma-separated (legacy) and space-separated (modern) syntax:
13
+ * hsl(200, 40%, 50%)
14
+ * hsl(200 40% 50%)
15
+ * hsl(200 40% 50% / 0.5)
16
+ *
17
+ * Returns [h, s, l] where h is 0-360, s and l are 0-1, or null if parsing fails.
18
+ */
19
+ function parseHslValues(str) {
20
+ const match = str.match(/hsla?\(([^)]+)\)/i);
21
+ if (!match)
22
+ return null;
23
+ const inner = match[1].trim();
24
+ // Split by slash first (for alpha), then handle color components
25
+ const [colorPart] = inner.split('/');
26
+ // Split by comma or whitespace
27
+ const parts = colorPart
28
+ .trim()
29
+ .split(/[,\s]+/)
30
+ .filter(Boolean);
31
+ if (parts.length < 3)
32
+ return null;
33
+ // Parse hue (can be unitless degrees, deg, turn, rad, or grad)
34
+ let h = parseFloat(parts[0]);
35
+ const hueStr = parts[0].toLowerCase();
36
+ if (hueStr.endsWith('turn')) {
37
+ h = parseFloat(hueStr) * 360;
38
+ }
39
+ else if (hueStr.endsWith('rad')) {
40
+ h = (parseFloat(hueStr) * 180) / Math.PI;
41
+ }
42
+ else if (hueStr.endsWith('grad')) {
43
+ h = parseFloat(hueStr) * 0.9; // 400 grad = 360 deg
44
+ }
45
+ // deg or unitless are already in degrees
46
+ // Normalize hue to 0-360 range
47
+ h = h % 360;
48
+ if (h < 0)
49
+ h += 360;
50
+ // Parse saturation and lightness (percentages)
51
+ const parsePercent = (val) => {
52
+ const num = parseFloat(val);
53
+ return val.includes('%') ? num / 100 : num;
54
+ };
55
+ const s = Math.max(0, Math.min(1, parsePercent(parts[1])));
56
+ const l = Math.max(0, Math.min(1, parsePercent(parts[2])));
57
+ return [h, s, l];
58
+ }
59
+ /**
60
+ * Convert HSL to RGB (sRGB).
61
+ * Algorithm from: https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative
62
+ * Same as used in CSS Color 4 spec.
63
+ *
64
+ * @param h - Hue in degrees (0-360)
65
+ * @param s - Saturation (0-1)
66
+ * @param l - Lightness (0-1)
67
+ * @returns RGB values in 0-255 range (may have fractional values)
68
+ */
69
+ function hslToRgb(h, s, l) {
70
+ const a = s * Math.min(l, 1 - l);
71
+ const f = (n) => {
72
+ const k = (n + h / 30) % 12;
73
+ return l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));
74
+ };
75
+ // Convert 0-1 range to 0-255
76
+ return [f(0) * 255, f(8) * 255, f(4) * 255];
77
+ }
78
+ /**
79
+ * Format a number to a string with up to 1 decimal place, removing trailing zeros.
80
+ */
81
+ function formatRgbComponent(n) {
82
+ return parseFloat(n.toFixed(1)).toString();
83
+ }
10
84
  /**
11
85
  * Extract RGB triplet from a color value.
12
86
  * Returns the RGB values as a space-separated string (e.g., "255 128 0")
@@ -25,6 +99,18 @@ function extractRgbValue(colorValue, parsedOutput) {
25
99
  return rgbValues.join(' ');
26
100
  }
27
101
  }
102
+ // For hsl(...) values, convert to RGB triplet
103
+ if (parsedOutput.startsWith('hsl(') ||
104
+ parsedOutput.startsWith('hsla(') ||
105
+ colorValue.startsWith('hsl(') ||
106
+ colorValue.startsWith('hsla(')) {
107
+ // Try parsedOutput first, then original colorValue
108
+ const hslValues = parseHslValues(parsedOutput) || parseHslValues(colorValue);
109
+ if (hslValues) {
110
+ const [r, g, b] = hslToRgb(hslValues[0], hslValues[1], hslValues[2]);
111
+ return `${formatRgbComponent(r)} ${formatRgbComponent(g)} ${formatRgbComponent(b)}`;
112
+ }
113
+ }
28
114
  // For hex values, convert to RGB triplet
29
115
  if (colorValue.startsWith('#') && /^#[0-9a-fA-F]{3,8}$/.test(colorValue)) {
30
116
  const rgbResult = hexToRgb(colorValue);
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.0.0-canary-4777472
4
+ * @cube-dev/ui-kit v0.0.0-canary-b26ec55
5
5
  * Released under the MIT license.
6
6
  */
7
7