@cube-dev/ui-kit 0.96.0 → 0.97.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 (542) hide show
  1. package/CHANGELOG.md +22 -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 +46 -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 +1 -1
  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 +1 -1
  33. package/es/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/es/components/actions/ItemButton/index.js +1 -1
  35. package/es/components/actions/Link/Link.js +1 -1
  36. package/es/components/actions/Menu/Menu.js +1 -1
  37. package/es/components/actions/Menu/MenuItem.js +9 -7
  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 +1 -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 +1 -1
  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 +11 -3
  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 +27 -3
  75. package/es/components/content/Layout/LayoutBlock.js +1 -1
  76. package/es/components/content/Layout/LayoutCenter.js +31 -0
  77. package/es/components/content/Layout/LayoutContainer.js +50 -0
  78. package/es/components/content/Layout/LayoutContent.js +1 -1
  79. package/es/components/content/Layout/LayoutContext.js +23 -1
  80. package/es/components/content/Layout/LayoutFlex.js +1 -1
  81. package/es/components/content/Layout/LayoutFooter.js +1 -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 +1 -1
  85. package/es/components/content/Layout/LayoutPanel.js +63 -10
  86. package/es/components/content/Layout/LayoutPanelHeader.js +1 -1
  87. package/es/components/content/Layout/LayoutToolbar.js +1 -1
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  89. package/es/components/content/Layout/index.js +5 -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 +1 -1
  101. package/es/components/content/Text.js +1 -1
  102. package/es/components/content/TextItem/TextItem.js +3 -24
  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 +33 -0
  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 +1 -1
  131. package/es/components/fields/FilterListBox/index.js +1 -1
  132. package/es/components/fields/FilterPicker/FilterPicker.js +1 -1
  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 +7 -5
  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 +1 -1
  140. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  141. package/es/components/fields/Picker/Picker.js +1 -1
  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 +9 -5
  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 +1 -1
  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 +1 -1
  195. package/es/components/helpers/index.js +1 -1
  196. package/es/components/layout/Flex.js +1 -1
  197. package/es/components/layout/Flow.js +1 -1
  198. package/es/components/layout/Grid.js +1 -1
  199. package/es/components/layout/Panel.js +1 -1
  200. package/es/components/layout/Prefix.js +1 -1
  201. package/es/components/layout/ResizablePanel.js +1 -1
  202. package/es/components/layout/Space.js +1 -1
  203. package/es/components/layout/Suffix.js +1 -1
  204. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  205. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  206. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  207. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  208. package/es/components/other/Calendar/Calendar.js +1 -1
  209. package/es/components/other/Calendar/CalendarCell.js +1 -1
  210. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  211. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  212. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  213. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  214. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  215. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  216. package/es/components/overlays/AlertDialog/index.js +1 -1
  217. package/es/components/overlays/AlertDialog/types.js +1 -1
  218. package/es/components/overlays/Dialog/Dialog.js +1 -1
  219. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  220. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  221. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  222. package/es/components/overlays/Dialog/context.js +1 -1
  223. package/es/components/overlays/Dialog/index.js +1 -1
  224. package/es/components/overlays/Dialog/use-dialog-container.js +1 -1
  225. package/es/components/overlays/Modal/Modal.js +1 -1
  226. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  227. package/es/components/overlays/Modal/Overlay.js +1 -1
  228. package/es/components/overlays/Modal/Popover.js +1 -1
  229. package/es/components/overlays/Modal/Tray.js +1 -1
  230. package/es/components/overlays/Modal/Underlay.js +1 -1
  231. package/es/components/overlays/Modal/index.js +1 -1
  232. package/es/components/overlays/Modal/types.js +1 -1
  233. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  234. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  235. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  236. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  237. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogContext.js +1 -1
  238. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  239. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  240. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  241. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  242. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  243. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  244. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  245. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  246. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  247. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  248. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  249. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  250. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  251. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  252. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  253. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  254. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  255. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  256. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  257. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  258. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  259. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  260. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  261. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  262. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  263. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  264. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  265. package/es/components/overlays/NewNotifications/index.js +1 -1
  266. package/es/components/overlays/NewNotifications/types.js +1 -1
  267. package/es/components/overlays/Notification/Notification.js +1 -1
  268. package/es/components/overlays/OverlayWrapper.js +1 -1
  269. package/es/components/overlays/Toasts/Toast.js +1 -1
  270. package/es/components/overlays/Toasts/index.js +1 -1
  271. package/es/components/overlays/Toasts/types.js +1 -1
  272. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  273. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  274. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  275. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  276. package/es/components/overlays/Tooltip/context.js +1 -1
  277. package/es/components/overlays/Tooltip/index.js +1 -1
  278. package/es/components/portal/Portal.js +1 -1
  279. package/es/components/portal/PortalProvider.js +1 -1
  280. package/es/components/portal/index.js +1 -1
  281. package/es/components/portal/types.js +1 -1
  282. package/es/components/portal/usePortal.js +1 -1
  283. package/es/components/shared/InvalidIcon.js +1 -1
  284. package/es/components/shared/ValidIcon.js +1 -1
  285. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  286. package/es/components/status/LoadingAnimation/index.js +1 -1
  287. package/es/components/status/Spin/Cube.js +1 -1
  288. package/es/components/status/Spin/InternalSpinner.js +1 -1
  289. package/es/components/status/Spin/Spin.js +1 -1
  290. package/es/components/status/Spin/SpinsContainer.js +1 -1
  291. package/es/components/status/Spin/index.js +1 -1
  292. package/es/components/status/Spin/types.js +1 -1
  293. package/es/components/status/index.js +1 -1
  294. package/es/data/item-themes.js +1 -1
  295. package/es/data/themes.js +1 -1
  296. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  297. package/es/icons/AdjustmentsIcon.js +1 -1
  298. package/es/icons/AiIcon.js +1 -1
  299. package/es/icons/AreaChartIcon.js +1 -1
  300. package/es/icons/BackwardIcon.js +1 -1
  301. package/es/icons/BarChartIcon.js +1 -1
  302. package/es/icons/BellFilledIcon.js +1 -1
  303. package/es/icons/BellIcon.js +1 -1
  304. package/es/icons/BooleanIcon.js +1 -1
  305. package/es/icons/CalendarEditIcon.js +1 -1
  306. package/es/icons/CalendarIcon.js +1 -1
  307. package/es/icons/CaretDownIcon.js +1 -1
  308. package/es/icons/CaretUpIcon.js +1 -1
  309. package/es/icons/ChartAreaStackedIcon.js +1 -1
  310. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  311. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  312. package/es/icons/ChartBarGroupedIcon.js +1 -1
  313. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  314. package/es/icons/ChartBarLineIcon.js +1 -1
  315. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  316. package/es/icons/ChartBarStackedIcon.js +1 -1
  317. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  318. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  319. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  320. package/es/icons/ChartBoxPlotIcon.js +1 -1
  321. package/es/icons/ChartBubbleIcon.js +1 -1
  322. package/es/icons/ChartDonut2Icon.js +1 -1
  323. package/es/icons/ChartFunnelIcon.js +1 -1
  324. package/es/icons/ChartHeatmapIcon.js +1 -1
  325. package/es/icons/ChartKPIIcon.js +1 -1
  326. package/es/icons/ChartPie2Icon.js +1 -1
  327. package/es/icons/ChartScatterIcon.js +1 -1
  328. package/es/icons/CheckCircleFilledIcon.js +1 -1
  329. package/es/icons/CheckCircleIcon.js +1 -1
  330. package/es/icons/CheckIcon.js +1 -1
  331. package/es/icons/CircleFilledIcon.js +1 -1
  332. package/es/icons/ClearIcon.js +1 -1
  333. package/es/icons/CloseCircleFilledIcon.js +1 -1
  334. package/es/icons/CloseCircleIcon.js +1 -1
  335. package/es/icons/CloseIcon.js +1 -1
  336. package/es/icons/CodeIcon.js +1 -1
  337. package/es/icons/CopyIcon.js +1 -1
  338. package/es/icons/CountIcon.js +1 -1
  339. package/es/icons/CubeIcon.js +1 -1
  340. package/es/icons/CubePauseIcon.js +1 -1
  341. package/es/icons/CubePlayIcon.js +1 -1
  342. package/es/icons/CurrencyDollarIcon.js +1 -1
  343. package/es/icons/DangerIcon.js +1 -1
  344. package/es/icons/DashboardIcon.js +1 -1
  345. package/es/icons/DatabaseIcon.js +1 -1
  346. package/es/icons/DecimalDecreaseIcon.js +1 -1
  347. package/es/icons/DecimalIncreaseIcon.js +1 -1
  348. package/es/icons/DirectionIcon.js +1 -1
  349. package/es/icons/DonutIcon.js +1 -1
  350. package/es/icons/DownIcon.js +1 -1
  351. package/es/icons/EditIcon.js +1 -1
  352. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  353. package/es/icons/ExclamationCircleIcon.js +1 -1
  354. package/es/icons/ExclamationIcon.js +1 -1
  355. package/es/icons/EyeIcon.js +1 -1
  356. package/es/icons/EyeInvisibleIcon.js +1 -1
  357. package/es/icons/FilterIcon.js +1 -1
  358. package/es/icons/FolderFilledIcon.js +1 -1
  359. package/es/icons/FolderIcon.js +1 -1
  360. package/es/icons/FolderOpenFilledIcon.js +1 -1
  361. package/es/icons/FolderOpenIcon.js +1 -1
  362. package/es/icons/ForwardIcon.js +1 -1
  363. package/es/icons/HierarchyIcon.js +1 -1
  364. package/es/icons/HierarchyOpenIcon.js +1 -1
  365. package/es/icons/Icon.js +1 -1
  366. package/es/icons/InfoCircleIcon.js +1 -1
  367. package/es/icons/InfoIcon.js +1 -1
  368. package/es/icons/KeyIcon.js +1 -1
  369. package/es/icons/LeftIcon.js +1 -1
  370. package/es/icons/LineChartIcon.js +1 -1
  371. package/es/icons/LoadingIcon.js +1 -1
  372. package/es/icons/LockFilledIcon.js +1 -1
  373. package/es/icons/LockIcon.js +1 -1
  374. package/es/icons/MoreIcon.js +1 -1
  375. package/es/icons/NotAllowedIcon.js +1 -1
  376. package/es/icons/Number123Icon.js +1 -1
  377. package/es/icons/NumberIcon.js +1 -1
  378. package/es/icons/PauseCircleFilledIcon.js +1 -1
  379. package/es/icons/PauseCircleIcon.js +1 -1
  380. package/es/icons/PauseIcon.js +1 -1
  381. package/es/icons/PercentageIcon.js +1 -1
  382. package/es/icons/PieChartIcon.js +1 -1
  383. package/es/icons/PlayCircleIcon.js +1 -1
  384. package/es/icons/PlayIcon.js +1 -1
  385. package/es/icons/PlusIcon.js +1 -1
  386. package/es/icons/ProgressBarIcon.js +1 -1
  387. package/es/icons/ReloadIcon.js +1 -1
  388. package/es/icons/ReportIcon.js +1 -1
  389. package/es/icons/ReturnIcon.js +1 -1
  390. package/es/icons/RightIcon.js +1 -1
  391. package/es/icons/SchemeIcon.js +1 -1
  392. package/es/icons/SearchIcon.js +1 -1
  393. package/es/icons/SettingsIcon.js +1 -1
  394. package/es/icons/ShieldFilledIcon.js +1 -1
  395. package/es/icons/ShieldIcon.js +1 -1
  396. package/es/icons/SlashIcon.js +1 -1
  397. package/es/icons/SparklesIcon.js +1 -1
  398. package/es/icons/SqlIcon.js +1 -1
  399. package/es/icons/StatsIcon.js +1 -1
  400. package/es/icons/StopIcon.js +1 -1
  401. package/es/icons/StringIcon.js +1 -1
  402. package/es/icons/SwitchIcon.js +1 -1
  403. package/es/icons/TableIcon.js +1 -1
  404. package/es/icons/ThumbsDownIcon.js +1 -1
  405. package/es/icons/ThumbsUpIcon.js +1 -1
  406. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  407. package/es/icons/ThunderboltFilledIcon.js +1 -1
  408. package/es/icons/ThunderboltIcon.js +1 -1
  409. package/es/icons/TimeIcon.js +1 -1
  410. package/es/icons/TrashIcon.js +1 -1
  411. package/es/icons/UnlockIcon.js +1 -1
  412. package/es/icons/UpIcon.js +1 -1
  413. package/es/icons/UserGroupIcon.js +1 -1
  414. package/es/icons/UserIcon.js +1 -1
  415. package/es/icons/UserLockIcon.js +1 -1
  416. package/es/icons/ViewIcon.js +1 -1
  417. package/es/icons/WarningFilledIcon.js +1 -1
  418. package/es/icons/WarningIcon.js +1 -1
  419. package/es/icons/add-new-icon.js +1 -1
  420. package/es/icons/index.js +1 -1
  421. package/es/icons/wrap-icon.js +1 -1
  422. package/es/index.js +1 -1
  423. package/es/provider.js +1 -1
  424. package/es/providers/TrackingProvider.js +1 -1
  425. package/es/providers/navigation.types.js +1 -1
  426. package/es/providers/navigationAdapter.default.js +1 -1
  427. package/es/services/notification.js +1 -1
  428. package/es/shared/form.js +1 -1
  429. package/es/shared/index.js +1 -1
  430. package/es/stories/Form.legacy-stories.js +1 -1
  431. package/es/stories/FormFieldArgs.js +1 -1
  432. package/es/stories/SimpleLayout.stories.js +1 -1
  433. package/es/stories/Tasty.stories.js +1 -1
  434. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  435. package/es/stories/components/DialogFormApp.js +1 -1
  436. package/es/stories/components/StyledButton.js +1 -1
  437. package/es/stories/lists/baseProps.js +1 -1
  438. package/es/tasty/debug.js +1 -1
  439. package/es/tasty/index.js +1 -1
  440. package/es/tasty/injector/index.js +1 -1
  441. package/es/tasty/injector/injector.js +1 -1
  442. package/es/tasty/injector/sheet-manager.js +1 -1
  443. package/es/tasty/injector/types.js +1 -1
  444. package/es/tasty/parser/classify.js +1 -1
  445. package/es/tasty/parser/const.js +1 -1
  446. package/es/tasty/parser/lru.js +1 -1
  447. package/es/tasty/parser/parser.js +1 -1
  448. package/es/tasty/parser/tokenizer.js +1 -1
  449. package/es/tasty/parser/types.js +1 -1
  450. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  451. package/es/tasty/styles/align.js +1 -1
  452. package/es/tasty/styles/border.js +1 -1
  453. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  454. package/es/tasty/styles/color.js +1 -1
  455. package/es/tasty/styles/createStyle.js +1 -1
  456. package/es/tasty/styles/dimension.js +1 -1
  457. package/es/tasty/styles/display.js +1 -1
  458. package/es/tasty/styles/fade.js +1 -1
  459. package/es/tasty/styles/fill.js +1 -1
  460. package/es/tasty/styles/flow.js +1 -1
  461. package/es/tasty/styles/font.js +1 -1
  462. package/es/tasty/styles/fontStyle.js +1 -1
  463. package/es/tasty/styles/gap.js +1 -1
  464. package/es/tasty/styles/groupRadius.js +1 -1
  465. package/es/tasty/styles/height.js +1 -1
  466. package/es/tasty/styles/index.js +1 -1
  467. package/es/tasty/styles/inset.js +1 -1
  468. package/es/tasty/styles/justify.js +1 -1
  469. package/es/tasty/styles/list.js +1 -1
  470. package/es/tasty/styles/margin.js +1 -1
  471. package/es/tasty/styles/outline.js +1 -1
  472. package/es/tasty/styles/padding.js +1 -1
  473. package/es/tasty/styles/place.js +1 -1
  474. package/es/tasty/styles/predefined.js +1 -1
  475. package/es/tasty/styles/preset.js +1 -1
  476. package/es/tasty/styles/radius.js +1 -1
  477. package/es/tasty/styles/reset.js +1 -1
  478. package/es/tasty/styles/scrollbar.js +1 -1
  479. package/es/tasty/styles/shadow.js +1 -1
  480. package/es/tasty/styles/styledScrollbar.js +1 -1
  481. package/es/tasty/styles/transition.js +1 -1
  482. package/es/tasty/styles/types.js +1 -1
  483. package/es/tasty/styles/width.js +1 -1
  484. package/es/tasty/tasty.js +1 -1
  485. package/es/tasty/types.js +1 -1
  486. package/es/tasty/utils/cache-wrapper.js +1 -1
  487. package/es/tasty/utils/case-converter.js +1 -1
  488. package/es/tasty/utils/colors.js +1 -1
  489. package/es/tasty/utils/dotize.js +1 -1
  490. package/es/tasty/utils/filterBaseProps.js +1 -1
  491. package/es/tasty/utils/getDisplayName.js +1 -1
  492. package/es/tasty/utils/getModCombinations.js +1 -1
  493. package/es/tasty/utils/isDevEnv.js +1 -1
  494. package/es/tasty/utils/mergeStyles.js +1 -1
  495. package/es/tasty/utils/modAttrs.js +1 -1
  496. package/es/tasty/utils/renderStyles.js +1 -1
  497. package/es/tasty/utils/responsive.js +1 -1
  498. package/es/tasty/utils/string.js +1 -1
  499. package/es/tasty/utils/styles.js +1 -1
  500. package/es/tasty/utils/warnings.js +1 -1
  501. package/es/tokens.js +1 -1
  502. package/es/utils/ResizeSensor.js +1 -1
  503. package/es/utils/index.js +1 -1
  504. package/es/utils/modules.js +1 -1
  505. package/es/utils/promise.js +1 -1
  506. package/es/utils/raf.js +1 -1
  507. package/es/utils/random.js +1 -1
  508. package/es/utils/range.js +1 -1
  509. package/es/utils/react/RenderCache.js +1 -1
  510. package/es/utils/react/Slots.js +1 -1
  511. package/es/utils/react/chain.js +1 -1
  512. package/es/utils/react/forwardRefWithGenerics.js +1 -1
  513. package/es/utils/react/index.js +1 -1
  514. package/es/utils/react/interactions.js +1 -1
  515. package/es/utils/react/isTextOnly.js +1 -1
  516. package/es/utils/react/mapProps.js +1 -1
  517. package/es/utils/react/mergeProps.js +1 -1
  518. package/es/utils/react/nullableValue.js +1 -1
  519. package/es/utils/react/sharedStore.js +1 -1
  520. package/es/utils/react/useCombinedRefs.js +1 -1
  521. package/es/utils/react/useControlledFocusVisible.js +1 -1
  522. package/es/utils/react/useEventBus.js +1 -1
  523. package/es/utils/react/useId.js +1 -1
  524. package/es/utils/react/useIsDarwin.js +1 -1
  525. package/es/utils/react/useKeySymbols.js +1 -1
  526. package/es/utils/react/useLayoutEffect.js +1 -1
  527. package/es/utils/react/useLocalStorage.js +1 -1
  528. package/es/utils/react/useQaProps.js +1 -1
  529. package/es/utils/react/useViewportSize.js +1 -1
  530. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  531. package/es/utils/tree.js +1 -1
  532. package/es/utils/warnings.js +1 -1
  533. package/es/version.js +2 -2
  534. package/package.json +1 -1
  535. package/types/components/CollectionItem.d.ts +17 -0
  536. package/types/components/content/Item/Item.d.ts +15 -1
  537. package/types/components/content/Layout/LayoutCenter.d.ts +5 -0
  538. package/types/components/content/Layout/LayoutContainer.d.ts +11 -0
  539. package/types/components/content/Layout/LayoutContext.d.ts +8 -0
  540. package/types/components/content/Layout/LayoutPanel.d.ts +21 -2
  541. package/types/components/content/Layout/index.d.ts +7 -1
  542. package/types/components/content/highlightText.d.ts +7 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -15,6 +15,7 @@ import { CONTAINER_STYLES, tasty, } from '../../../tasty';
