@cube-dev/ui-kit 0.66.0 → 0.67.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 (478) hide show
  1. package/CHANGELOG.md +16 -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/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +3 -2
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +60 -53
  27. package/es/components/actions/CommandMenu/index.js +1 -1
  28. package/es/components/actions/CommandMenu/styled.js +1 -2
  29. package/es/components/actions/Menu/Menu.js +1 -1
  30. package/es/components/actions/Menu/MenuItem.js +1 -1
  31. package/es/components/actions/Menu/MenuSection.js +1 -1
  32. package/es/components/actions/Menu/MenuTrigger.js +48 -21
  33. package/es/components/actions/Menu/context.js +1 -1
  34. package/es/components/actions/Menu/index.js +1 -1
  35. package/es/components/actions/Menu/styled.js +1 -1
  36. package/es/components/actions/index.js +3 -1
  37. package/es/components/actions/use-action.js +1 -1
  38. package/es/components/actions/use-anchored-menu.js +98 -0
  39. package/es/components/actions/use-context-menu.js +206 -0
  40. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  41. package/es/components/content/Alert/Alert.js +1 -1
  42. package/es/components/content/Alert/index.js +1 -1
  43. package/es/components/content/Alert/types.js +1 -1
  44. package/es/components/content/Alert/use-alert.js +1 -1
  45. package/es/components/content/Avatar/Avatar.js +1 -1
  46. package/es/components/content/Badge/Badge.js +1 -1
  47. package/es/components/content/Card/Card.js +1 -1
  48. package/es/components/content/Content.js +1 -1
  49. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  50. package/es/components/content/CopyPasteBlock/index.js +1 -1
  51. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/es/components/content/CopySnippet/index.js +1 -1
  53. package/es/components/content/Divider.js +1 -1
  54. package/es/components/content/Footer.js +1 -1
  55. package/es/components/content/Header.js +1 -1
  56. package/es/components/content/HotKeys/HotKeys.js +1 -1
  57. package/es/components/content/HotKeys/index.js +1 -1
  58. package/es/components/content/Paragraph.js +1 -1
  59. package/es/components/content/Placeholder/Placeholder.js +1 -1
  60. package/es/components/content/PrismCode/PrismCode.js +1 -1
  61. package/es/components/content/PrismCode/prismSetup.js +1 -1
  62. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  63. package/es/components/content/Result/Result.js +1 -1
  64. package/es/components/content/Skeleton/Skeleton.js +1 -1
  65. package/es/components/content/Tag/Tag.js +1 -1
  66. package/es/components/content/Text.js +1 -1
  67. package/es/components/content/Title.js +1 -1
  68. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  69. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  70. package/es/components/fields/Checkbox/context.js +1 -1
  71. package/es/components/fields/Checkbox/index.js +1 -1
  72. package/es/components/fields/ComboBox/ComboBox.js +25 -3
  73. package/es/components/fields/ComboBox/index.js +1 -1
  74. package/es/components/fields/DatePicker/DateInput.js +1 -1
  75. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  76. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  77. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  78. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  79. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  80. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  81. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  82. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  83. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  84. package/es/components/fields/DatePicker/index.js +1 -1
  85. package/es/components/fields/DatePicker/intl.js +1 -1
  86. package/es/components/fields/DatePicker/parseDate.js +1 -1
  87. package/es/components/fields/DatePicker/props.js +1 -1
  88. package/es/components/fields/DatePicker/types.js +1 -1
  89. package/es/components/fields/DatePicker/utils.js +1 -1
  90. package/es/components/fields/FileInput/FileInput.js +1 -1
  91. package/es/components/fields/Input/Input.js +1 -1
  92. package/es/components/fields/Input/index.js +1 -1
  93. package/es/components/fields/ListBox/ListBox.js +1 -1
  94. package/es/components/fields/ListBox/index.js +1 -1
  95. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  96. package/es/components/fields/NumberInput/StepButton.js +1 -1
  97. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  98. package/es/components/fields/RadioGroup/Radio.js +1 -1
  99. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  100. package/es/components/fields/RadioGroup/context.js +1 -1
  101. package/es/components/fields/RadioGroup/index.js +1 -1
  102. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  103. package/es/components/fields/SearchInput/index.js +1 -1
  104. package/es/components/fields/Select/Select.js +38 -5
  105. package/es/components/fields/Select/index.js +1 -1
  106. package/es/components/fields/Slider/Gradation.js +1 -1
  107. package/es/components/fields/Slider/Header.js +1 -1
  108. package/es/components/fields/Slider/RangeSlider.js +1 -1
  109. package/es/components/fields/Slider/Slider.js +1 -1
  110. package/es/components/fields/Slider/SliderBase.js +1 -1
  111. package/es/components/fields/Slider/SliderInput.js +1 -1
  112. package/es/components/fields/Slider/SliderThumb.js +1 -1
  113. package/es/components/fields/Slider/SliderTrack.js +1 -1
  114. package/es/components/fields/Slider/elements.js +1 -1
  115. package/es/components/fields/Slider/index.js +1 -1
  116. package/es/components/fields/Slider/types.js +1 -1
  117. package/es/components/fields/Switch/Switch.js +1 -1
  118. package/es/components/fields/Switch/index.js +1 -1
  119. package/es/components/fields/TextArea/TextArea.js +1 -1
  120. package/es/components/fields/TextArea/index.js +1 -1
  121. package/es/components/fields/TextInput/TextInput.js +1 -1
  122. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  123. package/es/components/fields/TextInput/index.js +1 -1
  124. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  125. package/es/components/fields/TextInputMapper/index.js +1 -1
  126. package/es/components/fields/index.js +1 -1
  127. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  128. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  129. package/es/components/form/FieldWrapper/index.js +1 -1
  130. package/es/components/form/FieldWrapper/types.js +1 -1
  131. package/es/components/form/Form/Field.js +1 -1
  132. package/es/components/form/Form/Form.js +1 -1
  133. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  134. package/es/components/form/Form/ResetButton/index.js +1 -1
  135. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  136. package/es/components/form/Form/SubmitButton/index.js +1 -1
  137. package/es/components/form/Form/SubmitError.js +1 -1
  138. package/es/components/form/Form/index.js +1 -1
  139. package/es/components/form/Form/types.js +1 -1
  140. package/es/components/form/Form/use-field/index.js +1 -1
  141. package/es/components/form/Form/use-field/types.js +1 -1
  142. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  143. package/es/components/form/Form/use-field/use-field.js +1 -1
  144. package/es/components/form/Form/use-form.js +1 -1
  145. package/es/components/form/Form/validation.js +1 -1
  146. package/es/components/form/Label.js +1 -1
  147. package/es/components/form/index.js +1 -1
  148. package/es/components/form/wrapper.js +1 -1
  149. package/es/components/layout/Flex.js +1 -1
  150. package/es/components/layout/Flow.js +1 -1
  151. package/es/components/layout/Grid.js +1 -1
  152. package/es/components/layout/Panel.js +1 -1
  153. package/es/components/layout/Prefix.js +1 -1
  154. package/es/components/layout/ResizablePanel.js +1 -1
  155. package/es/components/layout/Space.js +1 -1
  156. package/es/components/layout/Suffix.js +1 -1
  157. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  158. package/es/components/navigation/Link/Link.js +1 -1
  159. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  160. package/es/components/organisms/Modal/Modal.js +1 -1
  161. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  162. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  163. package/es/components/other/Calendar/Calendar.js +1 -1
  164. package/es/components/other/Calendar/CalendarCell.js +1 -1
  165. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  166. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  167. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  168. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  169. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  170. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  171. package/es/components/overlays/AlertDialog/index.js +1 -1
  172. package/es/components/overlays/AlertDialog/types.js +1 -1
  173. package/es/components/overlays/Dialog/Dialog.js +1 -1
  174. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  175. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  176. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  177. package/es/components/overlays/Dialog/context.js +1 -1
  178. package/es/components/overlays/Dialog/index.js +2 -2
  179. package/es/components/overlays/Dialog/{dialog-container.js → use-dialog-container.js} +3 -3
  180. package/es/components/overlays/Modal/Modal.js +1 -1
  181. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  182. package/es/components/overlays/Modal/Overlay.js +1 -1
  183. package/es/components/overlays/Modal/Popover.js +1 -1
  184. package/es/components/overlays/Modal/Tray.js +1 -1
  185. package/es/components/overlays/Modal/Underlay.js +1 -1
  186. package/es/components/overlays/Modal/index.js +1 -1
  187. package/es/components/overlays/Modal/types.js +1 -1
  188. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  189. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  190. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  191. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  192. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  193. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  194. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  195. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  196. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  197. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  198. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  199. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  200. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  201. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  202. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  203. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  204. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  205. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  206. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  207. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  211. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  212. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  213. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  214. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  215. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  216. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  217. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  218. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  219. package/es/components/overlays/NewNotifications/index.js +1 -1
  220. package/es/components/overlays/NewNotifications/types.js +1 -1
  221. package/es/components/overlays/Notification/Notification.js +1 -1
  222. package/es/components/overlays/OverlayWrapper.js +1 -1
  223. package/es/components/overlays/Toasts/Toast.js +1 -1
  224. package/es/components/overlays/Toasts/index.js +1 -1
  225. package/es/components/overlays/Toasts/types.js +1 -1
  226. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  227. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  228. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  229. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  230. package/es/components/overlays/Tooltip/context.js +1 -1
  231. package/es/components/overlays/Tooltip/index.js +1 -1
  232. package/es/components/portal/Portal.js +1 -1
  233. package/es/components/portal/PortalProvider.js +1 -1
  234. package/es/components/portal/index.js +1 -1
  235. package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
  236. package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
  237. package/es/components/portal/storybook/templates/basic.js +1 -1
  238. package/es/components/portal/storybook/templates/index.js +1 -1
  239. package/es/components/portal/types.js +1 -1
  240. package/es/components/portal/usePortal.js +1 -1
  241. package/es/components/shared/InvalidIcon.js +1 -1
  242. package/es/components/shared/ValidIcon.js +1 -1
  243. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  244. package/es/components/status/LoadingAnimation/index.js +1 -1
  245. package/es/components/status/Spin/Cube.js +1 -1
  246. package/es/components/status/Spin/InternalSpinner.js +1 -1
  247. package/es/components/status/Spin/Spin.js +1 -1
  248. package/es/components/status/Spin/SpinsContainer.js +1 -1
  249. package/es/components/status/Spin/index.js +1 -1
  250. package/es/components/status/Spin/types.js +1 -1
  251. package/es/components/status/index.js +1 -1
  252. package/es/data/themes.js +1 -1
  253. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  254. package/es/icons/AdjustmentsIcon.js +1 -1
  255. package/es/icons/AiIcon.js +1 -1
  256. package/es/icons/AreaChartIcon.js +1 -1
  257. package/es/icons/BackwardIcon.js +1 -1
  258. package/es/icons/BarChartIcon.js +1 -1
  259. package/es/icons/BellFilledIcon.js +1 -1
  260. package/es/icons/BellIcon.js +1 -1
  261. package/es/icons/BooleanIcon.js +1 -1
  262. package/es/icons/CalendarEditIcon.js +1 -1
  263. package/es/icons/CalendarIcon.js +1 -1
  264. package/es/icons/CaretDownIcon.js +1 -1
  265. package/es/icons/CaretUpIcon.js +1 -1
  266. package/es/icons/ChartAreaStackedIcon.js +1 -1
  267. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  268. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  269. package/es/icons/ChartBarGroupedIcon.js +1 -1
  270. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  271. package/es/icons/ChartBarLineIcon.js +1 -1
  272. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  273. package/es/icons/ChartBarStackedIcon.js +1 -1
  274. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  275. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  276. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  277. package/es/icons/ChartBoxPlotIcon.js +1 -1
  278. package/es/icons/ChartBubbleIcon.js +1 -1
  279. package/es/icons/ChartDonut2Icon.js +1 -1
  280. package/es/icons/ChartFunnelIcon.js +1 -1
  281. package/es/icons/ChartPie2Icon.js +1 -1
  282. package/es/icons/ChartScatterIcon.js +1 -1
  283. package/es/icons/CheckCircleFilledIcon.js +1 -1
  284. package/es/icons/CheckCircleIcon.js +1 -1
  285. package/es/icons/CheckIcon.js +1 -1
  286. package/es/icons/CircleFilledIcon.js +1 -1
  287. package/es/icons/ClearIcon.js +1 -1
  288. package/es/icons/CloseCircleFilledIcon.js +1 -1
  289. package/es/icons/CloseCircleIcon.js +1 -1
  290. package/es/icons/CloseIcon.js +1 -1
  291. package/es/icons/CodeIcon.js +1 -1
  292. package/es/icons/CopyIcon.js +1 -1
  293. package/es/icons/CountIcon.js +1 -1
  294. package/es/icons/CubeIcon.js +1 -1
  295. package/es/icons/DangerIcon.js +1 -1
  296. package/es/icons/DashboardIcon.js +1 -1
  297. package/es/icons/DatabaseIcon.js +1 -1
  298. package/es/icons/DirectionIcon.js +1 -1
  299. package/es/icons/DonutIcon.js +1 -1
  300. package/es/icons/DownIcon.js +1 -1
  301. package/es/icons/EditIcon.js +1 -1
  302. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  303. package/es/icons/ExclamationCircleIcon.js +1 -1
  304. package/es/icons/ExclamationIcon.js +1 -1
  305. package/es/icons/EyeIcon.js +1 -1
  306. package/es/icons/EyeInvisibleIcon.js +1 -1
  307. package/es/icons/FilterIcon.js +1 -1
  308. package/es/icons/FolderFilledIcon.js +1 -1
  309. package/es/icons/FolderIcon.js +1 -1
  310. package/es/icons/FolderOpenFilledIcon.js +1 -1
  311. package/es/icons/FolderOpenIcon.js +1 -1
  312. package/es/icons/ForwardIcon.js +1 -1
  313. package/es/icons/HierarchyIcon.js +1 -1
  314. package/es/icons/Icon.js +1 -1
  315. package/es/icons/InfoCircleIcon.js +1 -1
  316. package/es/icons/InfoIcon.js +1 -1
  317. package/es/icons/KeyIcon.js +1 -1
  318. package/es/icons/LeftIcon.js +1 -1
  319. package/es/icons/LineChartIcon.js +1 -1
  320. package/es/icons/LoadingIcon.js +1 -1
  321. package/es/icons/LockFilledIcon.js +1 -1
  322. package/es/icons/LockIcon.js +1 -1
  323. package/es/icons/MoreIcon.js +1 -1
  324. package/es/icons/NotAllowedIcon.js +1 -1
  325. package/es/icons/NumberIcon.js +1 -1
  326. package/es/icons/PauseCircleFilledIcon.js +1 -1
  327. package/es/icons/PauseCircleIcon.js +1 -1
  328. package/es/icons/PauseIcon.js +1 -1
  329. package/es/icons/PieChartIcon.js +1 -1
  330. package/es/icons/PlayCircleIcon.js +1 -1
  331. package/es/icons/PlayIcon.js +1 -1
  332. package/es/icons/PlusIcon.js +1 -1
  333. package/es/icons/ReloadIcon.js +1 -1
  334. package/es/icons/ReportIcon.js +1 -1
  335. package/es/icons/ReturnIcon.js +1 -1
  336. package/es/icons/RightIcon.js +1 -1
  337. package/es/icons/SchemeIcon.js +1 -1
  338. package/es/icons/SearchIcon.js +1 -1
  339. package/es/icons/SettingsIcon.js +1 -1
  340. package/es/icons/ShieldFilledIcon.js +1 -1
  341. package/es/icons/ShieldIcon.js +1 -1
  342. package/es/icons/SlashIcon.js +1 -1
  343. package/es/icons/SparklesIcon.js +1 -1
  344. package/es/icons/SqlIcon.js +1 -1
  345. package/es/icons/StatsIcon.js +1 -1
  346. package/es/icons/StopIcon.js +1 -1
  347. package/es/icons/StringIcon.js +1 -1
  348. package/es/icons/SwitchIcon.js +1 -1
  349. package/es/icons/TableIcon.js +1 -1
  350. package/es/icons/ThumbsDownIcon.js +1 -1
  351. package/es/icons/ThumbsUpIcon.js +1 -1
  352. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  353. package/es/icons/ThunderboltFilledIcon.js +1 -1
  354. package/es/icons/ThunderboltIcon.js +1 -1
  355. package/es/icons/TimeIcon.js +1 -1
  356. package/es/icons/UnlockIcon.js +1 -1
  357. package/es/icons/UpIcon.js +1 -1
  358. package/es/icons/UserGroupIcon.js +1 -1
  359. package/es/icons/UserIcon.js +1 -1
  360. package/es/icons/UserLockIcon.js +1 -1
  361. package/es/icons/ViewIcon.js +1 -1
  362. package/es/icons/WarningFilledIcon.js +1 -1
  363. package/es/icons/WarningIcon.js +1 -1
  364. package/es/icons/add-new-icon.js +1 -1
  365. package/es/icons/index.js +1 -1
  366. package/es/icons/wrap-icon.js +1 -1
  367. package/es/index.js +1 -1
  368. package/es/provider.js +4 -1
  369. package/es/providers/TrackingProvider.js +1 -1
  370. package/es/services/notification.js +1 -1
  371. package/es/shared/form.js +1 -1
  372. package/es/shared/index.js +1 -1
  373. package/es/stories/Form.legacy-stories.js +1 -1
  374. package/es/stories/FormFieldArgs.js +1 -1
  375. package/es/stories/Layout.stories.js +1 -1
  376. package/es/stories/Tasty.stories.js +1 -1
  377. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  378. package/es/stories/components/DialogFormApp.js +1 -1
  379. package/es/stories/components/StyledButton.js +1 -1
  380. package/es/stories/lists/baseProps.js +1 -1
  381. package/es/tasty/index.js +1 -1
  382. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  383. package/es/tasty/styles/align.js +1 -1
  384. package/es/tasty/styles/border.js +1 -1
  385. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  386. package/es/tasty/styles/color.js +1 -1
  387. package/es/tasty/styles/createStyle.js +1 -1
  388. package/es/tasty/styles/dimension.js +1 -1
  389. package/es/tasty/styles/display.js +1 -1
  390. package/es/tasty/styles/fade.js +1 -1
  391. package/es/tasty/styles/fill.js +1 -1
  392. package/es/tasty/styles/flow.js +1 -1
  393. package/es/tasty/styles/font.js +1 -1
  394. package/es/tasty/styles/fontStyle.js +1 -1
  395. package/es/tasty/styles/gap.js +1 -1
  396. package/es/tasty/styles/groupRadius.js +1 -1
  397. package/es/tasty/styles/height.js +1 -1
  398. package/es/tasty/styles/index.js +1 -1
  399. package/es/tasty/styles/inset.js +1 -1
  400. package/es/tasty/styles/justify.js +1 -1
  401. package/es/tasty/styles/list.js +1 -1
  402. package/es/tasty/styles/margin.js +1 -1
  403. package/es/tasty/styles/marginBlock.js +1 -1
  404. package/es/tasty/styles/marginInline.js +1 -1
  405. package/es/tasty/styles/outline.js +1 -1
  406. package/es/tasty/styles/padding.js +1 -1
  407. package/es/tasty/styles/paddingBlock.js +1 -1
  408. package/es/tasty/styles/paddingInline.js +1 -1
  409. package/es/tasty/styles/place.js +1 -1
  410. package/es/tasty/styles/predefined.js +1 -1
  411. package/es/tasty/styles/preset.js +1 -1
  412. package/es/tasty/styles/radius.js +1 -1
  413. package/es/tasty/styles/reset.js +1 -1
  414. package/es/tasty/styles/scrollbar.js +1 -1
  415. package/es/tasty/styles/shadow.js +1 -1
  416. package/es/tasty/styles/styledScrollbar.js +1 -1
  417. package/es/tasty/styles/transition.js +1 -1
  418. package/es/tasty/styles/types.js +1 -1
  419. package/es/tasty/styles/width.js +1 -1
  420. package/es/tasty/tasty.js +1 -1
  421. package/es/tasty/types.js +1 -1
  422. package/es/tasty/utils/cache-wrapper.js +1 -1
  423. package/es/tasty/utils/case-converter.js +1 -1
  424. package/es/tasty/utils/colors.js +1 -1
  425. package/es/tasty/utils/dotize.js +1 -1
  426. package/es/tasty/utils/filterBaseProps.js +1 -1
  427. package/es/tasty/utils/getDisplayName.js +1 -1
  428. package/es/tasty/utils/getModCombinations.js +1 -1
  429. package/es/tasty/utils/mergeStyles.js +1 -1
  430. package/es/tasty/utils/modAttrs.js +1 -1
  431. package/es/tasty/utils/renderStyles.js +1 -1
  432. package/es/tasty/utils/responsive.js +1 -1
  433. package/es/tasty/utils/string.js +1 -1
  434. package/es/tasty/utils/styles.js +1 -1
  435. package/es/tasty/utils/warnings.js +1 -1
  436. package/es/tokens.js +1 -1
  437. package/es/type-checks.js +1 -1
  438. package/es/utils/ResizeSensor.js +1 -1
  439. package/es/utils/modules.js +1 -1
  440. package/es/utils/promise.js +1 -1
  441. package/es/utils/random.js +7 -1
  442. package/es/utils/range.js +1 -1
  443. package/es/utils/react/Slots.js +1 -1
  444. package/es/utils/react/chain.js +1 -1
  445. package/es/utils/react/index.js +2 -1
  446. package/es/utils/react/interactions.js +1 -1
  447. package/es/utils/react/isTextOnly.js +1 -1
  448. package/es/utils/react/mapProps.js +1 -1
  449. package/es/utils/react/mergeProps.js +1 -1
  450. package/es/utils/react/nullableValue.js +1 -1
  451. package/es/utils/react/sharedStore.js +51 -0
  452. package/es/utils/react/useCombinedRefs.js +1 -1
  453. package/es/utils/react/useEventBus.js +124 -0
  454. package/es/utils/react/useId.js +1 -1
  455. package/es/utils/react/useIsDarwin.js +1 -1
  456. package/es/utils/react/useKeySymbols.js +1 -1
  457. package/es/utils/react/useLayoutEffect.js +1 -1
  458. package/es/utils/react/useQaProps.js +1 -1
  459. package/es/utils/react/useViewportSize.js +1 -1
  460. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  461. package/es/utils/transitions.js +1 -1
  462. package/es/utils/tree.js +1 -1
  463. package/es/utils/warnings.js +1 -1
  464. package/es/version.js +2 -2
  465. package/package.json +1 -1
  466. package/types/components/actions/Menu/MenuTrigger.d.ts +2 -3
  467. package/types/components/actions/index.d.ts +2 -0
  468. package/types/components/actions/use-anchored-menu.d.ts +34 -0
  469. package/types/components/actions/use-context-menu.d.ts +42 -0
  470. package/types/components/content/Card/Card.d.ts +2 -2
  471. package/types/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -1
  472. package/types/components/fields/Select/Select.d.ts +2 -1
  473. package/types/components/overlays/Dialog/index.d.ts +1 -1
  474. package/types/utils/random.d.ts +4 -0
  475. package/types/utils/react/index.d.ts +2 -0
  476. package/types/utils/react/sharedStore.d.ts +11 -0
  477. package/types/utils/react/useEventBus.d.ts +74 -0
  478. /package/types/components/overlays/Dialog/{dialog-container.d.ts → use-dialog-container.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -10,5 +10,11 @@ export function random(min, max) {
10
10
  const realMax = min < max ? max : min;
11
11
  return realMin + Math.random() * (realMax - realMin);
12
12
  }
13
+ /**
14
+ * Generates a unique random ID using current timestamp and random number
15
+ */
16
+ export function generateRandomId() {
17
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
18
+ }
13
19
 
14
20
 
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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -15,5 +15,6 @@ export { useCombinedRefs } from './useCombinedRefs';
15
15
  export { wrapNodeIfPlain } from './wrapNodeIfPlain';
16
16
  export { useViewportSize } from './useViewportSize';
17
17
  export { useQaProps } from './useQaProps';
18
+ export { useEventBus, useEventListener, EventBusProvider } from './useEventBus';
18
19
 
19
20
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.67.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { useSyncExternalStore } from 'react';
9
+ import { useEvent } from '../../_internal/hooks/use-event';
10
+ /**
11
+ * Create a shared store that survives hot-reloads.
12
+ *
13
+ * Pass a unique `name` once per logical store module:
14
+ * export const useSidebarStore = createSharedStore('sidebar', { open: false });
15
+ */
16
+ export function createSharedStore(name, initialState) {
17
+ const cacheKey = `__sharedStore_${name}__`;
18
+ const existing = cacheKey && globalThis[cacheKey];
19
+ const holder = existing ?? {
20
+ state: initialState,
21
+ listeners: new Set(),
22
+ };
23
+ /* Warn if someone tries to “re-initialise” with a different value */
24
+ if (process.env.NODE_ENV === 'development' &&
25
+ existing &&
26
+ existing.state !== initialState) {
27
+ console.warn(`[createSharedStore] Store "${name}" already exists – ` +
28
+ 'the new initialState is ignored to preserve hot-reload state.');
29
+ }
30
+ if (cacheKey && !existing) {
31
+ globalThis[cacheKey] = holder;
32
+ }
33
+ const getSnapshot = () => holder.state;
34
+ const subscribe = (cb) => {
35
+ holder.listeners.add(cb);
36
+ return () => holder.listeners.delete(cb);
37
+ };
38
+ const setStore = (update) => {
39
+ holder.state =
40
+ typeof update === 'function'
41
+ ? update(holder.state)
42
+ : update;
43
+ holder.listeners.forEach((l) => l());
44
+ };
45
+ const useSharedStore = () => {
46
+ return [useSyncExternalStore(subscribe, getSnapshot), useEvent(setStore)];
47
+ };
48
+ return useSharedStore;
49
+ }
50
+
51
+
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.67.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import React, { createContext, useCallback, useContext, useEffect, useRef, } from 'react';
9
+ const EventBusContext = createContext(null);
10
+ /**
11
+ * EventBusProvider provides a global event system for the application.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * function App() {
16
+ * return (
17
+ * <EventBusProvider>
18
+ * <YourComponents />
19
+ * </EventBusProvider>
20
+ * );
21
+ * }
22
+ * ```
23
+ */
24
+ export function EventBusProvider({ children }) {
25
+ const listeners = useRef({});
26
+ const off = useCallback((event, listener) => {
27
+ const eventListeners = listeners.current[event];
28
+ if (eventListeners) {
29
+ listeners.current[event] = eventListeners.filter((l) => l !== listener);
30
+ // Clean up empty event arrays
31
+ if (listeners.current[event].length === 0) {
32
+ delete listeners.current[event];
33
+ }
34
+ }
35
+ }, []);
36
+ const emit = useCallback((event, data) => {
37
+ // Use setTimeout to ensure async emission after current render cycle
38
+ setTimeout(() => {
39
+ const eventListeners = listeners.current[event];
40
+ if (eventListeners) {
41
+ eventListeners.forEach((listener) => listener(data));
42
+ }
43
+ }, 0);
44
+ }, []);
45
+ const on = useCallback((event, listener) => {
46
+ if (!listeners.current[event]) {
47
+ listeners.current[event] = [];
48
+ }
49
+ listeners.current[event].push(listener);
50
+ // Return cleanup function
51
+ return () => {
52
+ off(event, listener);
53
+ };
54
+ }, [off]);
55
+ const contextValue = {
56
+ emit,
57
+ on,
58
+ off,
59
+ };
60
+ return React.createElement(EventBusContext.Provider, { value: contextValue }, children);
61
+ }
62
+ /**
63
+ * Hook to access the event bus functionality.
64
+ * Must be used within an EventBusProvider.
65
+ *
66
+ * @example
67
+ * ```tsx
68
+ * function Component() {
69
+ * const { emit, on } = useEventBus();
70
+ *
71
+ * const handleClick = () => {
72
+ * emit('user-action', { type: 'click', target: 'button' });
73
+ * };
74
+ *
75
+ * useEffect(() => {
76
+ * const unsubscribe = on('data-updated', (data) => {
77
+ * console.log('Data updated:', data);
78
+ * });
79
+ *
80
+ * return unsubscribe;
81
+ * }, [on]);
82
+ *
83
+ * return <button onClick={handleClick}>Click me</button>;
84
+ * }
85
+ * ```
86
+ */
87
+ export function useEventBus() {
88
+ const context = useContext(EventBusContext);
89
+ if (!context) {
90
+ throw new Error('useEventBus must be used within an EventBusProvider');
91
+ }
92
+ return context;
93
+ }
94
+ /**
95
+ * Convenience hook for subscribing to events with automatic cleanup.
96
+ * The listener will be automatically unsubscribed when the component unmounts
97
+ * or when the dependencies change.
98
+ *
99
+ * @param event - The event name to listen for
100
+ * @param listener - The callback function to execute when the event is emitted
101
+ * @param deps - Dependency array for the effect (similar to useEffect)
102
+ *
103
+ * @example
104
+ * ```tsx
105
+ * function NotificationComponent() {
106
+ * const [message, setMessage] = useState('');
107
+ *
108
+ * useEventListener('notification', (data) => {
109
+ * setMessage(data.message);
110
+ * }, []);
111
+ *
112
+ * return <div>{message}</div>;
113
+ * }
114
+ * ```
115
+ */
116
+ export function useEventListener(event, listener, deps = []) {
117
+ const { on } = useEventBus();
118
+ useEffect(() => {
119
+ const unsubscribe = on(event, listener);
120
+ return unsubscribe;
121
+ }, [event, on, ...deps]);
122
+ }
123
+
124
+
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.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.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
package/es/version.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.66.0
4
+ * @cube-dev/ui-kit v0.67.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  "use strict";
9
9
  if (typeof window !== 'undefined') {
10
- const version = '0.66.0';
10
+ const version = '0.67.0';
11
11
  // Ensure CubeUIKit is defined on window in a way bundlers recognize
12
12
  window.CubeUIKit = window.CubeUIKit || { version };
13
13
  // Check for multiple versions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cube-dev/ui-kit",
3
- "version": "0.66.0",
3
+ "version": "0.67.0",
4
4
  "description": "UIKit for Cube Projects",
5
5
  "keywords": [
6
6
  "uikit"
@@ -1,5 +1,5 @@
1
1
  import { ReactElement } from 'react';
2
- import { AriaMenuTriggerProps, Placement, PositionProps } from 'react-aria';
2
+ import { AriaMenuTriggerProps, PositionProps } from 'react-aria';
3
3
  import { MenuTriggerState } from 'react-stately';
4
4
  export type { AriaMenuTriggerProps };
5
5
  export type CubeMenuTriggerProps = AriaMenuTriggerProps & PositionProps & {
@@ -8,9 +8,8 @@ export type CubeMenuTriggerProps = AriaMenuTriggerProps & PositionProps & {
8
8
  ReactElement | ((state: MenuTriggerState) => ReactElement),
9
9
  ReactElement
10
10
  ];
11
- direction?: Placement;
12
- align?: 'start' | 'end';
13
11
  closeOnSelect?: boolean;
12
+ isDummy?: boolean;
14
13
  };
15
14
  /**
16
15
  * The MenuTrigger serves as a wrapper around a Menu and its associated trigger,
@@ -9,4 +9,6 @@ export * from './Action/Action';
9
9
  export * from './Menu';
10
10
  export * from './CommandMenu';
11
11
  export * from './use-action';
12
+ export * from './use-anchored-menu';
13
+ export * from './use-context-menu';
12
14
  export { Button, ButtonGroup };
@@ -0,0 +1,34 @@
1
+ import { ComponentProps, ComponentType, ReactElement, RefObject } from 'react';
2
+ import { MenuTrigger } from './Menu';
3
+ export interface UseAnchoredMenuReturn<P, T> {
4
+ /** Ref to attach to the anchor element for positioning the menu. */
5
+ anchorRef: RefObject<HTMLElement>;
6
+ /**
7
+ * Programmatically opens the menu with the provided props.
8
+ * @param props - Props to pass to the menu component
9
+ * @param triggerProps - Additional props for MenuTrigger (merged with defaultTriggerProps)
10
+ */
11
+ open(props: P, triggerProps?: T): void;
12
+ /**
13
+ * Updates the props of the currently open menu.
14
+ * Props are merged if defaults are provided.
15
+ */
16
+ update(props: P, triggerProps?: T): void;
17
+ /** Closes the menu programmatically. */
18
+ close(): void;
19
+ /** Current open/closed state of the menu. */
20
+ isOpen: boolean;
21
+ /**
22
+ * JSX element that must be rendered in your component tree.
23
+ * Contains the MenuTrigger and positioning logic.
24
+ */
25
+ get rendered(): ReactElement | null;
26
+ }
27
+ /**
28
+ * Generic hook to manage an anchored menu component.
29
+ *
30
+ * @param Component - A React component that represents the menu content (Menu or CommandMenu).
31
+ * @param defaultTriggerProps - Default props to pass to the MenuTrigger.
32
+ * @returns An object with `anchorRef` to position the menu, `open` function to open the menu with provided props, `close` function to close the menu, and `rendered` JSX element to include in your component tree.
33
+ */
34
+ export declare function useAnchoredMenu<P, T = ComponentProps<typeof MenuTrigger>>(Component: ComponentType<P>, defaultTriggerProps?: Omit<ComponentProps<typeof MenuTrigger>, 'children' | 'isOpen' | 'onOpenChange' | 'targetRef'>): UseAnchoredMenuReturn<P, T>;
@@ -0,0 +1,42 @@
1
+ import { ComponentProps, ComponentType, MouseEvent, PointerEvent, ReactElement, RefObject } from 'react';
2
+ import { MenuTrigger } from './Menu';
3
+ type NativeMouseEvent = globalThis.MouseEvent;
4
+ type NativePointerEvent = globalThis.PointerEvent;
5
+ export interface UseContextMenuReturn<E extends HTMLElement = HTMLElement, P extends object = {}, T = ComponentProps<typeof MenuTrigger>> {
6
+ /** Container element that receives context menu events. Attach this ref to your target element. */
7
+ targetRef: RefObject<E>;
8
+ /**
9
+ * Programmatically opens the menu at the specified coordinates or element center.
10
+ * Runtime props are merged with defaultMenuProps (runtime props take precedence).
11
+ *
12
+ * @param props - Props to pass to the menu component (optional, defaults to defaultMenuProps)
13
+ * @param triggerProps - Additional props for MenuTrigger (merged with defaultTriggerProps)
14
+ * @param event - The pointer/mouse event containing coordinates for positioning (optional, centers on element if not provided)
15
+ */
16
+ open(props?: P, triggerProps?: T, event?: NativeMouseEvent | NativePointerEvent | MouseEvent | PointerEvent): void;
17
+ /**
18
+ * Updates the props of the currently open menu without repositioning.
19
+ * Props are merged with defaultMenuProps.
20
+ */
21
+ update(props: P, triggerProps?: T): void;
22
+ /** Closes the menu programmatically. */
23
+ close(): void;
24
+ /** Current open/closed state of the menu. */
25
+ isOpen: boolean;
26
+ /**
27
+ * JSX element that must be rendered in your component tree.
28
+ * Contains the MenuTrigger and positioning logic.
29
+ * IMPORTANT: Must be placed directly inside the target container (the element with targetRef).
30
+ */
31
+ get rendered(): ReactElement | null;
32
+ }
33
+ /**
34
+ * Generic hook to manage a context menu component that opens at pointer coordinates.
35
+ *
36
+ * @param Component - A React component that represents the menu content (Menu or CommandMenu).
37
+ * @param defaultTriggerProps - Default props to pass to the MenuTrigger.
38
+ * @param defaultMenuProps - Default props to pass to the Menu component.
39
+ * @returns An object with `targetRef` to attach to the container element, `open` function to open the menu at event coordinates, `close` function to close the menu, and `rendered` JSX element to include in your component tree.
40
+ */
41
+ export declare function useContextMenu<E extends HTMLElement = HTMLElement, P extends object = {}, T = ComponentProps<typeof MenuTrigger>>(Component: ComponentType<P>, defaultTriggerProps?: Omit<ComponentProps<typeof MenuTrigger>, 'children' | 'isOpen' | 'onOpenChange' | 'targetRef'>, defaultMenuProps?: P): UseContextMenuReturn<E, P, T>;
42
+ export {};
@@ -1,4 +1,4 @@
1
- import { BaseProps, ContainerStyleProps } from '../../../tasty';
2
- export interface CubeCardProps extends BaseProps, ContainerStyleProps {
1
+ import { AllBaseProps, ContainerStyleProps } from '../../../tasty';
2
+ export interface CubeCardProps extends Omit<AllBaseProps, 'title' | 'value' | 'placeholder' | 'text'>, ContainerStyleProps {
3
3
  }
4
4
  export declare const Card: import("react").ForwardRefExoticComponent<CubeCardProps & import("react").RefAttributes<unknown>>;
@@ -1,7 +1,7 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { PositionStyleProps, Styles } from '../../../tasty';
3
3
  import { CubeCardProps } from '../Card/Card';
4
- export interface CubeCopyPasteBlockProps extends CubeCardProps, PositionStyleProps {
4
+ export interface CubeCopyPasteBlockProps extends Omit<CubeCardProps, 'onPaste' | 'onCopy'>, PositionStyleProps {
5
5
  padding?: Styles['padding'];
6
6
  /** The code snippet */
7
7
  value?: string;
@@ -34,7 +34,7 @@ export interface CubeSelectProps<T> extends CubeSelectBaseProps<T> {
34
34
  size?: 'small' | 'medium' | 'default' | 'large' | string;
35
35
  placeholder?: string;
36
36
  }
37
- export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, ...otherProps }: {
37
+ export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, triggerRef, ...otherProps }: {
38
38
  [x: string]: any;
39
39
  state: any;
40
40
  popoverRef: any;
@@ -47,6 +47,7 @@ export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxSty
47
47
  placement: any;
48
48
  minWidth: any;
49
49
  size?: string | undefined;
50
+ triggerRef: any;
50
51
  }): import("react/jsx-runtime").JSX.Element;
51
52
  type SectionComponent = typeof BaseSection;
52
53
  declare const SelectSectionComponent: SectionComponent;
@@ -2,4 +2,4 @@ export * from './DialogContainer';
2
2
  export * from './DialogForm';
3
3
  export * from './DialogTrigger';
4
4
  export * from './Dialog';
5
- export * from './dialog-container';
5
+ export * from './use-dialog-container';
@@ -1 +1,5 @@
1
1
  export declare function random(min: number, max: number): number;
2
+ /**
3
+ * Generates a unique random ID using current timestamp and random number
4
+ */
5
+ export declare function generateRandomId(): string;
@@ -8,3 +8,5 @@ export { useCombinedRefs } from './useCombinedRefs';
8
8
  export { wrapNodeIfPlain } from './wrapNodeIfPlain';
9
9
  export { useViewportSize } from './useViewportSize';
10
10
  export { useQaProps } from './useQaProps';
11
+ export { useEventBus, useEventListener, EventBusProvider } from './useEventBus';
12
+ export type { EventBusListener, EventBusContextValue } from './useEventBus';
@@ -0,0 +1,11 @@
1
+ /** Like React.setState: either a value or a function of the previous value */
2
+ type Updater<S> = S | ((prev: S) => S);
3
+ /**
4
+ * Create a shared store that survives hot-reloads.
5
+ *
6
+ * Pass a unique `name` once per logical store module:
7
+ * export const useSidebarStore = createSharedStore('sidebar', { open: false });
8
+ */
9
+ export declare function createSharedStore<S>(name: string, initialState: S): UseSharedStoreHook<S>;
10
+ type UseSharedStoreHook<S> = () => readonly [S, (u: Updater<S>) => void];
11
+ export {};