@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
|
|
|
@@ -11,7 +11,7 @@ import { useDOMRef } from '@react-spectrum/utils';
|
|
|
11
11
|
import { useRadioGroup } from '@react-aria/radio';
|
|
12
12
|
import { useRadioGroupState } from '@react-stately/radio';
|
|
13
13
|
import { useProviderProps } from '../../../provider';
|
|
14
|
-
import { FormContext,
|
|
14
|
+
import { FormContext, useFieldProps } from '../Form';
|
|
15
15
|
import { BLOCK_STYLES, extractStyles, OUTER_STYLES, tasty, } from '../../../tasty';
|
|
16
16
|
import { FieldWrapper } from '../FieldWrapper';
|
|
17
17
|
import { castNullableStringValue, } from '../../../utils/react/nullableValue';
|
|
@@ -32,7 +32,7 @@ const RadioGroupElement = tasty({
|
|
|
32
32
|
function RadioGroup(props, ref) {
|
|
33
33
|
props = castNullableStringValue(props);
|
|
34
34
|
props = useProviderProps(props);
|
|
35
|
-
props =
|
|
35
|
+
props = useFieldProps(props, { defaultValidationTrigger: 'onChange' });
|
|
36
36
|
let { isDisabled, isRequired, necessityIndicator, label, extra, labelPosition = 'top', validationState, children, orientation = 'vertical', message, description, labelStyles, requiredMark = true, tooltip, isHidden, styles, groupStyles, insideForm, labelSuffix, ...otherProps } = props;
|
|
37
37
|
let domRef = useDOMRef(ref);
|
|
38
38
|
styles = extractStyles(otherProps, OUTER_STYLES, styles);
|
|
@@ -47,7 +47,7 @@ function RadioGroup(props, ref) {
|
|
|
47
47
|
isRequired,
|
|
48
48
|
validationState,
|
|
49
49
|
isDisabled,
|
|
50
|
-
}, children: _jsx(RadioContext.Provider, { value: state, children: children }
|
|
50
|
+
}, children: _jsx(RadioContext.Provider, { value: state, children: children }) }) }));
|
|
51
51
|
return (_jsx(FieldWrapper, { ...{
|
|
52
52
|
labelPosition,
|
|
53
53
|
label,
|
|
@@ -69,14 +69,22 @@ function RadioGroup(props, ref) {
|
|
|
69
69
|
Component: radioGroup,
|
|
70
70
|
ref: domRef,
|
|
71
71
|
labelSuffix,
|
|
72
|
-
} }
|
|
72
|
+
} }));
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
75
|
* Radio groups allow users to select a single option from a list of mutually exclusive options.
|
|
76
76
|
* All possible options are exposed up front for users to compare.
|
|
77
77
|
*/
|
|
78
78
|
const _RadioGroup = forwardRef(RadioGroup);
|
|
79
|
-
|
|
79
|
+
/**
|
|
80
|
+
* @legacy should be removed with legacy <Field />
|
|
81
|
+
*/
|
|
82
|
+
Object.defineProperty(_RadioGroup, 'cubeInputType', {
|
|
83
|
+
enumerable: false,
|
|
84
|
+
configurable: false,
|
|
85
|
+
writable: false,
|
|
86
|
+
value: 'RadioGroup',
|
|
87
|
+
});
|
|
80
88
|
export { _RadioGroup as RadioGroup };
|
|
81
89
|
|
|
82
90
|
|
|
@@ -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
|
|
|
@@ -18,7 +18,7 @@ import { ariaToCubeButtonProps } from '../../../utils/react/mapProps';
|
|
|
18
18
|
import { castNullableStringValue, } from '../../../utils/react/nullableValue';
|
|
19
19
|
import { tasty } from '../../../tasty';
|
|
20
20
|
const ClearButton = tasty(Button, {
|
|
21
|
-
icon: _jsx(CloseOutlined, {}
|
|
21
|
+
icon: _jsx(CloseOutlined, {}),
|
|
22
22
|
styles: {
|
|
23
23
|
radius: 'right (1r - 1bw)',
|
|
24
24
|
width: '4x',
|
|
@@ -41,9 +41,9 @@ export const SearchInput = forwardRef(function SearchInput(props, ref) {
|
|
|
41
41
|
}, [combinedRef, value]);
|
|
42
42
|
let state = useSearchFieldState(props);
|
|
43
43
|
let { inputProps, clearButtonProps } = useSearchField(props, state, inputRef);
|
|
44
|
-
return (_jsx(TextInputBase, { ref: ref, inputProps: inputProps, inputRef: inputRef, type: "search", icon: _jsx(SearchOutlined, {}
|
|
44
|
+
return (_jsx(TextInputBase, { ref: ref, inputProps: inputProps, inputRef: inputRef, type: "search", icon: _jsx(SearchOutlined, {}), suffixPosition: "after", suffix: isClearable &&
|
|
45
45
|
state.value !== '' &&
|
|
46
|
-
!props.isReadOnly && (_jsx(ClearButton, { type: validationState === 'invalid' ? 'clear' : 'neutral', theme: validationState === 'invalid' ? 'danger' : undefined, ...ariaToCubeButtonProps(clearButtonProps) }
|
|
46
|
+
!props.isReadOnly && (_jsx(ClearButton, { type: validationState === 'invalid' ? 'clear' : 'neutral', theme: validationState === 'invalid' ? 'danger' : undefined, ...ariaToCubeButtonProps(clearButtonProps) })), ...props }));
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
|
|
@@ -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
|
|
|
@@ -18,7 +18,7 @@ export function Gradation(props) {
|
|
|
18
18
|
};
|
|
19
19
|
return (_jsx(SliderGradationElement, { children: values.map((value, idx) => (_jsx(SliderGradeElement, { mods: {
|
|
20
20
|
active: getIsActive(value, idx),
|
|
21
|
-
}, children: value }, value))) }
|
|
21
|
+
}, children: value }, value))) }));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
|
|
@@ -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
|
|
|
@@ -18,8 +18,8 @@ const INTL_MESSAGES = {
|
|
|
18
18
|
function RangeSlider(props, ref) {
|
|
19
19
|
let { isDisabled, styles, gradation, ...otherProps } = props;
|
|
20
20
|
return (_jsx(SliderBase, { ...otherProps, children: ({ trackRef, inputRef, state }) => {
|
|
21
|
-
return (_jsxs(_Fragment, { children: [_jsx(Gradation, { state: state, ranges: [0, 1], values: gradation }
|
|
22
|
-
} }
|
|
21
|
+
return (_jsxs(_Fragment, { children: [_jsx(Gradation, { state: state, ranges: [0, 1], values: gradation }), _jsx(SliderTrack, { state: state, isDisabled: isDisabled }), _jsx(SliderThumb, { index: 0, "aria-label": INTL_MESSAGES['minimum'], state: state, inputRef: inputRef, trackRef: trackRef, isDisabled: isDisabled }), _jsx(SliderThumb, { index: 1, "aria-label": INTL_MESSAGES['maximum'], state: state, inputRef: inputRef, trackRef: trackRef, isDisabled: isDisabled })] }));
|
|
22
|
+
} }));
|
|
23
23
|
}
|
|
24
24
|
const _RangeSlider = forwardRef(RangeSlider);
|
|
25
25
|
const __RangeSlider = Object.assign(_RangeSlider, {
|
|
@@ -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,12 +25,13 @@ function Slider(props, ref) {
|
|
|
25
25
|
onChangeEnd: (v) => {
|
|
26
26
|
onChangeEnd?.(v[0]);
|
|
27
27
|
},
|
|
28
|
-
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
29
|
+
getValueLabel: getValueLabel ? ([v]) => getValueLabel(v) : undefined,
|
|
29
30
|
};
|
|
30
31
|
styles = extractStyles(otherProps, OUTER_STYLES, styles);
|
|
31
32
|
return (_jsx(SliderBase, { ...otherProps, ...baseProps, orientation: orientation, styles: styles, children: ({ trackRef, inputRef, state }) => {
|
|
32
|
-
return (_jsxs(_Fragment, { children: [_jsx(Gradation, { state: state, ranges: [0, 1], values: gradation }
|
|
33
|
-
} }
|
|
33
|
+
return (_jsxs(_Fragment, { children: [_jsx(Gradation, { state: state, ranges: [0, 1], values: gradation }), _jsx(SliderTrack, { state: state, isDisabled: isDisabled, orientation: orientation }), _jsx(SliderThumb, { index: 0, state: state, inputRef: inputRef, trackRef: trackRef, isDisabled: isDisabled })] }));
|
|
34
|
+
} }));
|
|
34
35
|
}
|
|
35
36
|
const _Slider = forwardRef(Slider);
|
|
36
37
|
const __Slider = Object.assign(_Slider, {
|
|
@@ -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
|
|
|
@@ -11,7 +11,7 @@ import { useFocusableRef } from '@react-spectrum/utils';
|
|
|
11
11
|
import { useSliderState } from '@react-stately/slider';
|
|
12
12
|
import { useSlider } from '@react-aria/slider';
|
|
13
13
|
import { useNumberFormatter } from '@react-aria/i18n';
|
|
14
|
-
import { FieldWrapper } from '
|
|
14
|
+
import { FieldWrapper } from '../FieldWrapper';
|
|
15
15
|
import { extractStyles, OUTER_STYLES, tasty } from '../../../tasty';
|
|
16
16
|
import { useFormProps } from '../Form';
|
|
17
17
|
import { Text } from '../../content/Text';
|
|
@@ -95,7 +95,7 @@ function SliderBase(allProps, ref) {
|
|
|
95
95
|
width: `${maxLabelLength + 1}ch`,
|
|
96
96
|
minWidth: `${maxLabelLength + 1}ch`,
|
|
97
97
|
}
|
|
98
|
-
: undefined, children: displayValue }
|
|
98
|
+
: undefined, children: displayValue }));
|
|
99
99
|
const sliderField = (_jsx(SliderElement, { ref: domRef, ...groupProps, mods: {
|
|
100
100
|
'side-label': labelPosition === 'side',
|
|
101
101
|
horizontal: orientation === 'horizontal',
|
|
@@ -105,7 +105,7 @@ function SliderBase(allProps, ref) {
|
|
|
105
105
|
trackRef,
|
|
106
106
|
inputRef,
|
|
107
107
|
state,
|
|
108
|
-
}) }
|
|
108
|
+
}) }) }));
|
|
109
109
|
styles = extractStyles(otherProps, OUTER_STYLES, styles);
|
|
110
110
|
return (_jsx(FieldWrapper, { ...{
|
|
111
111
|
labelPosition,
|
|
@@ -124,7 +124,7 @@ function SliderBase(allProps, ref) {
|
|
|
124
124
|
labelSuffix,
|
|
125
125
|
Component: sliderField,
|
|
126
126
|
ref: ref,
|
|
127
|
-
} }
|
|
127
|
+
} }));
|
|
128
128
|
}
|
|
129
129
|
const _SliderBase = forwardRef(SliderBase);
|
|
130
130
|
export { _SliderBase as SliderBase };
|
|
@@ -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
|
|
|
@@ -28,7 +28,7 @@ export function SliderInput(props) {
|
|
|
28
28
|
const maxLength = typeof max !== 'undefined' ? String(max).length : undefined;
|
|
29
29
|
return (_jsx(NumberInput, { insideForm: false, labelPosition: "top", ...otherProps, hideStepper: true, size: "small", wrapperStyles: {
|
|
30
30
|
width: inputWidth,
|
|
31
|
-
}, textAlign: "center", formatOptions: formatOptions, value: value, minValue: state.getThumbMinValue(index), maxValue: state.getThumbMaxValue(index), maxLength: maxLength, onChange: onChange }
|
|
31
|
+
}, textAlign: "center", formatOptions: formatOptions, value: value, minValue: state.getThumbMinValue(index), maxValue: state.getThumbMaxValue(index), maxLength: maxLength, onChange: onChange }));
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
|
|
@@ -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
|
|
|
@@ -26,7 +26,7 @@ export function SliderThumb(props) {
|
|
|
26
26
|
dragged: isDragging,
|
|
27
27
|
focused: !isDragging && isFocused,
|
|
28
28
|
disabled: isDisabled,
|
|
29
|
-
}, ...mergeProps(thumbProps, hoverProps), role: "presentation", children: _jsx(VisuallyHidden, { children: _jsx("input", { ref: inputRef, ...inputProps }
|
|
29
|
+
}, ...mergeProps(thumbProps, hoverProps), role: "presentation", children: _jsx(VisuallyHidden, { children: _jsx("input", { ref: inputRef, ...inputProps }) }) }));
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
|
|
@@ -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
|
|
|
@@ -14,7 +14,7 @@ export function SliderTrack(props) {
|
|
|
14
14
|
disabled: isDisabled,
|
|
15
15
|
horizontal: orientation === 'horizontal',
|
|
16
16
|
}), [isDisabled]);
|
|
17
|
-
return _jsx(SliderTrackContainerElement, { mods: mods }
|
|
17
|
+
return _jsx(SliderTrackContainerElement, { mods: mods });
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
|
@@ -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
|
|
|
@@ -18,10 +18,10 @@ import { useFocus } from '../../../utils/react/interactions';
|
|
|
18
18
|
import { mergeProps } from '../../../utils/react';
|
|
19
19
|
import { HiddenInput } from '../../HiddenInput';
|
|
20
20
|
import { INLINE_LABEL_STYLES, LABEL_STYLES } from '../Label';
|
|
21
|
-
import { useFormProps } from '../Form/Form';
|
|
22
21
|
import { Text } from '../../content/Text';
|
|
23
22
|
import { FieldWrapper } from '../FieldWrapper';
|
|
24
23
|
import { castNullableIsSelected, } from '../../../utils/react/nullableValue';
|
|
24
|
+
import { useFieldProps } from '../Form';
|
|
25
25
|
const SwitchWrapperElement = tasty({
|
|
26
26
|
qa: 'SwitchWrapper',
|
|
27
27
|
styles: {
|
|
@@ -96,10 +96,21 @@ const SwitchElement = tasty({
|
|
|
96
96
|
},
|
|
97
97
|
},
|
|
98
98
|
});
|
|
99
|
-
|
|
99
|
+
/**
|
|
100
|
+
* Switches allow users to turn an individual option on or off.
|
|
101
|
+
* They are usually used to activate or deactivate a specific setting.
|
|
102
|
+
*/
|
|
103
|
+
export const Switch = forwardRef(function Switch(props, ref) {
|
|
100
104
|
props = castNullableIsSelected(props);
|
|
101
105
|
props = useProviderProps(props);
|
|
102
|
-
props =
|
|
106
|
+
props = useFieldProps(props, {
|
|
107
|
+
defaultValidationTrigger: 'onChange',
|
|
108
|
+
valuePropsMapper: ({ value, onChange }) => ({
|
|
109
|
+
isSelected: value != null ? value : false,
|
|
110
|
+
isIndeterminate: false,
|
|
111
|
+
onChange: onChange,
|
|
112
|
+
}),
|
|
113
|
+
});
|
|
103
114
|
let { qa, isDisabled = false, autoFocus, children, label, extra, labelProps, labelStyles, isLoading, insideForm, validationState, message, description, labelPosition, inputStyles, requiredMark = true, tooltip, labelSuffix, ...otherProps } = props;
|
|
104
115
|
let styles = extractStyles(props, OUTER_STYLES);
|
|
105
116
|
inputStyles = extractStyles(props, BLOCK_STYLES, inputStyles);
|
|
@@ -121,7 +132,7 @@ function Switch(props, ref) {
|
|
|
121
132
|
hovered: isHovered,
|
|
122
133
|
focused: isFocused,
|
|
123
134
|
};
|
|
124
|
-
const switchField = (_jsxs(SwitchWrapperElement, { mods: mods, children: [_jsx(HiddenInput, { "data-qa": "HiddenInput", ...mergeProps(inputProps, focusProps), ref: inputRef }
|
|
135
|
+
const switchField = (_jsxs(SwitchWrapperElement, { mods: mods, children: [_jsx(HiddenInput, { "data-qa": "HiddenInput", ...mergeProps(inputProps, focusProps), ref: inputRef }), _jsx(SwitchElement, { qa: qa || 'Switch', mods: mods, styles: inputStyles, children: _jsx("div", { "data-element": "Thumb", "aria-hidden": "true" }) }), children ? _jsx(Text, { children: children }) : null] }));
|
|
125
136
|
if (insideForm) {
|
|
126
137
|
return (_jsx(FieldWrapper, { ...{
|
|
127
138
|
as: 'label',
|
|
@@ -141,18 +152,11 @@ function Switch(props, ref) {
|
|
|
141
152
|
labelSuffix,
|
|
142
153
|
Component: switchField,
|
|
143
154
|
ref: domRef,
|
|
144
|
-
} }
|
|
155
|
+
} }));
|
|
145
156
|
}
|
|
146
157
|
return (_jsxs(SwitchLabelElement, { styles: styles, mods: mods, ...hoverProps, ...filterBaseProps(otherProps), ref: domRef, children: [switchField, label ? (_jsxs(Element, { styles: labelStyles, mods: {
|
|
147
158
|
disabled: isDisabled,
|
|
148
|
-
}, ...filterBaseProps(labelProps), children: [label, isLoading ? (_jsxs(_Fragment, { children: [label ? _jsx(_Fragment, { children: "\u00A0" }
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Switches allow users to turn an individual option on or off.
|
|
152
|
-
* They are usually used to activate or deactivate a specific setting.
|
|
153
|
-
*/
|
|
154
|
-
let _Switch = forwardRef(Switch);
|
|
155
|
-
_Switch.cubeInputType = 'Checkbox';
|
|
156
|
-
export { _Switch as Switch };
|
|
159
|
+
}, ...filterBaseProps(labelProps), children: [label, isLoading ? (_jsxs(_Fragment, { children: [label ? _jsx(_Fragment, { children: "\u00A0" }) : null, _jsx(LoadingOutlined, {})] })) : null] })) : null] }));
|
|
160
|
+
});
|
|
157
161
|
|
|
158
162
|
|
|
@@ -1,30 +1,43 @@
|
|
|
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
|
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
import { forwardRef,
|
|
9
|
+
import { forwardRef, useRef } from 'react';
|
|
10
10
|
import { useControlledState } from '@react-stately/utils';
|
|
11
11
|
import { useTextField } from '@react-aria/textfield';
|
|
12
|
-
import { TextInputBase
|
|
12
|
+
import { TextInputBase } from '../TextInput';
|
|
13
13
|
import { useProviderProps } from '../../../provider';
|
|
14
14
|
import { castNullableStringValue, } from '../../../utils/react/nullableValue';
|
|
15
15
|
import { chain, useLayoutEffect } from '../../../utils/react';
|
|
16
|
-
|
|
16
|
+
import { useFieldProps } from '../Form';
|
|
17
|
+
import { useEvent } from '../../../_internal';
|
|
18
|
+
/**
|
|
19
|
+
* TextInputs are text inputs that allow users to input custom text entries
|
|
20
|
+
* with a keyboard. Various decorations can be displayed around the field to
|
|
21
|
+
* communicate the entry requirements.
|
|
22
|
+
*/
|
|
23
|
+
export const TextArea = forwardRef(function TextArea(props, ref) {
|
|
17
24
|
props = castNullableStringValue(props);
|
|
18
25
|
props = useProviderProps(props);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
props = useFieldProps(props, {
|
|
27
|
+
defaultValidationTrigger: 'onBlur',
|
|
28
|
+
valuePropsMapper: ({ value, onChange }) => ({
|
|
29
|
+
onChange,
|
|
30
|
+
value: value?.toString() ?? '',
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
const { autoSize = false, isDisabled = false, isReadOnly = false, isRequired = false, onChange, rows = 3, ...otherProps } = props;
|
|
34
|
+
const [inputValue, setInputValue] = useControlledState(props.value, props.defaultValue, () => { });
|
|
35
|
+
const inputRef = useRef(null);
|
|
36
|
+
const onHeightChange = useEvent(() => {
|
|
24
37
|
if (autoSize && inputRef.current) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
const input = inputRef.current;
|
|
39
|
+
const prevAlignment = input.style.alignSelf;
|
|
40
|
+
const computedStyle = getComputedStyle(input);
|
|
28
41
|
input.style.alignSelf = 'start';
|
|
29
42
|
input.style.height = 'auto';
|
|
30
43
|
input.style.height = input.scrollHeight
|
|
@@ -35,26 +48,16 @@ function TextArea(props, ref) {
|
|
|
35
48
|
2}px`;
|
|
36
49
|
input.style.alignSelf = prevAlignment;
|
|
37
50
|
}
|
|
38
|
-
}
|
|
51
|
+
});
|
|
39
52
|
useLayoutEffect(() => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, [onHeightChange, inputValue, inputRef]);
|
|
44
|
-
let { labelProps, inputProps } = useTextField({
|
|
53
|
+
onHeightChange();
|
|
54
|
+
}, [onHeightChange, inputValue]);
|
|
55
|
+
const { labelProps, inputProps } = useTextField({
|
|
45
56
|
...props,
|
|
46
57
|
onChange: chain(onChange, setInputValue),
|
|
47
58
|
inputElementType: 'textarea',
|
|
48
59
|
}, inputRef);
|
|
49
|
-
return (_jsx(TextInputBase, { ...otherProps, ref: ref, multiLine: true, inputRef: inputRef, labelProps: labelProps, inputProps: inputProps, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, rows: rows }
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* TextInputs are text inputs that allow users to input custom text entries
|
|
53
|
-
* with a keyboard. Various decorations can be displayed around the field to
|
|
54
|
-
* communicate the entry requirements.
|
|
55
|
-
*/
|
|
56
|
-
const _TextArea = forwardRef(TextArea);
|
|
57
|
-
_TextArea.cubeInputType = 'Text';
|
|
58
|
-
export { _TextArea as TextArea };
|
|
60
|
+
return (_jsx(TextInputBase, { ...otherProps, ref: ref, multiLine: true, inputRef: inputRef, labelProps: labelProps, inputProps: inputProps, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired, rows: rows }));
|
|
61
|
+
});
|
|
59
62
|
|
|
60
63
|
|
|
@@ -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
|
|
|
@@ -10,19 +10,26 @@ import { forwardRef, useRef } from 'react';
|
|
|
10
10
|
import { useTextField } from '@react-aria/textfield';
|
|
11
11
|
import { useProviderProps } from '../../../provider';
|
|
12
12
|
import { castNullableStringValue, } from '../../../utils/react/nullableValue';
|
|
13
|
+
import { useFieldProps } from '../Form';
|
|
13
14
|
import { TextInputBase } from './TextInputBase';
|
|
14
|
-
export const TextInput = forwardRef(function TextInput(props, ref) {
|
|
15
|
-
castNullableStringValue(props);
|
|
16
|
-
props = useProviderProps(props);
|
|
17
|
-
let inputRef = useRef(null);
|
|
18
|
-
let { labelProps, inputProps } = useTextField(props, inputRef);
|
|
19
|
-
return (_jsx(TextInputBase, { ...props, ref: ref, labelProps: labelProps, inputProps: inputProps, inputRef: inputRef }, void 0));
|
|
20
|
-
});
|
|
21
15
|
/**
|
|
22
16
|
* TextInputs are text inputs that allow users to input custom text entries
|
|
23
17
|
* with a keyboard. Various decorations can be displayed around the field to
|
|
24
18
|
* communicate the entry requirements.
|
|
25
19
|
*/
|
|
26
|
-
TextInput
|
|
20
|
+
export const TextInput = forwardRef(function TextInput(props, ref) {
|
|
21
|
+
props = castNullableStringValue(props);
|
|
22
|
+
props = useProviderProps(props);
|
|
23
|
+
props = useFieldProps(props, {
|
|
24
|
+
defaultValidationTrigger: 'onBlur',
|
|
25
|
+
valuePropsMapper: ({ value, onChange }) => ({
|
|
26
|
+
onChange,
|
|
27
|
+
value: value?.toString() ?? '',
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
const inputRef = useRef(null);
|
|
31
|
+
const { labelProps, inputProps } = useTextField(props, inputRef);
|
|
32
|
+
return (_jsx(TextInputBase, { ...props, ref: ref, labelProps: labelProps, inputProps: inputProps, inputRef: inputRef }));
|
|
33
|
+
});
|
|
27
34
|
|
|
28
35
|
|
|
@@ -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
|
|
|
@@ -10,11 +10,9 @@ import { CheckOutlined, LoadingOutlined, WarningOutlined, } from '@ant-design/ic
|
|
|
10
10
|
import { createFocusableRef } from '@react-spectrum/utils';
|
|
11
11
|
import { cloneElement, forwardRef, useImperativeHandle, useMemo, useRef, } from 'react';
|
|
12
12
|
import { useHover } from '@react-aria/interactions';
|
|
13
|
-
import { useFormProps } from '../Form';
|
|
14
|
-
import { useProviderProps } from '../../../provider';
|
|
15
13
|
import { BLOCK_STYLES, DIMENSION_STYLES, extractStyles, POSITION_STYLES, tasty, } from '../../../tasty';
|
|
16
14
|
import { useFocus } from '../../../utils/react/interactions';
|
|
17
|
-
import { FieldWrapper } from '../FieldWrapper';
|
|
15
|
+
import { extractFieldWrapperProps, FieldWrapper } from '../FieldWrapper';
|
|
18
16
|
import { mergeProps } from '../../../utils/react';
|
|
19
17
|
const ADD_STYLES = {
|
|
20
18
|
display: 'grid',
|
|
@@ -129,12 +127,10 @@ export const DEFAULT_INPUT_STYLES = {
|
|
|
129
127
|
},
|
|
130
128
|
};
|
|
131
129
|
const InputElement = tasty({ qa: 'Input', styles: DEFAULT_INPUT_STYLES });
|
|
132
|
-
function TextInputBase(props, ref) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
let styles = extractStyles(otherProps, STYLE_LIST);
|
|
137
|
-
let type = otherProps.type;
|
|
130
|
+
export const TextInputBase = forwardRef(function TextInputBase(props, ref) {
|
|
131
|
+
let { qa, mods, prefix, isDisabled, multiLine, autoFocus, inputProps, wrapperProps, inputRef, isLoading, loadingIndicator, value, inputStyles = {}, wrapperStyles = {}, suffix, suffixPosition = 'before', wrapperRef, rows = 1, size, validationState, icon, type, maxLength, minLength, ...otherProps } = props;
|
|
132
|
+
const { fieldWrapperProps, rest } = extractFieldWrapperProps(props);
|
|
133
|
+
const styles = extractStyles(rest, STYLE_LIST);
|
|
138
134
|
inputStyles = extractStyles(otherProps, INPUT_STYLE_PROPS_LIST, inputStyles);
|
|
139
135
|
let ElementType = multiLine ? 'textarea' : 'input';
|
|
140
136
|
let { isFocused, focusProps } = useFocus({ isDisabled });
|
|
@@ -146,16 +142,14 @@ function TextInputBase(props, ref) {
|
|
|
146
142
|
useImperativeHandle(ref, () => ({
|
|
147
143
|
...createFocusableRef(domRef, inputRef),
|
|
148
144
|
select() {
|
|
149
|
-
|
|
150
|
-
inputRef.current.select();
|
|
151
|
-
}
|
|
145
|
+
inputRef?.current?.select();
|
|
152
146
|
},
|
|
153
147
|
getInputElement() {
|
|
154
148
|
return inputRef?.current;
|
|
155
149
|
},
|
|
156
150
|
}));
|
|
157
151
|
let isInvalid = validationState === 'invalid';
|
|
158
|
-
let validationIcon = isInvalid ? (_jsx(WarningOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--danger-color)' } }
|
|
152
|
+
let validationIcon = isInvalid ? (_jsx(WarningOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--danger-color)' } })) : (_jsx(CheckOutlined, { "data-element": "ValidationIcon", style: { color: 'var(--success-color)' } }));
|
|
159
153
|
let validation = cloneElement(validationIcon);
|
|
160
154
|
// Fix safari bug: https://github.com/philipwalton/flexbugs/issues/270
|
|
161
155
|
if (!inputProps?.placeholder) {
|
|
@@ -165,9 +159,9 @@ function TextInputBase(props, ref) {
|
|
|
165
159
|
inputProps.placeholder = ' ';
|
|
166
160
|
}
|
|
167
161
|
if (icon) {
|
|
168
|
-
icon = _jsx("div", { "data-element": "InputIcon", children: icon }
|
|
162
|
+
icon = _jsx("div", { "data-element": "InputIcon", children: icon });
|
|
169
163
|
if (prefix) {
|
|
170
|
-
prefix = (_jsxs(_Fragment, { children: [icon, prefix] }
|
|
164
|
+
prefix = (_jsxs(_Fragment, { children: [icon, prefix] }));
|
|
171
165
|
}
|
|
172
166
|
else {
|
|
173
167
|
prefix = icon;
|
|
@@ -203,30 +197,8 @@ function TextInputBase(props, ref) {
|
|
|
203
197
|
WebkitTextSecurity: 'disc',
|
|
204
198
|
}
|
|
205
199
|
: {};
|
|
206
|
-
const textField = (_jsxs(InputWrapperElement, { ref: wrapperRef, qa: qa || 'TextInput', mods: modifiers, "data-size": size, styles: wrapperStyles, ...wrapperProps, children: [_jsx(InputElement, { as: ElementType, ...mergeProps(inputProps, focusProps, hoverProps), ref: inputRef, rows: multiLine ? rows : undefined, mods: modifiers, style: textSecurityStyles, autoFocus: autoFocus, "data-size": size, styles: inputStyles, isDisabled: isDisabled, maxLength: maxLength, minLength: minLength }
|
|
207
|
-
return (_jsx(FieldWrapper, { ...
|
|
208
|
-
|
|
209
|
-
label,
|
|
210
|
-
extra,
|
|
211
|
-
styles,
|
|
212
|
-
isRequired,
|
|
213
|
-
labelStyles,
|
|
214
|
-
necessityIndicator,
|
|
215
|
-
necessityLabel,
|
|
216
|
-
labelProps,
|
|
217
|
-
isDisabled,
|
|
218
|
-
validationState,
|
|
219
|
-
message,
|
|
220
|
-
description,
|
|
221
|
-
requiredMark,
|
|
222
|
-
tooltip,
|
|
223
|
-
isHidden,
|
|
224
|
-
labelSuffix,
|
|
225
|
-
Component: textField,
|
|
226
|
-
ref: domRef,
|
|
227
|
-
} }, void 0));
|
|
228
|
-
}
|
|
229
|
-
const _TextInputBase = forwardRef(TextInputBase);
|
|
230
|
-
export { _TextInputBase as TextInputBase };
|
|
200
|
+
const textField = (_jsxs(InputWrapperElement, { ref: wrapperRef, qa: qa || 'TextInput', mods: modifiers, "data-size": size, styles: wrapperStyles, ...wrapperProps, children: [_jsx(InputElement, { as: ElementType, ...mergeProps(inputProps, focusProps, hoverProps), ref: inputRef, rows: multiLine ? rows : undefined, mods: modifiers, style: textSecurityStyles, autoFocus: autoFocus, "data-size": size, styles: inputStyles, isDisabled: isDisabled, maxLength: maxLength, minLength: minLength }), prefix ? _jsx("div", { "data-element": "Prefix", children: prefix }) : null, (validationState && !isLoading) || isLoading || suffix ? (_jsxs("div", { "data-element": "Suffix", children: [suffixPosition === 'before' ? suffix : null, (validationState && !isLoading) || isLoading ? (_jsxs("div", { "data-element": "State", children: [validationState && !isLoading ? validation : null, isLoading && _jsx(LoadingOutlined, { "data-element": "InputIcon" })] })) : null, suffixPosition === 'after' ? suffix : null] })) : null] }));
|
|
201
|
+
return (_jsx(FieldWrapper, { ...fieldWrapperProps, ref: domRef, styles: styles, isDisabled: isDisabled, Component: textField }));
|
|
202
|
+
});
|
|
231
203
|
|
|
232
204
|
|