@cube-dev/ui-kit 0.97.1 → 0.98.0

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 (570) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/CollectionItem.js +1 -1
  18. package/es/components/GlobalStyles.js +1 -1
  19. package/es/components/GridProvider.js +1 -1
  20. package/es/components/HiddenInput.js +1 -1
  21. package/es/components/OpenTrasition.js +1 -1
  22. package/es/components/Root.js +1 -1
  23. package/es/components/actions/Action/Action.js +1 -1
  24. package/es/components/actions/Button/Button.js +197 -64
  25. package/es/components/actions/Button/index.js +1 -1
  26. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  27. package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
  28. package/es/components/actions/CommandMenu/index.js +1 -1
  29. package/es/components/actions/CommandMenu/styled.js +1 -1
  30. package/es/components/actions/ItemAction/ItemAction.js +1 -1
  31. package/es/components/actions/ItemAction/index.js +1 -1
  32. package/es/components/actions/ItemActionContext.js +5 -2
  33. package/es/components/actions/ItemButton/ItemButton.js +28 -11
  34. package/es/components/actions/ItemButton/index.js +1 -1
  35. package/es/components/actions/Link/Link.js +2 -2
  36. package/es/components/actions/Menu/Menu.js +1 -1
  37. package/es/components/actions/Menu/MenuItem.js +1 -1
  38. package/es/components/actions/Menu/MenuSection.js +1 -1
  39. package/es/components/actions/Menu/MenuTrigger.js +1 -1
  40. package/es/components/actions/Menu/SubMenuTrigger.js +1 -1
  41. package/es/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/es/components/actions/Menu/context.js +1 -1
  43. package/es/components/actions/Menu/index.js +1 -1
  44. package/es/components/actions/Menu/styled.js +1 -1
  45. package/es/components/actions/index.js +1 -1
  46. package/es/components/actions/use-action.js +1 -1
  47. package/es/components/actions/use-anchored-menu.js +1 -1
  48. package/es/components/actions/use-context-menu.js +1 -1
  49. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  50. package/es/components/content/Alert/Alert.js +1 -1
  51. package/es/components/content/Alert/index.js +1 -1
  52. package/es/components/content/Alert/types.js +1 -1
  53. package/es/components/content/Alert/use-alert.js +1 -1
  54. package/es/components/content/Avatar/Avatar.js +1 -1
  55. package/es/components/content/Badge/Badge.js +8 -1
  56. package/es/components/content/Card/Card.js +1 -1
  57. package/es/components/content/Content.js +1 -1
  58. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  59. package/es/components/content/CopyPasteBlock/index.js +1 -1
  60. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  61. package/es/components/content/CopySnippet/index.js +1 -1
  62. package/es/components/content/Disclosure/Disclosure.js +8 -3
  63. package/es/components/content/Disclosure/index.js +1 -1
  64. package/es/components/content/Divider.js +1 -1
  65. package/es/components/content/Footer.js +1 -1
  66. package/es/components/content/Header.js +1 -1
  67. package/es/components/content/HotKeys/HotKeys.js +1 -1
  68. package/es/components/content/HotKeys/index.js +1 -1
  69. package/es/components/content/Item/Item.js +179 -60
  70. package/es/components/content/Item/index.js +1 -1
  71. package/es/components/content/ItemBadge/ItemBadge.js +1 -1
  72. package/es/components/content/ItemBadge/index.js +1 -1
  73. package/es/components/content/Layout/GridLayout.js +1 -1
  74. package/es/components/content/Layout/Layout.js +14 -8
  75. package/es/components/content/Layout/LayoutBlock.js +1 -1
  76. package/es/components/content/Layout/LayoutCenter.js +1 -1
  77. package/es/components/content/Layout/LayoutContainer.js +8 -5
  78. package/es/components/content/Layout/LayoutContent.js +11 -9
  79. package/es/components/content/Layout/LayoutContext.js +1 -1
  80. package/es/components/content/Layout/LayoutFlex.js +1 -1
  81. package/es/components/content/Layout/LayoutFooter.js +5 -1
  82. package/es/components/content/Layout/LayoutGrid.js +1 -1
  83. package/es/components/content/Layout/LayoutHeader.js +1 -1
  84. package/es/components/content/Layout/LayoutPane.js +9 -7
  85. package/es/components/content/Layout/LayoutPanel.js +8 -4
  86. package/es/components/content/Layout/LayoutPanelHeader.js +3 -6
  87. package/es/components/content/Layout/LayoutToolbar.js +2 -1
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +15 -5
  89. package/es/components/content/Layout/index.js +1 -1
  90. package/es/components/content/Layout/utils.js +1 -1
  91. package/es/components/content/List/SectionHeading.js +1 -1
  92. package/es/components/content/List/index.js +1 -1
  93. package/es/components/content/Paragraph.js +1 -1
  94. package/es/components/content/Placeholder/Placeholder.js +1 -1
  95. package/es/components/content/PrismCode/PrismCode.js +1 -1
  96. package/es/components/content/PrismCode/prismSetup.js +1 -1
  97. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  98. package/es/components/content/Result/Result.js +1 -1
  99. package/es/components/content/Skeleton/Skeleton.js +1 -1
  100. package/es/components/content/Tag/Tag.js +15 -25
  101. package/es/components/content/Text.js +3 -2
  102. package/es/components/content/TextItem/TextItem.js +1 -1
  103. package/es/components/content/TextItem/index.js +1 -1
  104. package/es/components/content/Title.js +1 -1
  105. package/es/components/content/highlightText.js +1 -1
  106. package/es/components/content/use-auto-tooltip.js +1 -1
  107. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  108. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  109. package/es/components/fields/Checkbox/context.js +1 -1
  110. package/es/components/fields/Checkbox/index.js +1 -1
  111. package/es/components/fields/ComboBox/ComboBox.js +1 -1
  112. package/es/components/fields/ComboBox/index.js +1 -1
  113. package/es/components/fields/DatePicker/DateInput.js +1 -1
  114. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  115. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  116. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  117. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  118. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  119. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  120. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  121. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  122. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  123. package/es/components/fields/DatePicker/index.js +1 -1
  124. package/es/components/fields/DatePicker/intl.js +1 -1
  125. package/es/components/fields/DatePicker/parseDate.js +1 -1
  126. package/es/components/fields/DatePicker/props.js +1 -1
  127. package/es/components/fields/DatePicker/types.js +1 -1
  128. package/es/components/fields/DatePicker/utils.js +1 -1
  129. package/es/components/fields/FileInput/FileInput.js +1 -1
  130. package/es/components/fields/FilterListBox/FilterListBox.js +6 -7
  131. package/es/components/fields/FilterListBox/index.js +1 -1
  132. package/es/components/fields/FilterPicker/FilterPicker.js +3 -3
  133. package/es/components/fields/FilterPicker/index.js +1 -1
  134. package/es/components/fields/Input/Input.js +1 -1
  135. package/es/components/fields/Input/index.js +1 -1
  136. package/es/components/fields/ListBox/ListBox.js +1 -1
  137. package/es/components/fields/ListBox/index.js +1 -1
  138. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  139. package/es/components/fields/NumberInput/StepButton.js +8 -11
  140. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  141. package/es/components/fields/Picker/Picker.js +3 -3
  142. package/es/components/fields/Picker/index.js +1 -1
  143. package/es/components/fields/RadioGroup/Radio.js +1 -1
  144. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  145. package/es/components/fields/RadioGroup/context.js +1 -1
  146. package/es/components/fields/RadioGroup/index.js +1 -1
  147. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  148. package/es/components/fields/SearchInput/index.js +1 -1
  149. package/es/components/fields/Select/Select.js +4 -4
  150. package/es/components/fields/Select/index.js +1 -1
  151. package/es/components/fields/Slider/Gradation.js +1 -1
  152. package/es/components/fields/Slider/Header.js +1 -1
  153. package/es/components/fields/Slider/RangeSlider.js +1 -1
  154. package/es/components/fields/Slider/Slider.js +1 -1
  155. package/es/components/fields/Slider/SliderBase.js +1 -1
  156. package/es/components/fields/Slider/SliderInput.js +1 -1
  157. package/es/components/fields/Slider/SliderThumb.js +1 -1
  158. package/es/components/fields/Slider/SliderTrack.js +1 -1
  159. package/es/components/fields/Slider/elements.js +1 -1
  160. package/es/components/fields/Slider/index.js +1 -1
  161. package/es/components/fields/Slider/types.js +1 -1
  162. package/es/components/fields/Switch/Switch.js +1 -1
  163. package/es/components/fields/Switch/index.js +1 -1
  164. package/es/components/fields/TextArea/TextArea.js +1 -1
  165. package/es/components/fields/TextArea/index.js +1 -1
  166. package/es/components/fields/TextInput/TextInput.js +1 -1
  167. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  168. package/es/components/fields/TextInput/index.js +1 -1
  169. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  170. package/es/components/fields/TextInputMapper/index.js +1 -1
  171. package/es/components/fields/index.js +1 -1
  172. package/es/components/form/FieldWrapper/FieldWrapper.js +3 -3
  173. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  174. package/es/components/form/FieldWrapper/index.js +1 -1
  175. package/es/components/form/FieldWrapper/types.js +1 -1
  176. package/es/components/form/Form/Field.js +1 -1
  177. package/es/components/form/Form/Form.js +1 -1
  178. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  179. package/es/components/form/Form/ResetButton/index.js +1 -1
  180. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  181. package/es/components/form/Form/SubmitButton/index.js +1 -1
  182. package/es/components/form/Form/SubmitError.js +1 -1
  183. package/es/components/form/Form/index.js +1 -1
  184. package/es/components/form/Form/types.js +1 -1
  185. package/es/components/form/Form/use-field/index.js +1 -1
  186. package/es/components/form/Form/use-field/types.js +1 -1
  187. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  188. package/es/components/form/Form/use-field/use-field.js +1 -1
  189. package/es/components/form/Form/use-form.js +1 -1
  190. package/es/components/form/Form/validation.js +1 -1
  191. package/es/components/form/Label.js +1 -1
  192. package/es/components/form/index.js +1 -1
  193. package/es/components/form/wrapper.js +1 -1
  194. package/es/components/helpers/DisplayTransition/DisplayTransition.js +33 -8
  195. package/es/components/helpers/DisplayTransition/index.js +10 -0
  196. package/es/components/helpers/IconSwitch/IconSwitch.js +143 -0
  197. package/es/components/helpers/index.js +2 -1
  198. package/es/components/layout/Flex.js +1 -1
  199. package/es/components/layout/Flow.js +1 -1
  200. package/es/components/layout/Grid.js +1 -1
  201. package/es/components/layout/Panel.js +1 -1
  202. package/es/components/layout/Prefix.js +1 -1
  203. package/es/components/layout/ResizablePanel.js +2 -2
  204. package/es/components/layout/Space.js +1 -1
  205. package/es/components/layout/Suffix.js +1 -1
  206. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  207. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  208. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  209. package/es/components/other/Base64Upload/Base64Upload.js +3 -2
  210. package/es/components/other/Calendar/Calendar.js +1 -1
  211. package/es/components/other/Calendar/CalendarCell.js +1 -1
  212. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  213. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  214. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  216. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  217. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  218. package/es/components/overlays/AlertDialog/index.js +1 -1
  219. package/es/components/overlays/AlertDialog/types.js +1 -1
  220. package/es/components/overlays/Dialog/Dialog.js +8 -8
  221. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  222. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  223. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  224. package/es/components/overlays/Dialog/context.js +1 -1
  225. package/es/components/overlays/Dialog/index.js +1 -1
  226. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  227. package/es/components/overlays/Modal/Modal.js +3 -3
  228. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  229. package/es/components/overlays/Modal/Overlay.js +1 -1
  230. package/es/components/overlays/Modal/Popover.js +1 -1
  231. package/es/components/overlays/Modal/Tray.js +1 -1
  232. package/es/components/overlays/Modal/Underlay.js +1 -1
  233. package/es/components/overlays/Modal/index.js +1 -1
  234. package/es/components/overlays/Modal/types.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  237. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  238. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  240. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  241. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  242. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +2 -2
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  259. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  260. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  265. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  266. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  267. package/es/components/overlays/NewNotifications/index.js +1 -1
  268. package/es/components/overlays/NewNotifications/types.js +1 -1
  269. package/es/components/overlays/Notification/Notification.js +1 -1
  270. package/es/components/overlays/OverlayWrapper.js +1 -1
  271. package/es/components/overlays/Toasts/Toast.js +1 -1
  272. package/es/components/overlays/Toasts/index.js +1 -1
  273. package/es/components/overlays/Toasts/types.js +1 -1
  274. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  275. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  276. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  277. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  278. package/es/components/overlays/Tooltip/context.js +1 -1
  279. package/es/components/overlays/Tooltip/index.js +1 -1
  280. package/es/components/portal/Portal.js +1 -1
  281. package/es/components/portal/PortalProvider.js +1 -1
  282. package/es/components/portal/index.js +1 -1
  283. package/es/components/portal/types.js +1 -1
  284. package/es/components/portal/usePortal.js +1 -1
  285. package/es/components/shared/InvalidIcon.js +1 -1
  286. package/es/components/shared/ValidIcon.js +1 -1
  287. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  288. package/es/components/status/LoadingAnimation/index.js +1 -1
  289. package/es/components/status/Spin/Cube.js +1 -1
  290. package/es/components/status/Spin/InternalSpinner.js +1 -1
  291. package/es/components/status/Spin/Spin.js +1 -1
  292. package/es/components/status/Spin/SpinsContainer.js +1 -1
  293. package/es/components/status/Spin/index.js +1 -1
  294. package/es/components/status/Spin/types.js +1 -1
  295. package/es/components/status/index.js +1 -1
  296. package/es/data/item-themes.js +23 -1
  297. package/es/data/themes.js +1 -1
  298. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  299. package/es/icons/AdjustmentsIcon.js +1 -1
  300. package/es/icons/AiIcon.js +1 -1
  301. package/es/icons/AreaChartIcon.js +1 -1
  302. package/es/icons/BackwardIcon.js +1 -1
  303. package/es/icons/BarChartIcon.js +1 -1
  304. package/es/icons/BellFilledIcon.js +1 -1
  305. package/es/icons/BellIcon.js +1 -1
  306. package/es/icons/BooleanIcon.js +1 -1
  307. package/es/icons/CalendarEditIcon.js +1 -1
  308. package/es/icons/CalendarIcon.js +1 -1
  309. package/es/icons/CaretDownIcon.js +1 -1
  310. package/es/icons/CaretUpIcon.js +1 -1
  311. package/es/icons/ChartAreaStackedIcon.js +1 -1
  312. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  313. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  314. package/es/icons/ChartBarGroupedIcon.js +1 -1
  315. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  316. package/es/icons/ChartBarLineIcon.js +1 -1
  317. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  318. package/es/icons/ChartBarStackedIcon.js +1 -1
  319. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  320. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  321. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  322. package/es/icons/ChartBoxPlotIcon.js +1 -1
  323. package/es/icons/ChartBubbleIcon.js +1 -1
  324. package/es/icons/ChartDonut2Icon.js +1 -1
  325. package/es/icons/ChartFunnelIcon.js +1 -1
  326. package/es/icons/ChartHeatmapIcon.js +1 -1
  327. package/es/icons/ChartKPIIcon.js +1 -1
  328. package/es/icons/ChartPie2Icon.js +1 -1
  329. package/es/icons/ChartScatterIcon.js +1 -1
  330. package/es/icons/CheckCircleFilledIcon.js +1 -1
  331. package/es/icons/CheckCircleIcon.js +1 -1
  332. package/es/icons/CheckIcon.js +1 -1
  333. package/es/icons/CircleFilledIcon.js +1 -1
  334. package/es/icons/ClearIcon.js +1 -1
  335. package/es/icons/CloseCircleFilledIcon.js +1 -1
  336. package/es/icons/CloseCircleIcon.js +1 -1
  337. package/es/icons/CloseIcon.js +1 -1
  338. package/es/icons/CodeIcon.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/SchemeIcon.js +1 -1
  394. package/es/icons/SearchIcon.js +1 -1
  395. package/es/icons/SettingsIcon.js +1 -1
  396. package/es/icons/ShieldFilledIcon.js +1 -1
  397. package/es/icons/ShieldIcon.js +1 -1
  398. package/es/icons/SlashIcon.js +1 -1
  399. package/es/icons/SparklesIcon.js +1 -1
  400. package/es/icons/SqlIcon.js +1 -1
  401. package/es/icons/StatsIcon.js +1 -1
  402. package/es/icons/StopIcon.js +1 -1
  403. package/es/icons/StringIcon.js +1 -1
  404. package/es/icons/SwitchIcon.js +1 -1
  405. package/es/icons/TableIcon.js +1 -1
  406. package/es/icons/ThumbsDownIcon.js +1 -1
  407. package/es/icons/ThumbsUpIcon.js +1 -1
  408. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  409. package/es/icons/ThunderboltFilledIcon.js +1 -1
  410. package/es/icons/ThunderboltIcon.js +1 -1
  411. package/es/icons/TimeIcon.js +1 -1
  412. package/es/icons/TrashIcon.js +1 -1
  413. package/es/icons/UnlockIcon.js +1 -1
  414. package/es/icons/UpIcon.js +1 -1
  415. package/es/icons/UserGroupIcon.js +1 -1
  416. package/es/icons/UserIcon.js +1 -1
  417. package/es/icons/UserLockIcon.js +1 -1
  418. package/es/icons/ViewIcon.js +1 -1
  419. package/es/icons/WarningFilledIcon.js +1 -1
  420. package/es/icons/WarningIcon.js +1 -1
  421. package/es/icons/add-new-icon.js +1 -1
  422. package/es/icons/index.js +1 -1
  423. package/es/icons/wrap-icon.js +1 -1
  424. package/es/index.js +1 -1
  425. package/es/provider.js +1 -1
  426. package/es/providers/TrackingProvider.js +1 -1
  427. package/es/providers/navigation.types.js +1 -1
  428. package/es/providers/navigationAdapter.default.js +1 -1
  429. package/es/services/notification.js +1 -1
  430. package/es/shared/form.js +1 -1
  431. package/es/shared/index.js +1 -1
  432. package/es/stories/Form.legacy-stories.js +1 -1
  433. package/es/stories/FormFieldArgs.js +1 -1
  434. package/es/stories/SimpleLayout.stories.js +1 -1
  435. package/es/stories/Tasty.stories.js +1 -1
  436. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  437. package/es/stories/components/DialogFormApp.js +1 -1
  438. package/es/stories/components/StyledButton.js +1 -1
  439. package/es/stories/lists/baseProps.js +1 -1
  440. package/es/tasty/debug.js +1 -1
  441. package/es/tasty/index.js +2 -1
  442. package/es/tasty/injector/index.js +1 -1
  443. package/es/tasty/injector/injector.js +1 -1
  444. package/es/tasty/injector/sheet-manager.js +1 -1
  445. package/es/tasty/injector/types.js +1 -1
  446. package/es/tasty/parser/classify.js +1 -1
  447. package/es/tasty/parser/const.js +1 -1
  448. package/es/tasty/parser/lru.js +1 -1
  449. package/es/tasty/parser/parser.js +1 -1
  450. package/es/tasty/parser/tokenizer.js +1 -1
  451. package/es/tasty/parser/types.js +1 -1
  452. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  453. package/es/tasty/styles/align.js +1 -1
  454. package/es/tasty/styles/border.js +1 -1
  455. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  456. package/es/tasty/styles/color.js +1 -1
  457. package/es/tasty/styles/createStyle.js +1 -1
  458. package/es/tasty/styles/dimension.js +2 -2
  459. package/es/tasty/styles/display.js +1 -1
  460. package/es/tasty/styles/fade.js +1 -1
  461. package/es/tasty/styles/fill.js +1 -1
  462. package/es/tasty/styles/flow.js +1 -1
  463. package/es/tasty/styles/font.js +1 -1
  464. package/es/tasty/styles/fontStyle.js +1 -1
  465. package/es/tasty/styles/gap.js +1 -1
  466. package/es/tasty/styles/groupRadius.js +1 -1
  467. package/es/tasty/styles/height.js +1 -1
  468. package/es/tasty/styles/index.js +1 -1
  469. package/es/tasty/styles/inset.js +1 -1
  470. package/es/tasty/styles/justify.js +1 -1
  471. package/es/tasty/styles/list.js +3 -2
  472. package/es/tasty/styles/margin.js +1 -1
  473. package/es/tasty/styles/outline.js +1 -1
  474. package/es/tasty/styles/padding.js +1 -1
  475. package/es/tasty/styles/place.js +1 -1
  476. package/es/tasty/styles/predefined.js +1 -1
  477. package/es/tasty/styles/preset.js +6 -2
  478. package/es/tasty/styles/radius.js +1 -1
  479. package/es/tasty/styles/reset.js +1 -1
  480. package/es/tasty/styles/scrollbar.js +1 -1
  481. package/es/tasty/styles/shadow.js +1 -1
  482. package/es/tasty/styles/styledScrollbar.js +1 -1
  483. package/es/tasty/styles/transition.js +1 -1
  484. package/es/tasty/styles/types.js +1 -1
  485. package/es/tasty/styles/width.js +1 -1
  486. package/es/tasty/tasty.js +32 -3
  487. package/es/tasty/types.js +1 -1
  488. package/es/tasty/utils/cache-wrapper.js +1 -1
  489. package/es/tasty/utils/case-converter.js +1 -1
  490. package/es/tasty/utils/colors.js +1 -1
  491. package/es/tasty/utils/dotize.js +1 -1
  492. package/es/tasty/utils/filterBaseProps.js +1 -1
  493. package/es/tasty/utils/getDisplayName.js +1 -1
  494. package/es/tasty/utils/getModCombinations.js +1 -1
  495. package/es/tasty/utils/isDevEnv.js +1 -1
  496. package/es/tasty/utils/mergeStyles.js +1 -1
  497. package/es/tasty/utils/modAttrs.js +1 -1
  498. package/es/tasty/utils/processTokens.js +124 -0
  499. package/es/tasty/utils/renderStyles.js +1 -1
  500. package/es/tasty/utils/responsive.js +1 -1
  501. package/es/tasty/utils/string.js +1 -1
  502. package/es/tasty/utils/styles.js +1 -1
  503. package/es/tasty/utils/warnings.js +1 -1
  504. package/es/tokens.js +1 -1
  505. package/es/utils/ResizeSensor.js +1 -1
  506. package/es/utils/index.js +1 -1
  507. package/es/utils/modules.js +1 -1
  508. package/es/utils/promise.js +1 -1
  509. package/es/utils/raf.js +1 -1
  510. package/es/utils/random.js +1 -1
  511. package/es/utils/range.js +1 -1
  512. package/es/utils/react/RenderCache.js +1 -1
  513. package/es/utils/react/Slots.js +1 -1
  514. package/es/utils/react/chain.js +1 -1
  515. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  516. package/es/utils/react/index.js +2 -1
  517. package/es/utils/react/interactions.js +1 -1
  518. package/es/utils/react/isTextOnly.js +1 -1
  519. package/es/utils/react/mapProps.js +1 -1
  520. package/es/utils/react/mergeProps.js +1 -1
  521. package/es/utils/react/nullableValue.js +1 -1
  522. package/es/utils/react/resolveIcon.js +34 -0
  523. package/es/utils/react/sharedStore.js +1 -1
  524. package/es/utils/react/useCombinedRefs.js +1 -1
  525. package/es/utils/react/useControlledFocusVisible.js +1 -1
  526. package/es/utils/react/useEventBus.js +1 -1
  527. package/es/utils/react/useId.js +1 -1
  528. package/es/utils/react/useIsDarwin.js +1 -1
  529. package/es/utils/react/useKeySymbols.js +1 -1
  530. package/es/utils/react/useLayoutEffect.js +1 -1
  531. package/es/utils/react/useLocalStorage.js +1 -1
  532. package/es/utils/react/useQaProps.js +1 -1
  533. package/es/utils/react/useViewportSize.js +1 -1
  534. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  535. package/es/utils/tree.js +1 -1
  536. package/es/utils/warnings.js +1 -1
  537. package/es/version.js +2 -2
  538. package/package.json +2 -2
  539. package/types/components/HiddenInput.d.ts +827 -1
  540. package/types/components/actions/Button/Button.d.ts +1750 -33
  541. package/types/components/actions/CommandMenu/styled.d.ts +4135 -5
  542. package/types/components/actions/Menu/styled.d.ts +4165 -23
  543. package/types/components/actions/use-action.d.ts +1 -1
  544. package/types/components/content/Item/Item.d.ts +41 -15
  545. package/types/components/content/Layout/Layout.d.ts +5 -1
  546. package/types/components/content/Layout/LayoutContainer.d.ts +5 -1
  547. package/types/components/content/Layout/LayoutContent.d.ts +5 -1
  548. package/types/components/content/Layout/LayoutPane.d.ts +5 -1
  549. package/types/components/content/Layout/LayoutPanelHeader.d.ts +2 -4
  550. package/types/components/content/List/SectionHeading.d.ts +10 -6
  551. package/types/components/content/Tag/Tag.d.ts +1 -3
  552. package/types/components/content/Text.d.ts +77 -42
  553. package/types/components/fields/DatePicker/DatePickerElement.d.ts +10 -6
  554. package/types/components/fields/FilterPicker/FilterPicker.d.ts +1 -1
  555. package/types/components/fields/Picker/Picker.d.ts +1 -1
  556. package/types/components/fields/Select/Select.d.ts +836 -5
  557. package/types/components/fields/Slider/elements.d.ts +4962 -6
  558. package/types/components/form/FieldWrapper/types.d.ts +1 -1
  559. package/types/components/helpers/DisplayTransition/DisplayTransition.d.ts +3 -1
  560. package/types/components/helpers/DisplayTransition/index.d.ts +2 -0
  561. package/types/components/helpers/IconSwitch/IconSwitch.d.ts +20 -0
  562. package/types/components/helpers/index.d.ts +1 -0
  563. package/types/data/item-themes.d.ts +5 -1
  564. package/types/tasty/index.d.ts +3 -2
  565. package/types/tasty/styles/list.d.ts +6 -6
  566. package/types/tasty/tasty.d.ts +859 -7
  567. package/types/tasty/types.d.ts +30 -7
  568. package/types/tasty/utils/processTokens.d.ts +15 -0
  569. package/types/utils/react/index.d.ts +2 -0
  570. package/types/utils/react/resolveIcon.d.ts +23 -0
