@cube-dev/ui-kit 0.95.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 (567) hide show
  1. package/CHANGELOG.md +28 -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 +26 -16
  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 +12 -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 +50 -0
  74. package/es/components/content/Layout/Layout.js +214 -0
  75. package/es/components/content/Layout/LayoutBlock.js +30 -0
  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 +112 -0
  79. package/es/components/content/Layout/LayoutContext.js +127 -0
  80. package/es/components/content/Layout/LayoutFlex.js +32 -0
  81. package/es/components/content/Layout/LayoutFooter.js +46 -0
  82. package/es/components/content/Layout/LayoutGrid.js +32 -0
  83. package/es/components/content/Layout/LayoutHeader.js +106 -0
  84. package/es/components/content/Layout/LayoutPane.js +333 -0
  85. package/es/components/content/Layout/LayoutPanel.js +472 -0
  86. package/es/components/content/Layout/LayoutPanelHeader.js +56 -0
  87. package/es/components/content/Layout/LayoutToolbar.js +36 -0
  88. package/es/components/content/Layout/hooks/useTinyScrollbar.js +129 -0
  89. package/es/components/content/Layout/index.js +39 -0
  90. package/es/components/content/Layout/utils.js +23 -0
  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 +8 -3
  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 +2 -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/{Layout.stories.js → SimpleLayout.stories.js} +2 -2
  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 +23 -9
  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 -2
  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 +2 -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 +130 -0
  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/actions/Button/Button.d.ts +13 -13
  537. package/types/components/actions/Menu/styled.d.ts +3 -9
  538. package/types/components/content/Item/Item.d.ts +15 -1
  539. package/types/components/content/Layout/GridLayout.d.ts +36 -0
  540. package/types/components/content/Layout/Layout.d.ts +25 -0
  541. package/types/components/content/Layout/LayoutBlock.d.ts +5 -0
  542. package/types/components/content/Layout/LayoutCenter.d.ts +5 -0
  543. package/types/components/content/Layout/LayoutContainer.d.ts +11 -0
  544. package/types/components/content/Layout/LayoutContent.d.ts +12 -0
  545. package/types/components/content/Layout/LayoutContext.d.ts +45 -0
  546. package/types/components/content/Layout/LayoutFlex.d.ts +5 -0
  547. package/types/components/content/Layout/LayoutFooter.d.ts +7 -0
  548. package/types/components/content/Layout/LayoutGrid.d.ts +12 -0
  549. package/types/components/content/Layout/LayoutHeader.d.ts +21 -0
  550. package/types/components/content/Layout/LayoutPane.d.ts +27 -0
  551. package/types/components/content/Layout/LayoutPanel.d.ts +66 -0
  552. package/types/components/content/Layout/LayoutPanelHeader.d.ts +17 -0
  553. package/types/components/content/Layout/LayoutToolbar.d.ts +5 -0
  554. package/types/components/content/Layout/hooks/useTinyScrollbar.d.ts +19 -0
  555. package/types/components/content/Layout/index.d.ts +47 -0
  556. package/types/components/content/Layout/utils.d.ts +5 -0
  557. package/types/components/content/List/SectionHeading.d.ts +1 -3
  558. package/types/components/content/Text.d.ts +7 -28
  559. package/types/components/content/highlightText.d.ts +7 -0
  560. package/types/components/fields/DatePicker/DatePickerElement.d.ts +1 -3
  561. package/types/index.d.ts +2 -0
  562. package/types/tasty/index.d.ts +1 -1
  563. package/types/tasty/styles/list.d.ts +7 -4
  564. package/types/tasty/types.d.ts +9 -4
  565. package/types/utils/react/index.d.ts +1 -0
  566. package/types/utils/react/useLocalStorage.d.ts +33 -0
  567. /package/types/stories/{Layout.stories.d.ts → SimpleLayout.stories.d.ts} +0 -0
package/es/tokens.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/utils/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/utils/raf.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/utils/range.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.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.95.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.95.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.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -19,5 +19,6 @@ export { useQaProps } from './useQaProps';
19
19
  export { useEventBus, useEventListener, EventBusProvider } from './useEventBus';
20
20
  export { useControlledFocusVisible } from './useControlledFocusVisible';
21
21
  export { RenderCache } from './RenderCache';
22
+ export { useLocalStorage } from './useLocalStorage';
22
23
 
