@cube-dev/ui-kit 0.0.0-canary-9159359 → 0.0.0-canary-a6dee8e

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 (557) 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 +1 -1
  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 +3 -3
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -1
  29. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  30. package/es/components/actions/ItemAction/index.js +1 -1
  31. package/es/components/actions/ItemActionContext.js +1 -1
  32. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  33. package/es/components/actions/ItemButton/index.js +1 -1
  34. package/es/components/actions/Link/Link.js +1 -1
  35. package/es/components/actions/Menu/Menu.js +1 -1
  36. package/es/components/actions/Menu/MenuItem.js +1 -1
  37. package/es/components/actions/Menu/MenuSection.js +1 -1
  38. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  39. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  41. package/es/components/actions/Menu/context.js +1 -1
  42. package/es/components/actions/Menu/index.js +1 -1
  43. package/es/components/actions/Menu/styled.js +1 -1
  44. package/es/components/actions/index.js +1 -1
  45. package/es/components/actions/use-action.js +1 -1
  46. package/es/components/actions/use-anchored-menu.js +1 -1
  47. package/es/components/actions/use-context-menu.js +1 -1
  48. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  49. package/es/components/content/Alert/Alert.js +1 -1
  50. package/es/components/content/Alert/index.js +1 -1
  51. package/es/components/content/Alert/types.js +1 -1
  52. package/es/components/content/Alert/use-alert.js +1 -1
  53. package/es/components/content/Avatar/Avatar.js +1 -1
  54. package/es/components/content/Badge/Badge.js +1 -1
  55. package/es/components/content/Card/Card.js +1 -1
  56. package/es/components/content/Content.js +1 -1
  57. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  58. package/es/components/content/CopyPasteBlock/index.js +1 -1
  59. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  60. package/es/components/content/CopySnippet/index.js +1 -1
  61. package/es/components/content/Disclosure/Disclosure.js +1 -1
  62. package/es/components/content/Disclosure/index.js +1 -1
  63. package/es/components/content/Divider.js +1 -1
  64. package/es/components/content/Footer.js +1 -1
  65. package/es/components/content/Header.js +1 -1
  66. package/es/components/content/HotKeys/HotKeys.js +1 -1
  67. package/es/components/content/HotKeys/index.js +1 -1
  68. package/es/components/content/Item/Item.js +1 -1
  69. package/es/components/content/Item/index.js +1 -1
  70. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  71. package/es/components/content/ItemBadge/index.js +1 -1
  72. package/es/components/content/Layout/GridLayout.js +1 -1
  73. package/es/components/content/Layout/Layout.js +1 -1
  74. package/es/components/content/Layout/LayoutBlock.js +1 -1
  75. package/es/components/content/Layout/LayoutCenter.js +1 -1
  76. package/es/components/content/Layout/LayoutContainer.js +1 -1
  77. package/es/components/content/Layout/LayoutContent.js +1 -1
  78. package/es/components/content/Layout/LayoutContext.js +1 -1
  79. package/es/components/content/Layout/LayoutFlex.js +1 -1
  80. package/es/components/content/Layout/LayoutFooter.js +1 -1
  81. package/es/components/content/Layout/LayoutGrid.js +1 -1
  82. package/es/components/content/Layout/LayoutHeader.js +1 -1
  83. package/es/components/content/Layout/LayoutPane.js +1 -1
  84. package/es/components/content/Layout/LayoutPanel.js +1 -1
  85. package/es/components/content/Layout/LayoutPanelHeader.js +3 -5
  86. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  87. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  88. package/es/components/content/Layout/index.js +1 -1
  89. package/es/components/content/Layout/utils.js +1 -1
  90. package/es/components/content/List/SectionHeading.js +1 -1
  91. package/es/components/content/List/index.js +1 -1
  92. package/es/components/content/Paragraph.js +1 -1
  93. package/es/components/content/Placeholder/Placeholder.js +1 -1
  94. package/es/components/content/PrismCode/PrismCode.js +1 -1
  95. package/es/components/content/PrismCode/prismSetup.js +1 -1
  96. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  97. package/es/components/content/Result/Result.js +1 -1
  98. package/es/components/content/Skeleton/Skeleton.js +1 -1
  99. package/es/components/content/Tag/Tag.js +1 -1
  100. package/es/components/content/Text.js +1 -1
  101. package/es/components/content/TextItem/TextItem.js +1 -1
  102. package/es/components/content/TextItem/index.js +1 -1
  103. package/es/components/content/Title.js +1 -1
  104. package/es/components/content/highlightText.js +1 -1
  105. package/es/components/content/use-auto-tooltip.js +1 -1
  106. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  107. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  108. package/es/components/fields/Checkbox/context.js +1 -1
  109. package/es/components/fields/Checkbox/index.js +1 -1
  110. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  111. package/es/components/fields/ComboBox/index.js +1 -1
  112. package/es/components/fields/DatePicker/DateInput.js +1 -1
  113. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  114. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  115. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  119. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  121. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  122. package/es/components/fields/DatePicker/index.js +1 -1
  123. package/es/components/fields/DatePicker/intl.js +1 -1
  124. package/es/components/fields/DatePicker/parseDate.js +1 -1
  125. package/es/components/fields/DatePicker/props.js +1 -1
  126. package/es/components/fields/DatePicker/types.js +1 -1
  127. package/es/components/fields/DatePicker/utils.js +1 -1
  128. package/es/components/fields/FileInput/FileInput.js +1 -1
  129. package/es/components/fields/FilterListBox/FilterListBox.js +1 -1
  130. package/es/components/fields/FilterListBox/index.js +1 -1
  131. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  132. package/es/components/fields/FilterPicker/index.js +1 -1
  133. package/es/components/fields/Input/Input.js +1 -1
  134. package/es/components/fields/Input/index.js +1 -1
  135. package/es/components/fields/ListBox/ListBox.js +1 -1
  136. package/es/components/fields/ListBox/index.js +1 -1
  137. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  138. package/es/components/fields/NumberInput/StepButton.js +1 -1
  139. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  140. package/es/components/fields/Picker/Picker.js +1 -1
  141. package/es/components/fields/Picker/index.js +1 -1
  142. package/es/components/fields/RadioGroup/Radio.js +1 -1
  143. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  144. package/es/components/fields/RadioGroup/context.js +1 -1
  145. package/es/components/fields/RadioGroup/index.js +1 -1
  146. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  147. package/es/components/fields/SearchInput/index.js +1 -1
  148. package/es/components/fields/Select/Select.js +1 -1
  149. package/es/components/fields/Select/index.js +1 -1
  150. package/es/components/fields/Slider/Gradation.js +1 -1
  151. package/es/components/fields/Slider/Header.js +1 -1
  152. package/es/components/fields/Slider/RangeSlider.js +1 -1
  153. package/es/components/fields/Slider/Slider.js +1 -1
  154. package/es/components/fields/Slider/SliderBase.js +1 -1
  155. package/es/components/fields/Slider/SliderInput.js +1 -1
  156. package/es/components/fields/Slider/SliderThumb.js +1 -1
  157. package/es/components/fields/Slider/SliderTrack.js +1 -1
  158. package/es/components/fields/Slider/elements.js +1 -1
  159. package/es/components/fields/Slider/index.js +1 -1
  160. package/es/components/fields/Slider/types.js +1 -1
  161. package/es/components/fields/Switch/Switch.js +1 -1
  162. package/es/components/fields/Switch/index.js +1 -1
  163. package/es/components/fields/TextArea/TextArea.js +1 -1
  164. package/es/components/fields/TextArea/index.js +1 -1
  165. package/es/components/fields/TextInput/TextInput.js +1 -1
  166. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  167. package/es/components/fields/TextInput/index.js +1 -1
  168. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  169. package/es/components/fields/TextInputMapper/index.js +1 -1
  170. package/es/components/fields/index.js +1 -1
  171. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  172. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  173. package/es/components/form/FieldWrapper/index.js +1 -1
  174. package/es/components/form/FieldWrapper/types.js +1 -1
  175. package/es/components/form/Form/Field.js +1 -1
  176. package/es/components/form/Form/Form.js +1 -1
  177. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  178. package/es/components/form/Form/ResetButton/index.js +1 -1
  179. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  180. package/es/components/form/Form/SubmitButton/index.js +1 -1
  181. package/es/components/form/Form/SubmitError.js +1 -1
  182. package/es/components/form/Form/index.js +1 -1
  183. package/es/components/form/Form/types.js +1 -1
  184. package/es/components/form/Form/use-field/index.js +1 -1
  185. package/es/components/form/Form/use-field/types.js +1 -1
  186. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  187. package/es/components/form/Form/use-field/use-field.js +1 -1
  188. package/es/components/form/Form/use-form.js +1 -1
  189. package/es/components/form/Form/validation.js +1 -1
  190. package/es/components/form/Label.js +1 -1
  191. package/es/components/form/index.js +1 -1
  192. package/es/components/form/wrapper.js +1 -1
  193. package/es/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  194. package/es/components/helpers/DisplayTransition/index.js +1 -1
  195. package/es/components/helpers/IconSwitch/IconSwitch.js +1 -1
  196. package/es/components/helpers/index.js +1 -1
  197. package/es/components/layout/Flex.js +1 -1
  198. package/es/components/layout/Flow.js +1 -1
  199. package/es/components/layout/Grid.js +1 -1
  200. package/es/components/layout/Panel.js +1 -1
  201. package/es/components/layout/Prefix.js +1 -1
  202. package/es/components/layout/ResizablePanel.js +1 -1
  203. package/es/components/layout/Space.js +1 -1
  204. package/es/components/layout/Suffix.js +1 -1
  205. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  206. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  207. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  208. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  209. package/es/components/other/Calendar/Calendar.js +1 -1
  210. package/es/components/other/Calendar/CalendarCell.js +1 -1
  211. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  212. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  213. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  217. package/es/components/overlays/AlertDialog/index.js +1 -1
  218. package/es/components/overlays/AlertDialog/types.js +1 -1
  219. package/es/components/overlays/Dialog/Dialog.js +1 -1
  220. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  221. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  222. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  223. package/es/components/overlays/Dialog/context.js +1 -1
  224. package/es/components/overlays/Dialog/index.js +1 -1
  225. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  226. package/es/components/overlays/Modal/Modal.js +1 -1
  227. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  228. package/es/components/overlays/Modal/Overlay.js +1 -1
  229. package/es/components/overlays/Modal/Popover.js +1 -1
  230. package/es/components/overlays/Modal/Tray.js +1 -1
  231. package/es/components/overlays/Modal/Underlay.js +1 -1
  232. package/es/components/overlays/Modal/index.js +1 -1
  233. package/es/components/overlays/Modal/types.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  241. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  266. package/es/components/overlays/NewNotifications/index.js +1 -1
  267. package/es/components/overlays/NewNotifications/types.js +1 -1
  268. package/es/components/overlays/Notification/Notification.js +1 -1
  269. package/es/components/overlays/OverlayWrapper.js +1 -1
  270. package/es/components/overlays/Toasts/Toast.js +1 -1
  271. package/es/components/overlays/Toasts/index.js +1 -1
  272. package/es/components/overlays/Toasts/types.js +1 -1
  273. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  274. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  277. package/es/components/overlays/Tooltip/context.js +1 -1
  278. package/es/components/overlays/Tooltip/index.js +1 -1
  279. package/es/components/portal/Portal.js +1 -1
  280. package/es/components/portal/PortalProvider.js +1 -1
  281. package/es/components/portal/index.js +1 -1
  282. package/es/components/portal/types.js +1 -1
  283. package/es/components/portal/usePortal.js +1 -1
  284. package/es/components/shared/InvalidIcon.js +1 -1
  285. package/es/components/shared/ValidIcon.js +1 -1
  286. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  287. package/es/components/status/LoadingAnimation/index.js +1 -1
  288. package/es/components/status/Spin/Cube.js +1 -1
  289. package/es/components/status/Spin/InternalSpinner.js +1 -1
  290. package/es/components/status/Spin/Spin.js +1 -1
  291. package/es/components/status/Spin/SpinsContainer.js +1 -1
  292. package/es/components/status/Spin/index.js +1 -1
  293. package/es/components/status/Spin/types.js +1 -1
  294. package/es/components/status/index.js +1 -1
  295. package/es/data/item-themes.js +1 -1
  296. package/es/data/themes.js +1 -1
  297. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  298. package/es/icons/AdjustmentsIcon.js +1 -1
  299. package/es/icons/AiIcon.js +1 -1
  300. package/es/icons/AreaChartIcon.js +1 -1
  301. package/es/icons/BackwardIcon.js +1 -1
  302. package/es/icons/BarChartIcon.js +1 -1
  303. package/es/icons/BellFilledIcon.js +1 -1
  304. package/es/icons/BellIcon.js +1 -1
  305. package/es/icons/BooleanIcon.js +1 -1
  306. package/es/icons/CalendarEditIcon.js +1 -1
  307. package/es/icons/CalendarIcon.js +1 -1
  308. package/es/icons/CaretDownIcon.js +1 -1
  309. package/es/icons/CaretUpIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedIcon.js +1 -1
  314. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  315. package/es/icons/ChartBarLineIcon.js +1 -1
  316. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  317. package/es/icons/ChartBarStackedIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  320. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  321. package/es/icons/ChartBoxPlotIcon.js +1 -1
  322. package/es/icons/ChartBubbleIcon.js +1 -1
  323. package/es/icons/ChartDonut2Icon.js +1 -1
  324. package/es/icons/ChartFunnelIcon.js +1 -1
  325. package/es/icons/ChartHeatmapIcon.js +1 -1
  326. package/es/icons/ChartKPIIcon.js +1 -1
  327. package/es/icons/ChartPie2Icon.js +1 -1
  328. package/es/icons/ChartScatterIcon.js +1 -1
  329. package/es/icons/CheckCircleFilledIcon.js +1 -1
  330. package/es/icons/CheckCircleIcon.js +1 -1
  331. package/es/icons/CheckIcon.js +1 -1
  332. package/es/icons/CircleFilledIcon.js +1 -1
  333. package/es/icons/ClearIcon.js +1 -1
  334. package/es/icons/CloseCircleFilledIcon.js +1 -1
  335. package/es/icons/CloseCircleIcon.js +1 -1
  336. package/es/icons/CloseIcon.js +1 -1
  337. package/es/icons/CodeIcon.js +1 -1
  338. package/es/icons/ColumnTotalIcon.js +1 -1
  339. package/es/icons/CopyIcon.js +1 -1
  340. package/es/icons/CountIcon.js +1 -1
  341. package/es/icons/CubeIcon.js +1 -1
  342. package/es/icons/CubePauseIcon.js +1 -1
  343. package/es/icons/CubePlayIcon.js +1 -1
  344. package/es/icons/CurrencyDollarIcon.js +1 -1
  345. package/es/icons/DangerIcon.js +1 -1
  346. package/es/icons/DashboardIcon.js +1 -1
  347. package/es/icons/DatabaseIcon.js +1 -1
  348. package/es/icons/DecimalDecreaseIcon.js +1 -1
  349. package/es/icons/DecimalIncreaseIcon.js +1 -1
  350. package/es/icons/DirectionIcon.js +1 -1
  351. package/es/icons/DonutIcon.js +1 -1
  352. package/es/icons/DownIcon.js +1 -1
  353. package/es/icons/EditIcon.js +1 -1
  354. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  355. package/es/icons/ExclamationCircleIcon.js +1 -1
  356. package/es/icons/ExclamationIcon.js +1 -1
  357. package/es/icons/EyeIcon.js +1 -1
  358. package/es/icons/EyeInvisibleIcon.js +1 -1
  359. package/es/icons/FilterIcon.js +1 -1
  360. package/es/icons/FolderFilledIcon.js +1 -1
  361. package/es/icons/FolderIcon.js +1 -1
  362. package/es/icons/FolderOpenFilledIcon.js +1 -1
  363. package/es/icons/FolderOpenIcon.js +1 -1
  364. package/es/icons/ForwardIcon.js +1 -1
  365. package/es/icons/HierarchyIcon.js +1 -1
  366. package/es/icons/HierarchyOpenIcon.js +1 -1
  367. package/es/icons/Icon.js +1 -1
  368. package/es/icons/InfoCircleIcon.js +1 -1
  369. package/es/icons/InfoIcon.js +1 -1
  370. package/es/icons/KeyIcon.js +1 -1
  371. package/es/icons/LeftIcon.js +1 -1
  372. package/es/icons/LineChartIcon.js +1 -1
  373. package/es/icons/LoadingIcon.js +1 -1
  374. package/es/icons/LockFilledIcon.js +1 -1
  375. package/es/icons/LockIcon.js +1 -1
  376. package/es/icons/MoreIcon.js +1 -1
  377. package/es/icons/NotAllowedIcon.js +1 -1
  378. package/es/icons/Number123Icon.js +1 -1
  379. package/es/icons/NumberIcon.js +1 -1
  380. package/es/icons/PauseCircleFilledIcon.js +1 -1
  381. package/es/icons/PauseCircleIcon.js +1 -1
  382. package/es/icons/PauseIcon.js +1 -1
  383. package/es/icons/PercentageIcon.js +1 -1
  384. package/es/icons/PieChartIcon.js +1 -1
  385. package/es/icons/PlayCircleIcon.js +1 -1
  386. package/es/icons/PlayIcon.js +1 -1
  387. package/es/icons/PlusIcon.js +1 -1
  388. package/es/icons/ProgressBarIcon.js +1 -1
  389. package/es/icons/ReloadIcon.js +1 -1
  390. package/es/icons/ReportIcon.js +1 -1
  391. package/es/icons/ReturnIcon.js +1 -1
  392. package/es/icons/RightIcon.js +1 -1
  393. package/es/icons/RowTotalsIcon.js +1 -1
  394. package/es/icons/SchemeIcon.js +1 -1
  395. package/es/icons/SearchIcon.js +1 -1
  396. package/es/icons/SettingsIcon.js +1 -1
  397. package/es/icons/ShieldFilledIcon.js +1 -1
  398. package/es/icons/ShieldIcon.js +1 -1
  399. package/es/icons/SlashIcon.js +1 -1
  400. package/es/icons/SparklesIcon.js +1 -1
  401. package/es/icons/SqlIcon.js +1 -1
  402. package/es/icons/StatsIcon.js +1 -1
  403. package/es/icons/StopIcon.js +1 -1
  404. package/es/icons/StringIcon.js +1 -1
  405. package/es/icons/SubtotalsIcon.js +1 -1
  406. package/es/icons/SwitchIcon.js +1 -1
  407. package/es/icons/TableIcon.js +1 -1
  408. package/es/icons/ThumbsDownIcon.js +1 -1
  409. package/es/icons/ThumbsUpIcon.js +1 -1
  410. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  411. package/es/icons/ThunderboltFilledIcon.js +1 -1
  412. package/es/icons/ThunderboltIcon.js +1 -1
  413. package/es/icons/TimeIcon.js +1 -1
  414. package/es/icons/TrashIcon.js +1 -1
  415. package/es/icons/UnlockIcon.js +1 -1
  416. package/es/icons/UpIcon.js +1 -1
  417. package/es/icons/UserGroupIcon.js +1 -1
  418. package/es/icons/UserIcon.js +1 -1
  419. package/es/icons/UserLockIcon.js +1 -1
  420. package/es/icons/ViewIcon.js +1 -1
  421. package/es/icons/WarningFilledIcon.js +1 -1
  422. package/es/icons/WarningIcon.js +1 -1
  423. package/es/icons/add-new-icon.js +1 -1
  424. package/es/icons/index.js +1 -1
  425. package/es/icons/wrap-icon.js +1 -1
  426. package/es/index.js +1 -1
  427. package/es/provider.js +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 +1 -1
  441. package/es/stories/lists/baseProps.js +1 -1
  442. package/es/tasty/debug.js +1 -1
  443. package/es/tasty/index.js +3 -1
  444. package/es/tasty/injector/index.js +1 -1
  445. package/es/tasty/injector/injector.js +1 -1
  446. package/es/tasty/injector/sheet-manager.js +1 -1
  447. package/es/tasty/injector/types.js +1 -1
  448. package/es/tasty/parser/classify.js +1 -1
  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 -1
  452. package/es/tasty/parser/tokenizer.js +1 -1
  453. package/es/tasty/parser/types.js +1 -1
  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 +1 -1
  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 +1 -1
  475. package/es/tasty/styles/outline.js +1 -1
  476. package/es/tasty/styles/padding.js +1 -1
  477. package/es/tasty/styles/place.js +1 -1
  478. package/es/tasty/styles/predefined.js +1 -1
  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 +21 -14
  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 +1 -1
  497. package/es/tasty/utils/isDevEnv.js +1 -1
  498. package/es/tasty/utils/mergeStyles.js +1 -1
  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 +343 -63
  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 +1 -1
  505. package/es/tasty/utils/warnings.js +1 -1
  506. package/es/tokens.js +1 -1
  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 -1
  541. package/types/components/HiddenInput.d.ts +826 -826
  542. package/types/components/actions/Button/Button.d.ts +1644 -1644
  543. package/types/components/actions/CommandMenu/styled.d.ts +4130 -4130
  544. package/types/components/actions/Menu/styled.d.ts +4298 -4298
  545. package/types/components/content/List/SectionHeading.d.ts +56 -56
  546. package/types/components/content/Text.d.ts +122 -122
  547. package/types/components/fields/DatePicker/DatePickerElement.d.ts +56 -56
  548. package/types/components/fields/Select/Select.d.ts +826 -826
  549. package/types/components/fields/Slider/elements.d.ts +4956 -4956
  550. package/types/provider.d.ts +2 -1
  551. package/types/tasty/index.d.ts +3 -1
  552. package/types/tasty/providers/BreakpointsProvider.d.ts +8 -0
  553. package/types/tasty/styles/types.d.ts +3 -3
  554. package/types/tasty/tasty.d.ts +831 -828
  555. package/types/tasty/utils/renderStyles.d.ts +3 -3
  556. package/types/tasty/utils/responsive.d.ts +8 -0
  557. package/types/tasty/utils/styles.d.ts +4 -8