15
15
  import { mergeProps } from '../../../utils/react';
16
16
  import { ItemAction } from '../../actions/ItemAction';
17
17
  import { ItemActionProvider } from '../../actions/ItemActionContext';
18
+ import { highlightText } from '../highlightText';
18
19
  import { HotKeys } from '../HotKeys';
19
20
  import { ItemBadge } from '../ItemBadge';
20
21
  import { useAutoTooltip } from '../use-auto-tooltip';
@@ -280,7 +281,7 @@ const ItemElement = tasty({
280
281
  styleProps: CONTAINER_STYLES,
281
282
  });
282
283
  const Item = (props, ref) => {
283
- 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', ...rest } = props;
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;
284
285
  // Loading state makes the component disabled
285
286
  const finalIsDisabled = isDisabled === true || (isLoading && isDisabled !== false);
286
287
  // Determine if we should show checkbox instead of icon
@@ -374,6 +375,13 @@ const Item = (props, ref) => {
374
375
  labelProps,
375
376
  isDynamicLabel: !!actions,
376
377
  });
378
+ // Process children with highlight if applicable
379
+ const processedChildren = useMemo(() => {
380
+ if (typeof children === 'string' && highlight) {
381
+ return highlightText(children, highlight, highlightCaseSensitive, highlightStyles);
382
+ }
383
+ return children;
384
+ }, [children, highlight, highlightCaseSensitive, highlightStyles]);
377
385
  // Render function that creates the item element
