@cube-dev/ui-kit 0.0.0-canary-1be35be → 0.0.0-canary-f2f75e5
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 +12 -0
- package/cjs/_internal/hooks/index.js +12 -4
- package/cjs/_internal/hooks/use-chained-callback.js +2 -1
- package/cjs/_internal/hooks/use-deprecation-warning.js +6 -2
- package/cjs/_internal/hooks/use-effect-once.js +18 -0
- package/cjs/_internal/hooks/use-event.js +1 -1
- package/cjs/_internal/hooks/use-is-first-render.js +22 -0
- package/cjs/_internal/hooks/use-sync-ref.js +1 -1
- package/cjs/_internal/hooks/use-timer/index.js +6 -2
- package/cjs/_internal/hooks/use-timer/timer.js +1 -1
- package/cjs/_internal/hooks/use-timer/use-timer.js +1 -1
- package/cjs/_internal/hooks/use-update-effect.js +24 -0
- package/cjs/_internal/hooks/use-warn.js +50 -0
- package/cjs/_internal/index.js +6 -2
- package/cjs/components/Base.js +2 -2
- package/cjs/components/Block.js +2 -2
- package/cjs/components/GlobalStyles.js +1 -1
- package/cjs/components/GridProvider.js +7 -3
- package/cjs/components/HiddenInput.js +1 -1
- package/cjs/components/OpenTrasition.js +2 -2
- package/cjs/components/Root.js +2 -2
- package/cjs/components/actions/Action.js +2 -2
- package/cjs/components/actions/Button/Button.js +2 -2
- package/cjs/components/actions/Button/index.js +6 -3
- package/cjs/components/actions/ButtonGroup/ButtonGroup.js +2 -2
- package/cjs/components/actions/index.js +6 -2
- package/cjs/components/actions/use-action.js +1 -1
- package/cjs/components/content/ActiveZone/ActiveZone.js +2 -2
- package/cjs/components/content/Alert/Alert.js +2 -2
- package/cjs/components/content/Alert/index.js +6 -2
- package/cjs/components/content/Alert/types.js +1 -1
- package/cjs/components/content/Alert/use-alert.js +1 -1
- package/cjs/components/content/Avatar/Avatar.js +2 -2
- package/cjs/components/content/Badge/Badge.js +2 -2
- package/cjs/components/content/Card/Card.js +2 -2
- package/cjs/components/content/Content.js +2 -2
- package/cjs/components/content/CopySnippet/CopySnippet.js +4 -4
- package/cjs/components/content/CopySnippet/index.js +6 -2
- package/cjs/components/content/Divider.js +2 -2
- package/cjs/components/content/Footer.js +2 -2
- package/cjs/components/content/Header.js +2 -2
- package/cjs/components/content/Paragraph.js +2 -2
- package/cjs/components/content/Placeholder/Placeholder.js +2 -2
- package/cjs/components/content/PrismCode/PrismCode.js +2 -2
- package/cjs/components/content/Result/Result.js +3 -3
- package/cjs/components/content/Skeleton/Skeleton.js +12 -12
- package/cjs/components/content/Tag/Tag.js +3 -3
- package/cjs/components/content/Text.js +8 -8
- package/cjs/components/content/Title.js +4 -4
- package/cjs/components/forms/Checkbox/Checkbox.js +31 -14
- package/cjs/components/forms/Checkbox/CheckboxGroup.js +30 -25
- package/cjs/components/forms/Checkbox/context.js +1 -1
- package/cjs/components/forms/{FieldWrapper.js → FieldWrapper/FieldWrapper.js} +22 -20
- package/cjs/components/forms/FieldWrapper/extract-field-wrapper-props.js +50 -0
- package/cjs/components/forms/FieldWrapper/index.js +28 -0
- package/cjs/components/forms/FieldWrapper/types.js +11 -0
- package/cjs/components/forms/FileInput/FileInput.js +5 -5
- package/cjs/components/forms/Form/{Field.js → Field/LegacyField.js} +48 -27
- package/cjs/components/forms/Form/Field/index.js +29 -0
- package/cjs/components/forms/Form/Field/types.js +11 -0
- package/cjs/components/forms/Form/Field/use-field-props.js +61 -0
- package/cjs/components/forms/Form/Field/use-field.js +133 -0
- package/cjs/components/forms/Form/Form.js +3 -3
- package/cjs/components/forms/Form/Submit/Submit.js +25 -0
- package/cjs/components/forms/Form/Submit/index.js +26 -0
- package/cjs/components/forms/Form/SubmitError.js +2 -2
- package/cjs/components/forms/Form/index.js +20 -3
- package/cjs/components/forms/Form/types.js +1 -1
- package/cjs/components/forms/Form/useForm.js +2 -1
- package/cjs/components/forms/Form/validation.js +1 -1
- package/cjs/components/forms/Input/Input.js +3 -7
- package/cjs/components/forms/Input/index.js +6 -2
- package/cjs/components/forms/Label.js +4 -4
- package/cjs/components/forms/NumberInput/NumberInput.js +17 -11
- package/cjs/components/forms/NumberInput/StepButton.js +3 -3
- package/cjs/components/forms/PasswordInput/PasswordInput.js +23 -6
- package/cjs/components/forms/RadioGroup/Radio.js +17 -8
- package/cjs/components/forms/RadioGroup/RadioGroup.js +13 -5
- package/cjs/components/forms/RadioGroup/context.js +1 -1
- package/cjs/components/forms/SearchInput/SearchInput.js +4 -4
- package/cjs/components/forms/Slider/Gradation.js +2 -2
- package/cjs/components/forms/Slider/Header.js +1 -1
- package/cjs/components/forms/Slider/RangeSlider.js +3 -3
- package/cjs/components/forms/Slider/Slider.js +5 -4
- package/cjs/components/forms/Slider/SliderBase.js +5 -5
- package/cjs/components/forms/Slider/SliderInput.js +2 -2
- package/cjs/components/forms/Slider/SliderThumb.js +2 -2
- package/cjs/components/forms/Slider/SliderTrack.js +2 -2
- package/cjs/components/forms/Slider/elements.js +1 -1
- package/cjs/components/forms/Slider/index.js +6 -2
- package/cjs/components/forms/Slider/types.js +1 -1
- package/cjs/components/forms/Switch/Switch.js +19 -15
- package/cjs/components/forms/TextArea/TextArea.js +30 -27
- package/cjs/components/forms/TextInput/TextInput.js +16 -9
- package/cjs/components/forms/TextInput/TextInputBase.js +12 -40
- package/cjs/components/forms/TextInput/index.js +27 -0
- package/cjs/components/forms/index.js +6 -2
- package/cjs/components/layout/Flex.js +2 -2
- package/cjs/components/layout/Flow.js +2 -2
- package/cjs/components/layout/Grid.js +2 -2
- package/cjs/components/layout/Prefix.js +2 -2
- package/cjs/components/layout/Space.js +2 -2
- package/cjs/components/layout/Suffix.js +2 -2
- package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +4 -4
- package/cjs/components/navigation/Link/Link.js +2 -2
- package/cjs/components/organisms/FileTabs/FileTabs.js +4 -4
- package/cjs/components/organisms/Modal/Modal.js +3 -3
- package/cjs/components/organisms/StatsCard/StatsCard.js +2 -2
- package/cjs/components/other/Base64Upload/Base64Upload.js +2 -2
- package/cjs/components/other/CloudLogo/CloudLogo.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +2 -2
- package/cjs/components/overlays/AlertDialog/index.js +6 -2
- package/cjs/components/overlays/AlertDialog/types.js +1 -1
- package/cjs/components/overlays/Dialog/Dialog.js +17 -5
- package/cjs/components/overlays/Dialog/DialogContainer.js +2 -2
- package/cjs/components/overlays/Dialog/DialogForm.js +4 -6
- package/cjs/components/overlays/Dialog/DialogTrigger.js +11 -11
- package/cjs/components/overlays/Dialog/context.js +1 -1
- package/cjs/components/overlays/Dialog/index.js +6 -2
- package/cjs/components/overlays/Modal/Modal.js +23 -9
- package/cjs/components/overlays/Modal/OpenTransition.js +12 -3
- package/cjs/components/overlays/Modal/Overlay.js +6 -4
- package/cjs/components/overlays/Modal/Popover.js +20 -5
- package/cjs/components/overlays/Modal/Tray.js +14 -4
- package/cjs/components/overlays/Modal/Underlay.js +2 -2
- package/cjs/components/overlays/Modal/index.js +16 -1
- package/cjs/components/overlays/Modal/types.js +11 -0
- package/cjs/components/overlays/NewNotifications/Bar/FloatingNotification.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/NotificationsBar.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/TransitionComponent.js +2 -2
- package/cjs/components/overlays/NewNotifications/Bar/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +3 -3
- package/cjs/components/overlays/NewNotifications/Dialog/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/Notification.js +4 -4
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationAction.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +3 -3
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +7 -3
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +5 -5
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationView.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +2 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/cjs/components/overlays/NewNotifications/index.js +6 -2
- package/cjs/components/overlays/NewNotifications/types.js +1 -1
- package/cjs/components/overlays/Notification/Notification.js +2 -2
- package/cjs/components/overlays/OverlayWrapper.js +3 -3
- package/cjs/components/overlays/Toasts/Toast.js +4 -4
- package/cjs/components/overlays/Toasts/index.js +6 -2
- package/cjs/components/overlays/Toasts/types.js +1 -1
- package/cjs/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/cjs/components/overlays/Tooltip/Tooltip.js +2 -2
- package/cjs/components/overlays/Tooltip/TooltipProvider.js +2 -2
- package/cjs/components/overlays/Tooltip/TooltipTrigger.js +4 -4
- package/cjs/components/overlays/Tooltip/context.js +1 -1
- package/cjs/components/pickers/ComboBox/ComboBox.js +31 -19
- package/cjs/components/pickers/Menu/Menu.js +3 -3
- package/cjs/components/pickers/Menu/MenuButton.js +5 -5
- package/cjs/components/pickers/Menu/MenuItem.js +3 -3
- package/cjs/components/pickers/Menu/MenuSection.js +3 -3
- package/cjs/components/pickers/Menu/MenuTrigger.js +10 -6
- package/cjs/components/pickers/Menu/context.js +6 -2
- package/cjs/components/pickers/Menu/styled.js +1 -1
- package/cjs/components/pickers/Select/Select.js +26 -11
- package/cjs/components/portal/Portal.js +2 -2
- package/cjs/components/portal/PortalProvider.js +1 -1
- package/cjs/components/portal/index.js +6 -2
- package/cjs/components/portal/storybook/templates/CustomRoot.js +2 -2
- package/cjs/components/portal/storybook/templates/PortalOrder.js +2 -2
- package/cjs/components/portal/storybook/templates/basic.js +2 -2
- package/cjs/components/portal/storybook/templates/index.js +6 -2
- package/cjs/components/portal/types.js +1 -1
- package/cjs/components/portal/usePortal.js +1 -1
- package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +3 -3
- package/cjs/components/status/LoadingAnimation/index.js +1 -1
- package/cjs/components/status/Spin/Cube.js +1 -1
- package/cjs/components/status/Spin/InternalSpinner.js +2 -2
- package/cjs/components/status/Spin/Spin.js +3 -3
- package/cjs/components/status/Spin/SpinsContainer.js +1 -1
- package/cjs/components/status/Spin/index.js +6 -2
- package/cjs/components/status/Spin/types.js +1 -1
- package/cjs/components/status/index.js +6 -2
- package/cjs/data/themes.js +1 -1
- package/cjs/icons/Attention.js +2 -2
- package/cjs/icons/Cross.js +2 -2
- package/cjs/icons/Danger.js +2 -2
- package/cjs/icons/Success.js +2 -2
- package/cjs/icons/index.js +6 -2
- package/cjs/index.js +9 -7
- package/cjs/provider.js +3 -3
- package/cjs/providers/StyleProvider.js +2 -2
- package/cjs/services/notification.js +2 -2
- package/cjs/shared/form.js +1 -1
- package/cjs/shared/index.js +6 -2
- package/cjs/styled/index.js +6 -2
- package/cjs/styled/styled.js +9 -5
- package/cjs/tasty/index.js +6 -2
- package/cjs/tasty/providers/BreakpointsProvider.js +2 -2
- package/cjs/tasty/styles/align.js +1 -1
- package/cjs/tasty/styles/border.js +1 -1
- package/cjs/tasty/styles/boxShadow.combinator.js +1 -1
- package/cjs/tasty/styles/color.js +1 -1
- package/cjs/tasty/styles/createStyle.js +1 -1
- package/cjs/tasty/styles/dimension.js +1 -1
- package/cjs/tasty/styles/display.js +1 -1
- package/cjs/tasty/styles/fill.js +1 -1
- package/cjs/tasty/styles/flow.js +1 -1
- package/cjs/tasty/styles/font.js +1 -1
- package/cjs/tasty/styles/fontStyle.js +1 -1
- package/cjs/tasty/styles/gap.js +1 -1
- package/cjs/tasty/styles/groupRadius.js +1 -1
- package/cjs/tasty/styles/height.js +1 -1
- package/cjs/tasty/styles/index.js +6 -2
- package/cjs/tasty/styles/justify.js +1 -1
- package/cjs/tasty/styles/list.js +1 -1
- package/cjs/tasty/styles/margin.js +1 -1
- package/cjs/tasty/styles/marginBlock.js +1 -1
- package/cjs/tasty/styles/marginInline.js +1 -1
- package/cjs/tasty/styles/outline.js +1 -1
- package/cjs/tasty/styles/padding.js +1 -1
- package/cjs/tasty/styles/paddingBlock.js +1 -1
- package/cjs/tasty/styles/paddingInline.js +1 -1
- package/cjs/tasty/styles/predefined.js +1 -1
- package/cjs/tasty/styles/preset.js +1 -1
- package/cjs/tasty/styles/radius.js +1 -1
- package/cjs/tasty/styles/reset.js +1 -1
- package/cjs/tasty/styles/shadow.js +1 -1
- package/cjs/tasty/styles/styledScrollbar.js +1 -1
- package/cjs/tasty/styles/transition.js +1 -1
- package/cjs/tasty/styles/types.js +1 -1
- package/cjs/tasty/styles/width.js +1 -1
- package/cjs/tasty/tasty.js +9 -5
- package/cjs/tasty/types.js +1 -1
- package/cjs/tasty/utils/colors.js +1 -1
- package/cjs/tasty/utils/dotize.js +1 -1
- package/cjs/tasty/utils/filterBaseProps.js +1 -1
- package/cjs/tasty/utils/get-display-name.js +1 -1
- package/cjs/tasty/utils/index.js +1 -1
- package/cjs/tasty/utils/mergeStyles.js +1 -1
- package/cjs/tasty/utils/modAttrs.js +1 -1
- package/cjs/tasty/utils/renderStyles.js +1 -1
- package/cjs/tasty/utils/responsive.js +1 -1
- package/cjs/tasty/utils/string.js +1 -1
- package/cjs/tasty/utils/styles.js +1 -1
- package/cjs/tasty/utils/warnings.js +1 -1
- package/cjs/test/index.js +14 -2
- package/cjs/test/render.js +7 -3
- package/cjs/test/setup.js +48 -4
- package/cjs/test/utils/index.js +6 -2
- package/cjs/test/utils/wait.js +1 -1
- package/cjs/tokens.js +1 -1
- package/cjs/type-checks.js +1 -1
- package/cjs/utils/ResizeSensor.js +1 -1
- package/cjs/utils/modules.js +1 -1
- package/cjs/utils/promise.js +1 -1
- package/cjs/utils/random.js +1 -1
- package/cjs/utils/range.js +1 -1
- package/cjs/utils/react/Slots.js +3 -3
- package/cjs/utils/react/chain.js +1 -1
- package/cjs/utils/react/index.js +1 -1
- package/cjs/utils/react/interactions.js +1 -1
- package/cjs/utils/react/isTextOnly.js +1 -1
- package/cjs/utils/react/mapProps.js +1 -1
- package/cjs/utils/react/mergeProps.js +1 -1
- package/cjs/utils/react/nullableValue.js +1 -1
- package/cjs/utils/react/useCombinedRefs.js +1 -1
- package/cjs/utils/react/useId.js +1 -1
- package/cjs/utils/react/useLayoutEffect.js +6 -2
- package/cjs/utils/react/useViewportSize.js +1 -1
- package/cjs/utils/react/wrapNodeIfPlain.js +1 -1
- package/cjs/utils/transitions.js +1 -1
- package/cjs/utils/tree.js +1 -1
- package/cjs/utils/warnings.js +2 -2
- package/es/_internal/hooks/index.js +7 -3
- package/es/_internal/hooks/use-chained-callback.js +2 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +14 -0
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +18 -0
- 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 +20 -0
- package/es/_internal/hooks/use-warn.js +23 -0
- package/es/_internal/index.js +1 -1
- package/es/components/Base.js +2 -2
- package/es/components/Block.js +2 -2
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +2 -2
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +2 -2
- package/es/components/Root.js +2 -2
- package/es/components/actions/Action.js +2 -2
- package/es/components/actions/Button/Button.js +2 -2
- package/es/components/actions/Button/index.js +1 -2
- package/es/components/actions/ButtonGroup/ButtonGroup.js +2 -2
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +2 -2
- package/es/components/content/Alert/Alert.js +2 -2
- 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 +2 -2
- package/es/components/content/Badge/Badge.js +2 -2
- package/es/components/content/Card/Card.js +2 -2
- package/es/components/content/Content.js +2 -2
- package/es/components/content/CopySnippet/CopySnippet.js +4 -4
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +2 -2
- package/es/components/content/Footer.js +2 -2
- package/es/components/content/Header.js +2 -2
- package/es/components/content/Paragraph.js +2 -2
- package/es/components/content/Placeholder/Placeholder.js +2 -2
- package/es/components/content/PrismCode/PrismCode.js +2 -2
- package/es/components/content/Result/Result.js +3 -3
- package/es/components/content/Skeleton/Skeleton.js +12 -12
- package/es/components/content/Tag/Tag.js +3 -3
- package/es/components/content/Text.js +8 -8
- package/es/components/content/Title.js +4 -4
- package/es/components/forms/Checkbox/Checkbox.js +32 -15
- package/es/components/forms/Checkbox/CheckboxGroup.js +30 -25
- package/es/components/forms/Checkbox/context.js +1 -1
- package/es/components/forms/{FieldWrapper.js → FieldWrapper/FieldWrapper.js} +22 -20
- package/es/components/forms/FieldWrapper/extract-field-wrapper-props.js +46 -0
- package/es/components/forms/FieldWrapper/index.js +12 -0
- package/es/components/forms/FieldWrapper/types.js +10 -0
- package/es/components/forms/FileInput/FileInput.js +4 -4
- package/es/components/forms/Form/{Field.js → Field/LegacyField.js} +47 -27
- package/es/components/forms/Form/Field/index.js +13 -0
- package/es/components/forms/Form/Field/types.js +10 -0
- package/es/components/forms/Form/Field/use-field-props.js +57 -0
- package/es/components/forms/Form/Field/use-field.js +129 -0
- package/es/components/forms/Form/Form.js +3 -3
- package/es/components/forms/Form/Submit/Submit.js +22 -0
- package/es/components/forms/Form/Submit/index.js +10 -0
- package/es/components/forms/Form/SubmitError.js +2 -2
- package/es/components/forms/Form/index.js +5 -3
- package/es/components/forms/Form/types.js +1 -1
- package/es/components/forms/Form/useForm.js +2 -1
- package/es/components/forms/Form/validation.js +1 -1
- package/es/components/forms/Input/Input.js +3 -7
- package/es/components/forms/Input/index.js +1 -1
- package/es/components/forms/Label.js +4 -4
- package/es/components/forms/NumberInput/NumberInput.js +17 -11
- package/es/components/forms/NumberInput/StepButton.js +3 -3
- package/es/components/forms/PasswordInput/PasswordInput.js +23 -6
- package/es/components/forms/RadioGroup/Radio.js +18 -9
- package/es/components/forms/RadioGroup/RadioGroup.js +14 -6
- package/es/components/forms/RadioGroup/context.js +1 -1
- package/es/components/forms/SearchInput/SearchInput.js +4 -4
- package/es/components/forms/Slider/Gradation.js +2 -2
- package/es/components/forms/Slider/Header.js +1 -1
- package/es/components/forms/Slider/RangeSlider.js +3 -3
- package/es/components/forms/Slider/Slider.js +5 -4
- package/es/components/forms/Slider/SliderBase.js +5 -5
- package/es/components/forms/Slider/SliderInput.js +2 -2
- package/es/components/forms/Slider/SliderThumb.js +2 -2
- package/es/components/forms/Slider/SliderTrack.js +2 -2
- package/es/components/forms/Slider/elements.js +1 -1
- package/es/components/forms/Slider/index.js +1 -1
- package/es/components/forms/Slider/types.js +1 -1
- package/es/components/forms/Switch/Switch.js +19 -15
- package/es/components/forms/TextArea/TextArea.js +31 -28
- package/es/components/forms/TextInput/TextInput.js +16 -9
- package/es/components/forms/TextInput/TextInputBase.js +13 -41
- package/es/components/forms/TextInput/index.js +11 -0
- package/es/components/forms/index.js +1 -1
- package/es/components/layout/Flex.js +2 -2
- package/es/components/layout/Flow.js +2 -2
- package/es/components/layout/Grid.js +2 -2
- package/es/components/layout/Prefix.js +2 -2
- package/es/components/layout/Space.js +2 -2
- package/es/components/layout/Suffix.js +2 -2
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +4 -4
- package/es/components/navigation/Link/Link.js +2 -2
- package/es/components/organisms/FileTabs/FileTabs.js +4 -4
- package/es/components/organisms/Modal/Modal.js +3 -3
- package/es/components/organisms/StatsCard/StatsCard.js +2 -2
- package/es/components/other/Base64Upload/Base64Upload.js +2 -2
- package/es/components/other/CloudLogo/CloudLogo.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialog.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +2 -2
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +2 -2
- 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 +14 -5
- package/es/components/overlays/Dialog/DialogContainer.js +2 -2
- package/es/components/overlays/Dialog/DialogForm.js +5 -7
- package/es/components/overlays/Dialog/DialogTrigger.js +11 -11
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Modal/Modal.js +23 -9
- package/es/components/overlays/Modal/OpenTransition.js +11 -3
- package/es/components/overlays/Modal/Overlay.js +6 -4
- package/es/components/overlays/Modal/Popover.js +21 -6
- package/es/components/overlays/Modal/Tray.js +14 -4
- package/es/components/overlays/Modal/Underlay.js +2 -2
- package/es/components/overlays/Modal/index.js +2 -1
- package/es/components/overlays/Modal/types.js +10 -0
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +2 -2
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +2 -2
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +2 -2
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +3 -3
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +4 -4
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +3 -3
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +5 -5
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +2 -2
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +2 -2
- 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/NotificationsProvider.js +2 -2
- 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 +2 -2
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +2 -2
- 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 +2 -2
- package/es/components/overlays/OverlayWrapper.js +3 -3
- package/es/components/overlays/Toasts/Toast.js +4 -4
- 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 +2 -2
- package/es/components/overlays/Tooltip/TooltipProvider.js +2 -2
- package/es/components/overlays/Tooltip/TooltipTrigger.js +4 -4
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/pickers/ComboBox/ComboBox.js +29 -17
- package/es/components/pickers/Menu/Menu.js +3 -3
- package/es/components/pickers/Menu/MenuButton.js +5 -5
- package/es/components/pickers/Menu/MenuItem.js +3 -3
- package/es/components/pickers/Menu/MenuSection.js +3 -3
- package/es/components/pickers/Menu/MenuTrigger.js +5 -5
- package/es/components/pickers/Menu/context.js +1 -1
- package/es/components/pickers/Menu/styled.js +1 -1
- package/es/components/pickers/Select/Select.js +27 -12
- package/es/components/portal/Portal.js +2 -2
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/storybook/templates/CustomRoot.js +2 -2
- package/es/components/portal/storybook/templates/PortalOrder.js +2 -2
- package/es/components/portal/storybook/templates/basic.js +2 -2
- 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/status/LoadingAnimation/LoadingAnimation.js +3 -3
- 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 +2 -2
- package/es/components/status/Spin/Spin.js +3 -3
- 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/Attention.js +2 -2
- package/es/icons/Cross.js +2 -2
- package/es/icons/Danger.js +2 -2
- package/es/icons/Success.js +2 -2
- package/es/icons/index.js +1 -1
- package/es/index.js +2 -3
- package/es/provider.js +3 -3
- package/es/providers/StyleProvider.js +2 -2
- package/es/services/notification.js +2 -2
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/styled/index.js +1 -1
- package/es/styled/styled.js +4 -4
- package/es/tasty/index.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +2 -2
- 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/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/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/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/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 +4 -4
- package/es/tasty/types.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/get-display-name.js +1 -1
- package/es/tasty/utils/index.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/test/index.js +5 -1
- package/es/test/render.js +2 -2
- package/es/test/setup.js +43 -2
- package/es/test/utils/index.js +1 -1
- package/es/test/utils/wait.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 +1 -1
- package/es/utils/range.js +1 -1
- package/es/utils/react/Slots.js +3 -3
- package/es/utils/react/chain.js +1 -1
- package/es/utils/react/index.js +1 -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/useCombinedRefs.js +1 -1
- package/es/utils/react/useId.js +1 -1
- package/es/utils/react/useLayoutEffect.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 +2 -2
- package/package.json +2 -1
- package/types/_internal/hooks/index.d.ts +6 -2
- package/types/_internal/hooks/use-effect-once.d.ts +2 -0
- package/types/_internal/hooks/use-is-first-render.d.ts +1 -0
- package/types/_internal/hooks/use-update-effect.d.ts +2 -0
- package/types/_internal/hooks/use-warn.d.ts +2 -0
- package/types/components/actions/Button/index.d.ts +0 -1
- package/types/components/forms/Checkbox/CheckboxGroup.d.ts +1 -2
- package/types/components/forms/FieldWrapper/FieldWrapper.d.ts +7 -0
- package/types/components/forms/FieldWrapper/extract-field-wrapper-props.d.ts +9 -0
- package/types/components/forms/FieldWrapper/index.d.ts +3 -0
- package/types/components/forms/{FieldWrapper.d.ts → FieldWrapper/types.d.ts} +15 -20
- package/types/components/forms/Form/Field/LegacyField.d.ts +14 -0
- package/types/components/forms/Form/Field/index.d.ts +4 -0
- package/types/components/forms/Form/Field/types.d.ts +72 -0
- package/types/components/forms/Form/Field/use-field-props.d.ts +19 -0
- package/types/components/forms/Form/Field/use-field.d.ts +7 -0
- package/types/components/forms/Form/Form.d.ts +3 -1
- package/types/components/forms/Form/Submit/Submit.d.ts +8 -0
- package/types/components/forms/Form/Submit/index.d.ts +1 -0
- package/types/components/forms/Form/index.d.ts +5 -1
- package/types/components/forms/Form/useForm.d.ts +1 -1
- package/types/components/forms/Input/Input.d.ts +1 -1
- package/types/components/forms/NumberInput/NumberInput.d.ts +2 -3
- package/types/components/forms/PasswordInput/PasswordInput.d.ts +3 -1
- package/types/components/forms/Slider/types.d.ts +1 -1
- package/types/components/forms/Switch/Switch.d.ts +2 -3
- package/types/components/forms/TextArea/TextArea.d.ts +3 -4
- package/types/components/forms/TextInput/TextInput.d.ts +5 -0
- package/types/components/forms/TextInput/TextInputBase.d.ts +1 -2
- package/types/components/forms/TextInput/index.d.ts +2 -0
- package/types/components/other/Base64Upload/Base64Upload.d.ts +4 -1
- package/types/components/overlays/Dialog/DialogForm.d.ts +1 -2
- package/types/components/overlays/Dialog/DialogTrigger.d.ts +2 -1
- package/types/components/overlays/Modal/Modal.d.ts +2 -1
- package/types/components/overlays/Modal/OpenTransition.d.ts +6 -1
- package/types/components/overlays/Modal/Overlay.d.ts +2 -1
- package/types/components/overlays/Modal/Popover.d.ts +3 -1
- package/types/components/overlays/Modal/Tray.d.ts +2 -1
- package/types/components/overlays/Modal/index.d.ts +1 -0
- package/types/components/overlays/Modal/types.d.ts +9 -0
- package/types/components/pickers/ComboBox/ComboBox.d.ts +5 -5
- package/types/components/pickers/Select/Select.d.ts +5 -2
- package/types/index.d.ts +1 -2
- package/types/shared/form.d.ts +10 -0
- package/types/test/index.d.ts +4 -0
- package/types/test/setup.d.ts +0 -1
- package/cjs/components/actions/Button/Submit.js +0 -29
- package/cjs/stories/FormFieldArgs.js +0 -324
- package/cjs/stories/components/ConfirmDeletionDialogForm.js +0 -36
- package/cjs/stories/components/DialogFormApp.js +0 -19
- package/cjs/stories/components/StyledButton.js +0 -37
- package/cjs/stories/lists/baseProps.js +0 -42
- package/es/components/actions/Button/Submit.js +0 -26
- package/es/stories/FormFieldArgs.js +0 -321
- package/es/stories/components/ConfirmDeletionDialogForm.js +0 -32
- package/es/stories/components/DialogFormApp.js +0 -15
- package/es/stories/components/StyledButton.js +0 -33
- package/es/stories/lists/baseProps.js +0 -39
- package/types/components/actions/Button/Submit.d.ts +0 -3
- package/types/components/forms/Form/Field.d.ts +0 -41
- package/types/stories/FormFieldArgs.d.ts +0 -369
- package/types/stories/components/ConfirmDeletionDialogForm.d.ts +0 -8
- package/types/stories/components/DialogFormApp.d.ts +0 -2
- package/types/stories/components/StyledButton.d.ts +0 -119
- package/types/stories/lists/baseProps.d.ts +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -37,7 +37,7 @@ export function NotificationsList(props) {
|
|
|
37
37
|
children,
|
|
38
38
|
ref,
|
|
39
39
|
});
|
|
40
|
-
return (_jsx(NotificationListContainer, { ref: ref, ...listProps, children: [...state.collection].map((item) => (_jsx(NotificationListItem, { item: item, state: state, onDismiss: onDismiss }, item.key))) }
|
|
40
|
+
return (_jsx(NotificationListContainer, { ref: ref, ...listProps, children: [...state.collection].map((item) => (_jsx(NotificationListItem, { item: item, state: state, onDismiss: onDismiss }, item.key))) }));
|
|
41
41
|
}
|
|
42
42
|
NotificationsList.Item = Item;
|
|
43
43
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -23,7 +23,7 @@ export function NotificationListItem(props) {
|
|
|
23
23
|
const ref = useRef(null);
|
|
24
24
|
const onDismissEvent = useEvent(() => onDismiss?.(key));
|
|
25
25
|
const { itemProps } = useNotificationListItem({ ref, key, state });
|
|
26
|
-
return (_jsx(NotificationListItemWrap, { children: _jsx(NotificationView, { ref: ref, attributes: itemProps, ...notificationProps, isDismissible: !!onDismiss, onDismiss: onDismissEvent }
|
|
26
|
+
return (_jsx(NotificationListItemWrap, { children: _jsx(NotificationView, { ref: ref, attributes: itemProps, ...notificationProps, isDismissible: !!onDismiss, onDismiss: onDismissEvent }) }));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -74,7 +74,7 @@ export function Notification(allProps) {
|
|
|
74
74
|
Icon = InfoOutlined;
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
|
-
return (_jsxs(NotificationElement, { ...props, "data-theme": theme, children: [_jsx("div", { "data-element": "Icon", children: _jsx(Icon, {}
|
|
77
|
+
return (_jsxs(NotificationElement, { ...props, "data-theme": theme, children: [_jsx("div", { "data-element": "Icon", children: _jsx(Icon, {}) }), _jsx(Block, { children: children }), _jsx(CloseButton, { onPress: onClose, children: _jsx(CloseOutlined, {}) })] }));
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -24,8 +24,8 @@ export function OverlayWrapper({ isOpen, placement, minOffset, minScale, childre
|
|
|
24
24
|
if (minOffset != null) {
|
|
25
25
|
options.minOffset = minOffset;
|
|
26
26
|
}
|
|
27
|
-
const contents = (_jsx(CSSTransition, { unmountOnExit: true, in: isOpen, timeout: 180, classNames: "cube-overlay-transition", children: _jsx(_Fragment, { children: children }
|
|
28
|
-
return _jsx(Portal, { root: containerRef, children: contents }
|
|
27
|
+
const contents = (_jsx(CSSTransition, { unmountOnExit: true, in: isOpen, timeout: 180, classNames: "cube-overlay-transition", children: _jsx(_Fragment, { children: children }) }));
|
|
28
|
+
return _jsx(Portal, { root: containerRef, children: contents });
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -25,13 +25,13 @@ export function Toast(props) {
|
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
27
27
|
Toast.Success = function ToastSuccess(props) {
|
|
28
|
-
return _jsx(Toast, { type: "success", ...props }
|
|
28
|
+
return _jsx(Toast, { type: "success", ...props });
|
|
29
29
|
};
|
|
30
30
|
Toast.Danger = function ToastDanger(props) {
|
|
31
|
-
return _jsx(Toast, { type: "danger", ...props }
|
|
31
|
+
return _jsx(Toast, { type: "danger", ...props });
|
|
32
32
|
};
|
|
33
33
|
Toast.Attention = function ToastAttention(props) {
|
|
34
|
-
return _jsx(Toast, { type: "attention", ...props }
|
|
34
|
+
return _jsx(Toast, { type: "attention", ...props });
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -93,7 +93,7 @@ function Tooltip(props, ref) {
|
|
|
93
93
|
return (_jsxs(StyledTooltipElement, { ...tooltipProps, ...overlayProps, ref: overlayRef, styles: styles, mods: {
|
|
94
94
|
open: isOpen,
|
|
95
95
|
material: isMaterial,
|
|
96
|
-
}, "data-min-offset": minOffset, "data-min-scale": minScale, "data-placement": placement, children: [props.children, _jsx(TooltipTipElement, { "data-placement": placement, styles: tipStyles, ...arrowProps }
|
|
96
|
+
}, "data-min-offset": minOffset, "data-min-scale": minScale, "data-placement": placement, children: [props.children, _jsx(TooltipTipElement, { "data-placement": placement, styles: tipStyles, ...arrowProps })] }));
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
99
|
* Display container for Tooltip content. Has a directional arrow dependent on its placement.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -15,7 +15,7 @@ function TooltipProvider(props) {
|
|
|
15
15
|
useEffect(() => {
|
|
16
16
|
setRendered(true);
|
|
17
17
|
}, []);
|
|
18
|
-
return rendered ? (_jsxs(TooltipTrigger, { ...otherProps, children: [children, _jsx(Tooltip, { styles: tooltipStyles, ...(width ? { width } : null), children: title }
|
|
18
|
+
return rendered ? (_jsxs(TooltipTrigger, { ...otherProps, children: [children, _jsx(Tooltip, { styles: tooltipStyles, ...(width ? { width } : null), children: title })] })) : (_jsx(_Fragment, { children: children }));
|
|
19
19
|
}
|
|
20
20
|
let _TooltipProvider = TooltipProvider;
|
|
21
21
|
export { _TooltipProvider as TooltipProvider };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -41,12 +41,12 @@ function TooltipTrigger(props) {
|
|
|
41
41
|
});
|
|
42
42
|
if (!activeWrap && typeof trigger === 'string') {
|
|
43
43
|
console.warn('CubeUIKit: Tooltips are only supported on elements that are both focusable and hoverable. To solve this issue you can: 1) Use active element as a trigger (`Button`, `Link`, etc); 2) Use `activeWrap` attribute to automatically wrap the content; 3) Use `ActiveZone` component to manually wrap the content.');
|
|
44
|
-
return _jsx(Block, { children: trigger }
|
|
44
|
+
return _jsx(Block, { children: trigger });
|
|
45
45
|
}
|
|
46
46
|
function onClick(e) {
|
|
47
47
|
e?.currentTarget?.parentNode.click();
|
|
48
48
|
}
|
|
49
|
-
return (_jsxs(FocusableProvider, { ...triggerProps, ref: tooltipTriggerRef, children: [activeWrap ? (_jsx(ActiveZone, { onClick: onClick, children: trigger }
|
|
49
|
+
return (_jsxs(FocusableProvider, { ...triggerProps, ref: tooltipTriggerRef, children: [activeWrap ? (_jsx(ActiveZone, { onClick: onClick, children: trigger })) : (trigger), _jsx(TooltipContext.Provider, { value: {
|
|
50
50
|
state,
|
|
51
51
|
placement,
|
|
52
52
|
ref: overlayRef,
|
|
@@ -56,7 +56,7 @@ function TooltipTrigger(props) {
|
|
|
56
56
|
minScale: '1',
|
|
57
57
|
isMaterial,
|
|
58
58
|
...tooltipProps,
|
|
59
|
-
}, children: _jsx(OverlayWrapper, { isOpen: state.isOpen, placement: props.placement || 'top', children: tooltip }
|
|
59
|
+
}, children: _jsx(OverlayWrapper, { isOpen: state.isOpen, placement: props.placement || 'top', children: tooltip }) })] }));
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* TooltipTrigger wraps around a trigger element and a Tooltip. It handles opening and closing
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -15,17 +15,17 @@ import { useHover } from '@react-aria/interactions';
|
|
|
15
15
|
import { useFilter } from '@react-aria/i18n';
|
|
16
16
|
import { Item } from '@react-stately/collections';
|
|
17
17
|
import { useOverlayPosition } from '@react-aria/overlays';
|
|
18
|
-
import {
|
|
18
|
+
import { useFieldProps } from '../../forms';
|
|
19
19
|
import { useProviderProps } from '../../../provider';
|
|
20
20
|
import { BLOCK_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
|
|
21
21
|
import { useFocus } from '../../../utils/react/interactions';
|
|
22
22
|
import { mergeProps, modAttrs, useCombinedRefs, useLayoutEffect, } from '../../../utils/react';
|
|
23
23
|
import { FieldWrapper } from '../../forms/FieldWrapper';
|
|
24
24
|
import { ListBoxPopup } from '../Select/Select';
|
|
25
|
-
import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, } from '../../forms/TextInput
|
|
25
|
+
import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, } from '../../forms/TextInput';
|
|
26
26
|
import { OverlayWrapper } from '../../overlays/OverlayWrapper';
|
|
27
27
|
function CaretDownIcon() {
|
|
28
|
-
return (_jsx("svg", { "aria-hidden": "true", width: "14", height: "14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M11.49 4.102H2.51c-.269 0-.42.284-.253.478l4.49 5.206a.342.342 0 00.506 0l4.49-5.206c.167-.194.016-.478-.253-.478z", fill: "currentColor" }
|
|
28
|
+
return (_jsx("svg", { "aria-hidden": "true", width: "14", height: "14", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M11.49 4.102H2.51c-.269 0-.42.284-.253.478l4.49 5.206a.342.342 0 00.506 0l4.49-5.206c.167-.194.016-.478-.253-.478z", fill: "currentColor" }) }));
|
|
29
29
|
}
|
|
30
30
|
const ComboBoxWrapperElement = tasty({
|
|
31
31
|
styles: INPUT_WRAPPER_STYLES,
|
|
@@ -61,9 +61,15 @@ const TriggerElement = tasty({
|
|
|
61
61
|
cursor: 'pointer',
|
|
62
62
|
},
|
|
63
63
|
});
|
|
64
|
-
function ComboBox(props, ref) {
|
|
64
|
+
export const ComboBox = forwardRef(function ComboBox(props, ref) {
|
|
65
65
|
props = useProviderProps(props);
|
|
66
|
-
props =
|
|
66
|
+
props = useFieldProps(props, {
|
|
67
|
+
valuePropsMapper: ({ value, onChange }) => ({
|
|
68
|
+
inputValue: value != null ? value : '',
|
|
69
|
+
onInputChange: (val) => onChange(val, !props.allowsCustomValue),
|
|
70
|
+
onSelectionChange: onChange,
|
|
71
|
+
}),
|
|
72
|
+
});
|
|
67
73
|
let { qa, label, extra, labelPosition = 'top', labelStyles, isRequired, necessityIndicator, validationState, icon, prefix, isDisabled, multiLine, autoFocus, wrapperRef, inputRef, triggerRef, popoverRef, listBoxRef, isLoading, loadingIndicator, overlayOffset = 8, inputStyles, optionStyles, triggerStyles, suffix, listBoxStyles, overlayStyles, hideTrigger, message, description, size, autoComplete = 'off', direction = 'bottom', shouldFlip = true, requiredMark = true, menuTrigger = 'input', suffixPosition = 'before', loadingState, filter, styles, labelSuffix, ...otherProps } = props;
|
|
68
74
|
let isAsync = loadingState != null;
|
|
69
75
|
let { contains } = useFilter({ sensitivity: 'base' });
|
|
@@ -110,13 +116,13 @@ function ComboBox(props, ref) {
|
|
|
110
116
|
}
|
|
111
117
|
}, [updatePosition, state.isOpen, state.collection.size]);
|
|
112
118
|
let isInvalid = validationState === 'invalid';
|
|
113
|
-
let validationIcon = isInvalid ? (_jsx(WarningOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--danger-color)' } }
|
|
119
|
+
let validationIcon = isInvalid ? (_jsx(WarningOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--danger-color)' } })) : (_jsx(CheckOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--success-color)' } }));
|
|
114
120
|
let validation = cloneElement(validationIcon);
|
|
115
121
|
let comboBoxWidth = wrapperRef?.current?.offsetWidth;
|
|
116
122
|
if (icon) {
|
|
117
|
-
icon = _jsx("div", { "data-element": "InputIcon", children: icon }
|
|
123
|
+
icon = _jsx("div", { "data-element": "InputIcon", children: icon });
|
|
118
124
|
if (prefix) {
|
|
119
|
-
prefix = (_jsxs(_Fragment, { children: [icon, prefix] }
|
|
125
|
+
prefix = (_jsxs(_Fragment, { children: [icon, prefix] }));
|
|
120
126
|
}
|
|
121
127
|
else {
|
|
122
128
|
prefix = icon;
|
|
@@ -142,13 +148,13 @@ function ComboBox(props, ref) {
|
|
|
142
148
|
]);
|
|
143
149
|
let comboBoxField = (_jsxs(ComboBoxWrapperElement, { ref: wrapperRef, qa: qa || 'ComboBox', ...modAttrs(mods), styles: outerStyles, style: {
|
|
144
150
|
zIndex: isFocused ? 1 : 'initial',
|
|
145
|
-
}, "data-size": size, children: [_jsx(InputElement, { qa: "Input", ...mergeProps(inputProps, hoverProps, focusProps), ref: inputRef, autoComplete: autoComplete, styles: inputStyles, ...modAttrs(mods), "data-size": size }
|
|
151
|
+
}, "data-size": size, children: [_jsx(InputElement, { qa: "Input", ...mergeProps(inputProps, hoverProps, focusProps), ref: inputRef, autoComplete: autoComplete, styles: inputStyles, ...modAttrs(mods), "data-size": size }), prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, _jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, validationState || isLoading ? (_jsxs(_Fragment, { children: [validationState && !isLoading ? validation : null, isLoading ? _jsx(LoadingOutlined, {}) : null] })) : null, suffixPosition === 'after' ? suffix : null, !hideTrigger ? (_jsx(TriggerElement, { qa: "ComboBoxTrigger", ...mergeProps(buttonProps, triggerFocusProps, triggerHoverProps), ...modAttrs({
|
|
146
152
|
pressed: isTriggerPressed,
|
|
147
153
|
focused: isTriggerFocused,
|
|
148
154
|
hovered: isTriggerHovered,
|
|
149
155
|
disabled: isDisabled,
|
|
150
156
|
loading: isLoading,
|
|
151
|
-
}), ref: triggerRef, "data-size": size, isDisabled: isDisabled, styles: triggerStyles, children: _jsx(CaretDownIcon, {}
|
|
157
|
+
}), ref: triggerRef, "data-size": size, isDisabled: isDisabled, styles: triggerStyles, children: _jsx(CaretDownIcon, {}) })) : null] }), _jsx(OverlayWrapper, { isOpen: state.isOpen && !isDisabled, children: _jsx(ListBoxPopup, { ...listBoxProps, shouldUseVirtualFocus: true, listBoxRef: listBoxRef, popoverRef: popoverRef, overlayProps: overlayProps, placement: placement, state: state, listBoxStyles: listBoxStyles, overlayStyles: overlayStyles, optionStyles: optionStyles, minWidth: comboBoxWidth }) })] }));
|
|
152
158
|
return (_jsx(FieldWrapper, { ...{
|
|
153
159
|
labelPosition,
|
|
154
160
|
label,
|
|
@@ -166,11 +172,17 @@ function ComboBox(props, ref) {
|
|
|
166
172
|
labelSuffix,
|
|
167
173
|
Component: comboBoxField,
|
|
168
174
|
ref: ref,
|
|
169
|
-
} }
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
+
} }));
|
|
176
|
+
});
|
|
177
|
+
ComboBox.Item = Item;
|
|
178
|
+
/**
|
|
179
|
+
* @legacy should be removed with legacy <Field />
|
|
180
|
+
*/
|
|
181
|
+
Object.defineProperty(ComboBox, 'cubeInputType', {
|
|
182
|
+
enumerable: false,
|
|
183
|
+
configurable: false,
|
|
184
|
+
writable: false,
|
|
185
|
+
value: 'ComboBox',
|
|
186
|
+
});
|
|
175
187
|
|
|
176
188
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -38,7 +38,7 @@ function Menu(props, ref) {
|
|
|
38
38
|
},
|
|
39
39
|
};
|
|
40
40
|
useSyncRef(contextProps, domRef);
|
|
41
|
-
return (_jsxs(StyledMenu, { ...mergeProps(defaultProps, menuProps, filterBaseProps(completeProps)), ref: domRef, children: [header && _jsx(StyledMenuHeader, { children: header }
|
|
41
|
+
return (_jsxs(StyledMenu, { ...mergeProps(defaultProps, menuProps, filterBaseProps(completeProps)), ref: domRef, children: [header && _jsx(StyledMenuHeader, { children: header }), items.map((item) => {
|
|
42
42
|
if (item.type === 'section') {
|
|
43
43
|
return (_jsx(MenuSection, { item: item, state: state, selectionIcon: selectionIcon, onAction: completeProps.onAction }, item.key));
|
|
44
44
|
}
|
|
@@ -47,7 +47,7 @@ function Menu(props, ref) {
|
|
|
47
47
|
menuItem = item.props.wrapper(menuItem);
|
|
48
48
|
}
|
|
49
49
|
return menuItem;
|
|
50
|
-
})] }
|
|
50
|
+
})] }));
|
|
51
51
|
}
|
|
52
52
|
// forwardRef doesn't support generic parameters, so cast the result to the correct type
|
|
53
53
|
// https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -69,13 +69,13 @@ const RadioIcon = tasty({
|
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
});
|
|
72
|
-
const getPostfix = (postfix) => typeof postfix === 'string' ? (_jsx(Text, { nowrap: true, color: "inherit", "data-element": "Postfix", children: postfix }
|
|
72
|
+
const getPostfix = (postfix) => typeof postfix === 'string' ? (_jsx(Text, { nowrap: true, color: "inherit", "data-element": "Postfix", children: postfix })) : (postfix);
|
|
73
73
|
const getSelectionTypeIcon = (selectionIcon) => {
|
|
74
74
|
switch (selectionIcon) {
|
|
75
75
|
case 'checkbox':
|
|
76
|
-
return _jsx(CheckOutlined, {}
|
|
76
|
+
return _jsx(CheckOutlined, {});
|
|
77
77
|
case 'radio':
|
|
78
|
-
return _jsx(RadioIcon, {}
|
|
78
|
+
return _jsx(RadioIcon, {});
|
|
79
79
|
default:
|
|
80
80
|
return undefined;
|
|
81
81
|
}
|
|
@@ -91,7 +91,7 @@ export function MenuButton({ children, icon, postfix, ...props }) {
|
|
|
91
91
|
selectable: isSelectable,
|
|
92
92
|
selected: isSelected,
|
|
93
93
|
};
|
|
94
|
-
return (_jsxs(Button, { type: "neutral", size: "small", styles: ACTION_BUTTON, ...props, icon: checkIcon, mods: mods, children: [icon && _jsx(Text, { color: "inherit", children: icon }
|
|
94
|
+
return (_jsxs(Button, { type: "neutral", size: "small", styles: ACTION_BUTTON, ...props, icon: checkIcon, mods: mods, children: [icon && _jsx(Text, { color: "inherit", children: icon }), _jsxs(Space, { gap: "1x", placeContent: "space-between", overflow: "auto", width: "100%", children: [_jsx(Text, { ellipsis: true, color: "inherit", children: children }), postfix && getPostfix(postfix)] })] }));
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -42,7 +42,7 @@ export function MenuItem(props) {
|
|
|
42
42
|
pressed: isPressed,
|
|
43
43
|
},
|
|
44
44
|
};
|
|
45
|
-
const contents = (_jsx(MenuButton, { ...mergeProps(itemProps, buttonProps), selectionIcon: selectionIcon, isSelectable: isSelectable, isSelected: isSelected, isDisabled: isDisabled, children: rendered }
|
|
45
|
+
const contents = (_jsx(MenuButton, { ...mergeProps(itemProps, buttonProps), selectionIcon: selectionIcon, isSelectable: isSelectable, isSelected: isSelected, isDisabled: isDisabled, children: rendered }));
|
|
46
46
|
return (_jsx(FocusRing, { children: _jsx(StyledMenuItem, { ...mergeProps(menuItemProps, hoverProps), ref: ref, "data-qa": itemProps.qa ? `MenuItem-${itemProps.qa}` : `MenuItem-${key}`, mods: {
|
|
47
47
|
disabled: isDisabled,
|
|
48
48
|
selected: isSelected,
|
|
@@ -55,7 +55,7 @@ export function MenuItem(props) {
|
|
|
55
55
|
icon: { className: 'icon', size: 'S' },
|
|
56
56
|
description: { className: 'description', ...descriptionProps },
|
|
57
57
|
keyboard: { className: 'keyboard', ...keyboardShortcutProps },
|
|
58
|
-
}, children: contents }
|
|
58
|
+
}, children: contents }) }) }) }));
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -17,13 +17,13 @@ export function MenuSection(props) {
|
|
|
17
17
|
heading,
|
|
18
18
|
'aria-label': item['aria-label'],
|
|
19
19
|
});
|
|
20
|
-
return (_jsx(_Fragment, { children: _jsxs(StyledMenuSection, { ...itemProps, children: [heading && (_jsx(StyledMenuSectionHeading, { ...headingProps, children: heading }
|
|
20
|
+
return (_jsx(_Fragment, { children: _jsxs(StyledMenuSection, { ...itemProps, children: [heading && (_jsx(StyledMenuSectionHeading, { ...headingProps, children: heading })), _jsx(StyledMenu, { ...groupProps, mods: { section: true }, children: [...item.childNodes].map((node) => {
|
|
21
21
|
let item = (_jsx(MenuItem, { item: node, state: state, onAction: onAction }, node.key));
|
|
22
22
|
if (node.props.wrapper) {
|
|
23
23
|
item = node.props.wrapper(item);
|
|
24
24
|
}
|
|
25
25
|
return item;
|
|
26
|
-
}) }
|
|
26
|
+
}) })] }) }));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license MIT
|
|
3
3
|
* author: Cube Dev Team
|
|
4
|
-
* @cube-dev/ui-kit v0.0.0-canary-
|
|
4
|
+
* @cube-dev/ui-kit v0.0.0-canary-f2f75e5
|
|
5
5
|
* Released under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
@@ -67,16 +67,16 @@ function MenuTrigger(props, ref) {
|
|
|
67
67
|
popover: !isMobile,
|
|
68
68
|
},
|
|
69
69
|
};
|
|
70
|
-
const contents = (_jsxs(_Fragment, { children: [_jsx(DismissButton, { onDismiss: state.close }
|
|
70
|
+
const contents = (_jsxs(_Fragment, { children: [_jsx(DismissButton, { onDismiss: state.close }), menu, _jsx(DismissButton, { onDismiss: state.close })] }));
|
|
71
71
|
// On small screen devices, the menu is rendered in a tray, otherwise a popover.
|
|
72
72
|
let overlay;
|
|
73
73
|
if (isMobile) {
|
|
74
|
-
overlay = (_jsx(Tray, { isOpen: state.isOpen, onClose: state.close, children: contents }
|
|
74
|
+
overlay = (_jsx(Tray, { isOpen: state.isOpen, onClose: state.close, children: contents }));
|
|
75
75
|
}
|
|
76
76
|
else {
|
|
77
|
-
overlay = (_jsx(Popover, { ref: menuPopoverRef, hideArrow: true, isNonModal: true, isOpen: state.isOpen, style: positionProps.style, placement: placement, onClose: state.close, children: contents }
|
|
77
|
+
overlay = (_jsx(Popover, { ref: menuPopoverRef, hideArrow: true, isNonModal: true, isOpen: state.isOpen, style: positionProps.style, placement: placement, onClose: state.close, children: contents }));
|
|
78
78
|
}
|
|
79
|
-
return (_jsxs(Fragment, { children: [_jsx(SlotProvider, { slots: { actionButton: { holdAffordance: trigger === 'longPress' } }, children: _jsx(PressResponder, { ...menuTriggerProps, ref: menuTriggerRef, isPressed: state.isOpen, children: menuTrigger }
|
|
79
|
+
return (_jsxs(Fragment, { children: [_jsx(SlotProvider, { slots: { actionButton: { holdAffordance: trigger === 'longPress' } }, children: _jsx(PressResponder, { ...menuTriggerProps, ref: menuTriggerRef, isPressed: state.isOpen, children: menuTrigger }) }), _jsx(MenuContext.Provider, { value: menuContext, children: overlay })] }));
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* The MenuTrigger serves as a wrapper around a Menu and its associated trigger,
|