@@ -1,24 +1,34 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.97.1
4
+ * @cube-dev/ui-kit v0.98.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
- import { forwardRef, useMemo, } from 'react';
9
+ import { forwardRef, isValidElement, useMemo, } from 'react';
10
10
  import { useHotkeys } from 'react-hotkeys-hook';
11
- import { DANGER_CLEAR_STYLES, DANGER_ITEM_STYLES, DANGER_LINK_STYLES, DANGER_NEUTRAL_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_ITEM_STYLES, DEFAULT_LINK_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_ITEM_STYLES, SPECIAL_LINK_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_ITEM_STYLES, SUCCESS_LINK_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES, } from '../../../data/item-themes';
11
+ import { useWarn } from '../../../_internal/hooks/use-warn';
12
+ import { DANGER_CARD_STYLES, DANGER_CLEAR_STYLES, DANGER_ITEM_STYLES, DANGER_LINK_STYLES, DANGER_NEUTRAL_STYLES, DANGER_OUTLINE_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CARD_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_ITEM_STYLES, DEFAULT_LINK_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_OUTLINE_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, NOTE_CARD_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_ITEM_STYLES, SPECIAL_LINK_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_OUTLINE_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CARD_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_ITEM_STYLES, SUCCESS_LINK_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_OUTLINE_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES, } from '../../../data/item-themes';
12
13
  import { CheckIcon } from '../../../icons/CheckIcon';