378
386
  const renderItemElement = (tooltipTriggerProps, tooltipRef) => {
379
387
  // Use callback ref to merge multiple refs without calling hooks
@@ -394,7 +402,7 @@ const Item = (props, ref) => {
394
402
  const finalStyle = typeof size === 'number'
395
403
  ? { ...style, '--size': `${size}px` }
396
404
  : style;
397
- 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: children })) : 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 }))] }));
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 }))] }));
398
406
  };
399
407
  return renderWithTooltip(renderItemElement, defaultTooltipPlacement);
400
408
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
- import { Children, forwardRef, isValidElement, useEffect, useMemo, useRef, useState, } from 'react';
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
12
  import { Alert } from '../Alert';
@@ -111,6 +111,8 @@ function LayoutInner(props) {
111
111
  const isDragging = layoutContext?.isDragging ?? false;
112
112
  const isReady = layoutContext?.isReady ?? true;
113
113
  const markReady = layoutContext?.markReady;
114
+ const dismissOverlayPanels = layoutContext?.dismissOverlayPanels;
115
+ const hasOverlayPanels = layoutContext?.hasOverlayPanels ?? false;
114
116
  // Mark layout as ready after first paint
115
117
  // Using useEffect + requestAnimationFrame ensures:
116
118
  // 1. Panels register in useLayoutEffect → correct insets before first paint
@@ -173,7 +175,29 @@ function LayoutInner(props) {
173
175
  };
174
176
  // Show dev warning when collapsed and in dev mode (or forced for stories)
175
177
  const showDevWarning = isCollapsed && (_forceShowDevWarning || isDevEnv());
176
- return (_jsx(LayoutElement, { ref: setRefs, ...filterBaseProps(otherProps, { eventProps: true }), mods: mods, styles: finalStyles, style: insetStyle, 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", children: content })] })) }));
178
+ // Handle focus entering the Inner element - dismiss overlay panels
179
+ const handleInnerFocus = useCallback((e) => {
180
+ // Only dismiss if there are overlay panels
181
+ if (!hasOverlayPanels)
182
+ return;
183
+ // Check if focus is coming from outside the Inner element
184
+ const inner = e.currentTarget;
185
+ const relatedTarget = e.relatedTarget;
186
+ // If relatedTarget is null or not inside the Inner element,
187
+ // focus is entering from outside - dismiss overlay panels
188
+ if (!relatedTarget || !inner.contains(relatedTarget)) {
189
+ dismissOverlayPanels?.();
190
+ }
191
+ }, [hasOverlayPanels, dismissOverlayPanels]);
192
+ // Handle Escape key anywhere in the Layout - dismiss overlay panels
193
+ const handleKeyDown = useCallback((e) => {
194
+ if (hasOverlayPanels && e.key === 'Escape') {
195
+ e.preventDefault();
196
+ e.stopPropagation();
197
+ dismissOverlayPanels?.();
198
+ }
199
+ }, [hasOverlayPanels, dismissOverlayPanels]);
200
+ 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 })] })) }));
177
201
  }
