@cube-dev/ui-kit 0.66.1 → 0.68.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 (499) hide show
  1. package/CHANGELOG.md +30 -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 +24 -21
  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 +13 -23
  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 +18 -13
  30. package/es/components/actions/Menu/MenuItem.js +2 -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 +47 -22
  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 +2 -2
  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/FilterListBox/FilterListBox.js +580 -0
  92. package/es/components/fields/FilterListBox/index.js +10 -0
  93. package/es/components/fields/FilterPicker/FilterPicker.js +426 -0
  94. package/es/components/fields/FilterPicker/index.js +10 -0
  95. package/es/components/fields/Input/Input.js +1 -1
  96. package/es/components/fields/Input/index.js +1 -1
  97. package/es/components/fields/ListBox/ListBox.js +324 -238
  98. package/es/components/fields/ListBox/index.js +1 -1
  99. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  100. package/es/components/fields/NumberInput/StepButton.js +1 -1
  101. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  102. package/es/components/fields/RadioGroup/Radio.js +1 -1
  103. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  104. package/es/components/fields/RadioGroup/context.js +1 -1
  105. package/es/components/fields/RadioGroup/index.js +1 -1
  106. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  107. package/es/components/fields/SearchInput/index.js +1 -1
  108. package/es/components/fields/Select/Select.js +48 -9
  109. package/es/components/fields/Select/index.js +1 -1
  110. package/es/components/fields/Slider/Gradation.js +1 -1
  111. package/es/components/fields/Slider/Header.js +1 -1
  112. package/es/components/fields/Slider/RangeSlider.js +1 -1
  113. package/es/components/fields/Slider/Slider.js +1 -1
  114. package/es/components/fields/Slider/SliderBase.js +4 -4
  115. package/es/components/fields/Slider/SliderInput.js +1 -1
  116. package/es/components/fields/Slider/SliderThumb.js +1 -1
  117. package/es/components/fields/Slider/SliderTrack.js +1 -1
  118. package/es/components/fields/Slider/elements.js +1 -1
  119. package/es/components/fields/Slider/index.js +1 -1
  120. package/es/components/fields/Slider/types.js +1 -1
  121. package/es/components/fields/Switch/Switch.js +1 -1
  122. package/es/components/fields/Switch/index.js +1 -1
  123. package/es/components/fields/TextArea/TextArea.js +1 -1
  124. package/es/components/fields/TextArea/index.js +1 -1
  125. package/es/components/fields/TextInput/TextInput.js +1 -1
  126. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  127. package/es/components/fields/TextInput/index.js +1 -1
  128. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  129. package/es/components/fields/TextInputMapper/index.js +1 -1
  130. package/es/components/fields/index.js +3 -1
  131. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  132. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  133. package/es/components/form/FieldWrapper/index.js +1 -1
  134. package/es/components/form/FieldWrapper/types.js +1 -1
  135. package/es/components/form/Form/Field.js +1 -1
  136. package/es/components/form/Form/Form.js +1 -1
  137. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  138. package/es/components/form/Form/ResetButton/index.js +1 -1
  139. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  140. package/es/components/form/Form/SubmitButton/index.js +1 -1
  141. package/es/components/form/Form/SubmitError.js +1 -1
  142. package/es/components/form/Form/index.js +1 -1
  143. package/es/components/form/Form/types.js +1 -1
  144. package/es/components/form/Form/use-field/index.js +1 -1
  145. package/es/components/form/Form/use-field/types.js +1 -1
  146. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  147. package/es/components/form/Form/use-field/use-field.js +1 -1
  148. package/es/components/form/Form/use-form.js +1 -1
  149. package/es/components/form/Form/validation.js +1 -1
  150. package/es/components/form/Label.js +1 -1
  151. package/es/components/form/index.js +1 -1
  152. package/es/components/form/wrapper.js +5 -2
  153. package/es/components/layout/Flex.js +1 -1
  154. package/es/components/layout/Flow.js +1 -1
  155. package/es/components/layout/Grid.js +1 -1
  156. package/es/components/layout/Panel.js +1 -1
  157. package/es/components/layout/Prefix.js +1 -1
  158. package/es/components/layout/ResizablePanel.js +1 -1
  159. package/es/components/layout/Space.js +1 -1
  160. package/es/components/layout/Suffix.js +1 -1
  161. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  162. package/es/components/navigation/Link/Link.js +1 -1
  163. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  164. package/es/components/organisms/Modal/Modal.js +1 -1
  165. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  166. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  167. package/es/components/other/Calendar/Calendar.js +1 -1
  168. package/es/components/other/Calendar/CalendarCell.js +1 -1
  169. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  170. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  171. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  172. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  173. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  174. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  175. package/es/components/overlays/AlertDialog/index.js +1 -1
  176. package/es/components/overlays/AlertDialog/types.js +1 -1
  177. package/es/components/overlays/Dialog/Dialog.js +1 -1
  178. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  179. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  180. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  181. package/es/components/overlays/Dialog/context.js +1 -1
  182. package/es/components/overlays/Dialog/index.js +2 -2
  183. package/es/components/overlays/Dialog/{dialog-container.js → use-dialog-container.js} +3 -3
  184. package/es/components/overlays/Modal/Modal.js +1 -1
  185. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  186. package/es/components/overlays/Modal/Overlay.js +1 -1
  187. package/es/components/overlays/Modal/Popover.js +1 -1
  188. package/es/components/overlays/Modal/Tray.js +1 -1
  189. package/es/components/overlays/Modal/Underlay.js +1 -1
  190. package/es/components/overlays/Modal/index.js +1 -1
  191. package/es/components/overlays/Modal/types.js +1 -1
  192. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  193. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  194. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  195. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  196. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  197. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  198. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  199. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  200. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  201. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  202. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  203. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  204. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  205. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  206. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  207. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  211. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  212. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  213. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  214. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  215. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  216. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  217. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  218. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  219. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  220. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  221. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  222. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  223. package/es/components/overlays/NewNotifications/index.js +1 -1
  224. package/es/components/overlays/NewNotifications/types.js +1 -1
  225. package/es/components/overlays/Notification/Notification.js +1 -1
  226. package/es/components/overlays/OverlayWrapper.js +1 -1
  227. package/es/components/overlays/Toasts/Toast.js +1 -1
  228. package/es/components/overlays/Toasts/index.js +1 -1
  229. package/es/components/overlays/Toasts/types.js +1 -1
  230. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  231. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  232. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  233. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  234. package/es/components/overlays/Tooltip/context.js +1 -1
  235. package/es/components/overlays/Tooltip/index.js +1 -1
  236. package/es/components/portal/Portal.js +1 -1
  237. package/es/components/portal/PortalProvider.js +1 -1
  238. package/es/components/portal/index.js +1 -1
  239. package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
  240. package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
  241. package/es/components/portal/storybook/templates/basic.js +1 -1
  242. package/es/components/portal/storybook/templates/index.js +1 -1
  243. package/es/components/portal/types.js +1 -1
  244. package/es/components/portal/usePortal.js +1 -1
  245. package/es/components/shared/InvalidIcon.js +1 -1
  246. package/es/components/shared/ValidIcon.js +1 -1
  247. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  248. package/es/components/status/LoadingAnimation/index.js +1 -1
  249. package/es/components/status/Spin/Cube.js +1 -1
  250. package/es/components/status/Spin/InternalSpinner.js +1 -1
  251. package/es/components/status/Spin/Spin.js +1 -1
  252. package/es/components/status/Spin/SpinsContainer.js +1 -1
  253. package/es/components/status/Spin/index.js +1 -1
  254. package/es/components/status/Spin/types.js +1 -1
  255. package/es/components/status/index.js +1 -1
  256. package/es/data/themes.js +1 -1
  257. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  258. package/es/icons/AdjustmentsIcon.js +1 -1
  259. package/es/icons/AiIcon.js +1 -1
  260. package/es/icons/AreaChartIcon.js +1 -1
  261. package/es/icons/BackwardIcon.js +1 -1
  262. package/es/icons/BarChartIcon.js +1 -1
  263. package/es/icons/BellFilledIcon.js +1 -1
  264. package/es/icons/BellIcon.js +1 -1
  265. package/es/icons/BooleanIcon.js +1 -1
  266. package/es/icons/CalendarEditIcon.js +1 -1
  267. package/es/icons/CalendarIcon.js +1 -1
  268. package/es/icons/CaretDownIcon.js +1 -1
  269. package/es/icons/CaretUpIcon.js +1 -1
  270. package/es/icons/ChartAreaStackedIcon.js +1 -1
  271. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  272. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  273. package/es/icons/ChartBarGroupedIcon.js +1 -1
  274. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  275. package/es/icons/ChartBarLineIcon.js +1 -1
  276. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  277. package/es/icons/ChartBarStackedIcon.js +1 -1
  278. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  279. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  280. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  281. package/es/icons/ChartBoxPlotIcon.js +1 -1
  282. package/es/icons/ChartBubbleIcon.js +1 -1
  283. package/es/icons/ChartDonut2Icon.js +1 -1
  284. package/es/icons/ChartFunnelIcon.js +1 -1
  285. package/es/icons/ChartKPIIcon.js +12 -0
  286. package/es/icons/ChartPie2Icon.js +1 -1
  287. package/es/icons/ChartScatterIcon.js +1 -1
  288. package/es/icons/CheckCircleFilledIcon.js +1 -1
  289. package/es/icons/CheckCircleIcon.js +1 -1
  290. package/es/icons/CheckIcon.js +1 -1
  291. package/es/icons/CircleFilledIcon.js +1 -1
  292. package/es/icons/ClearIcon.js +1 -1
  293. package/es/icons/CloseCircleFilledIcon.js +1 -1
  294. package/es/icons/CloseCircleIcon.js +1 -1
  295. package/es/icons/CloseIcon.js +1 -1
  296. package/es/icons/CodeIcon.js +1 -1
  297. package/es/icons/CopyIcon.js +1 -1
  298. package/es/icons/CountIcon.js +1 -1
  299. package/es/icons/CubeIcon.js +1 -1
  300. package/es/icons/DangerIcon.js +1 -1
  301. package/es/icons/DashboardIcon.js +1 -1
  302. package/es/icons/DatabaseIcon.js +1 -1
  303. package/es/icons/DirectionIcon.js +1 -1
  304. package/es/icons/DonutIcon.js +1 -1
  305. package/es/icons/DownIcon.js +1 -1
  306. package/es/icons/EditIcon.js +1 -1
  307. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  308. package/es/icons/ExclamationCircleIcon.js +1 -1
  309. package/es/icons/ExclamationIcon.js +1 -1
  310. package/es/icons/EyeIcon.js +1 -1
  311. package/es/icons/EyeInvisibleIcon.js +1 -1
  312. package/es/icons/FilterIcon.js +1 -1
  313. package/es/icons/FolderFilledIcon.js +1 -1
  314. package/es/icons/FolderIcon.js +1 -1
  315. package/es/icons/FolderOpenFilledIcon.js +1 -1
  316. package/es/icons/FolderOpenIcon.js +1 -1
  317. package/es/icons/ForwardIcon.js +1 -1
  318. package/es/icons/HierarchyIcon.js +1 -1
  319. package/es/icons/Icon.js +1 -1
  320. package/es/icons/InfoCircleIcon.js +1 -1
  321. package/es/icons/InfoIcon.js +1 -1
  322. package/es/icons/KeyIcon.js +1 -1
  323. package/es/icons/LeftIcon.js +1 -1
  324. package/es/icons/LineChartIcon.js +1 -1
  325. package/es/icons/LoadingIcon.js +1 -1
  326. package/es/icons/LockFilledIcon.js +1 -1
  327. package/es/icons/LockIcon.js +1 -1
  328. package/es/icons/MoreIcon.js +1 -1
  329. package/es/icons/NotAllowedIcon.js +1 -1
  330. package/es/icons/NumberIcon.js +1 -1
  331. package/es/icons/PauseCircleFilledIcon.js +1 -1
  332. package/es/icons/PauseCircleIcon.js +1 -1
  333. package/es/icons/PauseIcon.js +1 -1
  334. package/es/icons/PieChartIcon.js +1 -1
  335. package/es/icons/PlayCircleIcon.js +1 -1
  336. package/es/icons/PlayIcon.js +1 -1
  337. package/es/icons/PlusIcon.js +1 -1
  338. package/es/icons/ReloadIcon.js +1 -1
  339. package/es/icons/ReportIcon.js +1 -1
  340. package/es/icons/ReturnIcon.js +1 -1
  341. package/es/icons/RightIcon.js +1 -1
  342. package/es/icons/SchemeIcon.js +1 -1
  343. package/es/icons/SearchIcon.js +1 -1
  344. package/es/icons/SettingsIcon.js +1 -1
  345. package/es/icons/ShieldFilledIcon.js +1 -1
  346. package/es/icons/ShieldIcon.js +1 -1
  347. package/es/icons/SlashIcon.js +1 -1
  348. package/es/icons/SparklesIcon.js +1 -1
  349. package/es/icons/SqlIcon.js +1 -1
  350. package/es/icons/StatsIcon.js +1 -1
  351. package/es/icons/StopIcon.js +1 -1
  352. package/es/icons/StringIcon.js +1 -1
  353. package/es/icons/SwitchIcon.js +1 -1
  354. package/es/icons/TableIcon.js +1 -1
  355. package/es/icons/ThumbsDownIcon.js +1 -1
  356. package/es/icons/ThumbsUpIcon.js +1 -1
  357. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  358. package/es/icons/ThunderboltFilledIcon.js +1 -1
  359. package/es/icons/ThunderboltIcon.js +1 -1
  360. package/es/icons/TimeIcon.js +1 -1
  361. package/es/icons/UnlockIcon.js +1 -1
  362. package/es/icons/UpIcon.js +1 -1
  363. package/es/icons/UserGroupIcon.js +1 -1
  364. package/es/icons/UserIcon.js +1 -1
  365. package/es/icons/UserLockIcon.js +1 -1
  366. package/es/icons/ViewIcon.js +1 -1
  367. package/es/icons/WarningFilledIcon.js +1 -1
  368. package/es/icons/WarningIcon.js +1 -1
  369. package/es/icons/add-new-icon.js +1 -1
  370. package/es/icons/index.js +2 -1
  371. package/es/icons/wrap-icon.js +1 -1
  372. package/es/index.js +1 -1
  373. package/es/provider.js +4 -1
  374. package/es/providers/TrackingProvider.js +1 -1
  375. package/es/services/notification.js +1 -1
  376. package/es/shared/form.js +1 -1
  377. package/es/shared/index.js +1 -1
  378. package/es/stories/Form.legacy-stories.js +1 -1
  379. package/es/stories/FormFieldArgs.js +1 -1
  380. package/es/stories/Layout.stories.js +1 -1
  381. package/es/stories/Tasty.stories.js +1 -1
  382. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  383. package/es/stories/components/DialogFormApp.js +1 -1
  384. package/es/stories/components/StyledButton.js +1 -1
  385. package/es/stories/lists/baseProps.js +1 -1
  386. package/es/tasty/index.js +1 -1
  387. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  388. package/es/tasty/styles/align.js +1 -1
  389. package/es/tasty/styles/border.js +1 -1
  390. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  391. package/es/tasty/styles/color.js +1 -1
  392. package/es/tasty/styles/createStyle.js +1 -1
  393. package/es/tasty/styles/dimension.js +1 -1
  394. package/es/tasty/styles/display.js +1 -1
  395. package/es/tasty/styles/fade.js +1 -1
  396. package/es/tasty/styles/fill.js +1 -1
  397. package/es/tasty/styles/flow.js +1 -1
  398. package/es/tasty/styles/font.js +1 -1
  399. package/es/tasty/styles/fontStyle.js +1 -1
  400. package/es/tasty/styles/gap.js +1 -1
  401. package/es/tasty/styles/groupRadius.js +1 -1
  402. package/es/tasty/styles/height.js +1 -1
  403. package/es/tasty/styles/index.js +1 -1
  404. package/es/tasty/styles/inset.js +1 -1
  405. package/es/tasty/styles/justify.js +1 -1
  406. package/es/tasty/styles/list.js +1 -1
  407. package/es/tasty/styles/margin.js +1 -1
  408. package/es/tasty/styles/marginBlock.js +1 -1
  409. package/es/tasty/styles/marginInline.js +1 -1
  410. package/es/tasty/styles/outline.js +1 -1
  411. package/es/tasty/styles/padding.js +1 -1
  412. package/es/tasty/styles/paddingBlock.js +1 -1
  413. package/es/tasty/styles/paddingInline.js +1 -1
  414. package/es/tasty/styles/place.js +1 -1
  415. package/es/tasty/styles/predefined.js +1 -1
  416. package/es/tasty/styles/preset.js +1 -1
  417. package/es/tasty/styles/radius.js +1 -1
  418. package/es/tasty/styles/reset.js +1 -1
  419. package/es/tasty/styles/scrollbar.js +1 -1
  420. package/es/tasty/styles/shadow.js +1 -1
  421. package/es/tasty/styles/styledScrollbar.js +1 -1
  422. package/es/tasty/styles/transition.js +1 -1
  423. package/es/tasty/styles/types.js +1 -1
  424. package/es/tasty/styles/width.js +1 -1
  425. package/es/tasty/tasty.js +1 -1
  426. package/es/tasty/types.js +1 -1
  427. package/es/tasty/utils/cache-wrapper.js +1 -1
  428. package/es/tasty/utils/case-converter.js +1 -1
  429. package/es/tasty/utils/colors.js +1 -1
  430. package/es/tasty/utils/dotize.js +1 -1
  431. package/es/tasty/utils/filterBaseProps.js +1 -1
  432. package/es/tasty/utils/getDisplayName.js +1 -1
  433. package/es/tasty/utils/getModCombinations.js +1 -1
  434. package/es/tasty/utils/mergeStyles.js +1 -1
  435. package/es/tasty/utils/modAttrs.js +1 -1
  436. package/es/tasty/utils/renderStyles.js +1 -1
  437. package/es/tasty/utils/responsive.js +1 -1
  438. package/es/tasty/utils/string.js +1 -1
  439. package/es/tasty/utils/styles.js +4 -1
  440. package/es/tasty/utils/warnings.js +1 -1
  441. package/es/tokens.js +1 -1
  442. package/es/type-checks.js +1 -1
  443. package/es/utils/ResizeSensor.js +1 -1
  444. package/es/utils/modules.js +1 -1
  445. package/es/utils/promise.js +1 -1
  446. package/es/utils/random.js +7 -1
  447. package/es/utils/range.js +1 -1
  448. package/es/utils/react/Slots.js +1 -1
  449. package/es/utils/react/chain.js +1 -1
  450. package/es/utils/react/index.js +3 -1
  451. package/es/utils/react/interactions.js +1 -1
  452. package/es/utils/react/isTextOnly.js +1 -1
  453. package/es/utils/react/mapProps.js +1 -1
  454. package/es/utils/react/mergeProps.js +1 -1
  455. package/es/utils/react/nullableValue.js +1 -1
  456. package/es/utils/react/sharedStore.js +51 -0
  457. package/es/utils/react/useCombinedRefs.js +1 -1
  458. package/es/utils/react/useControlledFocusVisible.js +42 -0
  459. package/es/utils/react/useEventBus.js +124 -0
  460. package/es/utils/react/useId.js +1 -1
  461. package/es/utils/react/useIsDarwin.js +1 -1
  462. package/es/utils/react/useKeySymbols.js +1 -1
  463. package/es/utils/react/useLayoutEffect.js +1 -1
  464. package/es/utils/react/useQaProps.js +1 -1
  465. package/es/utils/react/useViewportSize.js +1 -1
  466. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  467. package/es/utils/transitions.js +1 -1
  468. package/es/utils/tree.js +1 -1
  469. package/es/utils/warnings.js +1 -1
  470. package/es/version.js +2 -2
  471. package/package.json +2 -1
  472. package/types/components/actions/Button/Button.d.ts +8 -5
  473. package/types/components/actions/Menu/Menu.d.ts +3 -0
  474. package/types/components/actions/Menu/MenuItem.d.ts +1 -1
  475. package/types/components/actions/Menu/MenuTrigger.d.ts +2 -3
  476. package/types/components/actions/Menu/styled.d.ts +1 -0
  477. package/types/components/actions/index.d.ts +2 -0
  478. package/types/components/actions/use-anchored-menu.d.ts +34 -0
  479. package/types/components/actions/use-context-menu.d.ts +42 -0
  480. package/types/components/content/Card/Card.d.ts +2 -2
  481. package/types/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -1
  482. package/types/components/fields/FilterListBox/FilterListBox.d.ts +51 -0
  483. package/types/components/fields/FilterListBox/index.d.ts +1 -0
  484. package/types/components/fields/FilterPicker/FilterPicker.d.ts +55 -0
  485. package/types/components/fields/FilterPicker/index.d.ts +1 -0
  486. package/types/components/fields/ListBox/ListBox.d.ts +48 -22
  487. package/types/components/fields/Select/Select.d.ts +8 -1
  488. package/types/components/fields/index.d.ts +2 -0
  489. package/types/components/overlays/Dialog/index.d.ts +1 -1
  490. package/types/icons/ChartKPIIcon.d.ts +4 -0
  491. package/types/icons/index.d.ts +1 -0
  492. package/types/shared/form.d.ts +2 -0
  493. package/types/tasty/utils/styles.d.ts +1 -0
  494. package/types/utils/random.d.ts +4 -0
  495. package/types/utils/react/index.d.ts +4 -0
  496. package/types/utils/react/sharedStore.d.ts +11 -0
  497. package/types/utils/react/useControlledFocusVisible.d.ts +10 -0
  498. package/types/utils/react/useEventBus.d.ts +74 -0
  499. /package/types/components/overlays/Dialog/{dialog-container.d.ts → use-dialog-container.d.ts} +0 -0