@@ -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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
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-9159359
4
+ * @cube-dev/ui-kit v0.0.0-canary-a6dee8e
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -20,7 +20,14 @@
20
20
  import { Lru } from '../parser/lru';
21
21
  import { createStyle, STYLE_HANDLER_MAP } from '../styles';
22
22
  import { getModCombinationsIterative } from './getModCombinations';
23
+ import { normalizeStyleZones, pointsToZones, } from './responsive';
23
24
  import { computeState, getModSelector, stringifyStyles, styleStateMapToStyleStateDataList, } from './styles';
25
+ // Detect if a value is a state map whose entries contain responsive arrays
26
+ function stateMapHasResponsiveArrays(value) {
27
+ if (!value || typeof value !== 'object' || Array.isArray(value))
28
+ return false;
29
+ return Object.values(value).some((v) => Array.isArray(v));
30
+ }
24
31
  // Cache logical rules per styles+breakpoints to avoid recomputation across identical calls
25
32
  const logicalRulesCache = new Lru(5000);
26
33
  // Normalize selector suffixes coming from `$` in style handler results.
@@ -380,10 +387,11 @@ function filterModsByPriority(allMods, styleStates, lookupStyles, parsedModsCach
380
387
  }
381
388
  /**
382
389
  * Explode a style handler result into logical rules with proper mapping
383
- * Phase 1: Handler fan-out ($ selectors)
384
- * Phase 2: Rule materialization
390
+ * Phase 1: Handler fan-out ($ selectors, arrays)
391
+ * Phase 2: Responsive fan-out (breakpoint arrays)
392
+ * Phase 3: Rule materialization
385
393
  */
