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

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