@cube-dev/ui-kit 0.66.1 → 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.
- package/CHANGELOG.md +10 -0
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-debounced-value.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +3 -2
- package/es/components/actions/Action/Action.js +1 -1
- package/es/components/actions/Button/Button.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/CommandMenu/CommandMenu.js +1 -1
- package/es/components/actions/CommandMenu/index.js +1 -1
- package/es/components/actions/CommandMenu/styled.js +1 -2
- package/es/components/actions/Menu/Menu.js +1 -1
- package/es/components/actions/Menu/MenuItem.js +1 -1
- package/es/components/actions/Menu/MenuSection.js +1 -1
- package/es/components/actions/Menu/MenuTrigger.js +48 -21
- package/es/components/actions/Menu/context.js +1 -1
- package/es/components/actions/Menu/index.js +1 -1
- package/es/components/actions/Menu/styled.js +1 -1
- package/es/components/actions/index.js +3 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/actions/use-anchored-menu.js +98 -0
- package/es/components/actions/use-context-menu.js +206 -0
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
- package/es/components/content/CopyPasteBlock/index.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/HotKeys/HotKeys.js +1 -1
- package/es/components/content/HotKeys/index.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/PrismCode/prismSetup.js +1 -1
- package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/Title.js +1 -1
- package/es/components/fields/Checkbox/Checkbox.js +1 -1
- package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/fields/Checkbox/context.js +1 -1
- package/es/components/fields/Checkbox/index.js +1 -1
- package/es/components/fields/ComboBox/ComboBox.js +25 -3
- package/es/components/fields/ComboBox/index.js +1 -1
- package/es/components/fields/DatePicker/DateInput.js +1 -1
- package/es/components/fields/DatePicker/DateInputBase.js +1 -1
- package/es/components/fields/DatePicker/DatePicker.js +1 -1
- package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
- package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
- package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
- package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
- package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
- package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
- package/es/components/fields/DatePicker/TimeInput.js +1 -1
- package/es/components/fields/DatePicker/index.js +1 -1
- package/es/components/fields/DatePicker/intl.js +1 -1
- package/es/components/fields/DatePicker/parseDate.js +1 -1
- package/es/components/fields/DatePicker/props.js +1 -1
- package/es/components/fields/DatePicker/types.js +1 -1
- package/es/components/fields/DatePicker/utils.js +1 -1
- package/es/components/fields/FileInput/FileInput.js +1 -1
- package/es/components/fields/Input/Input.js +1 -1
- package/es/components/fields/Input/index.js +1 -1
- package/es/components/fields/ListBox/ListBox.js +1 -1
- package/es/components/fields/ListBox/index.js +1 -1
- package/es/components/fields/NumberInput/NumberInput.js +1 -1
- package/es/components/fields/NumberInput/StepButton.js +1 -1
- package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
- package/es/components/fields/RadioGroup/Radio.js +1 -1
- package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
- package/es/components/fields/RadioGroup/context.js +1 -1
- package/es/components/fields/RadioGroup/index.js +1 -1
- package/es/components/fields/SearchInput/SearchInput.js +1 -1
- package/es/components/fields/SearchInput/index.js +1 -1
- package/es/components/fields/Select/Select.js +38 -5
- package/es/components/fields/Select/index.js +1 -1
- package/es/components/fields/Slider/Gradation.js +1 -1
- package/es/components/fields/Slider/Header.js +1 -1
- package/es/components/fields/Slider/RangeSlider.js +1 -1
- package/es/components/fields/Slider/Slider.js +1 -1
- package/es/components/fields/Slider/SliderBase.js +1 -1
- package/es/components/fields/Slider/SliderInput.js +1 -1
- package/es/components/fields/Slider/SliderThumb.js +1 -1
- package/es/components/fields/Slider/SliderTrack.js +1 -1
- package/es/components/fields/Slider/elements.js +1 -1
- package/es/components/fields/Slider/index.js +1 -1
- package/es/components/fields/Slider/types.js +1 -1
- package/es/components/fields/Switch/Switch.js +1 -1
- package/es/components/fields/Switch/index.js +1 -1
- package/es/components/fields/TextArea/TextArea.js +1 -1
- package/es/components/fields/TextArea/index.js +1 -1
- package/es/components/fields/TextInput/TextInput.js +1 -1
- package/es/components/fields/TextInput/TextInputBase.js +1 -1
- package/es/components/fields/TextInput/index.js +1 -1
- package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
- package/es/components/fields/TextInputMapper/index.js +1 -1
- package/es/components/fields/index.js +1 -1
- package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
- package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/form/FieldWrapper/index.js +1 -1
- package/es/components/form/FieldWrapper/types.js +1 -1
- package/es/components/form/Form/Field.js +1 -1
- package/es/components/form/Form/Form.js +1 -1
- package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
- package/es/components/form/Form/ResetButton/index.js +1 -1
- package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
- package/es/components/form/Form/SubmitButton/index.js +1 -1
- package/es/components/form/Form/SubmitError.js +1 -1
- package/es/components/form/Form/index.js +1 -1
- package/es/components/form/Form/types.js +1 -1
- package/es/components/form/Form/use-field/index.js +1 -1
- package/es/components/form/Form/use-field/types.js +1 -1
- package/es/components/form/Form/use-field/use-field-props.js +1 -1
- package/es/components/form/Form/use-field/use-field.js +1 -1
- package/es/components/form/Form/use-form.js +1 -1
- package/es/components/form/Form/validation.js +1 -1
- package/es/components/form/Label.js +1 -1
- package/es/components/form/index.js +1 -1
- package/es/components/form/wrapper.js +1 -1
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Panel.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/ResizablePanel.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +1 -1
- package/es/components/other/Calendar/CalendarCell.js +1 -1
- package/es/components/other/Calendar/CalendarGrid.js +1 -1
- package/es/components/other/Calendar/RangeCalendar.js +1 -1
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +2 -2
- package/es/components/overlays/Dialog/{dialog-container.js → use-dialog-container.js} +3 -3
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/overlays/Tooltip/index.js +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
- package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/es/components/portal/storybook/templates/basic.js +1 -1
- package/es/components/portal/storybook/templates/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +1 -1
- package/es/components/shared/ValidIcon.js +1 -1
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
- package/es/icons/AdjustmentsIcon.js +1 -1
- package/es/icons/AiIcon.js +1 -1
- package/es/icons/AreaChartIcon.js +1 -1
- package/es/icons/BackwardIcon.js +1 -1
- package/es/icons/BarChartIcon.js +1 -1
- package/es/icons/BellFilledIcon.js +1 -1
- package/es/icons/BellIcon.js +1 -1
- package/es/icons/BooleanIcon.js +1 -1
- package/es/icons/CalendarEditIcon.js +1 -1
- package/es/icons/CalendarIcon.js +1 -1
- package/es/icons/CaretDownIcon.js +1 -1
- package/es/icons/CaretUpIcon.js +1 -1
- package/es/icons/ChartAreaStackedIcon.js +1 -1
- package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarGroupedIcon.js +1 -1
- package/es/icons/ChartBarHorizontalIcon.js +1 -1
- package/es/icons/ChartBarLineIcon.js +1 -1
- package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
- package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
- package/es/icons/ChartBoxPlot2Icon.js +1 -1
- package/es/icons/ChartBoxPlotIcon.js +1 -1
- package/es/icons/ChartBubbleIcon.js +1 -1
- package/es/icons/ChartDonut2Icon.js +1 -1
- package/es/icons/ChartFunnelIcon.js +1 -1
- package/es/icons/ChartPie2Icon.js +1 -1
- package/es/icons/ChartScatterIcon.js +1 -1
- package/es/icons/CheckCircleFilledIcon.js +1 -1
- package/es/icons/CheckCircleIcon.js +1 -1
- package/es/icons/CheckIcon.js +1 -1
- package/es/icons/CircleFilledIcon.js +1 -1
- package/es/icons/ClearIcon.js +1 -1
- package/es/icons/CloseCircleFilledIcon.js +1 -1
- package/es/icons/CloseCircleIcon.js +1 -1
- package/es/icons/CloseIcon.js +1 -1
- package/es/icons/CodeIcon.js +1 -1
- package/es/icons/CopyIcon.js +1 -1
- package/es/icons/CountIcon.js +1 -1
- package/es/icons/CubeIcon.js +1 -1
- package/es/icons/DangerIcon.js +1 -1
- package/es/icons/DashboardIcon.js +1 -1
- package/es/icons/DatabaseIcon.js +1 -1
- package/es/icons/DirectionIcon.js +1 -1
- package/es/icons/DonutIcon.js +1 -1
- package/es/icons/DownIcon.js +1 -1
- package/es/icons/EditIcon.js +1 -1
- package/es/icons/ExclamationCircleFilledIcon.js +1 -1
- package/es/icons/ExclamationCircleIcon.js +1 -1
- package/es/icons/ExclamationIcon.js +1 -1
- package/es/icons/EyeIcon.js +1 -1
- package/es/icons/EyeInvisibleIcon.js +1 -1
- package/es/icons/FilterIcon.js +1 -1
- package/es/icons/FolderFilledIcon.js +1 -1
- package/es/icons/FolderIcon.js +1 -1
- package/es/icons/FolderOpenFilledIcon.js +1 -1
- package/es/icons/FolderOpenIcon.js +1 -1
- package/es/icons/ForwardIcon.js +1 -1
- package/es/icons/HierarchyIcon.js +1 -1
- package/es/icons/Icon.js +1 -1
- package/es/icons/InfoCircleIcon.js +1 -1
- package/es/icons/InfoIcon.js +1 -1
- package/es/icons/KeyIcon.js +1 -1
- package/es/icons/LeftIcon.js +1 -1
- package/es/icons/LineChartIcon.js +1 -1
- package/es/icons/LoadingIcon.js +1 -1
- package/es/icons/LockFilledIcon.js +1 -1
- package/es/icons/LockIcon.js +1 -1
- package/es/icons/MoreIcon.js +1 -1
- package/es/icons/NotAllowedIcon.js +1 -1
- package/es/icons/NumberIcon.js +1 -1
- package/es/icons/PauseCircleFilledIcon.js +1 -1
- package/es/icons/PauseCircleIcon.js +1 -1
- package/es/icons/PauseIcon.js +1 -1
- package/es/icons/PieChartIcon.js +1 -1
- package/es/icons/PlayCircleIcon.js +1 -1
- package/es/icons/PlayIcon.js +1 -1
- package/es/icons/PlusIcon.js +1 -1
- package/es/icons/ReloadIcon.js +1 -1
- package/es/icons/ReportIcon.js +1 -1
- package/es/icons/ReturnIcon.js +1 -1
- package/es/icons/RightIcon.js +1 -1
- package/es/icons/SchemeIcon.js +1 -1
- package/es/icons/SearchIcon.js +1 -1
- package/es/icons/SettingsIcon.js +1 -1
- package/es/icons/ShieldFilledIcon.js +1 -1
- package/es/icons/ShieldIcon.js +1 -1
- package/es/icons/SlashIcon.js +1 -1
- package/es/icons/SparklesIcon.js +1 -1
- package/es/icons/SqlIcon.js +1 -1
- package/es/icons/StatsIcon.js +1 -1
- package/es/icons/StopIcon.js +1 -1
- package/es/icons/StringIcon.js +1 -1
- package/es/icons/SwitchIcon.js +1 -1
- package/es/icons/TableIcon.js +1 -1
- package/es/icons/ThumbsDownIcon.js +1 -1
- package/es/icons/ThumbsUpIcon.js +1 -1
- package/es/icons/ThunderboltCrossedIcon.js +1 -1
- package/es/icons/ThunderboltFilledIcon.js +1 -1
- package/es/icons/ThunderboltIcon.js +1 -1
- package/es/icons/TimeIcon.js +1 -1
- package/es/icons/UnlockIcon.js +1 -1
- package/es/icons/UpIcon.js +1 -1
- package/es/icons/UserGroupIcon.js +1 -1
- package/es/icons/UserIcon.js +1 -1
- package/es/icons/UserLockIcon.js +1 -1
- package/es/icons/ViewIcon.js +1 -1
- package/es/icons/WarningFilledIcon.js +1 -1
- package/es/icons/WarningIcon.js +1 -1
- package/es/icons/add-new-icon.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/icons/wrap-icon.js +1 -1
- package/es/index.js +1 -1
- package/es/provider.js +4 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/Form.legacy-stories.js +1 -1
- package/es/stories/FormFieldArgs.js +1 -1
- package/es/stories/Layout.stories.js +1 -1
- package/es/stories/Tasty.stories.js +1 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/fade.js +1 -1
- package/es/tasty/styles/fill.js +1 -1
- package/es/tasty/styles/flow.js +1 -1
- package/es/tasty/styles/font.js +1 -1
- package/es/tasty/styles/fontStyle.js +1 -1
- package/es/tasty/styles/gap.js +1 -1
- package/es/tasty/styles/groupRadius.js +1 -1
- package/es/tasty/styles/height.js +1 -1
- package/es/tasty/styles/index.js +1 -1
- package/es/tasty/styles/inset.js +1 -1
- package/es/tasty/styles/justify.js +1 -1
- package/es/tasty/styles/list.js +1 -1
- package/es/tasty/styles/margin.js +1 -1
- package/es/tasty/styles/marginBlock.js +1 -1
- package/es/tasty/styles/marginInline.js +1 -1
- package/es/tasty/styles/outline.js +1 -1
- package/es/tasty/styles/padding.js +1 -1
- package/es/tasty/styles/paddingBlock.js +1 -1
- package/es/tasty/styles/paddingInline.js +1 -1
- package/es/tasty/styles/place.js +1 -1
- package/es/tasty/styles/predefined.js +1 -1
- package/es/tasty/styles/preset.js +1 -1
- package/es/tasty/styles/radius.js +1 -1
- package/es/tasty/styles/reset.js +1 -1
- package/es/tasty/styles/scrollbar.js +1 -1
- package/es/tasty/styles/shadow.js +1 -1
- package/es/tasty/styles/styledScrollbar.js +1 -1
- package/es/tasty/styles/transition.js +1 -1
- package/es/tasty/styles/types.js +1 -1
- package/es/tasty/styles/width.js +1 -1
- package/es/tasty/tasty.js +1 -1
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +1 -1
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.js +1 -1
- package/es/tasty/utils/getModCombinations.js +1 -1
- package/es/tasty/utils/mergeStyles.js +1 -1
- package/es/tasty/utils/modAttrs.js +1 -1
- package/es/tasty/utils/renderStyles.js +1 -1
- package/es/tasty/utils/responsive.js +1 -1
- package/es/tasty/utils/string.js +1 -1
- package/es/tasty/utils/styles.js +1 -1
- package/es/tasty/utils/warnings.js +1 -1
- package/es/tokens.js +1 -1
- package/es/type-checks.js +1 -1
- package/es/utils/ResizeSensor.js +1 -1
- package/es/utils/modules.js +1 -1
- package/es/utils/promise.js +1 -1
- package/es/utils/random.js +7 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +1 -1
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/index.js +2 -1
- package/es/utils/react/interactions.js +1 -1
- package/es/utils/react/isTextOnly.js +1 -1
- package/es/utils/react/mapProps.js +1 -1
- package/es/utils/react/mergeProps.js +1 -1
- package/es/utils/react/nullableValue.js +1 -1
- package/es/utils/react/sharedStore.js +51 -0
- package/es/utils/react/useCombinedRefs.js +1 -1
- package/es/utils/react/useEventBus.js +124 -0
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useIsDarwin.js +1 -1
- package/es/utils/react/useKeySymbols.js +1 -1
- package/es/utils/react/useLayoutEffect.js +1 -1
- package/es/utils/react/useQaProps.js +1 -1
- package/es/utils/react/useViewportSize.js +1 -1
- package/es/utils/react/wrapNodeIfPlain.js +1 -1
- package/es/utils/transitions.js +1 -1
- package/es/utils/tree.js +1 -1
- package/es/utils/warnings.js +1 -1
- package/es/version.js +2 -2
- package/package.json +1 -1
- package/types/components/actions/Menu/MenuTrigger.d.ts +2 -3
- package/types/components/actions/index.d.ts +2 -0
- package/types/components/actions/use-anchored-menu.d.ts +34 -0
- package/types/components/actions/use-context-menu.d.ts +42 -0
- package/types/components/content/Card/Card.d.ts +2 -2
- package/types/components/content/CopyPasteBlock/CopyPasteBlock.d.ts +1 -1
- package/types/components/fields/Select/Select.d.ts +2 -1
- package/types/components/overlays/Dialog/index.d.ts +1 -1
- package/types/utils/random.d.ts +4 -0
- package/types/utils/react/index.d.ts +2 -0
- package/types/utils/react/sharedStore.d.ts +11 -0
- package/types/utils/react/useEventBus.d.ts +74 -0
- /package/types/components/overlays/Dialog/{dialog-container.d.ts → use-dialog-container.d.ts} +0 -0
@@ -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
|
+
|
@@ -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
|
+
|
package/es/utils/react/useId.js
CHANGED
package/es/utils/transitions.js
CHANGED
package/es/utils/tree.js
CHANGED
package/es/utils/warnings.js
CHANGED
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.
|
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.
|
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,5 +1,5 @@
|
|
1
1
|
import { ReactElement } from 'react';
|
2
|
-
import { AriaMenuTriggerProps,
|
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,
|
@@ -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 {
|
2
|
-
export interface CubeCardProps extends
|
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;
|
package/types/utils/random.d.ts
CHANGED
@@ -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 {};
|
@@ -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;
|
/package/types/components/overlays/Dialog/{dialog-container.d.ts → use-dialog-container.d.ts}
RENAMED
File without changes
|