386
- function explodeHandlerResult(result, selectorSuffix = '') {
394
+ function explodeHandlerResult(result, zones, selectorSuffix = '', forceBreakpointIdx, responsiveOrigin = false) {
387
395
  if (!result)
388
396
  return [];
389
397
  // Phase 1: Handler fan-out - normalize to array
@@ -393,34 +401,90 @@ function explodeHandlerResult(result, selectorSuffix = '') {
393
401
  if (!item || typeof item !== 'object')
394
402
  continue;
395
403
  const { $, ...styleProps } = item;
396
- // Build declarations from style props
397
- const declarations = {};
398
- for (const [prop, value] of Object.entries(styleProps)) {
399
- if (value != null && value !== '') {
400
- declarations[prop] = String(value);
404
+ // Phase 2: Responsive fan-out - handle array values
405
+ const breakpointGroups = new Map();
406
+ if (forceBreakpointIdx !== undefined) {
407
+ // When breakpoint is forced (from responsive processing), use all props for that breakpoint
408
+ const group = {};
409
+ for (const [prop, value] of Object.entries(styleProps)) {
410
+ if (value != null && value !== '') {
411
+ group[prop] = String(value);
412
+ }
413
+ }
414
+ if (Object.keys(group).length > 0) {
415
+ breakpointGroups.set(forceBreakpointIdx, group);
401
416
  }
402
417
  }
403
- if (Object.keys(declarations).length === 0)
404
- continue;
405
- // Phase 2: Selector fan-out - handle $ suffixes
418
+ else {
419
+ // Normal processing - handle responsive arrays
420
+ const responsiveProps = [];
421
+ for (const [prop, value] of Object.entries(styleProps)) {
422
+ if (Array.isArray(value)) {
423
+ // Responsive array - create entry for each breakpoint
424
+ value.forEach((val, idx) => {
425
+ if (val != null && val !== '' && idx < zones.length) {
426
+ responsiveProps.push({ prop, value: val, breakpointIdx: idx });
427
+ }
428
+ });
429
+ }
430
+ else if (value != null && value !== '') {
431
+ // Single value - goes to base breakpoint
432
+ responsiveProps.push({ prop, value, breakpointIdx: 0 });
433
+ }
434
+ }
435
+ // Group by breakpoint index
436
+ for (const { prop, value, breakpointIdx } of responsiveProps) {
437
+ const group = breakpointGroups.get(breakpointIdx) || {};
438
+ group[prop] = String(value);
439
+ breakpointGroups.set(breakpointIdx, group);
440
+ }
441
+ }
442
+ // Phase 3: Selector fan-out - handle $ suffixes
406
443
  // IMPORTANT: If we are already in a pseudo-element context (contains '::'),
407
444
  // CSS does not allow further descendant/child selectors (e.g., '>*') after
408
- // a pseudo-element. In such cases we must ignore the `$`-derived selectors.
445
+ // a pseudo-element. In such cases we must ignore only the `$`-derived
446
+ // selectors while still preserving base declarations for the current
447
+ // selector. Previously this branch returned early and accidentally dropped
448
+ // all declarations computed before, including valid base ones.
409
449
  const inPseudoElementContext = selectorSuffix.includes('::');
410
450
  if (inPseudoElementContext && $) {
411
451
  // Skip this item entirely to avoid producing invalid selectors like
412
- // `.t0::before>*`.
452
+ // `.t0::before>*`. Other items (without $) in the same handler result
453
+ // will still be processed and preserved.
413
454
  continue;
414
455
  }
415
456
  const suffixes = $
416
457
  ? (Array.isArray($) ? $ : [$]).map((s) => selectorSuffix + normalizeDollarSelectorSuffix(String(s)))
417
458
  : [selectorSuffix];
418
- // Create logical rules for each suffix
419
- for (const suffix of suffixes) {
420
- logicalRules.push({
421
- selectorSuffix: suffix,
422
- declarations: { ...declarations },
423
- });
459
+ // Early identical-breakpoint coalescing: skip duplicate declarations
460
+ const seenDeclarations = new Map();
461
+ // Process breakpoints in order to prefer lower breakpoint indices
462
+ const sortedBreakpoints = Array.from(breakpointGroups.entries()).sort(([a], [b]) => a - b);
463
+ for (const [breakpointIdx, declarations] of sortedBreakpoints) {
464
+ if (Object.keys(declarations).length === 0)
465
+ continue;
466
+ // Create a stable hash key for identical declarations
467
+ const declarationKeys = Object.keys(declarations).sort();
468
+ const declarationHash = declarationKeys
469
+ .map((key) => `${key}:${declarations[key]}`)
470
+ .join(';');
471
+ const existingBreakpointIdx = seenDeclarations.get(declarationHash);
472
+ if (existingBreakpointIdx !== undefined) {
473
+ // Skip this breakpoint as it has identical declarations to a previous one
474
+ // The CSS cascade will handle the responsive behavior correctly
475
+ continue;
476
+ }
477
+ // Mark this declaration set as seen
478
+ seenDeclarations.set(declarationHash, breakpointIdx);
479
+ // Create logical rules for this unique declaration set
480
+ for (const suffix of suffixes) {
481
+ logicalRules.push({
482
+ selectorSuffix: suffix,
483
+ breakpointIdx,
484
+ declarations,
485
+ responsiveSource: responsiveOrigin || forceBreakpointIdx !== undefined,
486
+ });
487
+ }
424
488
  }
425
489
  }
426
490
  return logicalRules;
@@ -484,7 +548,7 @@ function convertHandlerResultToCSS(result, selectorSuffix = '') {
484
548
  * This consolidates the common logic for handling mod combinations, priority filtering,
485
549
  * contradiction checking, and selector optimization.
486
550
  */
487
- function processStateMapsWithModCombinations(styleStates, lookupStyles, handler, parentSuffix, allLogicalRules) {
551
+ function processStateMapsWithModCombinations(styleStates, lookupStyles, zones, handler, parentSuffix, allLogicalRules, cachedNormalizeStyleZones, breakpointIdx, responsiveOrigin = false) {
488
552
  // Collect all mods from style states
489
553
  const allMods = [];
490
554
  const seenMods = new Set();
@@ -515,7 +579,7 @@ function processStateMapsWithModCombinations(styleStates, lookupStyles, handler,
515
579
  const result = handler(stateProps);
516
580
  if (!result)
517
581
  return;
518
- const logicalRules = explodeHandlerResult(result, parentSuffix);
582
+ const logicalRules = explodeHandlerResult(result, zones, parentSuffix, breakpointIdx, responsiveOrigin);
519
583
  allLogicalRules.push(...logicalRules);
520
584
  return;
521
585
  }
@@ -561,18 +625,46 @@ function processStateMapsWithModCombinations(styleStates, lookupStyles, handler,
561
625
  return sel.startsWith(':not(') ? sel.slice(5, -1) : `:not(${sel})`;
562
626
  })
563
627
  .join('')}`;
564
- // Simple non-responsive state values
565
- const result = handler(stateProps);
566
- if (!result)
567
- return;
568
- const logical = explodeHandlerResult(result, `${modsSelectors}${parentSuffix}`);
569
- allLogicalRules.push(...logical);
628
+ // Check if any state value is responsive (array)
629
+ const hasResponsiveStateValues = lookupStyles.some((style) => Array.isArray(stateProps[style]));
630
+ if (hasResponsiveStateValues) {
631
+ // Fan out by breakpoint for responsive state values
632
+ const propsByPoint = zones.map((_, i) => {
633
+ const pointProps = {};
634
+ lookupStyles.forEach((style) => {
635
+ const v = stateProps[style];
636
+ if (Array.isArray(v)) {
637
+ const arr = cachedNormalizeStyleZones(v, zones.length);
638
+ pointProps[style] = arr?.[i];
639
+ }
640
+ else {
641
+ pointProps[style] = v;
642
+ }
643
+ });
644
+ return pointProps;
645
+ });
646
+ propsByPoint.forEach((props, bpIdx) => {
647
+ const res = handler(props);
648
+ if (!res)
649
+ return;
650
+ const logical = explodeHandlerResult(res, zones, `${modsSelectors}${parentSuffix}`, bpIdx, true);
651
+ allLogicalRules.push(...logical);
652
+ });
653
+ }
654
+ else {
655
+ // Simple non-responsive state values
656
+ const result = handler(stateProps);
657
+ if (!result)
658
+ return;
659
+ const logical = explodeHandlerResult(result, zones, `${modsSelectors}${parentSuffix}`, breakpointIdx, responsiveOrigin);
660
+ allLogicalRules.push(...logical);
661
+ }
570
662
  });
571
663
  }
572
664
  /**
573
665
  * Convert logical rules to final StyleResult format
574
666
  */
575
- function materializeRules(logicalRules, className) {
667
+ function materializeRules(logicalRules, className, zones) {
576
668
  return logicalRules.map((rule) => {
577
669
  // Generate base selector
578
670
  let selector = `.${className}${rule.selectorSuffix}`;
@@ -583,9 +675,16 @@ function materializeRules(logicalRules, className) {
583
675
  const declarations = Object.entries(rule.declarations)
584
676
  .map(([prop, value]) => `${prop}: ${value};`)
585
677
  .join(' ');
678
+ const q = rule.breakpointIdx > 0
679
+ ? zones[rule.breakpointIdx]?.mediaQuery
680
+ : rule.responsiveSource
681
+ ? zones[0]?.mediaQuery
682
+ : undefined;
683
+ const atRules = q ? [`@media ${q}`] : undefined;
586
684
  return {
587
685
  selector,
588
686
  declarations,
687
+ atRules,
589
688
  };
590
689
  });
591
690
  }
@@ -593,8 +692,102 @@ function materializeRules(logicalRules, className) {
593
692
  * Core style processing logic that generates logical rules
594
693
  * Used by the unified renderStyles function
595
694
  */
596
- function generateLogicalRules(styles, parentSuffix = '') {
695
+ function generateLogicalRules(styles, responsive = [], parentSuffix = '') {
696
+ const zones = pointsToZones(responsive || []);
597
697
  const allLogicalRules = [];
698
+ // Cache for normalizeStyleZones results to avoid repeated computation
699
+ // WeakMap allows automatic cleanup when arrays are garbage collected
700
+ const normalizeCache = new WeakMap();
701
+ // Helper function to get cached normalizeStyleZones result
702
+ function cachedNormalizeStyleZones(value, zoneNumber) {
703
+ // Only cache for arrays - other types are fast to process
704
+ if (!Array.isArray(value)) {
705
+ return normalizeStyleZones(value, zoneNumber);
706
+ }
707
+ // Check if we have a cache for this array reference
708
+ let zoneCache = normalizeCache.get(value);
709
+ if (!zoneCache) {
710
+ zoneCache = new Map();
711
+ normalizeCache.set(value, zoneCache);
712
+ }
713
+ // Check if we have a cached result for this zone count
714
+ let result = zoneCache.get(zoneNumber);
715
+ if (result === undefined) {
716
+ result = normalizeStyleZones(value, zoneNumber);
717
+ zoneCache.set(zoneNumber, result);
718
+ }
719
+ return result;
720
+ }
721
+ // Local versions of helpers that leverage cachedNormalizeStyleZones
722
+ function stateMapToArrayOfStateMapsLocal(value, zoneNumber) {
723
+ // Short-circuit for single zone - avoid array allocation
724
+ if (zoneNumber === 1) {
725
+ const singleMap = {};
726
+ for (const [state, stateValue] of Object.entries(value)) {
727
+ if (Array.isArray(stateValue)) {
728
+ // Take the first value from the array or null if empty
729
+ singleMap[state] = stateValue.length > 0 ? stateValue[0] : null;
730
+ }
731
+ else {
732
+ singleMap[state] = stateValue;
733
+ }
734
+ }
735
+ return [singleMap];
736
+ }
737
+ const result = Array.from({ length: zoneNumber }, () => ({}));
738
+ for (const [state, stateValue] of Object.entries(value)) {
739
+ const perZone = Array.isArray(stateValue)
740
+ ? cachedNormalizeStyleZones(stateValue, zoneNumber)
741
+ : Array(zoneNumber).fill(stateValue);
742
+ for (let i = 0; i < zoneNumber; i++) {
743
+ const v = perZone[i];
744
+ result[i][state] = v;
745
+ }
746
+ }
747
+ return result;
748
+ }
749
+ function normalizeArrayWithStateMapsLocal(valueArray, zoneNumber) {
750
+ // Short-circuit for single zone - avoid array propagation and mapping
751
+ if (zoneNumber === 1) {
752
+ const firstEntry = valueArray.length > 0 ? valueArray[0] : null;
753
+ if (firstEntry &&
754
+ typeof firstEntry === 'object' &&
755
+ !Array.isArray(firstEntry)) {
756
+ return [firstEntry];
757
+ }
758
+ return [{ '': firstEntry }];
759
+ }
760
+ const propagated = cachedNormalizeStyleZones(valueArray, zoneNumber);
761
+ // Trim trailing null/undefined entries to reduce processing
762
+ let lastNonNullIndex = propagated.length - 1;
763
+ while (lastNonNullIndex >= 0 && propagated[lastNonNullIndex] == null) {
764
+ lastNonNullIndex--;
765
+ }
766
+ // If all entries are null, return minimal array
767
+ if (lastNonNullIndex < 0) {
768
+ return Array.from({ length: zoneNumber }, () => ({ '': null }));
769
+ }
770
+ // Process only up to the last non-null entry, then fill the rest with the last value
771
+ const result = [];
772
+ let lastProcessedEntry = null;
773
+ for (let i = 0; i <= lastNonNullIndex; i++) {
774
+ const entry = propagated[i];
775
+ let processedEntry;
776
+ if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
777
+ processedEntry = entry;
778
+ }
779
+ else {
780
+ processedEntry = { '': entry };
781
+ }
782
+ result.push(processedEntry);
783
+ lastProcessedEntry = processedEntry;
784
+ }
785
+ // Fill remaining slots with the last processed entry (CSS cascade behavior)
786
+ for (let i = lastNonNullIndex + 1; i < zoneNumber; i++) {
787
+ result.push(lastProcessedEntry || { '': null });
788
+ }
789
+ return result;
790
+ }
598
791
  // Process styles recursively, preserving mod selectors and combining with nested selector suffixes
599
792
  function processStyles(currentStyles, parentSuffix = '') {
600
793
  const keys = Object.keys(currentStyles || {});
@@ -623,51 +816,119 @@ function generateLogicalRules(styles, parentSuffix = '') {
623
816
  return;
624
817
  }
625
818
  seenHandlers.add(handler);
819
+ let isResponsive = false;
626
820
  const lookupStyles = handler.__lookupStyles;
627
821
  const filteredStyleMap = lookupStyles.reduce((map, name) => {
628
822
  const value = currentStyles?.[name];
629
823
  if (value !== undefined) {
630
- map[name] = value;
824
+ // Case 1: state-map-of-arrays array-of-state-maps
825
+ if (value &&
826
+ typeof value === 'object' &&
827
+ !Array.isArray(value) &&
828
+ stateMapHasResponsiveArrays(value)) {
829
+ map[name] = stateMapToArrayOfStateMapsLocal(value, zones.length);
830
+ isResponsive = true;
831
+ }
832
+ else if (Array.isArray(value)) {
833
+ // Case 2: array that may contain state maps → normalize to array-of-state-maps
834
+ if (value.length > 0) {
835
+ map[name] = normalizeArrayWithStateMapsLocal(value, zones.length);
836
+ isResponsive = true;
837
+ }
838
+ }
839
+ else {
840
+ map[name] = value;
841
+ }
631
842
  }
632
843
  return map;
633
844
  }, {});
634
845
  handlerQueue.push({
635
846
  handler,
636
847
  styleMap: filteredStyleMap,
848
+ isResponsive,
637
849
  });
638
850
  });
639
851
  });
640
- // Process handlers
641
- handlerQueue.forEach(({ handler, styleMap }) => {
852
+ // Process handlers using the three-phase approach
853
+ handlerQueue.forEach(({ handler, styleMap, isResponsive }) => {
642
854
  const lookupStyles = handler.__lookupStyles;
643
- // Check if any values have state maps
644
- const hasStateMaps = lookupStyles.some((style) => {
645
- const value = styleMap[style];
646
- return value && typeof value === 'object' && !Array.isArray(value);
647
- });
648
- if (hasStateMaps) {
649
- // Build styleStates from styleMap
650
- const styleStates = {};
651
- lookupStyles.forEach((style) => {
652
- const value = styleMap[style];
653
- if (value && typeof value === 'object' && !Array.isArray(value)) {
654
- const { states } = styleStateMapToStyleStateDataList(value);
655
- styleStates[style] = states;
855
+ if (isResponsive) {
856
+ // For responsive styles, resolve arrays using normalizeStyleZones
857
+ const valueMap = lookupStyles.reduce((map, style) => {
858
+ map[style] = cachedNormalizeStyleZones(styleMap[style], zones.length);
859
+ return map;
860
+ }, {});
861
+ // Create props for each breakpoint
862
+ const propsByPoint = zones.map((zone, i) => {
863
+ const pointProps = {};
864
+ lookupStyles.forEach((style) => {
865
+ if (valueMap != null && valueMap[style] != null) {
866
+ pointProps[style] = valueMap[style][i];
867
+ }
868
+ });
869
+ return pointProps;
870
+ });
871
+ // Call handler for each breakpoint, with state map processing if needed
872
+ propsByPoint.forEach((pointProps, breakpointIdx) => {
873
+ const hasStateMapsAtPoint = lookupStyles.some((style) => {
874
+ const v = pointProps[style];
875
+ return v && typeof v === 'object' && !Array.isArray(v);
876
+ });
877
+ if (hasStateMapsAtPoint) {
878
+ // Build styleStates from point props
879
+ const styleStates = {};
880
+ lookupStyles.forEach((style) => {
881
+ const v = pointProps[style];
882
+ if (v && typeof v === 'object' && !Array.isArray(v)) {
883
+ const { states } = styleStateMapToStyleStateDataList(v);
884
+ styleStates[style] = states;
885
+ }
886
+ else {
887
+ styleStates[style] = [{ mods: [], notMods: [], value: v }];
888
+ }
889
+ });
890
+ // Use the consolidated helper for mod combination processing
891
+ processStateMapsWithModCombinations(styleStates, lookupStyles, zones || [], handler, parentSuffix, allLogicalRules, cachedNormalizeStyleZones, breakpointIdx, true);
656
892
  }
657
893
  else {
658
- // Simple value, create a single state
659
- styleStates[style] = [{ mods: [], notMods: [], value }];
894
+ const result = handler(pointProps);
895
+ if (!result)
896
+ return;
897
+ const logicalRules = explodeHandlerResult(result, zones || [], parentSuffix, breakpointIdx, true);
898
+ allLogicalRules.push(...logicalRules);
660
899
  }
661
900
  });
662
- // Use the consolidated helper for mod combination processing
663
- processStateMapsWithModCombinations(styleStates, lookupStyles, handler, parentSuffix, allLogicalRules);
664
901
  }
665
902
  else {
666
- // Simple case: no state maps, call handler directly
667
- const result = handler(styleMap);
668
- if (result) {
669
- const logical = explodeHandlerResult(result, parentSuffix);
670
- allLogicalRules.push(...logical);
903
+ // For non-responsive styles, check if any values have state maps
904
+ const hasStateMaps = lookupStyles.some((style) => {
905
+ const value = styleMap[style];
906
+ return value && typeof value === 'object' && !Array.isArray(value);
907
+ });
908
+ if (hasStateMaps) {
909
+ // Build styleStates from styleMap
910
+ const styleStates = {};
911
+ lookupStyles.forEach((style) => {
912
+ const value = styleMap[style];
913
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
914
+ const { states } = styleStateMapToStyleStateDataList(value);
915
+ styleStates[style] = states;
916
+ }
917
+ else {
918
+ // Simple value, create a single state
919
+ styleStates[style] = [{ mods: [], notMods: [], value }];
920
+ }
921
+ });
922
+ // Use the consolidated helper for mod combination processing
923
+ processStateMapsWithModCombinations(styleStates, lookupStyles, zones || [], handler, parentSuffix, allLogicalRules, cachedNormalizeStyleZones);
924
+ }
925
+ else {
926
+ // Simple case: no state maps, call handler directly
927
+ const result = handler(styleMap);
928
+ if (result) {
929
+ const logical = explodeHandlerResult(result, zones || [], parentSuffix);
930
+ allLogicalRules.push(...logical);
931
+ }
671
932
  }
672
933
  }
673
934
  });
@@ -676,18 +937,21 @@ function generateLogicalRules(styles, parentSuffix = '') {
676
937
  processStyles(styles, parentSuffix);
677
938
  return allLogicalRules;
678
939
  }
679
- export function renderStyles(styles, classNameOrSelector) {
940
+ export function renderStyles(styles, responsive = [], classNameOrSelector) {
680
941
  const directSelector = !!classNameOrSelector;
681
942
  if (!styles) {
682
943
  return directSelector ? [] : { rules: [] };
683
944
  }
684
- // Generate logical rules using shared pipeline (memoized per styles)
945
+ // Generate logical rules using shared pipeline (memoized per styles+breakpoints)
685
946
  const stylesKey = stringifyStyles(styles);
686
- let allLogicalRules = logicalRulesCache.get(stylesKey);
947
+ const bpKey = (responsive || []).join(',');
948
+ const lrKey = `${stylesKey}#${bpKey}`;
949
+ let allLogicalRules = logicalRulesCache.get(lrKey);
687
950
  if (!allLogicalRules) {
688
- allLogicalRules = generateLogicalRules(styles);
689
- logicalRulesCache.set(stylesKey, allLogicalRules);
951
+ allLogicalRules = generateLogicalRules(styles, responsive);
952
+ logicalRulesCache.set(lrKey, allLogicalRules);
690
953
  }
954
+ const zones = pointsToZones(responsive || []);
691
955
  if (directSelector) {
692
956
  // Direct selector mode: convert logical rules directly to StyleResult format
693
957
  if (!classNameOrSelector) {
@@ -709,17 +973,24 @@ export function renderStyles(styles, classNameOrSelector) {
709
973
  const declarations = Object.entries(rule.declarations)
710
974
  .map(([prop, value]) => `${prop}: ${value};`)
711
975
  .join(' ');
976
+ const q = rule.breakpointIdx > 0
977
+ ? zones[rule.breakpointIdx]?.mediaQuery
978
+ : rule.responsiveSource
979
+ ? zones[0]?.mediaQuery
980
+ : undefined;
981
+ const atRules = q ? [`@media ${q}`] : undefined;
712
982
  return {
713
983
  selector: finalSelector,
714
984
  declarations,
985
+ atRules,
715
986
  };
716
987
  });
717
988
  }
718
989
  // Standard mode: use accumulation and materialization with className
719
990
  const accumulatedRules = new Map();
720
991
  for (const rule of allLogicalRules) {
721
- // Create a key based on selectorSuffix
722
- const ruleKey = rule.selectorSuffix;
992
+ // Create a key based on breakpointIdx, selectorSuffix, and responsiveOrigin
993
+ const ruleKey = `${rule.breakpointIdx}|${rule.selectorSuffix}|${rule.responsiveSource}`;
723
994
  const existing = accumulatedRules.get(ruleKey);
724
995
  if (existing) {
725
996
  // Merge declarations from this rule into the existing one
@@ -729,7 +1000,9 @@ export function renderStyles(styles, classNameOrSelector) {
729
1000
  // Create a new accumulated rule
730
1001
  accumulatedRules.set(ruleKey, {
731
1002
  selectorSuffix: rule.selectorSuffix,
1003
+ breakpointIdx: rule.breakpointIdx,
732
1004
  declarations: { ...rule.declarations },
1005
+ responsiveSource: rule.responsiveSource,
733
1006
  });
734
1007
  }
735
1008
  }
@@ -739,9 +1012,16 @@ export function renderStyles(styles, classNameOrSelector) {
739
1012
  const declarations = Object.entries(rule.declarations)
740
1013
  .map(([prop, value]) => `${prop}: ${value};`)
741
1014
  .join(' ');
1015
+ const q = rule.breakpointIdx > 0
1016
+ ? zones[rule.breakpointIdx]?.mediaQuery
1017
+ : rule.responsiveSource
1018
+ ? zones[0]?.mediaQuery
1019
+ : undefined;
1020
+ const atRules = q ? [`@media ${q}`] : undefined;
742
1021
  return {
743
1022
  selector: rule.selectorSuffix || '',
744
1023
  declarations,
1024
+ atRules,
745
1025
  needsClassName: true, // Flag for injector to prepend className
746
1026
  };
747
1027
  });
@@ -750,7 +1030,7 @@ export function renderStyles(styles, classNameOrSelector) {
750
1030
  };
751
1031
  }
752
1032
  // Materialize the accumulated logical rules into final format
753
- const finalRulesRaw = materializeRules(Array.from(accumulatedRules.values()), classNameOrSelector);
1033
+ const finalRulesRaw = materializeRules(Array.from(accumulatedRules.values()), classNameOrSelector, zones || []);
754
1034
  // Simplified deduplication (should be much less work now)
755
1035
  const seen = new Set();
756
1036
  const finalRules = finalRulesRaw.filter((rule) => {