@@ -0,0 +1,55 @@
1
+ import React, { ForwardedRef, ReactElement, ReactNode } from 'react';
2
+ import { Section as BaseSection, Item } from 'react-stately';
3
+ import { BasePropsWithoutChildren, BaseStyleProps, ColorStyleProps, OuterStyleProps, Styles } from '../../../tasty';
4
+ import { CubeFilterListBoxProps } from '../FilterListBox/FilterListBox';
5
+ import type { FieldBaseProps } from '../../../shared';
6
+ export interface CubeFilterPickerProps<T> extends Omit<CubeFilterListBoxProps<T>, 'children'>, BasePropsWithoutChildren, BaseStyleProps, OuterStyleProps, ColorStyleProps, FieldBaseProps {
7
+ /** Placeholder text when no selection is made */
8
+ placeholder?: string;
9
+ /** Icon to show in the trigger */
10
+ icon?: ReactElement;
11
+ /** Type of button styling */
12
+ type?: 'outline' | 'clear' | 'primary' | 'secondary' | 'neutral' | (string & {});
13
+ /** Button theme */
14
+ theme?: 'default' | 'special';
15
+ /** Size of the component */
16
+ size?: 'small' | 'medium' | 'large';
17
+ /** Children (FilterListBox.Item and FilterListBox.Section elements) */
18
+ children?: ReactNode;
19
+ /** Custom styles for the list box */
20
+ listBoxStyles?: Styles;
21
+ /** Custom styles for the popover */
22
+ popoverStyles?: Styles;
23
+ /** Whether the filter picker is checkable */
24
+ isCheckable?: boolean;
25
+ /**
26
+ * Custom renderer for the summary shown inside the trigger **when there is a selection**.
27
+ *
28
+ * For `selectionMode="multiple"` the function receives:
29
+ * - `selectedLabels`: array of labels of the selected items.
30
+ * - `selectedKeys`: array of keys of the selected items.
31
+ *
32
+ * For `selectionMode="single"` the function receives:
33
+ * - `selectedLabel`: label of the selected item.
34
+ * - `selectedKey`: key of the selected item.
35
+ *
36
+ * The function should return a `ReactNode` that will be rendered inside the trigger.
37
+ */
38
+ renderSummary?: ((args: {
39
+ selectedLabels: string[];
40
+ selectedKeys: (string | number)[];
41
+ selectedLabel?: string;
42
+ selectedKey?: string | number | null;
43
+ selectionMode: 'single' | 'multiple';
44
+ }) => ReactNode) | false;
45
+ /** Optional ref to access internal ListBox state (from FilterListBox) */
46
+ listStateRef?: React.MutableRefObject<any | null>;
47
+ /** Mods for the FilterPicker */
48
+ mods?: Record<string, boolean>;
49
+ }
50
+ export declare const FilterPicker: (<T>(props: CubeFilterPickerProps<T> & {
51
+ ref?: ForwardedRef<HTMLElement>;
52
+ }) => ReactElement) & {
53
+ Item: typeof Item;
54
+ Section: typeof BaseSection;
55
+ };
@@ -0,0 +1 @@
1
+ export * from './FilterPicker';
@@ -1,23 +1,10 @@
1
- import { ForwardedRef, ReactElement, ReactNode, RefObject } from 'react';
1
+ import { ForwardedRef, MutableRefObject, ReactElement, ReactNode, RefObject } from 'react';
2
2
  import { AriaListBoxProps } from 'react-aria';
