@cube-dev/ui-kit 0.22.8 → 0.23.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/cjs/_internal/hooks/index.js +1 -1
- package/cjs/_internal/hooks/use-chained-callback.js +1 -1
- package/cjs/_internal/hooks/use-deprecation-warning.js +1 -1
- package/cjs/_internal/hooks/use-effect-once.js +1 -1
- package/cjs/_internal/hooks/use-event.js +1 -1
- package/cjs/_internal/hooks/use-is-first-render.js +1 -1
- package/cjs/_internal/hooks/use-sync-ref.js +1 -1
- package/cjs/_internal/hooks/use-timer/index.js +1 -1
- 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 +1 -1
- package/cjs/_internal/hooks/use-warn.js +1 -1
- package/cjs/_internal/index.js +1 -1
- package/cjs/components/Base.js +1 -1
- package/cjs/components/Block.js +1 -1
- package/cjs/components/GlobalStyles.js +1 -1
- package/cjs/components/GridProvider.js +1 -1
- package/cjs/components/HiddenInput.js +1 -1
- package/cjs/components/OpenTrasition.js +1 -1
- package/cjs/components/Root.js +1 -1
- package/cjs/components/actions/Action.js +1 -1
- package/cjs/components/actions/Button/Button.js +1 -1
- package/cjs/components/actions/Button/Submit.js +1 -1
- package/cjs/components/actions/Button/index.js +1 -1
- package/cjs/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/cjs/components/actions/index.js +1 -1
- package/cjs/components/actions/use-action.js +1 -1
- package/cjs/components/content/ActiveZone/ActiveZone.js +1 -1
- package/cjs/components/content/Alert/Alert.js +1 -1
- package/cjs/components/content/Alert/index.js +1 -1
- 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 +1 -1
- package/cjs/components/content/Badge/Badge.js +1 -1
- package/cjs/components/content/Card/Card.js +1 -1
- package/cjs/components/content/Content.js +1 -1
- package/cjs/components/content/CopySnippet/CopySnippet.js +1 -1
- package/cjs/components/content/CopySnippet/index.js +1 -1
- package/cjs/components/content/Divider.js +1 -1
- package/cjs/components/content/Footer.js +1 -1
- package/cjs/components/content/Header.js +1 -1
- package/cjs/components/content/Paragraph.js +1 -1
- package/cjs/components/content/Placeholder/Placeholder.js +1 -1
- package/cjs/components/content/PrismCode/PrismCode.js +1 -1
- package/cjs/components/content/Result/Result.js +1 -1
- package/cjs/components/content/Skeleton/Skeleton.js +1 -1
- package/cjs/components/content/Tag/Tag.js +1 -1
- package/cjs/components/content/Text.js +1 -1
- package/cjs/components/content/Title.js +2 -2
- package/cjs/components/forms/Checkbox/Checkbox.js +1 -1
- package/cjs/components/forms/Checkbox/CheckboxGroup.js +1 -1
- package/cjs/components/forms/Checkbox/context.js +1 -1
- package/cjs/components/forms/DatePicker/DateInput.js +63 -0
- package/cjs/components/forms/DatePicker/DateInputBase.js +77 -0
- package/cjs/components/forms/DatePicker/DatePicker.js +70 -0
- package/cjs/components/forms/DatePicker/DatePickerButton.js +24 -0
- package/cjs/components/forms/DatePicker/DatePickerInput.js +41 -0
- package/cjs/components/forms/DatePicker/DatePickerSegment.js +70 -0
- package/cjs/components/forms/DatePicker/DateRangePicker.js +78 -0
- package/cjs/components/forms/DatePicker/TimeInput.js +55 -0
- package/cjs/components/forms/DatePicker/index.js +26 -0
- package/cjs/components/forms/DatePicker/intl.js +17 -0
- package/cjs/components/forms/DatePicker/parseDate.js +34 -0
- package/cjs/components/forms/DatePicker/props.js +23 -0
- package/cjs/components/forms/DatePicker/utils.js +75 -0
- package/cjs/components/forms/FieldWrapper/FieldWrapper.js +3 -3
- package/cjs/components/forms/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/cjs/components/forms/FieldWrapper/index.js +1 -1
- package/cjs/components/forms/FieldWrapper/types.js +1 -1
- package/cjs/components/forms/FileInput/FileInput.js +1 -1
- package/cjs/components/forms/Form/Field.js +1 -1
- package/cjs/components/forms/Form/Form.js +1 -1
- package/cjs/components/forms/Form/Submit/Submit.js +1 -1
- package/cjs/components/forms/Form/Submit/index.js +1 -1
- package/cjs/components/forms/Form/SubmitError.js +1 -1
- package/cjs/components/forms/Form/index.js +1 -1
- package/cjs/components/forms/Form/types.js +1 -1
- package/cjs/components/forms/Form/use-field/index.js +1 -1
- package/cjs/components/forms/Form/use-field/types.js +1 -1
- package/cjs/components/forms/Form/use-field/use-field-props.js +1 -1
- package/cjs/components/forms/Form/use-field/use-field.js +1 -1
- package/cjs/components/forms/Form/use-form.js +1 -1
- package/cjs/components/forms/Form/validation.js +1 -1
- package/cjs/components/forms/Input/Input.js +1 -1
- package/cjs/components/forms/Input/index.js +1 -1
- package/cjs/components/forms/Label.js +1 -1
- package/cjs/components/forms/NumberInput/NumberInput.js +1 -1
- package/cjs/components/forms/NumberInput/StepButton.js +1 -1
- package/cjs/components/forms/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/forms/RadioGroup/Radio.js +1 -2
- package/cjs/components/forms/RadioGroup/RadioGroup.js +1 -1
- package/cjs/components/forms/RadioGroup/context.js +1 -1
- package/cjs/components/forms/SearchInput/SearchInput.js +1 -1
- package/cjs/components/forms/Slider/Gradation.js +1 -1
- package/cjs/components/forms/Slider/Header.js +1 -1
- package/cjs/components/forms/Slider/RangeSlider.js +1 -1
- package/cjs/components/forms/Slider/Slider.js +1 -1
- package/cjs/components/forms/Slider/SliderBase.js +1 -1
- package/cjs/components/forms/Slider/SliderInput.js +1 -1
- package/cjs/components/forms/Slider/SliderThumb.js +1 -1
- package/cjs/components/forms/Slider/SliderTrack.js +1 -1
- package/cjs/components/forms/Slider/elements.js +1 -1
- package/cjs/components/forms/Slider/index.js +1 -1
- package/cjs/components/forms/Slider/types.js +1 -1
- package/cjs/components/forms/Switch/Switch.js +1 -1
- package/cjs/components/forms/TextArea/TextArea.js +1 -1
- package/cjs/components/forms/TextInput/TextInput.js +1 -1
- package/cjs/components/forms/TextInput/TextInputBase.js +11 -25
- package/cjs/components/forms/index.js +1 -1
- package/cjs/components/forms/wrapper.js +40 -0
- package/cjs/components/layout/Flex.js +1 -1
- package/cjs/components/layout/Flow.js +1 -1
- package/cjs/components/layout/Grid.js +1 -1
- package/cjs/components/layout/Prefix.js +1 -1
- package/cjs/components/layout/Space.js +1 -1
- package/cjs/components/layout/Suffix.js +1 -1
- package/cjs/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/cjs/components/navigation/Link/Link.js +1 -1
- package/cjs/components/organisms/FileTabs/FileTabs.js +1 -1
- package/cjs/components/organisms/Modal/Modal.js +1 -1
- package/cjs/components/organisms/StatsCard/StatsCard.js +1 -1
- package/cjs/components/other/Base64Upload/Base64Upload.js +1 -1
- package/cjs/components/other/Calendar/Calendar.js +59 -0
- package/cjs/components/other/Calendar/CalendarCell.js +65 -0
- package/cjs/components/other/Calendar/CalendarGrid.js +34 -0
- package/cjs/components/other/Calendar/RangeCalendar.js +59 -0
- package/cjs/components/other/CloudLogo/CloudLogo.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/cjs/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/cjs/components/overlays/AlertDialog/index.js +1 -1
- package/cjs/components/overlays/AlertDialog/types.js +1 -1
- package/cjs/components/overlays/Dialog/Dialog.js +1 -1
- package/cjs/components/overlays/Dialog/DialogContainer.js +1 -1
- package/cjs/components/overlays/Dialog/DialogForm.js +1 -1
- package/cjs/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/cjs/components/overlays/Dialog/context.js +1 -1
- package/cjs/components/overlays/Dialog/index.js +1 -1
- package/cjs/components/overlays/Modal/Modal.js +1 -1
- package/cjs/components/overlays/Modal/OpenTransition.js +1 -1
- package/cjs/components/overlays/Modal/Overlay.js +1 -1
- package/cjs/components/overlays/Modal/Popover.js +1 -1
- package/cjs/components/overlays/Modal/Tray.js +1 -1
- package/cjs/components/overlays/Modal/Underlay.js +1 -1
- package/cjs/components/overlays/Modal/index.js +1 -1
- package/cjs/components/overlays/Modal/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/cjs/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/cjs/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/cjs/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/cjs/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/Notification.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- 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 +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/cjs/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/cjs/components/overlays/NewNotifications/hooks/index.js +1 -1
- 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 +1 -1
- package/cjs/components/overlays/NewNotifications/types.js +1 -1
- package/cjs/components/overlays/Notification/Notification.js +1 -1
- package/cjs/components/overlays/OverlayWrapper.js +1 -1
- package/cjs/components/overlays/Toasts/Toast.js +1 -1
- package/cjs/components/overlays/Toasts/index.js +1 -1
- 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 +1 -1
- package/cjs/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/cjs/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/cjs/components/overlays/Tooltip/context.js +1 -1
- package/cjs/components/pickers/ComboBox/ComboBox.js +1 -1
- package/cjs/components/pickers/Menu/Menu.js +1 -1
- package/cjs/components/pickers/Menu/MenuButton.js +1 -1
- package/cjs/components/pickers/Menu/MenuItem.js +1 -1
- package/cjs/components/pickers/Menu/MenuSection.js +1 -1
- package/cjs/components/pickers/Menu/MenuTrigger.js +1 -1
- package/cjs/components/pickers/Menu/context.js +1 -1
- package/cjs/components/pickers/Menu/styled.js +1 -1
- package/cjs/components/pickers/Select/Select.js +1 -1
- package/cjs/components/portal/Portal.js +1 -1
- package/cjs/components/portal/PortalProvider.js +1 -1
- package/cjs/components/portal/index.js +1 -1
- package/cjs/components/portal/storybook/templates/CustomRoot.js +1 -1
- package/cjs/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/cjs/components/portal/storybook/templates/basic.js +1 -1
- package/cjs/components/portal/storybook/templates/index.js +1 -1
- package/cjs/components/portal/types.js +1 -1
- package/cjs/components/portal/usePortal.js +1 -1
- package/cjs/components/shared/InvalidIcon.js +15 -0
- package/cjs/components/shared/ValidIcon.js +15 -0
- package/cjs/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- 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 +1 -1
- package/cjs/components/status/Spin/Spin.js +1 -1
- package/cjs/components/status/Spin/SpinsContainer.js +1 -1
- package/cjs/components/status/Spin/index.js +1 -1
- package/cjs/components/status/Spin/types.js +1 -1
- package/cjs/components/status/index.js +1 -1
- package/cjs/data/themes.js +1 -1
- package/cjs/icons/Attention.js +1 -1
- package/cjs/icons/Cross.js +1 -1
- package/cjs/icons/Danger.js +1 -1
- package/cjs/icons/Success.js +1 -1
- package/cjs/icons/index.js +1 -1
- package/cjs/index.js +3 -1
- package/cjs/provider.js +1 -1
- package/cjs/providers/TrackingProvider.js +1 -1
- package/cjs/services/notification.js +1 -1
- package/cjs/shared/form.js +1 -1
- package/cjs/shared/index.js +1 -1
- package/cjs/stories/FormFieldArgs.js +38 -2
- package/cjs/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/cjs/stories/components/DialogFormApp.js +1 -1
- package/cjs/stories/components/StyledButton.js +1 -1
- package/cjs/stories/lists/baseProps.js +1 -1
- package/cjs/tasty/index.js +1 -1
- package/cjs/tasty/providers/BreakpointsProvider.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/cjs/tasty/types.js +1 -1
- package/cjs/tasty/utils/cache-wrapper.js +1 -1
- package/cjs/tasty/utils/case-converter.js +1 -1
- package/cjs/tasty/utils/colors.js +1 -1
- package/cjs/tasty/utils/dotize.js +9 -3
- package/cjs/tasty/utils/filterBaseProps.js +1 -1
- package/cjs/tasty/utils/getDisplayName.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/tokens.js +2 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- package/es/_internal/hooks/index.js +1 -1
- package/es/_internal/hooks/use-chained-callback.js +1 -1
- package/es/_internal/hooks/use-deprecation-warning.js +1 -1
- package/es/_internal/hooks/use-effect-once.js +1 -1
- package/es/_internal/hooks/use-event.js +1 -1
- package/es/_internal/hooks/use-is-first-render.js +1 -1
- package/es/_internal/hooks/use-sync-ref.js +1 -1
- package/es/_internal/hooks/use-timer/index.js +1 -1
- package/es/_internal/hooks/use-timer/timer.js +1 -1
- package/es/_internal/hooks/use-timer/use-timer.js +1 -1
- package/es/_internal/hooks/use-update-effect.js +1 -1
- package/es/_internal/hooks/use-warn.js +1 -1
- package/es/_internal/index.js +1 -1
- package/es/components/Base.js +1 -1
- package/es/components/Block.js +1 -1
- package/es/components/GlobalStyles.js +1 -1
- package/es/components/GridProvider.js +1 -1
- package/es/components/HiddenInput.js +1 -1
- package/es/components/OpenTrasition.js +1 -1
- package/es/components/Root.js +1 -1
- package/es/components/actions/Action.js +1 -1
- package/es/components/actions/Button/Button.js +1 -1
- package/es/components/actions/Button/Submit.js +1 -1
- package/es/components/actions/Button/index.js +1 -1
- package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
- package/es/components/actions/index.js +1 -1
- package/es/components/actions/use-action.js +1 -1
- package/es/components/content/ActiveZone/ActiveZone.js +1 -1
- package/es/components/content/Alert/Alert.js +1 -1
- package/es/components/content/Alert/index.js +1 -1
- package/es/components/content/Alert/types.js +1 -1
- package/es/components/content/Alert/use-alert.js +1 -1
- package/es/components/content/Avatar/Avatar.js +1 -1
- package/es/components/content/Badge/Badge.js +1 -1
- package/es/components/content/Card/Card.js +1 -1
- package/es/components/content/Content.js +1 -1
- package/es/components/content/CopySnippet/CopySnippet.js +1 -1
- package/es/components/content/CopySnippet/index.js +1 -1
- package/es/components/content/Divider.js +1 -1
- package/es/components/content/Footer.js +1 -1
- package/es/components/content/Header.js +1 -1
- package/es/components/content/Paragraph.js +1 -1
- package/es/components/content/Placeholder/Placeholder.js +1 -1
- package/es/components/content/PrismCode/PrismCode.js +1 -1
- package/es/components/content/Result/Result.js +1 -1
- package/es/components/content/Skeleton/Skeleton.js +1 -1
- package/es/components/content/Tag/Tag.js +1 -1
- package/es/components/content/Text.js +1 -1
- package/es/components/content/Title.js +2 -2
- package/es/components/forms/Checkbox/Checkbox.js +1 -1
- package/es/components/forms/Checkbox/CheckboxGroup.js +1 -1
- package/es/components/forms/Checkbox/context.js +1 -1
- package/es/components/forms/DatePicker/DateInput.js +60 -0
- package/es/components/forms/DatePicker/DateInputBase.js +55 -0
- package/es/components/forms/DatePicker/DatePicker.js +67 -0
- package/es/components/forms/DatePicker/DatePickerButton.js +21 -0
- package/es/components/forms/DatePicker/DatePickerInput.js +37 -0
- package/es/components/forms/DatePicker/DatePickerSegment.js +66 -0
- package/es/components/forms/DatePicker/DateRangePicker.js +75 -0
- package/es/components/forms/DatePicker/TimeInput.js +52 -0
- package/es/components/forms/DatePicker/index.js +14 -0
- package/es/components/forms/DatePicker/intl.js +14 -0
- package/es/components/forms/DatePicker/parseDate.js +30 -0
- package/es/components/forms/DatePicker/props.js +20 -0
- package/es/components/forms/DatePicker/utils.js +69 -0
- package/es/components/forms/FieldWrapper/FieldWrapper.js +4 -4
- package/es/components/forms/FieldWrapper/extract-field-wrapper-props.js +1 -1
- package/es/components/forms/FieldWrapper/index.js +1 -1
- package/es/components/forms/FieldWrapper/types.js +1 -1
- package/es/components/forms/FileInput/FileInput.js +1 -1
- package/es/components/forms/Form/Field.js +1 -1
- package/es/components/forms/Form/Form.js +1 -1
- package/es/components/forms/Form/Submit/Submit.js +1 -1
- package/es/components/forms/Form/Submit/index.js +1 -1
- package/es/components/forms/Form/SubmitError.js +1 -1
- package/es/components/forms/Form/index.js +1 -1
- package/es/components/forms/Form/types.js +1 -1
- package/es/components/forms/Form/use-field/index.js +1 -1
- package/es/components/forms/Form/use-field/types.js +1 -1
- package/es/components/forms/Form/use-field/use-field-props.js +1 -1
- package/es/components/forms/Form/use-field/use-field.js +1 -1
- package/es/components/forms/Form/use-form.js +1 -1
- package/es/components/forms/Form/validation.js +1 -1
- package/es/components/forms/Input/Input.js +1 -1
- package/es/components/forms/Input/index.js +1 -1
- package/es/components/forms/Label.js +1 -1
- package/es/components/forms/NumberInput/NumberInput.js +1 -1
- package/es/components/forms/NumberInput/StepButton.js +1 -1
- package/es/components/forms/PasswordInput/PasswordInput.js +1 -1
- package/es/components/forms/RadioGroup/Radio.js +1 -2
- package/es/components/forms/RadioGroup/RadioGroup.js +1 -1
- package/es/components/forms/RadioGroup/context.js +1 -1
- package/es/components/forms/SearchInput/SearchInput.js +1 -1
- package/es/components/forms/Slider/Gradation.js +1 -1
- package/es/components/forms/Slider/Header.js +1 -1
- package/es/components/forms/Slider/RangeSlider.js +1 -1
- package/es/components/forms/Slider/Slider.js +1 -1
- package/es/components/forms/Slider/SliderBase.js +1 -1
- package/es/components/forms/Slider/SliderInput.js +1 -1
- package/es/components/forms/Slider/SliderThumb.js +1 -1
- package/es/components/forms/Slider/SliderTrack.js +1 -1
- 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 +1 -1
- package/es/components/forms/TextArea/TextArea.js +1 -1
- package/es/components/forms/TextInput/TextInput.js +1 -1
- package/es/components/forms/TextInput/TextInputBase.js +12 -26
- package/es/components/forms/index.js +1 -1
- package/es/components/forms/wrapper.js +36 -0
- package/es/components/layout/Flex.js +1 -1
- package/es/components/layout/Flow.js +1 -1
- package/es/components/layout/Grid.js +1 -1
- package/es/components/layout/Prefix.js +1 -1
- package/es/components/layout/Space.js +1 -1
- package/es/components/layout/Suffix.js +1 -1
- package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
- package/es/components/navigation/Link/Link.js +1 -1
- package/es/components/organisms/FileTabs/FileTabs.js +1 -1
- package/es/components/organisms/Modal/Modal.js +1 -1
- package/es/components/organisms/StatsCard/StatsCard.js +1 -1
- package/es/components/other/Base64Upload/Base64Upload.js +1 -1
- package/es/components/other/Calendar/Calendar.js +56 -0
- package/es/components/other/Calendar/CalendarCell.js +61 -0
- package/es/components/other/Calendar/CalendarGrid.js +30 -0
- package/es/components/other/Calendar/RangeCalendar.js +56 -0
- package/es/components/other/CloudLogo/CloudLogo.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
- package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
- package/es/components/overlays/AlertDialog/index.js +1 -1
- package/es/components/overlays/AlertDialog/types.js +1 -1
- package/es/components/overlays/Dialog/Dialog.js +1 -1
- package/es/components/overlays/Dialog/DialogContainer.js +1 -1
- package/es/components/overlays/Dialog/DialogForm.js +1 -1
- package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
- package/es/components/overlays/Dialog/context.js +1 -1
- package/es/components/overlays/Dialog/index.js +1 -1
- package/es/components/overlays/Modal/Modal.js +1 -1
- package/es/components/overlays/Modal/OpenTransition.js +1 -1
- package/es/components/overlays/Modal/Overlay.js +1 -1
- package/es/components/overlays/Modal/Popover.js +1 -1
- package/es/components/overlays/Modal/Tray.js +1 -1
- package/es/components/overlays/Modal/Underlay.js +1 -1
- package/es/components/overlays/Modal/index.js +1 -1
- package/es/components/overlays/Modal/types.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
- package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
- package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
- package/es/components/overlays/NewNotifications/Notification.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
- package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
- package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
- package/es/components/overlays/NewNotifications/index.js +1 -1
- package/es/components/overlays/NewNotifications/types.js +1 -1
- package/es/components/overlays/Notification/Notification.js +1 -1
- package/es/components/overlays/OverlayWrapper.js +1 -1
- package/es/components/overlays/Toasts/Toast.js +1 -1
- package/es/components/overlays/Toasts/index.js +1 -1
- package/es/components/overlays/Toasts/types.js +1 -1
- package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
- package/es/components/overlays/Tooltip/Tooltip.js +1 -1
- package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
- package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
- package/es/components/overlays/Tooltip/context.js +1 -1
- package/es/components/pickers/ComboBox/ComboBox.js +1 -1
- package/es/components/pickers/Menu/Menu.js +1 -1
- package/es/components/pickers/Menu/MenuButton.js +1 -1
- package/es/components/pickers/Menu/MenuItem.js +1 -1
- package/es/components/pickers/Menu/MenuSection.js +1 -1
- package/es/components/pickers/Menu/MenuTrigger.js +1 -1
- 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 +1 -1
- package/es/components/portal/Portal.js +1 -1
- package/es/components/portal/PortalProvider.js +1 -1
- package/es/components/portal/index.js +1 -1
- package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
- package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
- package/es/components/portal/storybook/templates/basic.js +1 -1
- package/es/components/portal/storybook/templates/index.js +1 -1
- package/es/components/portal/types.js +1 -1
- package/es/components/portal/usePortal.js +1 -1
- package/es/components/shared/InvalidIcon.js +12 -0
- package/es/components/shared/ValidIcon.js +12 -0
- package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
- package/es/components/status/LoadingAnimation/index.js +1 -1
- package/es/components/status/Spin/Cube.js +1 -1
- package/es/components/status/Spin/InternalSpinner.js +1 -1
- package/es/components/status/Spin/Spin.js +1 -1
- package/es/components/status/Spin/SpinsContainer.js +1 -1
- package/es/components/status/Spin/index.js +1 -1
- package/es/components/status/Spin/types.js +1 -1
- package/es/components/status/index.js +1 -1
- package/es/data/themes.js +1 -1
- package/es/icons/Attention.js +1 -1
- package/es/icons/Cross.js +1 -1
- package/es/icons/Danger.js +1 -1
- package/es/icons/Success.js +1 -1
- package/es/icons/index.js +1 -1
- package/es/index.js +3 -1
- package/es/provider.js +1 -1
- package/es/providers/TrackingProvider.js +1 -1
- package/es/services/notification.js +1 -1
- package/es/shared/form.js +1 -1
- package/es/shared/index.js +1 -1
- package/es/stories/FormFieldArgs.js +37 -1
- package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
- package/es/stories/components/DialogFormApp.js +1 -1
- package/es/stories/components/StyledButton.js +1 -1
- package/es/stories/lists/baseProps.js +1 -1
- package/es/tasty/index.js +1 -1
- package/es/tasty/providers/BreakpointsProvider.js +1 -1
- package/es/tasty/styles/align.js +1 -1
- package/es/tasty/styles/border.js +1 -1
- package/es/tasty/styles/boxShadow.combinator.js +1 -1
- package/es/tasty/styles/color.js +1 -1
- package/es/tasty/styles/createStyle.js +1 -1
- package/es/tasty/styles/dimension.js +1 -1
- package/es/tasty/styles/display.js +1 -1
- package/es/tasty/styles/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 +1 -1
- package/es/tasty/types.js +1 -1
- package/es/tasty/utils/cache-wrapper.js +1 -1
- package/es/tasty/utils/case-converter.js +1 -1
- package/es/tasty/utils/colors.js +1 -1
- package/es/tasty/utils/dotize.js +9 -3
- package/es/tasty/utils/filterBaseProps.js +1 -1
- package/es/tasty/utils/getDisplayName.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/tokens.js +2 -2
- 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 +1 -1
- 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 +1 -1
- package/package.json +8 -1
- package/types/components/forms/DatePicker/DateInput.d.ts +20 -0
- package/types/components/forms/DatePicker/DateInputBase.d.ts +18 -0
- package/types/components/forms/DatePicker/DatePicker.d.ts +19 -0
- package/types/components/forms/DatePicker/DatePickerButton.d.ts +117 -0
- package/types/components/forms/DatePicker/DatePickerInput.d.ts +8 -0
- package/types/components/forms/DatePicker/DatePickerSegment.d.ts +9 -0
- package/types/components/forms/DatePicker/DateRangePicker.d.ts +18 -0
- package/types/components/forms/DatePicker/TimeInput.d.ts +21 -0
- package/types/components/forms/DatePicker/index.d.ts +5 -0
- package/types/components/forms/DatePicker/intl.d.ts +5 -0
- package/types/components/forms/DatePicker/parseDate.d.ts +1 -0
- package/types/components/forms/DatePicker/props.d.ts +4 -0
- package/types/components/forms/DatePicker/utils.d.ts +6 -0
- package/types/components/forms/FieldWrapper/types.d.ts +2 -0
- package/types/components/forms/TextInput/TextInputBase.d.ts +2 -2
- package/types/components/forms/wrapper.d.ts +8 -0
- package/types/components/other/Calendar/Calendar.d.ts +5 -0
- package/types/components/other/Calendar/CalendarCell.d.ts +5 -0
- package/types/components/other/Calendar/CalendarGrid.d.ts +5 -0
- package/types/components/other/Calendar/RangeCalendar.d.ts +5 -0
- package/types/components/shared/InvalidIcon.d.ts +2 -0
- package/types/components/shared/ValidIcon.d.ts +2 -0
- package/types/index.d.ts +2 -0
- package/types/stories/FormFieldArgs.d.ts +44 -0
- package/types/tasty/utils/dotize.d.ts +1 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* @license MIT
|
3
3
|
* author: Cube Dev Team
|
4
|
-
* @cube-dev/ui-kit v0.
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
5
|
* Released under the MIT license.
|
6
6
|
*/
|
7
7
|
|
@@ -19,7 +19,7 @@ const TitleElement = tasty({
|
|
19
19
|
display: 'block',
|
20
20
|
color: '#dark',
|
21
21
|
preset: {
|
22
|
-
'': '
|
22
|
+
'': 'h6',
|
23
23
|
'[data-level="1"]': 'h1',
|
24
24
|
'[data-level="2"]': 'h2',
|
25
25
|
'[data-level="3"]': 'h3',
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
import { forwardRef, useRef } from 'react';
|
10
|
+
import { createCalendar } from '@internationalized/date';
|
11
|
+
import { useDateField } from '@react-aria/datepicker';
|
12
|
+
import { useDateFieldState } from '@react-stately/datepicker';
|
13
|
+
import { useLocale } from '@react-aria/i18n';
|
14
|
+
import { useProviderProps } from '../../../provider';
|
15
|
+
import { wrapWithField } from '../wrapper';
|
16
|
+
import { CONTAINER_STYLES, extractStyles, } from '../../../tasty';
|
17
|
+
import { mergeProps } from '../../../utils/react';
|
18
|
+
import { useFieldProps, useFormProps } from '../Form';
|
19
|
+
import { useFocusManagerRef } from './utils';
|
20
|
+
import { DateInputBase } from './DateInputBase';
|
21
|
+
import { DatePickerSegment } from './DatePickerSegment';
|
22
|
+
import { DEFAULT_DATE_PROPS } from './props';
|
23
|
+
import { parseAbsoluteDate } from './parseDate';
|
24
|
+
function DateInput(props, ref) {
|
25
|
+
props = useProviderProps(props);
|
26
|
+
props = useFormProps(props);
|
27
|
+
props = useFieldProps(props, {
|
28
|
+
defaultValidationTrigger: 'onBlur',
|
29
|
+
valuePropsMapper: ({ value, onChange }) => ({
|
30
|
+
value: typeof value === 'string' ? parseAbsoluteDate(value) : value,
|
31
|
+
onChange,
|
32
|
+
}),
|
33
|
+
});
|
34
|
+
props = Object.assign({}, DEFAULT_DATE_PROPS, props);
|
35
|
+
let { autoFocus, isDisabled, inputStyles, wrapperStyles, isReadOnly, isRequired, size = 'medium', } = props;
|
36
|
+
let styles = extractStyles(props, CONTAINER_STYLES, wrapperStyles);
|
37
|
+
let domRef = useFocusManagerRef(ref);
|
38
|
+
let { locale } = useLocale();
|
39
|
+
let state = useDateFieldState({
|
40
|
+
...props,
|
41
|
+
locale,
|
42
|
+
createCalendar,
|
43
|
+
});
|
44
|
+
let fieldRef = useRef(null);
|
45
|
+
let { labelProps, fieldProps } = useDateField(props, state, fieldRef);
|
46
|
+
const component = (_jsx(DateInputBase, { ref: fieldRef, size: size, fieldProps: fieldProps, isDisabled: isDisabled, autoFocus: autoFocus, validationState: state.validationState, styles: wrapperStyles, inputStyles: inputStyles, children: state.segments.map((segment, i) => (_jsx(DatePickerSegment, { segment: segment, state: state, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired }, i))) }, void 0));
|
47
|
+
return wrapWithField(component, domRef, {
|
48
|
+
...props,
|
49
|
+
styles,
|
50
|
+
labelProps: mergeProps(props.labelProps, labelProps),
|
51
|
+
});
|
52
|
+
}
|
53
|
+
/**
|
54
|
+
* DateInputs allow users to enter and edit date and time values using a keyboard.
|
55
|
+
* Each part of a date value is displayed in an individually editable segment.
|
56
|
+
*/
|
57
|
+
const _DateInput = forwardRef(DateInput);
|
58
|
+
export { _DateInput as DateInput };
|
59
|
+
|
60
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
9
|
+
import { mergeProps, mergeRefs } from '@react-aria/utils';
|
10
|
+
import React, { cloneElement, useRef } from 'react';
|
11
|
+
import { useFocusRing } from '@react-aria/focus';
|
12
|
+
import { CONTAINER_STYLES, extractStyles, tasty, } from '../../../tasty';
|
13
|
+
import { DEFAULT_INPUT_STYLES, INPUT_WRAPPER_STYLES, } from '../TextInput/TextInputBase';
|
14
|
+
import { InvalidIcon } from '../../shared/InvalidIcon';
|
15
|
+
import { ValidIcon } from '../../shared/ValidIcon';
|
16
|
+
const DateInputWrapperElement = tasty({
|
17
|
+
qa: 'DateInputWrapper',
|
18
|
+
role: 'presentation',
|
19
|
+
styles: {
|
20
|
+
...INPUT_WRAPPER_STYLES,
|
21
|
+
display: 'flex',
|
22
|
+
},
|
23
|
+
});
|
24
|
+
const DateInputElement = tasty({
|
25
|
+
role: 'presentation',
|
26
|
+
styles: {
|
27
|
+
...DEFAULT_INPUT_STYLES,
|
28
|
+
display: 'flex',
|
29
|
+
flow: 'row',
|
30
|
+
placeItems: 'center start',
|
31
|
+
},
|
32
|
+
});
|
33
|
+
function DateInputBase(props, ref) {
|
34
|
+
let inputRef = useRef(null);
|
35
|
+
let { isDisabled, inputStyles, children, fieldProps, style, disableFocusRing, autoFocus, validationState, isLoading, size = 'medium', } = props;
|
36
|
+
let styles = extractStyles(props, CONTAINER_STYLES);
|
37
|
+
let { focusProps, isFocusVisible, isFocused } = useFocusRing({
|
38
|
+
isTextInput: true,
|
39
|
+
within: true,
|
40
|
+
autoFocus,
|
41
|
+
});
|
42
|
+
let isInvalid = validationState === 'invalid';
|
43
|
+
let validationIcon = isInvalid ? InvalidIcon : ValidIcon;
|
44
|
+
let validation = cloneElement(validationIcon);
|
45
|
+
return (_jsxs(DateInputWrapperElement, { styles: styles, "data-size": size, mods: {
|
46
|
+
disabled: isDisabled,
|
47
|
+
focused: isFocused,
|
48
|
+
invalid: isInvalid,
|
49
|
+
'focus-ring': isFocusVisible && !disableFocusRing,
|
50
|
+
}, ...mergeProps(fieldProps ?? {}, focusProps), style: style, children: [_jsx("div", { "data-element": "Contents", role: "presentation", children: _jsx(DateInputElement, { ref: mergeRefs(ref, inputRef), "data-size": size, role: "presentation", styles: inputStyles, children: children }, void 0) }, void 0), validationState && !isLoading ? validation : undefined] }, void 0));
|
51
|
+
}
|
52
|
+
const _DateInputBase = React.forwardRef(DateInputBase);
|
53
|
+
export { _DateInputBase as DateInputBase };
|
54
|
+
|
55
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
9
|
+
import { forwardRef, useRef } from 'react';
|
10
|
+
import { useDatePicker } from '@react-aria/datepicker';
|
11
|
+
import { useDatePickerState } from '@react-stately/datepicker';
|
12
|
+
import { useProviderProps } from '../../../provider';
|
13
|
+
import { wrapWithField } from '../wrapper';
|
14
|
+
import { CONTAINER_STYLES, extractStyles, } from '../../../tasty';
|
15
|
+
import { mergeProps } from '../../../utils/react';
|
16
|
+
import { useFieldProps, useFormProps } from '../Form';
|
17
|
+
import { Space } from '../../layout/Space';
|
18
|
+
import { Dialog, DialogTrigger } from '../../overlays/Dialog';
|
19
|
+
import { Calendar } from '../../other/Calendar/Calendar';
|
20
|
+
import { useFocusManagerRef } from './utils';
|
21
|
+
import { DateInputBase } from './DateInputBase';
|
22
|
+
import { DatePickerInput } from './DatePickerInput';
|
23
|
+
import { TimeInput } from './TimeInput';
|
24
|
+
import { DatePickerButton } from './DatePickerButton';
|
25
|
+
import { DEFAULT_DATE_PROPS } from './props';
|
26
|
+
import { dateMessages } from './intl';
|
27
|
+
function DatePicker(props, ref) {
|
28
|
+
props = useProviderProps(props);
|
29
|
+
props = useFormProps(props);
|
30
|
+
props = useFieldProps(props, {
|
31
|
+
defaultValidationTrigger: 'onBlur',
|
32
|
+
});
|
33
|
+
props = Object.assign({}, DEFAULT_DATE_PROPS, props);
|
34
|
+
let styles = extractStyles(props, CONTAINER_STYLES);
|
35
|
+
let { size, shouldFlip, placeholderValue, isDisabled, validationState } = props;
|
36
|
+
let targetRef = useRef(null);
|
37
|
+
let state = useDatePickerState({
|
38
|
+
...props,
|
39
|
+
shouldCloseOnSelect: () => !state.hasTime,
|
40
|
+
});
|
41
|
+
let { isOpen, setOpen } = state;
|
42
|
+
let domRef = useFocusManagerRef(ref);
|
43
|
+
let { groupProps, labelProps, fieldProps, buttonProps, dialogProps, calendarProps, } = useDatePicker(props, state, targetRef);
|
44
|
+
let placeholder = placeholderValue;
|
45
|
+
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : undefined;
|
46
|
+
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : undefined;
|
47
|
+
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : undefined;
|
48
|
+
let timeGranularity = state.granularity === 'hour' ||
|
49
|
+
state.granularity === 'minute' ||
|
50
|
+
state.granularity === 'second'
|
51
|
+
? state.granularity
|
52
|
+
: null;
|
53
|
+
let showTimeField = !!timeGranularity;
|
54
|
+
//
|
55
|
+
// let visibleMonths = useVisibleMonths(maxVisibleMonths);
|
56
|
+
const component = (_jsxs(Space, { gap: "0", styles: props.wrapperStyles, children: [_jsx(DateInputBase, { disableFocusRing: true, radius: "left", border: "top left bottom", isDisabled: isDisabled, validationState: validationState, size: size, children: _jsx(DatePickerInput, { ...fieldProps }, void 0) }, void 0), _jsxs(DialogTrigger, { hideArrow: true, type: "popover", mobileType: "tray", placement: "bottom left", targetRef: targetRef, isOpen: isOpen, offset: 8, shouldFlip: shouldFlip, onOpenChange: setOpen, children: [_jsx(DatePickerButton, { size: size, ...buttonProps, isDisabled: isDisabled }, void 0), _jsxs(Dialog, { ...dialogProps, width: "max-content", children: [_jsx(Calendar, { ...calendarProps }, void 0), showTimeField && (_jsx(TimeInput, { padding: "1x", label: dateMessages['time'], value: state.timeValue, placeholderValue: timePlaceholder, granularity: timeGranularity, minValue: timeMinValue, maxValue: timeMaxValue, hourCycle: props.hourCycle, hideTimeZone: props.hideTimeZone, onChange: state.setTimeValue }, void 0))] }, void 0)] }, void 0)] }, void 0));
|
57
|
+
return wrapWithField(component, domRef, {
|
58
|
+
...props,
|
59
|
+
styles,
|
60
|
+
labelProps: mergeProps(props.labelProps, labelProps),
|
61
|
+
fieldProps: groupProps,
|
62
|
+
});
|
63
|
+
}
|
64
|
+
const _DatePicker = forwardRef(DatePicker);
|
65
|
+
export { _DatePicker as DatePicker };
|
66
|
+
|
67
|
+
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
import { CalendarOutlined } from '@ant-design/icons';
|
10
|
+
import { tasty } from '../../../tasty';
|
11
|
+
import { Button } from '../../actions';
|
12
|
+
export const DatePickerButton = tasty(Button, {
|
13
|
+
icon: _jsx(CalendarOutlined, {}, void 0),
|
14
|
+
styles: {
|
15
|
+
radius: '1r right',
|
16
|
+
border: 'top right bottom',
|
17
|
+
backgroundClip: 'content-box',
|
18
|
+
},
|
19
|
+
});
|
20
|
+
|
21
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
import { useRef } from 'react';
|
10
|
+
import { createCalendar } from '@internationalized/date';
|
11
|
+
import { useDateField } from '@react-aria/datepicker';
|
12
|
+
import { useDateFieldState } from '@react-stately/datepicker';
|
13
|
+
import { useLocale } from '@react-aria/i18n';
|
14
|
+
import { tasty } from '../../../tasty';
|
15
|
+
import { DatePickerSegment } from './DatePickerSegment';
|
16
|
+
const DateInputElement = tasty({
|
17
|
+
role: 'presentation',
|
18
|
+
styles: {
|
19
|
+
display: 'flex',
|
20
|
+
flow: 'row',
|
21
|
+
placeItems: 'center start',
|
22
|
+
},
|
23
|
+
});
|
24
|
+
export function DatePickerInput(props) {
|
25
|
+
let { isDisabled, isReadOnly, isRequired } = props;
|
26
|
+
let ref = useRef(null);
|
27
|
+
let { locale } = useLocale();
|
28
|
+
let state = useDateFieldState({
|
29
|
+
...props,
|
30
|
+
locale,
|
31
|
+
createCalendar,
|
32
|
+
});
|
33
|
+
let { fieldProps } = useDateField(props, state, ref);
|
34
|
+
return (_jsx(DateInputElement, { ref: ref, ...fieldProps, children: state.segments.map((segment, i) => (_jsx(DatePickerSegment, { segment: segment, state: state, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired }, i))) }, void 0));
|
35
|
+
}
|
36
|
+
|
37
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
import { useRef } from 'react';
|
10
|
+
import { useDateSegment } from '@react-aria/datepicker';
|
11
|
+
import { tasty } from '../../../tasty';
|
12
|
+
const LiteralSegmentElement = tasty({
|
13
|
+
qa: 'LiteralSegment',
|
14
|
+
as: 'span',
|
15
|
+
'aria-hidden': 'true',
|
16
|
+
styles: {},
|
17
|
+
});
|
18
|
+
const EditableSegmentElement = tasty({
|
19
|
+
qa: 'EditableSegment',
|
20
|
+
styles: {
|
21
|
+
padding: '0 1bw',
|
22
|
+
fontVariantNumeric: 'tabular-nums lining-nums',
|
23
|
+
textAlign: 'right',
|
24
|
+
font: 'monospace',
|
25
|
+
color: {
|
26
|
+
'': 'inherit',
|
27
|
+
':focus': '#white',
|
28
|
+
},
|
29
|
+
fill: {
|
30
|
+
'': '#clear',
|
31
|
+
':focus': '#purple',
|
32
|
+
},
|
33
|
+
radius: '.5r',
|
34
|
+
Placeholder: {
|
35
|
+
opacity: '#disabled-opacity',
|
36
|
+
},
|
37
|
+
},
|
38
|
+
});
|
39
|
+
export function DatePickerSegment({ segment, state, ...otherProps }) {
|
40
|
+
switch (segment.type) {
|
41
|
+
// A separator, e.g. punctuation
|
42
|
+
case 'literal':
|
43
|
+
return _jsx(LiteralSegment, { segment: segment }, void 0);
|
44
|
+
// Editable segment
|
45
|
+
default:
|
46
|
+
return (_jsx(EditableSegment, { segment: segment, state: state, ...otherProps }, void 0));
|
47
|
+
}
|
48
|
+
}
|
49
|
+
function LiteralSegment({ segment }) {
|
50
|
+
return (_jsx(LiteralSegmentElement, { "data-type": segment.type === 'literal' ? undefined : segment.type, children: segment.text }, void 0));
|
51
|
+
}
|
52
|
+
function EditableSegment({ segment, state }) {
|
53
|
+
let ref = useRef(null);
|
54
|
+
let { segmentProps } = useDateSegment(segment, state, ref);
|
55
|
+
return (_jsx(EditableSegmentElement, { ...segmentProps, ref: ref, mods: {
|
56
|
+
placeholder: segment.isPlaceholder,
|
57
|
+
'read-only': !segment.isEditable,
|
58
|
+
}, style: {
|
59
|
+
...segmentProps.style,
|
60
|
+
minWidth: segment.maxValue != null
|
61
|
+
? `calc(${String(segment.maxValue).length + 'ch'})`
|
62
|
+
: undefined,
|
63
|
+
}, "data-testid": segment.type, children: segment.isPlaceholder ? (_jsx("span", { "data-element": "Placeholder", "aria-hidden": "true", children: segment.placeholder }, void 0)) : (segment.text) }, void 0));
|
64
|
+
}
|
65
|
+
|
66
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
9
|
+
import { forwardRef, useRef } from 'react';
|
10
|
+
import { useDateRangePicker } from '@react-aria/datepicker';
|
11
|
+
import { useDateRangePickerState } from '@react-stately/datepicker';
|
12
|
+
import { useProviderProps } from '../../../provider';
|
13
|
+
import { wrapWithField } from '../wrapper';
|
14
|
+
import { CONTAINER_STYLES, extractStyles, tasty, } from '../../../tasty';
|
15
|
+
import { mergeProps } from '../../../utils/react';
|
16
|
+
import { useFieldProps, useFormProps } from '../Form';
|
17
|
+
import { Space } from '../../layout/Space';
|
18
|
+
import { Dialog, DialogTrigger } from '../../overlays/Dialog';
|
19
|
+
import { RangeCalendar } from '../../other/Calendar/RangeCalendar';
|
20
|
+
import { useFocusManagerRef } from './utils';
|
21
|
+
import { DateInputBase } from './DateInputBase';
|
22
|
+
import { DatePickerInput } from './DatePickerInput';
|
23
|
+
import { TimeInput } from './TimeInput';
|
24
|
+
import { DatePickerButton } from './DatePickerButton';
|
25
|
+
import { DEFAULT_DATE_PROPS } from './props';
|
26
|
+
import { dateMessages } from './intl';
|
27
|
+
const DateRangeDash = tasty({
|
28
|
+
'aria-hidden': 'true',
|
29
|
+
'data-qa': 'DateRangeDash',
|
30
|
+
children: '–',
|
31
|
+
styles: {
|
32
|
+
padding: '0 .5x',
|
33
|
+
},
|
34
|
+
});
|
35
|
+
function DateRangePicker(props, ref) {
|
36
|
+
props = useProviderProps(props);
|
37
|
+
props = useFormProps(props);
|
38
|
+
props = useFieldProps(props, {
|
39
|
+
defaultValidationTrigger: 'onBlur',
|
40
|
+
});
|
41
|
+
props = Object.assign({}, DEFAULT_DATE_PROPS, props);
|
42
|
+
let styles = extractStyles(props, CONTAINER_STYLES);
|
43
|
+
let { size, shouldFlip, placeholderValue, isDisabled, validationState } = props;
|
44
|
+
let targetRef = useRef(null);
|
45
|
+
let state = useDateRangePickerState({
|
46
|
+
...props,
|
47
|
+
shouldCloseOnSelect: () => !state.hasTime,
|
48
|
+
});
|
49
|
+
let { isOpen, setOpen } = state;
|
50
|
+
let domRef = useFocusManagerRef(ref);
|
51
|
+
let { groupProps, labelProps, startFieldProps, endFieldProps, buttonProps, dialogProps, calendarProps, } = useDateRangePicker(props, state, targetRef);
|
52
|
+
let placeholder = placeholderValue;
|
53
|
+
let timePlaceholder = placeholder && 'hour' in placeholder ? placeholder : undefined;
|
54
|
+
let timeMinValue = props.minValue && 'hour' in props.minValue ? props.minValue : undefined;
|
55
|
+
let timeMaxValue = props.maxValue && 'hour' in props.maxValue ? props.maxValue : undefined;
|
56
|
+
let timeGranularity = state.granularity === 'hour' ||
|
57
|
+
state.granularity === 'minute' ||
|
58
|
+
state.granularity === 'second'
|
59
|
+
? state.granularity
|
60
|
+
: null;
|
61
|
+
let showTimeField = !!timeGranularity;
|
62
|
+
//
|
63
|
+
// let visibleMonths = useVisibleMonths(maxVisibleMonths);
|
64
|
+
const component = (_jsxs(Space, { gap: "0", styles: props.wrapperStyles, children: [_jsxs(DateInputBase, { disableFocusRing: true, isDisabled: isDisabled, validationState: validationState, size: size, styles: { radius: 'left', border: 'top left bottom' }, children: [_jsx(DatePickerInput, { ...startFieldProps }, void 0), _jsx(DateRangeDash, {}, void 0), _jsx(DatePickerInput, { ...endFieldProps }, void 0)] }, void 0), _jsxs(DialogTrigger, { hideArrow: true, type: "popover", mobileType: "tray", placement: "bottom left", targetRef: targetRef, isOpen: isOpen, shouldFlip: shouldFlip, onOpenChange: setOpen, children: [_jsx(DatePickerButton, { size: size, ...buttonProps, isDisabled: isDisabled }, void 0), _jsxs(Dialog, { ...dialogProps, width: "max-content", children: [_jsx(RangeCalendar, { ...calendarProps }, void 0), showTimeField && (_jsxs(Space, { children: [_jsx(TimeInput, { padding: "1x", label: dateMessages['startTime'], value: state.timeRange?.start || null, placeholderValue: timePlaceholder, granularity: timeGranularity, minValue: timeMinValue, maxValue: timeMaxValue, hourCycle: props.hourCycle, hideTimeZone: props.hideTimeZone, onChange: (v) => state.setTime('start', v) }, void 0), _jsx(TimeInput, { padding: "1x", label: dateMessages['endTime'], value: state.timeRange?.end || null, placeholderValue: timePlaceholder, granularity: timeGranularity, minValue: timeMinValue, maxValue: timeMaxValue, hourCycle: props.hourCycle, hideTimeZone: props.hideTimeZone, onChange: (v) => state.setTime('end', v) }, void 0)] }, void 0))] }, void 0)] }, void 0)] }, void 0));
|
65
|
+
return wrapWithField(component, domRef, {
|
66
|
+
...props,
|
67
|
+
styles,
|
68
|
+
labelProps: mergeProps(props.labelProps, labelProps),
|
69
|
+
fieldProps: groupProps,
|
70
|
+
});
|
71
|
+
}
|
72
|
+
const _DateRangePicker = forwardRef(DateRangePicker);
|
73
|
+
export { _DateRangePicker as DateRangePicker };
|
74
|
+
|
75
|
+
|
@@ -0,0 +1,52 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
9
|
+
import { forwardRef, useRef } from 'react';
|
10
|
+
import { useLocale } from '@react-aria/i18n';
|
11
|
+
import { useTimeField } from '@react-aria/datepicker';
|
12
|
+
import { useTimeFieldState } from '@react-stately/datepicker';
|
13
|
+
import { wrapWithField } from '../wrapper';
|
14
|
+
import { useProviderProps } from '../../../provider';
|
15
|
+
import { CONTAINER_STYLES, extractStyles, } from '../../../tasty';
|
16
|
+
import { useFieldProps, useFormProps } from '../Form';
|
17
|
+
import { DateInputBase } from './DateInputBase';
|
18
|
+
import { DatePickerSegment } from './DatePickerSegment';
|
19
|
+
import { useFocusManagerRef } from './utils';
|
20
|
+
import { DEFAULT_TIME_PROPS } from './props';
|
21
|
+
function TimeInput(props, ref) {
|
22
|
+
props = useProviderProps(props);
|
23
|
+
props = useFormProps(props);
|
24
|
+
props = useFieldProps(props, {
|
25
|
+
defaultValidationTrigger: 'onBlur',
|
26
|
+
});
|
27
|
+
props = Object.assign({}, DEFAULT_TIME_PROPS, props);
|
28
|
+
let styles = extractStyles(props, CONTAINER_STYLES);
|
29
|
+
let { inputStyles, wrapperStyles, autoFocus, isDisabled, isReadOnly, isRequired, validationState, size = 'medium', } = props;
|
30
|
+
let domRef = useFocusManagerRef(ref);
|
31
|
+
let { locale } = useLocale();
|
32
|
+
let state = useTimeFieldState({
|
33
|
+
...props,
|
34
|
+
locale,
|
35
|
+
});
|
36
|
+
let fieldRef = useRef(null);
|
37
|
+
let { labelProps, fieldProps } = useTimeField(props, state, fieldRef);
|
38
|
+
const timeInput = (_jsx(DateInputBase, { ref: fieldRef, size: size, fieldProps: fieldProps, isDisabled: isDisabled, autoFocus: autoFocus, inputStyles: inputStyles, styles: wrapperStyles, validationState: validationState, children: state.segments.map((segment, i) => (_jsx(DatePickerSegment, { segment: segment, state: state, isDisabled: isDisabled, isReadOnly: isReadOnly, isRequired: isRequired }, i))) }, void 0));
|
39
|
+
return wrapWithField(timeInput, domRef, {
|
40
|
+
...props,
|
41
|
+
styles,
|
42
|
+
labelProps,
|
43
|
+
});
|
44
|
+
}
|
45
|
+
/**
|
46
|
+
* TimeFields allow users to enter and edit time values using a keyboard.
|
47
|
+
* Each part of the time is displayed in an individually editable segment.
|
48
|
+
*/
|
49
|
+
const _TimeInput = forwardRef(TimeInput);
|
50
|
+
export { _TimeInput as TimeInput };
|
51
|
+
|
52
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
export * from './TimeInput';
|
9
|
+
export * from './DateInput';
|
10
|
+
export * from './DatePicker';
|
11
|
+
export * from './DateRangePicker';
|
12
|
+
export * from './parseDate';
|
13
|
+
|
14
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import { parseAbsolute } from '@internationalized/date';
|
9
|
+
export function parseAbsoluteDate(val) {
|
10
|
+
if (!val || (typeof val === 'string' && val.trim() === '')) {
|
11
|
+
return undefined;
|
12
|
+
}
|
13
|
+
if (val instanceof Date) {
|
14
|
+
return parseAbsolute(val.toISOString(), 'UTC');
|
15
|
+
}
|
16
|
+
try {
|
17
|
+
parseAbsolute(val, 'UTC');
|
18
|
+
}
|
19
|
+
catch (e) {
|
20
|
+
if (!Number.isNaN(Date.parse(val))) {
|
21
|
+
return parseAbsolute(new Date(val).toISOString(), 'UTC');
|
22
|
+
}
|
23
|
+
else {
|
24
|
+
console.error('Invalid date format', val);
|
25
|
+
return undefined;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/**
|
2
|
+
* @license MIT
|
3
|
+
* author: Cube Dev Team
|
4
|
+
* @cube-dev/ui-kit v0.23.0
|
5
|
+
* Released under the MIT license.
|
6
|
+
*/
|
7
|
+
|
8
|
+
export const DEFAULT_DATE_PROPS = {
|
9
|
+
granularity: 'day',
|
10
|
+
hideTimeZone: true,
|
11
|
+
hourCycle: 24,
|
12
|
+
shouldForceLeadingZeros: true,
|
13
|
+
};
|
14
|
+
export const DEFAULT_TIME_PROPS = {
|
15
|
+
hideTimeZone: true,
|
16
|
+
hourCycle: 24,
|
17
|
+
shouldForceLeadingZeros: true,
|
18
|
+
};
|
19
|
+
|
20
|
+
|