23
24
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,130 @@
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 { useCallback, useSyncExternalStore } from 'react';
9
+ import { useEvent } from '../../_internal/hooks/use-event';
10
+ /** Global registry of listeners per key for same-tab cross-instance sync */
11
+ const listeners = new Map();
12
+ /** Notify all listeners for a given key */
13
+ function notifyListeners(key) {
14
+ listeners.get(key)?.forEach((listener) => listener());
15
+ }
16
+ /** Check if localStorage is available */
17
+ function isLocalStorageAvailable() {
18
+ try {
19
+ const testKey = '__localStorage_test__';
20
+ window.localStorage.setItem(testKey, testKey);
21
+ window.localStorage.removeItem(testKey);
22
+ return true;
23
+ }
24
+ catch {
25
+ return false;
26
+ }
27
+ }
28
+ /** Safely parse JSON with fallback */
29
+ function parseJSON(value, fallback) {
30
+ if (value === null) {
31
+ return fallback;
32
+ }
33
+ try {
34
+ return JSON.parse(value);
35
+ }
36
+ catch {
37
+ return fallback;
38
+ }
39
+ }
40
+ /** Get initial value, supporting lazy initializer */
41
+ function getInitialValue(initialValue) {
42
+ return typeof initialValue === 'function'
43
+ ? initialValue()
44
+ : initialValue;
45
+ }
46
+ /**
47
+ * A hook to persist state in localStorage with cross-instance synchronization.
48
+ *
49
+ * Features:
50
+ * - JSON serialization/deserialization
51
+ * - Syncs between hook instances with the same key (same tab)
52
+ * - Syncs across browser tabs via storage event
53
+ * - SSR-safe (gracefully handles missing localStorage)
54
+ * - Supports lazy initial value
55
+ *
56
+ * @param key - The localStorage key. Pass `null` or `undefined` to disable the hook.
57
+ * @param initialValue - Initial value or lazy initializer function
58
+ * @returns Tuple of [value, setValue] similar to useState
59
+ *
60
+ * @example
61
+ * ```tsx
62
+ * // Basic usage
63
+ * const [theme, setTheme] = useLocalStorage('theme', 'light');
64
+ *
65
+ * // With lazy initializer
66
+ * const [settings, setSettings] = useLocalStorage('settings', () => getDefaultSettings());
67
+ *
68
+ * // Disabled (returns initialValue, setValue is no-op)
69
+ * const [value, setValue] = useLocalStorage(null, 'default');
70
+ *
71
+ * // Conditionally enabled
72
+ * const [data, setData] = useLocalStorage(isEnabled ? 'my-key' : null, {});
73
+ * ```
74
+ */
75
+ export function useLocalStorage(key, initialValue) {
76
+ const resolvedInitial = getInitialValue(initialValue);
77
+ const subscribe = useCallback((onStoreChange) => {
78
+ if (!key) {
79
+ return () => { };
80
+ }
81
+ // Add to same-tab listeners
82
+ if (!listeners.has(key)) {
83
+ listeners.set(key, new Set());
84
+ }
85
+ listeners.get(key).add(onStoreChange);
86
+ // Listen for cross-tab changes
87
+ const handleStorageEvent = (event) => {
88
+ if (event.key === key) {
89
+ onStoreChange();
90
+ }
91
+ };
92
+ window.addEventListener('storage', handleStorageEvent);
93
+ return () => {
94
+ listeners.get(key)?.delete(onStoreChange);
95
+ if (listeners.get(key)?.size === 0) {
96
+ listeners.delete(key);
97
+ }
98
+ window.removeEventListener('storage', handleStorageEvent);
99
+ };
100
+ }, [key]);
101
+ const getSnapshot = useCallback(() => {
102
+ if (!key || !isLocalStorageAvailable()) {
103
+ return resolvedInitial;
104
+ }
105
+ return parseJSON(localStorage.getItem(key), resolvedInitial);
106
+ }, [key, resolvedInitial]);
107
+ const getServerSnapshot = useCallback(() => {
108
+ return resolvedInitial;
109
+ }, [resolvedInitial]);
110
+ const storedValue = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
111
+ const setValue = useEvent((update) => {
112
+ if (!key || !isLocalStorageAvailable()) {
113
+ return;
114
+ }
115
+ const currentValue = parseJSON(localStorage.getItem(key), resolvedInitial);
116
+ const newValue = typeof update === 'function'
117
+ ? update(currentValue)
118
+ : update;
119
+ try {
120
+ localStorage.setItem(key, JSON.stringify(newValue));
121
+ notifyListeners(key);
122
+ }
123
+ catch (error) {
124
+ console.error(`[useLocalStorage] Failed to save "${key}":`, error);
125
+ }
126
+ });
127
+ return [storedValue, setValue];
128
+ }
129
+
130
+
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/utils/tree.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.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.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/version.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.95.0
4
+ * @cube-dev/ui-kit v0.97.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
- export const VERSION = '0.95.0';
8
+ export const VERSION = '0.97.0';
9
9
  if (typeof window !== 'undefined') {
10
10
  const version = VERSION;
11
11
  // Ensure CubeUIKit is defined on window in a way bundlers recognize
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.95.0",
3
+ "version": "0.97.0",
4
4
  "description": "UIKit for Cube Projects",
5
5
  "keywords": [
6
6
  "uikit"
@@ -6,6 +6,23 @@ export interface CubeCollectionItemProps<T> extends ItemProps<T>, Omit<CubeItemP
6
6
  wrapper?: (item: ReactElement) => ReactElement;
7
7
  [key: string]: any;
8
8
  }
9
+ /**
10
+ * Filters out service props from collection item props, returning only
11
+ * props that should be passed to the Item component.
12
+ *
13
+ * This eliminates the need to manually extract and pass Item props
14
+ * in components like MenuItem, ListBox Option, and Select Option.
15
+ *
16
+ * @param itemProps - The props from a collection item (node.props)
17
+ * @returns Filtered props safe to spread onto Item component
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const itemProps = filterCollectionItemProps(item.props);
22
+ * return <Item {...itemProps} />;
23
+ * ```
24
+ */
25
+ export declare function filterCollectionItemProps(itemProps: Record<string, any> | undefined): Record<string, any>;
9
26
  declare const _CollectionItem: (<T>(props: CubeCollectionItemProps<T>) => ReactElement) & {
10
27
  Action: import("react").ForwardRefExoticComponent<Omit<import("./actions/ItemAction").CubeItemActionProps, "ref"> & import("react").RefAttributes<import("@react-types/shared").FocusableRefValue<HTMLElement, HTMLElement>>>;
11
28
  Badge: import("react").ForwardRefExoticComponent<import("./content/ItemBadge").CubeItemBadgeProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -53,21 +53,13 @@ export declare const DEFAULT_BUTTON_STYLES: {
53
53
  readonly 'single-icon | type=link': 0;
54
54
  };
55
55
  readonly width: {
56
- readonly '': "initial";
57
- readonly 'size=xsmall & single-icon': "$size-xs $size-xs";
58
- readonly 'size=small & single-icon': "$size-sm $size-sm";
59
- readonly 'size=medium & single-icon': "$size-md $size-md";
60
- readonly 'size=large & single-icon': "$size-lg $size-lg";
61
- readonly 'size=xlarge & single-icon': "$size-xl $size-xl";
62
- readonly 'type=link': "initial";
56
+ readonly '': "min $size";
57
+ readonly 'left-icon & right-icon': "min ($size * 2 - 2bw)";
58
+ readonly 'single-icon': "fixed $size";
59
+ readonly 'type=link': "min 1ch";
63
60
  };
64
61
  readonly height: {
65
- readonly '': "initial";
66
- readonly 'size=xsmall': "$size-xs $size-xs";
67
- readonly 'size=small': "$size-sm $size-sm";
68
- readonly 'size=medium': "$size-md $size-md";
69
- readonly 'size=large': "$size-lg $size-lg";
70
- readonly 'size=xlarge': "$size-xl $size-xl";
62
+ readonly '': "fixed $size";
71
63
  readonly 'type=link': "initial";
72
64
  };
73
65
  readonly whiteSpace: "nowrap";
@@ -75,6 +67,14 @@ export declare const DEFAULT_BUTTON_STYLES: {
75
67
  readonly '': true;
76
68
  readonly 'type=link & !focused': 0;
77
69
  };
70
+ readonly $size: {
71
+ readonly '': "$size-md";
72
+ readonly 'size=xsmall': "$size-xs";
73
+ readonly 'size=small': "$size-sm";
74
+ readonly 'size=medium': "$size-md";
75
+ readonly 'size=large': "$size-lg";
76
+ readonly 'size=xlarge': "$size-xl";
77
+ };
78
78
  readonly ButtonIcon: {
79
79
  readonly width: "min 1fs";
80
80
  };
@@ -71,9 +71,7 @@ export declare const StyledHeader: import("react").ComponentType<{
71
71
  element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
72
72
  multiple?: boolean | undefined;
73
73
  styles?: import("../../../tasty").Styles | undefined;
74
- mods?: {
75
- [key: string]: string | number | boolean | null | undefined;
76
- } | undefined;
74
+ mods?: import("../../../tasty").Mods | undefined;
77
75
  min?: string | number | undefined;
78
76
  max?: string | number | undefined;
79
77
  css?: string | undefined;
@@ -517,9 +515,7 @@ export declare const StyledFooter: import("react").ComponentType<{
517
515
  element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
518
516
  multiple?: boolean | undefined;
519
517
  styles?: import("../../../tasty").Styles | undefined;
520
- mods?: {
521
- [key: string]: string | number | boolean | null | undefined;
522
- } | undefined;
518
+ mods?: import("../../../tasty").Mods | undefined;
523
519
  min?: string | number | undefined;
524
520
  max?: string | number | undefined;
525
521
  css?: string | undefined;
@@ -965,9 +961,7 @@ export declare const StyledSectionHeading: import("react").ComponentType<{
965
961
  element?: `A${string}` | `B${string}` | `C${string}` | `D${string}` | `E${string}` | `F${string}` | `G${string}` | `H${string}` | `I${string}` | `J${string}` | `K${string}` | `L${string}` | `M${string}` | `N${string}` | `O${string}` | `P${string}` | `Q${string}` | `R${string}` | `S${string}` | `T${string}` | `U${string}` | `V${string}` | `W${string}` | `X${string}` | `Y${string}` | `Z${string}` | undefined;
966
962
  multiple?: boolean | undefined;
967
963
  styles?: import("../../../tasty").Styles | undefined;
968
- mods?: {
969
- [key: string]: string | number | boolean | null | undefined;
970
- } | undefined;
964
+ mods?: import("../../../tasty").Mods | undefined;
971
965
  min?: string | number | undefined;
972
966
  max?: string | number | undefined;
973
967
  css?: string | undefined;
@@ -1,7 +1,7 @@
1
1
  import { ReactNode, RefObject } from 'react';
2
2
  import { OverlayProps } from 'react-aria';
3
3
  import { ItemVariant } from '../../../data/item-themes';
4
- import { BaseProps, ContainerStyleProps, Props } from '../../../tasty';
4
+ import { BaseProps, ContainerStyleProps, Props, Styles } from '../../../tasty';
5
5
  import { CubeTooltipProviderProps } from '../../overlays/Tooltip/TooltipProvider';
6
6
  export interface CubeItemProps extends BaseProps, ContainerStyleProps {
7
7
  icon?: ReactNode | 'checkbox';
@@ -92,6 +92,20 @@ export interface CubeItemProps extends BaseProps, ContainerStyleProps {
92
92
  * Ref to access the label element directly
93
93
  */
94
94
  labelRef?: RefObject<HTMLElement>;
95
+ /**
96
+ * String to highlight within children.
97
+ * Only works when children is a plain string.
98
+ */
99
+ highlight?: string;
100
+ /**
101
+ * Whether highlight matching is case-sensitive.
102
+ * @default false
103
+ */
104
+ highlightCaseSensitive?: boolean;
105
+ /**
106
+ * Custom styles for highlighted text.
107
+ */
108
+ highlightStyles?: Styles;
95
109
  }
96
110
  declare const _Item: import("react").ForwardRefExoticComponent<CubeItemProps & import("react").RefAttributes<HTMLElement>> & {
97
111
  Action: import("react").ForwardRefExoticComponent<Omit<import("../../actions/ItemAction").CubeItemActionProps, "ref"> & import("react").RefAttributes<import("@react-types/shared").FocusableRefValue<HTMLElement, HTMLElement>>>;
@@ -0,0 +1,36 @@
1
+ import { ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
2
+ import { Styles } from '../../../tasty';
3
+ import { CubeLayoutProps } from './Layout';
4
+ import { LayoutBlock } from './LayoutBlock';
5
+ import { LayoutContent } from './LayoutContent';
6
+ import { LayoutFlex } from './LayoutFlex';
7
+ import { LayoutFooter } from './LayoutFooter';
8
+ import { LayoutGrid } from './LayoutGrid';
9
+ import { LayoutHeader } from './LayoutHeader';
10
+ import { LayoutPane } from './LayoutPane';
11
+ import { LayoutPanel } from './LayoutPanel';
12
+ import { LayoutPanelHeader } from './LayoutPanelHeader';
13
+ import { LayoutToolbar } from './LayoutToolbar';
14
+ export interface CubeGridLayoutProps extends CubeLayoutProps {
15
+ /** Grid template columns */
16
+ columns?: Styles['gridColumns'];
17
+ /** Grid template rows */
18
+ rows?: Styles['gridRows'];
19
+ /** Grid template shorthand */
20
+ template?: Styles['gridTemplate'];
21
+ children?: ReactNode;
22
+ }
23
+ interface GridLayoutComponent extends ForwardRefExoticComponent<CubeGridLayoutProps & RefAttributes<HTMLDivElement>> {
24
+ Toolbar: typeof LayoutToolbar;
25
+ Header: typeof LayoutHeader;
26
+ Footer: typeof LayoutFooter;
27
+ Content: typeof LayoutContent;
28
+ Block: typeof LayoutBlock;
29
+ Flex: typeof LayoutFlex;
30
+ Grid: typeof LayoutGrid;
31
+ Pane: typeof LayoutPane;
32
+ Panel: typeof LayoutPanel;
33
+ PanelHeader: typeof LayoutPanelHeader;
34
+ }
35
+ declare const GridLayout: GridLayoutComponent;
36
+ export { GridLayout };