3
3
  import { Section as BaseSection, Item } from 'react-stately';
4
4
  import { Styles } from '../../../tasty';
5
5
  import type { CollectionBase, Key } from '@react-types/shared';
6
6
  import type { FieldBaseProps } from '../../../shared';
7
- type FilterFn = (textValue: string, inputValue: string) => boolean;
8
7
  export interface CubeListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'onSelectionChange'>, CollectionBase<T>, FieldBaseProps {
9
- /** Whether the ListBox is searchable */
10
- isSearchable?: boolean;
11
- /** Placeholder text for the search input */
12
- searchPlaceholder?: string;
13
- /** Whether the search input should have autofocus */
14
- autoFocus?: boolean;
15
- /** The filter function used to determine if an option should be included in the filtered list */
16
- filter?: FilterFn;
17
- /** Custom label to display when no results are found after filtering */
18
- emptyLabel?: ReactNode;
19
- /** Custom styles for the search input */
20
- searchInputStyles?: Styles;
21
8
  /** Custom styles for the list container */
22
9
  listStyles?: Styles;
23
10
  /** Custom styles for options */
@@ -28,20 +15,60 @@ export interface CubeListBoxProps<T> extends Omit<AriaListBoxProps<T>, 'onSelect
28
15
  headingStyles?: Styles;
29
16
  /** Whether the ListBox is disabled */
30
17
  isDisabled?: boolean;
31
- /** Whether the ListBox as a whole is loading (generic loading indicator) */
32
- isLoading?: boolean;
33
18
  /** The selected key(s) */
34
19
  selectedKey?: Key | null;
35
- selectedKeys?: Key[] | 'all';
20
+ selectedKeys?: Key[];
36
21
  /** Default selected key(s) */
37
22
  defaultSelectedKey?: Key | null;
38
- defaultSelectedKeys?: Key[] | 'all';
23
+ defaultSelectedKeys?: Key[];
39
24
  /** Selection change handler */
40
25
  onSelectionChange?: (key: Key | null | Key[]) => void;
41
- /** Ref for the search input */
42
- searchInputRef?: RefObject<HTMLInputElement>;
43
26
  /** Ref for the list */
44
- listRef?: RefObject<HTMLElement>;
27
+ listRef?: RefObject<HTMLDivElement>;
28
+ /**
29
+ * Ref to access the internal ListState instance.
30
+ * This allows parent components to access selection state and other list functionality.
31
+ */
32
+ stateRef?: MutableRefObject<any | null>;
33
+ /**
34
+ * When true (default) moving the pointer over an option will move DOM focus to that option.
35
+ * Set to false for components that keep DOM focus outside (e.g. searchable FilterListBox).
36
+ */
37
+ focusOnHover?: boolean;
38
+ /** Custom header content */
39
+ header?: ReactNode;
40
+ /** Custom footer content */
41
+ footer?: ReactNode;
42
+ /** Custom styles for the header */
43
+ headerStyles?: Styles;
44
+ /** Custom styles for the footer */
45
+ footerStyles?: Styles;
46
+ /** Mods for the ListBox */
47
+ mods?: Record<string, boolean>;
48
+ /** Size of the ListBox */
49
+ size?: 'small' | 'medium';
50
+ /**
51
+ * When true, ListBox will use virtual focus. This keeps actual DOM focus
52
+ * outside of the individual option elements (e.g. for searchable lists
53
+ * where focus stays within an external input).
54
+ * Defaults to false for backward compatibility.
55
+ */
56
+ shouldUseVirtualFocus?: boolean;
57
+ /**
58
+ * Optional callback fired when the user presses Escape key.
59
+ * When provided, this prevents React Aria's default Escape behavior (selection reset).
60
+ */
61
+ onEscape?: () => void;
62
+ /**
63
+ * Whether the options in the ListBox are checkable.
64
+ * This adds a checkbox icon to the left of the option.
65
+ */
66
+ isCheckable?: boolean;
67
+ /**
68
+ * Callback fired when an option is clicked but not on the checkbox area.
69
+ * Used by FilterPicker to close the popover on non-checkbox clicks.
70
+ */
71
+ onOptionClick?: (key: Key) => void;
45
72
  }