13
14
  import { LoadingIcon } from '../../../icons/LoadingIcon';
14
15
  import { CONTAINER_STYLES, tasty, } from '../../../tasty';
15
- import { mergeProps } from '../../../utils/react';
16
+ import { mergeProps, resolveIcon } from '../../../utils/react';
16
17
  import { ItemAction } from '../../actions/ItemAction';
17
18
  import { ItemActionProvider } from '../../actions/ItemActionContext';
19
+ import { IconSwitch } from '../../helpers/IconSwitch/IconSwitch';
18
20
  import { highlightText } from '../highlightText';
19
21
  import { HotKeys } from '../HotKeys';
20
22
  import { ItemBadge } from '../ItemBadge';
21
23
  import { useAutoTooltip } from '../use-auto-tooltip';
24
+ const ITEM_SIZE_VALUES = [
25
+ 'xsmall',
26
+ 'small',
27
+ 'medium',
28
+ 'large',
29
+ 'xlarge',
30
+ 'inline',
31
+ ];
22
32
  const DEFAULT_ICON_STYLES = {
23
33
  $: '>',
24
34
  display: 'grid',
@@ -63,7 +73,8 @@ const ItemElement = tasty({
63
73
  placeContent: 'stretch',
64
74
  gridTemplate: {
65
75
  '': '"icon prefix label suffix rightIcon actions" auto "icon prefix label suffix rightIcon actions" auto / max-content max-content 1sf max-content max-content max-content',
66
- 'description=inline': '"icon prefix label suffix rightIcon actions" auto "icon prefix description suffix rightIcon actions" auto / max-content max-content 1sf max-content max-content max-content',
76
+ 'description=inline': '"icon prefix description suffix rightIcon actions" auto / max-content max-content 1sf max-content max-content max-content',
77
+ 'description=inline & has-label': '"icon prefix label suffix rightIcon actions" auto "icon prefix description suffix rightIcon actions" auto / max-content max-content 1sf max-content max-content max-content',
67
78
  'description=block': '"icon prefix label suffix rightIcon actions" auto "description description description description description description" auto / max-content max-content 1sf max-content max-content max-content',
68
79
  },
69
80
  // Prevent items from shrinking inside vertical flex layouts (Menu, ListBox, etc)
@@ -72,13 +83,17 @@ const ItemElement = tasty({
72
83
  'menuitem | listboxitem': 0,
73
84
  },
74
85
  position: 'relative',
75
- padding: 0,
86
+ padding: {
87
+ '': 0,
88
+ 'type=card': '.5x',
89
+ },
76
90
  margin: 0,
77
91
  radius: {
78
92
  '': true,
79
93
  'shape=card': '1cr',
80
94
  'shape=button': true,
81
95
  'shape=sharp': '0',
96
+ 'shape=pill': 'round',
82
97
  },
83
98
  height: {
84
99
  '': 'min $size',
@@ -106,11 +121,14 @@ const ItemElement = tasty({
106
121
  },
107
122
  preset: {
108
123
  '': 't3',
109
- button: 't3m',
124
+ '!type=item': 't3m',
110
125
  'size=xsmall': 't4',
111
126
  'size=xlarge': 't2',
112
- 'size=xlarge & button': 't2m',
113
- 'size=inline': 'tag',
127
+ 'size=xlarge & !type=item': 't2m',
128
+ 'size=inline': 'inline',
129
+ '(type=header | type=card) & (size=xsmall | size=small | size=medium)': 'h6',
130
+ '(type=header | type=card) & size=large': 'h5',
131
+ '(type=header | type=card) & size=xlarge': 'h4',
114
132
  },
115
133
  boxSizing: 'border-box',
116
134
  textDecoration: 'none',
@@ -118,7 +136,7 @@ const ItemElement = tasty({
118
136
  reset: 'button',
119
137
  outlineOffset: 1,
120
138
  cursor: {
121
- '': 'default',
139
+ '': 'inherit',
122
140
  ':is(a)': 'pointer',
123
141
  ':is(button) | listboxitem | menuitem': '$pointer',
124
142
  disabled: 'not-allowed',
@@ -130,12 +148,9 @@ const ItemElement = tasty({
130
148
  'size=medium': '$size-md',
131
149
  'size=large': '$size-lg',
132
150
  'size=xlarge': '$size-xl',
133
- 'size=inline': '1lh',
134
- },
135
- '$inline-padding': {
136
- '': 'max($min-inline-padding, (($size - 1lh - 2bw) / 2 + $inline-compensation))',
137
- 'size=inline': '.25x',
151
+ 'size=inline': '(1lh + 2bw)',
138
152
  },
153
+ '$inline-padding': 'max($min-inline-padding, (($size - 1lh - 2bw) / 2 + $inline-compensation))',
139
154
  '$block-padding': {
140
155
  '': '.5x',
141
156
  'size=xsmall | size=small': '.25x',
@@ -168,14 +183,15 @@ const ItemElement = tasty({
168
183
  'description=block & !has-end-content': '$inline-padding',
169
184
  },
170
185
  '$description-padding-bottom': {
171
- '': '$block-padding',
172
- 'description=block': '$bottom-padding',
186
+ '': 0,
187
+ 'has-label & description=inline': '$block-padding',
188
+ 'has-label & description=block': 'max($block-padding, (($size - 4x) / 2) + $block-padding)',
173
189
  },
174
- '$bottom-padding': 'max($block-padding, (($size - 4x) / 2) + $block-padding)',
175
190
  Icon: { ...DEFAULT_ICON_STYLES, gridArea: 'icon' },
176
191
  RightIcon: { ...DEFAULT_ICON_STYLES, gridArea: 'rightIcon' },
177
192
  Label: {
178
193
  $: '>',
194
+ margin: 0,
179
195
  gridArea: 'label',
180
196
  display: 'block',
181
197
  placeSelf: 'center start',
@@ -185,14 +201,23 @@ const ItemElement = tasty({
185
201
  overflow: 'hidden',
186
202
  textOverflow: 'ellipsis',
187
203
  maxWidth: '100%',
204
+ preset: 'inherit',
188
205
  padding: '$block-padding $label-padding-right $label-padding-bottom $label-padding-left',
189
206
  },
190
207
  Description: {
191
208
  $: '>',
192
209
  gridArea: 'description',
193
- preset: 't4',
210
+ preset: {
211
+ '': 't4',
212
+ 'type=card | type=header': 't3',
213
+ },
214
+ placeSelf: 'center start',
215
+ boxSizing: 'border-box',
194
216
  color: 'inherit',
195
- opacity: 0.75,
217
+ opacity: {
218
+ '': 0.75,
219
+ 'type=card | type=header': 1,
220
+ },
196
221
  overflow: 'hidden',
197
222
  whiteSpace: 'nowrap',
198
223
  textOverflow: 'ellipsis',
@@ -253,6 +278,7 @@ const ItemElement = tasty({
253
278
  'default.clear': DEFAULT_CLEAR_STYLES,
254
279
  'default.link': DEFAULT_LINK_STYLES,
255
280
  'default.item': DEFAULT_ITEM_STYLES,
281
+ 'default.card': DEFAULT_CARD_STYLES,
256
282
  // Danger theme
257
283
  'danger.primary': DANGER_PRIMARY_STYLES,
258
284
  'danger.secondary': DANGER_SECONDARY_STYLES,
@@ -261,6 +287,7 @@ const ItemElement = tasty({
261
287
  'danger.clear': DANGER_CLEAR_STYLES,
262
288
  'danger.link': DANGER_LINK_STYLES,
263
289
  'danger.item': DANGER_ITEM_STYLES,
290
+ 'danger.card': DANGER_CARD_STYLES,
264
291
  // Success theme
265
292
  'success.primary': SUCCESS_PRIMARY_STYLES,
266
293
  'success.secondary': SUCCESS_SECONDARY_STYLES,
@@ -269,6 +296,7 @@ const ItemElement = tasty({
269
296
  'success.clear': SUCCESS_CLEAR_STYLES,
270
297
  'success.link': SUCCESS_LINK_STYLES,
271
298
  'success.item': SUCCESS_ITEM_STYLES,
299
+ 'success.card': SUCCESS_CARD_STYLES,
272
300
  // Special theme
273
301
  'special.primary': SPECIAL_PRIMARY_STYLES,
274
302
  'special.secondary': SPECIAL_SECONDARY_STYLES,
@@ -277,32 +305,136 @@ const ItemElement = tasty({
277
305
  'special.clear': SPECIAL_CLEAR_STYLES,
278
306
  'special.link': SPECIAL_LINK_STYLES,
279
307
  'special.item': SPECIAL_ITEM_STYLES,
308
+ // Note theme (card type only)
309
+ 'note.card': NOTE_CARD_STYLES,
280
310
  },
281
311
  styleProps: CONTAINER_STYLES,
282
312
  });
283
313
  const Item = (props, ref) => {
284
- let { children, size = 'medium', type = 'item', theme = 'default', mods, icon, rightIcon, prefix, suffix, description, descriptionPlacement = 'inline', labelProps, descriptionProps, keyboardShortcutProps, styles, htmlType, isSelected, hotkeys, tooltip = true, isDisabled, style, loadingSlot = 'auto', isLoading = false, isCard = false, actions, showActionsOnHover = false, disableActionsFocus = false, isButton = false, shape = 'button', defaultTooltipPlacement = 'top', highlight, highlightCaseSensitive = false, highlightStyles, ...rest } = props;
314
+ let { children, size = 'medium', type = 'item', theme = 'default', mods, icon: iconProp, rightIcon: rightIconProp, prefix, suffix, description, descriptionPlacement, labelProps, descriptionProps, keyboardShortcutProps, styles, htmlType, isSelected, hotkeys, tooltip = true, isDisabled, style, loadingSlot = 'auto', isLoading = false, actions, showActionsOnHover = false, disableActionsFocus = false, shape, defaultTooltipPlacement = 'top', level = 3, highlight, highlightCaseSensitive = false, highlightStyles, ...rest } = props;
315
+ // Determine if Label will be rendered
316
+ const hasLabel = !!(children || labelProps);
317
+ // Set default descriptionPlacement based on type
318
+ // For card/header types, use 'block' only when Label is rendered
319
+ const finalDescriptionPlacement = descriptionPlacement ??
320
+ ((type === 'card' || type === 'header') && hasLabel ? 'block' : 'inline');
321
+ // Set default shape based on type
322
+ const finalShape = shape ?? (type === 'card' ? 'card' : 'button');
285
323
  // Loading state makes the component disabled
286
324
  const finalIsDisabled = isDisabled === true || (isLoading && isDisabled !== false);
325
+ // Validate type+theme combinations
326
+ const STANDARD_THEMES = ['default', 'success', 'danger', 'special'];
327
+ const CARD_THEMES = ['default', 'success', 'danger', 'note'];
328
+ const HEADER_THEMES = ['default'];
329
+ const isInvalidCombination = (type === 'header' && !HEADER_THEMES.includes(theme)) ||
330
+ (type === 'card' && !CARD_THEMES.includes(theme)) ||
331
+ (!['header', 'card'].includes(type) && !STANDARD_THEMES.includes(theme));
332
+ useWarn(isInvalidCombination, {
333
+ key: ['Item', 'invalid-type-theme', type, theme],
334
+ args: [
335
+ `Item: Invalid type+theme combination. type="${type}" does not support theme="${theme}".` +
336
+ (type === 'header'
337
+ ? ' The "header" type only supports theme: default.'
338
+ : type === 'card'
339
+ ? ' The "card" type only supports themes: default, success, danger, note.'
340
+ : ' Standard types support themes: default, success, danger, special.'),
341
+ ],
342
+ });
343
+ // Warn if link type is used with icons or loading state
344
+ const hasLinkWithIcons = type === 'link' && (iconProp || rightIconProp);
345
+ const hasLinkWithLoading = type === 'link' && isLoading;
346
+ const hasLinkRestrictions = hasLinkWithIcons || hasLinkWithLoading;
347
+ const linkRestrictionMessages = [];
348
+ if (hasLinkWithIcons) {
349
+ linkRestrictionMessages.push('icons (`icon` or `rightIcon` props)');
350
+ }
351
+ if (hasLinkWithLoading) {
352
+ linkRestrictionMessages.push('loading state (`isLoading` prop)');
353
+ }
354
+ useWarn(hasLinkRestrictions, {
355
+ key: ['Item', 'link-restrictions'],
356
+ args: [
357
+ `Item: The "link" type does not support ${linkRestrictionMessages.join(' or ')}. Remove these props when using type="link".`,
358
+ ],
359
+ });
287
360
  // Determine if we should show checkbox instead of icon
288
- const hasCheckbox = icon === 'checkbox';
361
+ const hasCheckbox = iconProp === 'checkbox';
362
+ // Determine if size is custom (number or unrecognized string)
363
+ const isCustomSize = typeof size === 'number' ||
364
+ !ITEM_SIZE_VALUES.includes(size);
365
+ const sizeTokenValue = typeof size === 'number' ? `${size}px` : isCustomSize ? size : undefined;
366
+ // Base mods for icon resolution (without icon-dependent mods)
367
+ const baseMods = useMemo(() => ({
368
+ disabled: finalIsDisabled,
369
+ selected: isSelected === true,
370
+ loading: isLoading,
371
+ ...(!isCustomSize && { size: size }),
372
+ type,
373
+ theme,
374
+ shape: finalShape,
375
+ ...mods,
376
+ }), [
377
+ finalIsDisabled,
378
+ isSelected,
379
+ isLoading,
380
+ size,
381
+ isCustomSize,
382
+ type,
383
+ theme,
384
+ finalShape,
385
+ mods,
386
+ ]);
387
+ // Resolve dynamic icon props (skip resolution for 'checkbox' special value)
388
+ const resolvedIcon = useMemo(() => {
389
+ if (hasCheckbox) {
390
+ return { content: null, hasSlot: true };
391
+ }
392
+ return resolveIcon(iconProp, baseMods);
393
+ }, [iconProp, baseMods, hasCheckbox]);
394
+ const resolvedRightIcon = useMemo(() => resolveIcon(rightIconProp, baseMods), [rightIconProp, baseMods]);
289
395
  // Determine which slot to use for loading when "auto" is selected
396
+ // Must be computed before hasIconSlot/hasRightIconSlot since they depend on it
290
397
  const resolvedLoadingSlot = useMemo(() => {
291
398
  if (loadingSlot !== 'auto')
292
399
  return loadingSlot;
293
400
  // Auto logic: prefer icon if present, then rightIcon, fallback to icon
294
- if (rightIcon && !icon)
401
+ if (resolvedRightIcon.hasSlot && !resolvedIcon.hasSlot)
295
402
  return 'rightIcon';
296
403
  return 'icon'; // fallback
297
- }, [loadingSlot, icon, rightIcon]);
404
+ }, [loadingSlot, resolvedIcon.hasSlot, resolvedRightIcon.hasSlot]);
405
+ // Determine if icon slots should render (original slot OR loading state targets this slot)
406
+ const hasIconSlot = resolvedIcon.hasSlot || (isLoading && resolvedLoadingSlot === 'icon');
407
+ const hasRightIconSlot = resolvedRightIcon.hasSlot ||
408
+ (isLoading && resolvedLoadingSlot === 'rightIcon');
298
409
  const showDescription = useMemo(() => {
299
410
  const copyProps = { ...descriptionProps };
300
411
  delete copyProps.id;
301
412
  return !!(description || Object.keys(copyProps).length > 0);
302
413
  }, [description, descriptionProps]);
303
414
  // Apply loading state to appropriate slots
304
- const finalIcon = isLoading && resolvedLoadingSlot === 'icon' ? _jsx(LoadingIcon, {}) : icon;
305
- const finalRightIcon = isLoading && resolvedLoadingSlot === 'rightIcon' ? (_jsx(LoadingIcon, {})) : (rightIcon);
415
+ const finalIcon = isLoading && resolvedLoadingSlot === 'icon' ? (_jsx(LoadingIcon, {})) : (resolvedIcon.content);
416
+ const finalRightIcon = isLoading && resolvedLoadingSlot === 'rightIcon' ? (_jsx(LoadingIcon, {})) : (resolvedRightIcon.content);
417
+ // Generate stable keys for icon transitions based on icon type
418
+ const iconKey = hasCheckbox
419
+ ? 'checkbox'
420
+ : isLoading && resolvedLoadingSlot === 'icon'
421
+ ? 'loading'
422
+ : isValidElement(finalIcon)
423
+ ? finalIcon.type?.displayName ||
424
+ finalIcon.type?.name ||
425
+ 'icon'
426
+ : finalIcon
427
+ ? 'icon'
428
+ : 'empty';
429
+ const rightIconKey = isLoading && resolvedLoadingSlot === 'rightIcon'
430
+ ? 'loading'
431
+ : isValidElement(finalRightIcon)
432
+ ? finalRightIcon.type?.displayName ||
433
+ finalRightIcon.type?.name ||
434
+ 'icon'
435
+ : finalRightIcon
436
+ ? 'icon'
437
+ : 'empty';
306
438
  const finalPrefix = isLoading && resolvedLoadingSlot === 'prefix' ? _jsx(LoadingIcon, {}) : prefix;
307
439
  // Build final suffix: loading icon, custom suffix, or HotKeys hint
308
440
  const finalSuffix = isLoading && resolvedLoadingSlot === 'suffix' ? (_jsx(LoadingIcon, {})) : (suffix ??
@@ -323,13 +455,14 @@ const Item = (props, ref) => {
323
455
  preventDefault: true,
324
456
  enableOnFormTags: true,
325
457
  }, [hotkeys, finalIsDisabled]);
326
- mods = useMemo(() => {
458
+ const finalMods = useMemo(() => {
327
459
  return {
328
- 'has-icon': !!finalIcon,
329
- 'has-start-content': !!(finalIcon || finalPrefix),
330
- 'has-end-content': !!(finalRightIcon || finalSuffix || actions),
331
- 'has-right-icon': !!finalRightIcon,
332
- 'has-label': !!(children || labelProps),
460
+ ...baseMods,
461
+ 'has-icon': hasIconSlot,
462
+ 'has-start-content': !!(hasIconSlot || finalPrefix),
463
+ 'has-end-content': !!(hasRightIconSlot || finalSuffix || actions),
464
+ 'has-right-icon': hasRightIconSlot,
465
+ 'has-label': hasLabel,
333
466
  'has-prefix': !!finalPrefix,
334
467
  'has-suffix': !!finalSuffix,
335
468
  'has-description': showDescription,
@@ -337,37 +470,20 @@ const Item = (props, ref) => {
337
470
  'has-actions-content': !!(actions && actions !== true),
338
471
  'show-actions-on-hover': showActionsOnHover === true,
339
472
  checkbox: hasCheckbox,
340
- disabled: finalIsDisabled,
341
- selected: isSelected === true,
342
- loading: isLoading,
343
- card: isCard === true,
344
- button: isButton === true,
345
- ...(typeof size === 'number' ? {} : { size }),
346
- description: showDescription ? descriptionPlacement : 'none',
347
- type,
348
- theme,
349
- shape,
350
- ...mods,
473
+ description: showDescription ? finalDescriptionPlacement : 'none',
351
474
  };
352
475
  }, [
353
- finalIcon,
354
- finalRightIcon,
476
+ baseMods,
477
+ hasIconSlot,
478
+ hasRightIconSlot,
355
479
  finalPrefix,
356
480
  finalSuffix,
357
481
  showDescription,
358
- descriptionPlacement,
482
+ finalDescriptionPlacement,
359
483
  hasCheckbox,
360
- isSelected,
361
- isLoading,
362
- isCard,
363
- isButton,
364
- shape,
365
484
  actions,
366
485
  showActionsOnHover,
367
- size,
368
- type,
369
- theme,
370
- mods,
486
+ hasLabel,
371
487
  ]);
372
488
  const { labelProps: finalLabelProps, labelRef, renderWithTooltip, } = useAutoTooltip({
373
489
  tooltip,
@@ -398,11 +514,14 @@ const Item = (props, ref) => {
398
514
  tooltipRef.current = element;
399
515
  }
400
516
  };
401
- // Merge custom size style with provided style
402
- const finalStyle = typeof size === 'number'
403
- ? { ...style, '--size': `${size}px` }
404
- : style;
405
- return (_jsxs(ItemElement, { ref: handleRef, variant: theme && type ? `${theme}.${type}` : undefined, disabled: finalIsDisabled, "aria-disabled": finalIsDisabled, "aria-selected": isSelected, mods: mods, styles: styles, type: htmlType, ...mergeProps(rest, tooltipTriggerProps || {}), style: finalStyle, children: [finalIcon && (_jsx("div", { "data-element": "Icon", children: hasCheckbox ? _jsx(CheckIcon, {}) : finalIcon })), finalPrefix && _jsx("div", { "data-element": "Prefix", children: finalPrefix }), children || labelProps ? (_jsx("div", { "data-element": "Label", ...finalLabelProps, ref: labelRef, children: processedChildren })) : null, showDescription ? (_jsx("div", { "data-element": "Description", ...descriptionProps, children: description })) : null, finalSuffix && _jsx("div", { "data-element": "Suffix", children: finalSuffix }), finalRightIcon && _jsx("div", { "data-element": "RightIcon", children: finalRightIcon }), actions && (_jsx("div", { "data-element": "Actions", ...ACTIONS_EVENT_HANDLERS, children: actions !== true ? (_jsx(ItemActionProvider, { type: type, theme: theme, disableActionsFocus: disableActionsFocus, children: actions })) : null }))] }));
517
+ return (_jsxs(ItemElement, { ref: handleRef, variant: theme && type
518
+ ? `${type === 'header' ? 'default' : theme}.${type === 'header' ? 'item' : type}`
519
+ : undefined, disabled: finalIsDisabled, "aria-disabled": finalIsDisabled, "aria-selected": isSelected, mods: finalMods, styles: styles, tokens: sizeTokenValue ? { $size: sizeTokenValue } : undefined, type: htmlType, ...mergeProps(rest, tooltipTriggerProps || {}), style: style, children: [hasIconSlot && (_jsx("div", { "data-element": "Icon", children: _jsx(IconSwitch, { noWrapper: true, contentKey: iconKey, children: hasCheckbox ? _jsx(CheckIcon, {}) : finalIcon }) })), finalPrefix && _jsx("div", { "data-element": "Prefix", children: finalPrefix }), children || labelProps
520
+ ? (() => {
521
+ const LabelTag = type === 'header' ? `h${level}` : 'div';
522
+ return (_jsx(LabelTag, { "data-element": "Label", ...finalLabelProps, ref: labelRef, children: processedChildren }));
523
+ })()
524
+ : null, showDescription ? (_jsx("div", { "data-element": "Description", ...descriptionProps, children: description })) : null, finalSuffix && _jsx("div", { "data-element": "Suffix", children: finalSuffix }), hasRightIconSlot && (_jsx("div", { "data-element": "RightIcon", children: _jsx(IconSwitch, { noWrapper: true, contentKey: rightIconKey, children: finalRightIcon }) })), actions && (_jsx("div", { "data-element": "Actions", ...ACTIONS_EVENT_HANDLERS, children: actions !== true ? (_jsx(ItemActionProvider, { type: type, theme: theme, disableActionsFocus: disableActionsFocus, children: actions })) : null }))] }));
406
525
  };
407
526
  return renderWithTooltip(renderItemElement, defaultTooltipPlacement);
408
527
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.97.1
4
+ * @cube-dev/ui-kit v0.98.0
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.97.1
4
+ * @cube-dev/ui-kit v0.98.0
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.97.1
4
+ * @cube-dev/ui-kit v0.98.0
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.97.1
4
+ * @cube-dev/ui-kit v0.98.0
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.97.1
4
+ * @cube-dev/ui-kit v0.98.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -9,6 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
9
9
  import { Children, forwardRef, isValidElement, useCallback, useEffect, useMemo, useRef, useState, } from 'react';
10
10
  import { extractStyles, filterBaseProps, INNER_STYLES, mergeStyles, OUTER_STYLES, tasty, } from '../../../tasty';
11
11
  import { isDevEnv } from '../../../tasty/utils/isDevEnv';
12
+ import { useCombinedRefs } from '../../../utils/react';
12
13
  import { Alert } from '../Alert';
13
14
  import { LayoutProvider, useLayoutContext } from './LayoutContext';
14
15
  const LayoutElement = tasty({
@@ -32,6 +33,7 @@ const LayoutElement = tasty({
32
33
  vertical: '1bw',
33
34
  },
34
35
  Inner: {
36
+ // .base-class[data-hover] > [data-element="Inner"] { ...}
35
37
  // Direct child selector required for nested layouts
36
38
  $: '>',
37
39
  position: 'absolute',
@@ -39,6 +41,8 @@ const LayoutElement = tasty({
39
41
  display: 'flex',
40
42
  flow: 'column',
41
43
  overflow: 'hidden',
44
+ placeContent: 'stretch',
45
+ placeItems: 'stretch',
42
46
  // Disable transition during panel resize for snappy feedback
43
47
  // Also disable transition when not ready to prevent initial animation
44
48
  // Only animate when has-transition is enabled (and not dragging/not-ready)
@@ -61,7 +65,8 @@ function LayoutInner(props) {
61
65
  const localRef = useRef(null);
62
66
  const [isAutoHeight, setIsAutoHeight] = useState(false);
63
67
  const [isCollapsed, setIsCollapsed] = useState(false);
64
- const { isGrid, columns, rows, template, contentPadding, hasTransition = false, styles, children, style, forwardedRef, _forceShowDevWarning, ...otherProps } = props;
68
+ const { isGrid, columns, rows, template, contentPadding, hasTransition = false, styles, children, style, forwardedRef, innerRef: innerRefProp, innerProps, _forceShowDevWarning, ...otherProps } = props;
69
+ const combinedInnerRef = useCombinedRefs(innerRefProp);
65
70
  // Separate panels from other children
66
71
  const { panels, content } = useMemo(() => {
67
72
  const panelElements = [];
@@ -80,12 +85,13 @@ function LayoutInner(props) {
80
85
  const outerStyles = extractStyles(otherProps, OUTER_STYLES);
81
86
  const innerStyles = extractStyles(otherProps, INNER_STYLES);
82
87
  // Calculate if the layout flow is vertical (for auto-border feature)
83
- // Default flow is 'column' (vertical), check if user overrides it
88
+ // Default flow is 'column' (vertical), only horizontal when explicitly set to 'row'
84
89
  const isVertical = useMemo(() => {
85
- const providedFlow = styles?.Inner?.flow;
86
- const flowValue = typeof providedFlow === 'string' ? providedFlow : 'column';
87
- return flowValue.startsWith('column');
88
- }, [styles?.Inner]);
90
+ const flowFromProp = innerStyles?.flow;
91
+ const flowFromStyles = styles?.Inner?.flow;
92
+ const flowValue = flowFromProp ?? flowFromStyles;
93
+ return typeof flowValue !== 'string' || !flowValue.startsWith('row');
94
+ }, [innerStyles?.flow, styles?.Inner]);
89
95
  // Merge styles using the same pattern as LayoutPane
90
96
  const finalStyles = useMemo(() => {
91
97
  // Handle grid mode and grid properties
@@ -210,7 +216,7 @@ function LayoutInner(props) {
210
216
  dismissOverlayPanels?.();
211
217
  }
212
218
  }, [hasOverlayPanels, dismissOverlayPanels]);
213
- return (_jsx(LayoutElement, { ref: setRefs, ...filterBaseProps(otherProps, { eventProps: true }), mods: mods, styles: finalStyles, style: insetStyle, onKeyDown: hasOverlayPanels ? handleKeyDown : undefined, children: showDevWarning ? (_jsxs(Alert, { theme: "danger", children: [_jsx("b", { children: "UIKit:" }), " ", _jsx("b", { children: "<Layout/>" }), " has collapsed to ", _jsx("b", { children: "0" }), " height. Ensure the parent container has a defined height or use the", ' ', _jsx("b", { children: "height" }), " prop on ", _jsx("b", { children: "<Layout/>" }), "."] })) : (_jsxs(_Fragment, { children: [panels, _jsx("div", { "data-element": "Inner", onFocus: handleInnerFocus, children: content })] })) }));
219
+ return (_jsx(LayoutElement, { ref: setRefs, ...filterBaseProps(otherProps, { eventProps: true }), mods: mods, styles: finalStyles, style: insetStyle, onKeyDown: hasOverlayPanels ? handleKeyDown : undefined, children: showDevWarning ? (_jsxs(Alert, { theme: "danger", children: [_jsx("b", { children: "UIKit:" }), " ", _jsx("b", { children: "<Layout/>" }), " has collapsed to ", _jsx("b", { children: "0" }), " height. Ensure the parent container has a defined height or use the", ' ', _jsx("b", { children: "height" }), " prop on ", _jsx("b", { children: "<Layout/>" }), "."] })) : (_jsxs(_Fragment, { children: [panels, _jsx("div", { ref: combinedInnerRef, "data-element": "Inner", onFocus: handleInnerFocus, ...innerProps, children: content })] })) }));
214
220
  }
215
221
  /**
216
222
  * Layout component provides a vertical flex layout with overflow-safe content.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.97.1
4
+ * @cube-dev/ui-kit v0.98.0
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.97.1
4
+ * @cube-dev/ui-kit v0.98.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,13 +1,14 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.97.1
4
+ * @cube-dev/ui-kit v0.98.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
- import { forwardRef, useMemo } from 'react';
9
+ import { forwardRef, useMemo, } from 'react';
10
10
  import { CONTAINER_STYLES, extractStyles, filterBaseProps, mergeStyles, tasty, } from '../../../tasty';
11
+ import { useCombinedRefs } from '../../../utils/react';
11
12
  import { LayoutContextReset } from './LayoutContext';
12
13
  const ContainerElement = tasty({
13
14
  as: 'div',
@@ -26,7 +27,7 @@ const ContainerElement = tasty({
26
27
  width: '100%',
27
28
  border: {
28
29
  '': 0,
29
- '!:last-child': '$layout-border-size solid #border bottom',
30
+ '!:last-child': '($layout-border-size, 1bw) solid #border bottom',
30
31
  },
31
32
  Inner: {
32
33
  $: '>',
@@ -35,17 +36,19 @@ const ContainerElement = tasty({
35
36
  flow: 'column',
36
37
  width: '40x 100% 120x',
37
38
  boxSizing: 'border-box',
39
+ '$layout-border-size': '0',
38
40
  },
39
41
  },
40
42
  });
41
43
  function LayoutContainer(props, ref) {
42
- const { children, styles, innerStyles: innerStylesProp, ...otherProps } = props;
44
+ const { children, styles, innerStyles: innerStylesProp, innerRef: innerRefProp, innerProps, ...otherProps } = props;
43
45
  const innerStyles = extractStyles(otherProps, CONTAINER_STYLES, innerStylesProp);
44
46
  const hasInnerStyles = Object.keys(innerStyles).length > 0;
45
47
  const finalStyles = useMemo(() => {
46
48
  return mergeStyles(styles, hasInnerStyles ? { Inner: innerStyles } : null);
47
49
  }, [styles, hasInnerStyles, innerStyles]);
48
- return (_jsx(ContainerElement, { ref: ref, ...filterBaseProps(otherProps, { eventProps: true }), styles: finalStyles, children: _jsx("div", { "data-element": "Inner", children: _jsx(LayoutContextReset, { children: children }) }) }));
50
+ const combinedInnerRef = useCombinedRefs(innerRefProp);
51
+ return (_jsx(ContainerElement, { ref: ref, ...filterBaseProps(otherProps, { eventProps: true }), styles: finalStyles, children: _jsx("div", { ref: combinedInnerRef, "data-element": "Inner", ...innerProps, children: _jsx(LayoutContextReset, { children: children }) }) }));
49
52
  }
50
53
  const _LayoutContainer = forwardRef(LayoutContainer);
51
54
  _LayoutContainer.displayName = 'Layout.Container';