178
202
  /**
179
203
  * 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.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.97.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { forwardRef } from 'react';
10
+ import { tasty } from '../../../tasty';
11
+ import { LayoutContainer } from './LayoutContainer';
12
+ const CenterElement = tasty(LayoutContainer, {
13
+ qa: 'LayoutCenter',
14
+ styles: {
15
+ placeItems: 'center',
16
+ placeContent: 'center',
17
+ Inner: {
18
+ textAlign: 'center',
19
+ placeItems: 'center',
20
+ },
21
+ },
22
+ });
23
+ function LayoutCenter(props, ref) {
24
+ const { children, ...otherProps } = props;
25
+ return (_jsx(CenterElement, { ...otherProps, ref: ref, children: children }));
26
+ }
27
+ const _LayoutCenter = forwardRef(LayoutCenter);
28
+ _LayoutCenter.displayName = 'Layout.Center';
29
+ export { _LayoutCenter as LayoutCenter };
30
+
31
+
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.97.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { forwardRef, useMemo } from 'react';
10
+ import { CONTAINER_STYLES, extractStyles, filterBaseProps, mergeStyles, tasty, } from '../../../tasty';
11
+ import { LayoutContextReset } from './LayoutContext';
12
+ const ContainerElement = tasty({
13
+ as: 'div',
14
+ qa: 'LayoutContainer',
15
+ styles: {
16
+ display: 'flex',
17
+ flow: 'column',
18
+ flexGrow: 1,
19
+ flexShrink: 1,
20
+ placeItems: 'center start',
21
+ placeContent: 'stretch',
22
+ overflow: 'auto',
23
+ scrollbar: 'thin',
24
+ padding: '$content-padding',
25
+ placeSelf: 'stretch',
26
+ width: '100%',
27
+ Inner: {
28
+ $: '>',
29
+ placeSelf: 'center',
30
+ display: 'flex',
31
+ flow: 'column',
32
+ width: '40x 100% 120x',
33
+ boxSizing: 'border-box',
34
+ },
35
+ },
36
+ });
37
+ function LayoutContainer(props, ref) {
38
+ const { children, styles, innerStyles: innerStylesProp, ...otherProps } = props;
39
+ const innerStyles = extractStyles(otherProps, CONTAINER_STYLES, innerStylesProp);
40
+ const hasInnerStyles = Object.keys(innerStyles).length > 0;
41
+ const finalStyles = useMemo(() => {
42
+ return mergeStyles(styles, hasInnerStyles ? { Inner: innerStyles } : null);
43
+ }, [styles, hasInnerStyles, innerStyles]);
44
+ return (_jsx(ContainerElement, { ref: ref, ...filterBaseProps(otherProps, { eventProps: true }), styles: finalStyles, children: _jsx("div", { "data-element": "Inner", children: _jsx(LayoutContextReset, { children: children }) }) }));
45
+ }
46
+ const _LayoutContainer = forwardRef(LayoutContainer);
47
+ _LayoutContainer.displayName = 'Layout.Container';
48
+ export { _LayoutContainer as LayoutContainer };
49
+
50
+
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -13,6 +13,7 @@ export function useLayoutContext() {
13
13
  }
14
14
  export function LayoutProvider({ children, hasTransition = false, }) {
15
15
  const registeredPanels = useRef(new Set());
16
+ const overlayPanelCallbacks = useRef(new Set());
16
17
  const [panelSizes, setPanelSizes] = useState({
17
18
  left: 0,
18
19
  top: 0,
@@ -21,6 +22,7 @@ export function LayoutProvider({ children, hasTransition = false, }) {
21
22
  });
22
23
  const [isDragging, setIsDragging] = useState(false);
23
24
  const [isReady, setIsReady] = useState(false);
25
+ const [hasOverlayPanels, setHasOverlayPanels] = useState(false);
24
26
  const registerPanel = useCallback((side, size) => {
25
27
  if (registeredPanels.current.has(side)) {
26
28
  throw new Error(`Layout: Only one panel per side is allowed. ` +
@@ -67,6 +69,20 @@ export function LayoutProvider({ children, hasTransition = false, }) {
67
69
  const markReady = useCallback(() => {
68
70
  setIsReady(true);
69
71
  }, []);
72
+ // Register an overlay panel's dismiss callback
73
+ const registerOverlayPanel = useCallback((dismiss) => {
74
+ overlayPanelCallbacks.current.add(dismiss);
75
+ setHasOverlayPanels(true);
76
+ // Return unregister function
77
+ return () => {
78
+ overlayPanelCallbacks.current.delete(dismiss);
79
+ setHasOverlayPanels(overlayPanelCallbacks.current.size > 0);
80
+ };
81
+ }, []);
82
+ // Dismiss all overlay panels
83
+ const dismissOverlayPanels = useCallback(() => {
84
+ overlayPanelCallbacks.current.forEach((dismiss) => dismiss());
85
+ }, []);
70
86
  const value = useMemo(() => ({
71
87
  registerPanel,
72
88
  unregisterPanel,
@@ -77,6 +93,9 @@ export function LayoutProvider({ children, hasTransition = false, }) {
77
93
  isDragging,
78
94
  isReady,
79
95
  hasTransition,
96
+ registerOverlayPanel,
97
+ dismissOverlayPanels,
98
+ hasOverlayPanels,
80
99
  }), [
81
100
  registerPanel,
82
101
  unregisterPanel,
@@ -87,6 +106,9 @@ export function LayoutProvider({ children, hasTransition = false, }) {
87
106
  isDragging,
88
107
  isReady,
89
108
  hasTransition,
109
+ registerOverlayPanel,
110
+ dismissOverlayPanels,
111
+ hasOverlayPanels,
90
112
  ]);
91
113
  return (_jsx(LayoutContext.Provider, { value: value, children: children }));
92
114
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.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.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -213,6 +213,27 @@ const ResizeHandlerElement = tasty({
213
213
  },
214
214
  },
215
215
  });
216
+ // Overlay backdrop for overlay mode - covers the content area behind the panel
217
+ const OverlayBackdrop = tasty({
218
+ qa: 'PanelOverlay',
219
+ styles: {
220
+ position: 'absolute',
221
+ inset: 0,
222
+ zIndex: 9, // Below panel (10) but above content
223
+ // fill: '#white.2',
224
+ backdropFilter: 'invert(.15)',
225
+ cursor: 'pointer',
226
+ opacity: {
227
+ '': 0,
228
+ visible: 1,
229
+ },
230
+ pointerEvents: {
231
+ '': 'none',
232
+ visible: 'auto',
233
+ },
234
+ transition: 'opacity .15s ease-out',
235
+ },
236
+ });
216
237
  function ResizeHandler(props) {
217
238
  const { side, isDisabled, mods, moveProps, style, onDoubleClick } = props;
218
239
  const { hoverProps, isHovered } = useHover({});
@@ -241,7 +262,14 @@ function LayoutPanel(props, ref) {
241
262
  if (!layoutContext) {
242
263
  throw new Error('Layout.Panel must be a direct child of Layout component.');
243
264
  }
244
- const { side = 'left', size: providedSize, defaultSize = 280, minSize = 200, maxSize, isResizable = false, onSizeChange, isOpen: providedIsOpen, defaultIsOpen = true, onOpenChange, hasTransition: hasTransitionProp, isDialog = false, isDialogOpen: providedIsDialogOpen, defaultIsDialogOpen = false, onDialogOpenChange, dialogProps, contentPadding, sizeStorageKey, children, styles, mods, ...otherProps } = props;
265
+ const { side = 'left', mode: modeProp, size: providedSize, defaultSize = 280, minSize = 200, maxSize, isResizable = false, onSizeChange, isOpen: providedIsOpen, defaultIsOpen = true, onOpenChange, hasTransition: hasTransitionProp, isDismissable = true, overlayStyles,
266
+ // Deprecated prop - use mode="dialog" instead
267
+ isDialog = false, isDialogOpen: providedIsDialogOpen, defaultIsDialogOpen = false, onDialogOpenChange, dialogProps, contentPadding, sizeStorageKey, children, styles, mods, ...otherProps } = props;
268
+ // Resolve mode from prop or deprecated isDialog
269
+ const mode = modeProp ?? (isDialog ? 'dialog' : 'default');
270
+ const isDialogMode = mode === 'dialog';
271
+ const isOverlayMode = mode === 'overlay';
272
+ const isStickyMode = mode === 'sticky';
245
273
  // Use prop value if provided, otherwise fall back to context value
246
274
  const hasTransition = hasTransitionProp ?? layoutContext.hasTransition;
247
275
  const combinedRef = useCombinedRefs(ref);
@@ -326,7 +354,8 @@ function LayoutPanel(props, ref) {
326
354
  }, [providedSize, isDragging, clampValue]);
327
355
  // Register panel with layout context
328
356
  // Include handler outside portion (minus border overlap) for proper content inset
329
- const effectivePanelSize = isOpen && !isDialog ? size : 0;
357
+ // In sticky and dialog modes, panel doesn't push content, so size is 0
358
+ const effectivePanelSize = isOpen && mode === 'default' ? size : isOpen && isOverlayMode ? size : 0;
330
359
  const effectiveInsetSize = Math.round(effectivePanelSize +
331
360
  (isResizable && effectivePanelSize > 0 ? RESIZABLE_INSET_OFFSET : 0));
332
361
  const { registerPanel, unregisterPanel, updatePanelSize, isReady } = layoutContext;
@@ -352,6 +381,27 @@ function LayoutPanel(props, ref) {
352
381
  setInternalIsOpen(newIsOpen);
353
382
  onOpenChange?.(newIsOpen);
354
383
  }, [onOpenChange]);
384
+ // Dismiss handler for overlay mode (click on overlay)
385
+ const handleDismiss = useCallback(() => {
386
+ if (isDismissable) {
387
+ handleOpenChange(false);
388
+ }
389
+ }, [isDismissable, handleOpenChange]);
390
+ // Register overlay panel with Layout context for coordinated dismissal
391
+ const { registerOverlayPanel } = layoutContext;
392
+ useEffect(() => {
393
+ // Only register if in overlay mode, open, and dismissable
394
+ if (isOverlayMode && isOpen && isDismissable) {
395
+ const unregister = registerOverlayPanel(() => handleOpenChange(false));
396
+ return unregister;
397
+ }
398
+ }, [
399
+ isOverlayMode,
400
+ isOpen,
401
+ isDismissable,
402
+ registerOverlayPanel,
403
+ handleOpenChange,
404
+ ]);
355
405
  const handleDialogOpenChange = useCallback((newIsOpen) => {
356
406
  setInternalIsDialogOpen(newIsOpen);
357
407
  onDialogOpenChange?.(newIsOpen);
@@ -394,14 +444,17 @@ function LayoutPanel(props, ref) {
394
444
  onSizeChange?.(clampedSize);
395
445
  setStoredSize(clampedSize);
396
446
  }, [defaultSize, clampValue, onSizeChange, setStoredSize]);
397
- const renderPanelContent = (offscreen = false, transitionRef) => (_jsxs(_Fragment, { children: [_jsx(PanelElement, { ref: (node) => panelRefCallback(node, transitionRef), ...filterBaseProps(otherProps, { eventProps: true }), mods: { ...panelMods, offscreen }, styles: finalStyles, style: panelStyle, "data-side": side, children: _jsx(LayoutPanelContext.Provider, { value: panelContextValue, children: _jsx(LayoutContextReset, { children: children }) }) }), isResizable && (_jsx(ResizeHandler, { side: side, isDisabled: !isResizable, mods: {
398
- drag: isDragging,
399
- offscreen,
400
- 'has-transition': hasTransition && isReady,
401
- }, moveProps: moveProps, style: panelStyle, onDoubleClick: handleResetSize }))] }));
447
+ const renderPanelContent = (offscreen = false, transitionRef) => {
448
+ const showOverlay = isOverlayMode && !offscreen;
449
+ return (_jsxs(_Fragment, { children: [isOverlayMode && (_jsx(OverlayBackdrop, { mods: { visible: showOverlay }, styles: overlayStyles, "aria-hidden": "true", onClick: handleDismiss })), _jsx(PanelElement, { ref: (node) => panelRefCallback(node, transitionRef), ...filterBaseProps(otherProps, { eventProps: true }), mods: { ...panelMods, offscreen }, styles: finalStyles, style: panelStyle, "data-side": side, children: _jsx(LayoutPanelContext.Provider, { value: panelContextValue, children: _jsx(LayoutContextReset, { children: children }) }) }), isResizable && (_jsx(ResizeHandler, { side: side, isDisabled: !isResizable, mods: {
450
+ drag: isDragging,
451
+ offscreen,
452
+ 'has-transition': hasTransition && isReady,
453
+ }, moveProps: moveProps, style: panelStyle, onDoubleClick: handleResetSize }))] }));
454
+ };
402
455
  // Dialog mode
403
- if (isDialog) {
404
- return (_jsx(DialogContainer, { isOpen: dialogOpen, onDismiss: () => handleDialogOpenChange(false), ...dialogProps, children: _jsx(Dialog, { isDismissable: false, children: _jsx(LayoutPanelContext.Provider, { value: dialogPanelContextValue, children: _jsx(LayoutContextReset, { children: children }) }) }) }));
456
+ if (isDialogMode) {
457
+ return (_jsx(DialogContainer, { isOpen: dialogOpen, isDismissable: isDismissable, onDismiss: () => handleDialogOpenChange(false), ...dialogProps, children: _jsx(Dialog, { isDismissable: false, children: _jsx(LayoutPanelContext.Provider, { value: dialogPanelContextValue, children: _jsx(LayoutContextReset, { children: children }) }) }) }));
405
458
  }
406
459
  // Panel with transition
407
460
  if (hasTransition) {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.96.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7