46
73
  export declare const ListBox: (<T>(props: CubeListBoxProps<T> & {
47
74
  ref?: ForwardedRef<HTMLDivElement>;
@@ -49,4 +76,3 @@ export declare const ListBox: (<T>(props: CubeListBoxProps<T> & {
49
76
  Item: typeof Item;
50
77
  Section: typeof BaseSection;
51
78
  };
52
- export {};
@@ -14,11 +14,17 @@ export interface CubeSelectBaseProps<T> extends BasePropsWithoutChildren, AriaLa
14
14
  loadingIndicator?: ReactNode;
15
15
  overlayOffset?: number;
16
16
  hideTrigger?: boolean;
17
+ /**
18
+ * @deprecated Use `triggerStyles` instead
19
+ */
17
20
  inputStyles?: Styles;
18
21
  optionStyles?: Styles;
19
22
  triggerStyles?: Styles;
20
23
  listBoxStyles?: Styles;
21
24
  overlayStyles?: Styles;
25
+ /**
26
+ * @deprecated Use `styles` instead
27
+ */
22
28
  wrapperStyles?: Styles;
23
29
  direction?: 'top' | 'bottom';
24
30
  shouldFlip?: boolean;
@@ -34,7 +40,7 @@ export interface CubeSelectProps<T> extends CubeSelectBaseProps<T> {
34
40
  size?: 'small' | 'medium' | 'default' | 'large' | string;
35
41
  placeholder?: string;
36
42
  }
37
- export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, ...otherProps }: {
43
+ export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxStyles, overlayStyles, optionStyles, overlayProps: parentOverlayProps, shouldUseVirtualFocus, placement, minWidth, size, triggerRef, ...otherProps }: {
38
44
  [x: string]: any;
39
45
  state: any;
40
46
  popoverRef: any;
@@ -47,6 +53,7 @@ export declare function ListBoxPopup({ state, popoverRef, listBoxRef, listBoxSty
47
53
  placement: any;
48
54
  minWidth: any;
49
55
  size?: string | undefined;
56
+ triggerRef: any;
50
57
  }): import("react/jsx-runtime").JSX.Element;
51
58
  type SectionComponent = typeof BaseSection;
52
59
  declare const SelectSectionComponent: SectionComponent;
@@ -13,4 +13,6 @@ export * from './Switch/Switch';
13
13
  export * from './Select';
14
14
  export * from './ComboBox';
15
15
  export * from './ListBox';
16
+ export * from './FilterListBox';
17
+ export * from './FilterPicker';
16
18
  export * from './TextInputMapper';
@@ -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';
@@ -0,0 +1,4 @@
1
+ export declare const ChartKPIIcon: {
2
+ (props: import("./Icon").CubeIconProps): import("react/jsx-runtime").JSX.Element;
3
+ displayName: string;
4
+ };
@@ -26,6 +26,7 @@ export { ChartBoxPlotIcon } from './ChartBoxPlotIcon';
26
26
  export { ChartBubbleIcon } from './ChartBubbleIcon';
27
27
  export { ChartDonut2Icon } from './ChartDonut2Icon';
28
28
  export { ChartFunnelIcon } from './ChartFunnelIcon';
29
+ export { ChartKPIIcon } from './ChartKPIIcon';
29
30
  export { ChartPie2Icon } from './ChartPie2Icon';
30
31
  export { ChartScatterIcon } from './ChartScatterIcon';
31
32
  export { CheckCircleFilledIcon } from './CheckCircleFilledIcon';
@@ -68,6 +68,8 @@ export interface FieldBaseProps extends FormBaseProps {
68
68
  insideForm?: boolean;
69
69
  fieldProps?: Props;
70
70
  messageStyles?: Styles;
71
+ /** If true, the input component will be wrapped in a field wrapper even if it doesn't have a label. */
72
+ forceField?: boolean;
71
73
  }
72
74
  export interface FormBaseProps {
73
75
  /** Styles of the label */
@@ -88,6 +88,7 @@ export declare const CUSTOM_UNITS: {
88
88
  lh: string;
89
89
  rp: string;
90
90
  gp: string;
91
+ sf: (num: any) => string;
91
92
  dvh: (num: any) => string;
92
93
  sp: (num: any) => string;
93
94
  };
@@ -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,7 @@ 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';
13
+ export { useControlledFocusVisible } from './useControlledFocusVisible';
14
+ export type { UseControlledFocusVisibleResult } from './useControlledFocusVisible';
@@ -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 {};
@@ -0,0 +1,10 @@
1
+ export interface UseControlledFocusVisibleResult {
2
+ isFocusVisible: boolean;
3
+ activateFocusVisible: () => void;
4
+ }
5
+ /**
6
+ * A hook that shares its state using sharedStore and works like useFocusVisible from react-aria,
7
+ * but also returns activateFocusVisible function that manually switches the state to true
8
+ * until the original flag is switched to false.
9
+ */
10
+ export declare function useControlledFocusVisible(): UseControlledFocusVisibleResult;
@@ -0,0 +1,74 @@
1
+ import React, { ReactNode } from 'react';
2
+ export type EventBusListener<T = any> = (data: T) => void;
3
+ export interface EventBusContextValue {
4
+ emit: <T = any>(event: string, data?: T) => void;
5
+ on: <T = any>(event: string, listener: EventBusListener<T>) => () => void;
6
+ off: <T = any>(event: string, listener: EventBusListener<T>) => void;
7
+ }
8
+ export interface EventBusProviderProps {
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * EventBusProvider provides a global event system for the application.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * function App() {
17
+ * return (
18
+ * <EventBusProvider>
19
+ * <YourComponents />
20
+ * </EventBusProvider>
21
+ * );
22
+ * }
23
+ * ```
24
+ */
25
+ export declare function EventBusProvider({ children }: EventBusProviderProps): React.FunctionComponentElement<React.ProviderProps<EventBusContextValue | null>>;
26
+ /**
27
+ * Hook to access the event bus functionality.
28
+ * Must be used within an EventBusProvider.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * function Component() {
33
+ * const { emit, on } = useEventBus();
34
+ *
35
+ * const handleClick = () => {
36
+ * emit('user-action', { type: 'click', target: 'button' });
37
+ * };
38
+ *
39
+ * useEffect(() => {
40
+ * const unsubscribe = on('data-updated', (data) => {
41
+ * console.log('Data updated:', data);
42
+ * });
43
+ *
44
+ * return unsubscribe;
45
+ * }, [on]);
46
+ *
47
+ * return <button onClick={handleClick}>Click me</button>;
48
+ * }
49
+ * ```
50
+ */
51
+ export declare function useEventBus(): EventBusContextValue;
52
+ /**
53
+ * Convenience hook for subscribing to events with automatic cleanup.
54
+ * The listener will be automatically unsubscribed when the component unmounts
55
+ * or when the dependencies change.
56
+ *
57
+ * @param event - The event name to listen for
58
+ * @param listener - The callback function to execute when the event is emitted
59
+ * @param deps - Dependency array for the effect (similar to useEffect)
60
+ *
61
+ * @example
62
+ * ```tsx
63
+ * function NotificationComponent() {
64
+ * const [message, setMessage] = useState('');
65
+ *
66
+ * useEventListener('notification', (data) => {
67
+ * setMessage(data.message);
68
+ * }, []);
69
+ *
70
+ * return <div>{message}</div>;
71
+ * }
72
+ * ```
73
+ */
74
+ export declare function useEventListener<T = any>(event: string, listener: EventBusListener<T>, deps?: React.DependencyList): void;