@mezzanine-ui/react 0.16.0 → 1.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Accordion/AccordionControlContext.js +1 -0
- package/Accordion/AccordionDetails.js +1 -0
- package/Accordion/AccordionSummary.js +10 -10
- package/Accordion/index.d.ts +6 -3
- package/Alert/index.d.ts +3 -2
- package/AlertBanner/AlertBanner.d.ts +93 -0
- package/AlertBanner/AlertBanner.js +154 -0
- package/AlertBanner/index.d.ts +2 -0
- package/AlertBanner/index.js +1 -0
- package/Anchor/Anchor.js +1 -1
- package/Anchor/index.d.ts +2 -1
- package/AppBar/index.d.ts +8 -4
- package/{Overlay/Overlay.d.ts → Backdrop/Backdrop.d.ts} +12 -16
- package/Backdrop/Backdrop.js +40 -0
- package/Backdrop/index.d.ts +2 -0
- package/Backdrop/index.js +1 -0
- package/Badge/Badge.d.ts +20 -14
- package/Badge/Badge.js +14 -16
- package/Badge/BadgeContainer.d.ts +1 -1
- package/Badge/BadgeContainer.js +1 -1
- package/Badge/index.d.ts +3 -2
- package/Badge/typings.d.ts +48 -0
- package/Breadcrumb/Breadcrumb.d.ts +6 -0
- package/Breadcrumb/Breadcrumb.js +25 -0
- package/Breadcrumb/BreadcrumbItem.d.ts +4 -0
- package/Breadcrumb/BreadcrumbItem.js +45 -0
- package/Breadcrumb/index.d.ts +2 -0
- package/Breadcrumb/index.js +1 -0
- package/Breadcrumb/typings.d.ts +70 -0
- package/Button/Button.js +24 -19
- package/Button/ButtonGroup.d.ts +6 -28
- package/Button/ButtonGroup.js +7 -16
- package/Button/index.d.ts +4 -10
- package/Button/index.js +2 -3
- package/Button/typings.d.ts +11 -26
- package/Calendar/Calendar.d.ts +31 -2
- package/Calendar/Calendar.js +74 -19
- package/Calendar/CalendarCell.d.ts +4 -0
- package/Calendar/CalendarCell.js +3 -3
- package/Calendar/CalendarConfigProviderDayjs.d.ts +21 -0
- package/Calendar/CalendarConfigProviderDayjs.js +15 -0
- package/Calendar/CalendarConfigProviderLuxon.d.ts +21 -0
- package/Calendar/CalendarConfigProviderLuxon.js +15 -0
- package/Calendar/CalendarConfigProviderMoment.d.ts +21 -0
- package/Calendar/CalendarConfigProviderMoment.js +15 -0
- package/Calendar/CalendarContext.d.ts +14 -7
- package/Calendar/CalendarContext.js +8 -13
- package/Calendar/CalendarControls.d.ts +16 -0
- package/Calendar/CalendarControls.js +3 -7
- package/Calendar/CalendarDayOfWeek.js +4 -3
- package/Calendar/CalendarDays.d.ts +9 -1
- package/Calendar/CalendarDays.js +63 -38
- package/Calendar/CalendarFooterActions.d.ts +13 -0
- package/Calendar/CalendarFooterActions.js +14 -0
- package/Calendar/CalendarFooterControl.d.ts +16 -0
- package/Calendar/CalendarFooterControl.js +14 -0
- package/Calendar/CalendarHalfYears.d.ts +39 -0
- package/Calendar/CalendarHalfYears.js +62 -0
- package/Calendar/CalendarMonths.js +16 -4
- package/Calendar/CalendarQuarters.d.ts +37 -0
- package/Calendar/CalendarQuarters.js +64 -0
- package/Calendar/CalendarQuickSelect.d.ts +21 -0
- package/Calendar/CalendarQuickSelect.js +15 -0
- package/Calendar/CalendarWeeks.d.ts +1 -1
- package/Calendar/CalendarWeeks.js +89 -44
- package/Calendar/CalendarYears.js +13 -3
- package/Calendar/RangeCalendar.d.ts +59 -0
- package/Calendar/RangeCalendar.js +232 -0
- package/Calendar/index.d.ts +33 -10
- package/Calendar/index.js +7 -0
- package/Calendar/useCalendarControlModifiers.d.ts +4 -4
- package/Calendar/useCalendarControlModifiers.js +40 -8
- package/Calendar/useCalendarControls.d.ts +2 -0
- package/Calendar/useCalendarControls.js +19 -2
- package/Calendar/useCalendarModeStack.js +1 -0
- package/Calendar/useRangeCalendarControls.d.ts +18 -0
- package/Calendar/useRangeCalendarControls.js +115 -0
- package/Card/CardActions.js +1 -1
- package/Card/index.d.ts +4 -2
- package/Checkbox/CheckAll.d.ts +16 -6
- package/Checkbox/CheckAll.js +40 -26
- package/Checkbox/Checkbox.d.ts +100 -22
- package/Checkbox/Checkbox.js +73 -16
- package/Checkbox/CheckboxGroup.d.ts +100 -18
- package/Checkbox/CheckboxGroup.js +169 -24
- package/Checkbox/CheckboxGroupContext.d.ts +0 -2
- package/Checkbox/CheckboxGroupContext.js +1 -0
- package/Checkbox/index.d.ts +16 -4
- package/Checkbox/index.js +6 -2
- package/Checkbox/typings.d.ts +37 -0
- package/ClearActions/ClearActions.d.ts +41 -0
- package/ClearActions/ClearActions.js +23 -0
- package/ClearActions/index.d.ts +3 -0
- package/ClearActions/index.js +5 -0
- package/ConfirmActions/ConfirmActions.d.ts +2 -1
- package/ConfirmActions/index.d.ts +2 -1
- package/DatePicker/DatePicker.d.ts +12 -1
- package/DatePicker/DatePicker.js +41 -9
- package/DatePicker/DatePickerCalendar.d.ts +2 -5
- package/DatePicker/DatePickerCalendar.js +37 -37
- package/DatePicker/index.d.ts +4 -2
- package/DateRangePicker/DateRangePicker.d.ts +18 -2
- package/DateRangePicker/DateRangePicker.js +143 -100
- package/DateRangePicker/DateRangePickerCalendar.d.ts +13 -9
- package/DateRangePicker/DateRangePickerCalendar.js +7 -94
- package/DateRangePicker/index.d.ts +6 -3
- package/DateRangePicker/useDateRangeCalendarControls.js +11 -6
- package/DateRangePicker/useDateRangePickerValue.d.ts +38 -15
- package/DateRangePicker/useDateRangePickerValue.js +142 -63
- package/DateTimePicker/DateTimePicker.d.ts +31 -10
- package/DateTimePicker/DateTimePicker.js +179 -94
- package/DateTimePicker/index.d.ts +2 -2
- package/DateTimePicker/index.js +0 -1
- package/Drawer/Drawer.js +2 -2
- package/Drawer/index.d.ts +2 -1
- package/Dropdown/Dropdown.js +12 -22
- package/Dropdown/index.d.ts +2 -1
- package/Empty/Empty.d.ts +1 -16
- package/Empty/Empty.js +36 -7
- package/Empty/icons/EmptyMainInitialDataIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainInitialDataIcon.js +9 -0
- package/Empty/icons/EmptyMainResultIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainResultIcon.js +9 -0
- package/Empty/icons/EmptyMainSystemIcon.d.ts +4 -0
- package/Empty/icons/EmptyMainSystemIcon.js +9 -0
- package/Empty/index.d.ts +2 -1
- package/Empty/typings.d.ts +52 -0
- package/Form/FormControlContext.js +1 -0
- package/Form/FormHintText.d.ts +18 -0
- package/Form/FormHintText.js +17 -0
- package/Form/FormLabel.js +1 -0
- package/Form/index.d.ts +9 -5
- package/Form/index.js +1 -1
- package/Form/useAutoCompleteValueControl.js +2 -0
- package/Form/useCheckboxControlValue.js +0 -1
- package/Form/useSelectValueControl.js +2 -0
- package/InlineMessage/InlineMessage.d.ts +33 -0
- package/InlineMessage/InlineMessage.js +42 -0
- package/InlineMessage/InlineMessageGroup.d.ts +24 -0
- package/InlineMessage/InlineMessageGroup.js +21 -0
- package/InlineMessage/index.d.ts +4 -0
- package/InlineMessage/index.js +2 -0
- package/Input/ActionButton/ActionButton.d.ts +26 -0
- package/Input/ActionButton/ActionButton.js +14 -0
- package/Input/ActionButton/index.d.ts +2 -0
- package/Input/ActionButton/index.js +1 -0
- package/Input/Input.d.ts +147 -42
- package/Input/Input.js +195 -27
- package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.d.ts +31 -0
- package/Input/PasswordStrengthIndicator/PasswordStrengthIndicator.js +18 -0
- package/Input/PasswordStrengthIndicator/index.d.ts +2 -0
- package/Input/PasswordStrengthIndicator/index.js +1 -0
- package/Input/SelectButton/SelectButton.d.ts +20 -0
- package/Input/SelectButton/SelectButton.js +21 -0
- package/Input/SelectButton/index.d.ts +2 -0
- package/Input/SelectButton/index.js +1 -0
- package/Input/SpinnerButton/SpinnerButton.d.ts +19 -0
- package/Input/SpinnerButton/SpinnerButton.js +14 -0
- package/Input/SpinnerButton/index.d.ts +2 -0
- package/Input/SpinnerButton/index.js +1 -0
- package/Input/index.d.ts +3 -2
- package/Menu/Menu.js +1 -0
- package/Menu/index.d.ts +8 -4
- package/Message/Message.d.ts +6 -4
- package/Message/Message.js +86 -9
- package/Message/MessageTimerController.d.ts +14 -0
- package/Message/MessageTimerController.js +27 -0
- package/Message/index.d.ts +3 -2
- package/Modal/Modal.js +2 -2
- package/Modal/ModalActions.js +1 -0
- package/Modal/ModalControl.js +1 -0
- package/Modal/ModalHeader.js +1 -0
- package/Modal/index.d.ts +10 -5
- package/Modal/useModalContainer.d.ts +1 -1
- package/Modal/useModalContainer.js +2 -4
- package/Navigation/Navigation.js +37 -34
- package/Navigation/NavigationContext.js +1 -0
- package/Navigation/NavigationItem.js +1 -0
- package/Navigation/NavigationSubMenu.js +16 -26
- package/Navigation/index.d.ts +8 -4
- package/Notification/Notification.js +0 -1
- package/Notification/index.d.ts +3 -2
- package/Notifier/NotifierManager.d.ts +15 -2
- package/Notifier/NotifierManager.js +60 -18
- package/Notifier/createNotifier.d.ts +9 -0
- package/Notifier/createNotifier.js +3 -2
- package/Notifier/typings.d.ts +3 -1
- package/OverflowTooltip/OverflowCounterTag.d.ts +12 -0
- package/OverflowTooltip/OverflowCounterTag.js +48 -0
- package/OverflowTooltip/OverflowTooltip.d.ts +34 -0
- package/OverflowTooltip/OverflowTooltip.js +53 -0
- package/OverflowTooltip/index.d.ts +2 -0
- package/OverflowTooltip/index.js +2 -0
- package/PageFooter/PageFooter.d.ts +73 -8
- package/PageFooter/PageFooter.js +34 -3
- package/PageFooter/index.d.ts +2 -1
- package/PageHeader/PageHeader.d.ts +36 -0
- package/PageHeader/PageHeader.js +65 -0
- package/PageHeader/index.d.ts +2 -0
- package/PageHeader/index.js +1 -0
- package/PageToolbar/PageToolbar.d.ts +67 -0
- package/PageToolbar/PageToolbar.js +114 -0
- package/PageToolbar/index.d.ts +2 -0
- package/PageToolbar/index.js +1 -0
- package/Pagination/Pagination.d.ts +23 -29
- package/Pagination/Pagination.js +3 -4
- package/Pagination/PaginationItem.d.ts +1 -1
- package/Pagination/PaginationItem.js +6 -3
- package/Pagination/PaginationJumper.d.ts +7 -9
- package/Pagination/PaginationJumper.js +3 -5
- package/Pagination/PaginationPageSize.d.ts +8 -11
- package/Pagination/PaginationPageSize.js +5 -4
- package/Pagination/index.d.ts +8 -4
- package/Pagination/usePagination.d.ts +3 -1
- package/Pagination/usePagination.js +30 -21
- package/Picker/FormattedInput.d.ts +17 -0
- package/Picker/FormattedInput.js +74 -0
- package/Picker/MaskFormat.d.ts +39 -0
- package/Picker/MaskFormat.js +94 -0
- package/Picker/PickerTrigger.d.ts +13 -3
- package/Picker/PickerTrigger.js +17 -2
- package/Picker/PickerTriggerWithSeparator.d.ts +124 -0
- package/Picker/PickerTriggerWithSeparator.js +80 -0
- package/Picker/RangePickerTrigger.d.ts +55 -4
- package/Picker/RangePickerTrigger.js +65 -7
- package/Picker/formatUtils.d.ts +34 -0
- package/Picker/formatUtils.js +124 -0
- package/Picker/index.d.ts +17 -6
- package/Picker/index.js +4 -1
- package/Picker/useDateInputFormatter.d.ts +52 -0
- package/Picker/useDateInputFormatter.js +382 -0
- package/Picker/usePickerValue.d.ts +1 -2
- package/Picker/usePickerValue.js +8 -13
- package/Popconfirm/Popconfirm.js +1 -1
- package/Popconfirm/index.d.ts +2 -1
- package/Popover/Popover.js +4 -8
- package/Popover/index.d.ts +2 -1
- package/Popper/Popper.d.ts +15 -10
- package/Popper/Popper.js +88 -17
- package/Popper/index.d.ts +2 -1
- package/Portal/Portal.d.ts +13 -5
- package/Portal/Portal.js +25 -10
- package/Portal/index.d.ts +4 -1
- package/Portal/index.js +1 -0
- package/Portal/portalRegistry.d.ts +17 -0
- package/Portal/portalRegistry.js +92 -0
- package/Progress/Progress.d.ts +23 -30
- package/Progress/Progress.js +71 -21
- package/Progress/index.d.ts +3 -2
- package/Provider/ConfigProvider.d.ts +1 -0
- package/Provider/ConfigProvider.js +1 -0
- package/Provider/context.js +1 -0
- package/Radio/Radio.d.ts +1 -1
- package/Radio/Radio.js +2 -1
- package/Radio/RadioGroup.d.ts +1 -1
- package/Radio/RadioGroup.js +1 -1
- package/Radio/RadioGroupContext.js +1 -0
- package/Radio/index.d.ts +4 -2
- package/ResultState/ResultState.d.ts +52 -0
- package/ResultState/ResultState.js +24 -0
- package/ResultState/index.d.ts +2 -0
- package/ResultState/index.js +1 -0
- package/Select/AutoComplete.d.ts +1 -1
- package/Select/AutoComplete.js +2 -1
- package/Select/Option.js +1 -0
- package/Select/Select.d.ts +1 -1
- package/Select/Select.js +2 -1
- package/Select/SelectControlContext.js +1 -0
- package/Select/SelectTrigger.d.ts +1 -87
- package/Select/SelectTrigger.js +26 -21
- package/Select/SelectTriggerTags.d.ts +1 -1
- package/Select/SelectTriggerTags.js +47 -18
- package/Select/TreeSelect.d.ts +1 -1
- package/Select/TreeSelect.js +2 -1
- package/Select/index.d.ts +14 -7
- package/Select/typings.d.ts +99 -0
- package/Select/useSelectTriggerTags.d.ts +15 -8
- package/Select/useSelectTriggerTags.js +83 -44
- package/Selection/Selection.d.ts +98 -0
- package/Selection/Selection.js +46 -0
- package/Selection/index.d.ts +12 -0
- package/Selection/index.js +5 -0
- package/Skeleton/Skeleton.d.ts +10 -3
- package/Skeleton/Skeleton.js +12 -4
- package/Skeleton/index.d.ts +2 -1
- package/Slider/Slider.d.ts +44 -7
- package/Slider/Slider.js +17 -13
- package/Slider/index.d.ts +5 -3
- package/Spin/Spin.d.ts +39 -0
- package/{Loading/Loading.js → Spin/Spin.js} +9 -9
- package/Spin/index.d.ts +2 -0
- package/Spin/index.js +1 -0
- package/Stepper/Step.d.ts +1 -35
- package/Stepper/Step.js +43 -8
- package/Stepper/Stepper.d.ts +1 -14
- package/Stepper/Stepper.js +49 -15
- package/Stepper/index.d.ts +5 -2
- package/Stepper/index.js +1 -0
- package/Stepper/typings.d.ts +77 -0
- package/Stepper/useStepDistance.d.ts +10 -0
- package/Stepper/useStepDistance.js +81 -0
- package/Stepper/useStepper.d.ts +21 -0
- package/Stepper/useStepper.js +26 -0
- package/Table/Table.js +2 -2
- package/Table/TableBody.js +3 -2
- package/Table/TableBodyRow.js +1 -0
- package/Table/TableContext.js +1 -0
- package/Table/TableExpandedTable.js +1 -0
- package/Table/TableHeader.js +1 -0
- package/Table/editable/TableEditRenderWrapper.js +1 -0
- package/Table/expandable/TableExpandable.js +1 -1
- package/Table/index.d.ts +7 -4
- package/Table/pagination/TablePagination.js +1 -0
- package/Table/pagination/useTablePagination.js +1 -0
- package/Table/refresh/TableRefresh.js +3 -1
- package/Table/rowSelection/TableRowSelection.js +3 -2
- package/Table/sorting/TableSortingIcon.js +2 -1
- package/Table/sorting/useTableSorting.js +1 -0
- package/Table/useTableFetchMore.js +1 -1
- package/Table/useTableScroll.d.ts +4 -8
- package/Table/useTableScroll.js +9 -7
- package/Tabs/TabPane.js +1 -0
- package/Tabs/Tabs.js +9 -4
- package/Tabs/index.d.ts +6 -3
- package/Tabs/useTabsOverflow.js +4 -3
- package/Tag/Tag.d.ts +2 -25
- package/Tag/Tag.js +23 -13
- package/Tag/TagGroup.d.ts +12 -0
- package/Tag/TagGroup.js +41 -0
- package/Tag/index.d.ts +2 -1
- package/Tag/typings.d.ts +78 -0
- package/TextField/TextField.d.ts +78 -19
- package/TextField/TextField.js +58 -22
- package/TextField/index.d.ts +2 -1
- package/Textarea/Textarea.d.ts +19 -51
- package/Textarea/Textarea.js +13 -19
- package/Textarea/index.d.ts +2 -2
- package/TimePanel/TimePanel.d.ts +1 -22
- package/TimePanel/TimePanel.js +31 -26
- package/TimePanel/TimePanelAction.d.ts +2 -8
- package/TimePanel/TimePanelAction.js +2 -2
- package/TimePanel/TimePanelColumn.d.ts +0 -13
- package/TimePanel/TimePanelColumn.js +9 -11
- package/TimePanel/index.d.ts +6 -3
- package/TimePicker/TimePicker.d.ts +10 -1
- package/TimePicker/TimePicker.js +86 -35
- package/TimePicker/TimePickerPanel.d.ts +1 -2
- package/TimePicker/TimePickerPanel.js +2 -2
- package/TimePicker/index.d.ts +4 -2
- package/Toggle/Toggle.d.ts +46 -0
- package/Toggle/Toggle.js +29 -0
- package/Toggle/index.d.ts +3 -0
- package/Toggle/index.js +1 -0
- package/Tooltip/Tooltip.d.ts +13 -2
- package/Tooltip/Tooltip.js +56 -10
- package/Tooltip/index.d.ts +2 -1
- package/Tooltip/useDelayMouseEnterLeave.d.ts +1 -2
- package/Tooltip/useDelayMouseEnterLeave.js +10 -13
- package/Transition/Collapse.d.ts +2 -0
- package/Transition/Collapse.js +5 -6
- package/Transition/Fade.js +4 -4
- package/Transition/Rotate.d.ts +42 -0
- package/Transition/Rotate.js +30 -0
- package/Transition/Scale.d.ts +13 -0
- package/Transition/{Grow.js → Scale.js} +19 -16
- package/Transition/Slide.d.ts +7 -0
- package/Transition/{Zoom.js → Slide.js} +14 -12
- package/Transition/SlideFade.d.ts +3 -0
- package/Transition/SlideFade.js +5 -4
- package/Transition/Transition.d.ts +2 -2
- package/Transition/Translate.d.ts +14 -0
- package/Transition/Translate.js +94 -0
- package/Transition/index.d.ts +16 -6
- package/Transition/index.js +4 -2
- package/Transition/useAutoTransitionDuration.d.ts +1 -1
- package/Transition/useAutoTransitionDuration.js +3 -3
- package/Transition/useSetNodeTransition.js +0 -2
- package/Tree/TreeNode.js +7 -6
- package/Tree/index.d.ts +10 -5
- package/Typography/Typography.d.ts +6 -9
- package/Typography/Typography.js +7 -9
- package/Typography/index.d.ts +2 -5
- package/Upload/Upload.d.ts +175 -0
- package/Upload/Upload.js +279 -0
- package/Upload/UploadItem.d.ts +82 -0
- package/Upload/UploadItem.js +118 -0
- package/Upload/UploadPictureCard.d.ts +110 -0
- package/Upload/UploadPictureCard.js +101 -0
- package/Upload/Uploader.d.ts +161 -0
- package/Upload/Uploader.js +120 -0
- package/Upload/index.d.ts +8 -6
- package/Upload/index.js +4 -5
- package/Upload/upload-utils.d.ts +41 -0
- package/Upload/upload-utils.js +65 -0
- package/_internal/InputCheck/index.d.ts +4 -2
- package/_internal/InputTriggerPopper/InputTriggerPopper.js +15 -25
- package/_internal/InputTriggerPopper/index.d.ts +2 -1
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +2 -2
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +4 -27
- package/_internal/SlideFadeOverlay/index.d.ts +2 -1
- package/_internal/SlideFadeOverlay/useTopStack.js +1 -0
- package/dayjs.d.ts +21 -0
- package/dayjs.js +2 -0
- package/hooks/useComposeRefs.js +1 -1
- package/hooks/useLastCallback.js +3 -1
- package/hooks/useScrollLock.d.ts +28 -0
- package/hooks/useScrollLock.js +134 -0
- package/index.d.ts +126 -58
- package/index.js +93 -80
- package/luxon.d.ts +21 -0
- package/luxon.js +2 -0
- package/moment.d.ts +21 -0
- package/moment.js +2 -0
- package/package.json +13 -17
- package/utils/composeRefs.js +0 -1
- package/utils/get-css-variable-value.d.ts +1 -0
- package/utils/get-css-variable-value.js +9 -0
- package/Button/IconButton.d.ts +0 -21
- package/Button/IconButton.js +0 -13
- package/DateTimePicker/DateTimePickerPanel.d.ts +0 -28
- package/DateTimePicker/DateTimePickerPanel.js +0 -49
- package/Form/FormMessage.d.ts +0 -7
- package/Form/FormMessage.js +0 -18
- package/Form/useInputWithTagsModeValue.js +0 -86
- package/Loading/Loading.d.ts +0 -33
- package/Loading/index.d.ts +0 -1
- package/Loading/index.js +0 -1
- package/Overlay/Overlay.js +0 -31
- package/Overlay/index.d.ts +0 -1
- package/Overlay/index.js +0 -1
- package/Picker/useRangePickerValue.d.ts +0 -23
- package/Picker/useRangePickerValue.js +0 -99
- package/Switch/Switch.d.ts +0 -43
- package/Switch/Switch.js +0 -28
- package/Switch/index.d.ts +0 -2
- package/Switch/index.js +0 -1
- package/Transition/Grow.d.ts +0 -12
- package/Transition/Zoom.d.ts +0 -7
- package/Upload/UploadButton.d.ts +0 -9
- package/Upload/UploadButton.js +0 -23
- package/Upload/UploadInput.d.ts +0 -20
- package/Upload/UploadInput.js +0 -24
- package/Upload/UploadPicture.d.ts +0 -49
- package/Upload/UploadPicture.js +0 -51
- package/Upload/UploadPictureBlock.d.ts +0 -20
- package/Upload/UploadPictureBlock.js +0 -81
- package/Upload/UploadPictureWall.d.ts +0 -81
- package/Upload/UploadPictureWall.js +0 -168
- package/Upload/UploadPictureWallItem.d.ts +0 -15
- package/Upload/UploadPictureWallItem.js +0 -18
- package/Upload/UploadResult.d.ts +0 -35
- package/Upload/UploadResult.js +0 -29
- package/utils/scroll-lock.d.ts +0 -2
- package/utils/scroll-lock.js +0 -24
package/Toggle/Toggle.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useContext } from 'react';
|
|
4
|
+
import { toggleClasses } from '@mezzanine-ui/core/toggle';
|
|
5
|
+
import { useSwitchControlValue } from '../Form/useSwitchControlValue.js';
|
|
6
|
+
import Typography from '../Typography/Typography.js';
|
|
7
|
+
import { FormControlContext } from '../Form/FormControlContext.js';
|
|
8
|
+
import cx from 'clsx';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The react component for `mezzanine` toggle.
|
|
12
|
+
*/
|
|
13
|
+
const Toggle = forwardRef(function Toggle(props, ref) {
|
|
14
|
+
const { disabled: disabledFromFormControl } = useContext(FormControlContext) || {};
|
|
15
|
+
const { checked: checkedProp, className, defaultChecked, disabled = disabledFromFormControl, inputProps, label, onChange: onChangeProp, size = 'main', supportingText, ...rest } = props;
|
|
16
|
+
const [checked, onChange] = useSwitchControlValue({
|
|
17
|
+
checked: checkedProp,
|
|
18
|
+
defaultChecked,
|
|
19
|
+
onChange: onChangeProp,
|
|
20
|
+
});
|
|
21
|
+
return (jsxs("div", { ref: ref, ...rest, className: cx(toggleClasses.host, {
|
|
22
|
+
[toggleClasses.checked]: checked,
|
|
23
|
+
[toggleClasses.disabled]: disabled,
|
|
24
|
+
[toggleClasses.main]: size === 'main',
|
|
25
|
+
[toggleClasses.sub]: size === 'sub',
|
|
26
|
+
}, className), children: [jsxs("div", { className: toggleClasses.inputContainer, children: [jsx("span", { className: toggleClasses.knob }), jsx("input", { ...inputProps, "aria-checked": checked, "aria-disabled": disabled, checked: checked, className: toggleClasses.input, disabled: disabled, onChange: onChange, type: "checkbox" })] }), label && (jsxs("div", { className: toggleClasses.textContainer, children: [jsx(Typography, { color: "text-neutral-solid", variant: "label-primary", children: label }), supportingText && (jsx(Typography, { color: "text-neutral", variant: "caption", children: supportingText }))] }))] }));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export { Toggle as default };
|
package/Toggle/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './Toggle.js';
|
package/Tooltip/Tooltip.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { ReactElement, MouseEventHandler, ReactNode } from 'react';
|
|
2
2
|
import { PopperProps } from '../Popper';
|
|
3
|
-
export interface TooltipProps extends Omit<PopperProps, 'children' | 'title'> {
|
|
3
|
+
export interface TooltipProps extends Omit<PopperProps, 'arrow' | 'children' | 'disablePortal' | 'title'> {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* show arrow or not
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
arrow?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* child function that can receive events and ref
|
|
6
11
|
*/
|
|
7
12
|
children(opt: {
|
|
8
13
|
onMouseEnter: MouseEventHandler;
|
|
9
14
|
onMouseLeave: MouseEventHandler;
|
|
15
|
+
ref: React.RefCallback<HTMLElement>;
|
|
10
16
|
}): ReactElement<any>;
|
|
17
|
+
/**
|
|
18
|
+
* Whether to disable portal. If true, it will be a normal component.
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
disablePortal?: boolean;
|
|
11
22
|
/**
|
|
12
23
|
* delay time to hide when mouse leave. unit: s.
|
|
13
24
|
* @default 0.1
|
package/Tooltip/Tooltip.js
CHANGED
|
@@ -1,28 +1,74 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useRef } from 'react';
|
|
2
|
+
import { forwardRef, useRef, useState, useCallback } from 'react';
|
|
3
3
|
import { tooltipClasses } from '@mezzanine-ui/core/tooltip';
|
|
4
|
+
import { offset, flip, shift } from '@floating-ui/react-dom';
|
|
5
|
+
import { spacingPrefix } from '@mezzanine-ui/system/spacing';
|
|
4
6
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
5
7
|
import { useDelayMouseEnterLeave } from './useDelayMouseEnterLeave.js';
|
|
8
|
+
import { getCSSVariableValue } from '../utils/get-css-variable-value.js';
|
|
9
|
+
import { MOTION_EASING, MOTION_DURATION } from '@mezzanine-ui/system/motion';
|
|
10
|
+
import Fade from '../Transition/Fade.js';
|
|
6
11
|
import Popper from '../Popper/Popper.js';
|
|
7
12
|
import cx from 'clsx';
|
|
8
13
|
|
|
9
|
-
const offsetModifier = {
|
|
10
|
-
name: 'offset',
|
|
11
|
-
options: { offset: [0, 8] },
|
|
12
|
-
};
|
|
13
14
|
/**
|
|
14
15
|
* The react component for `mezzanine` tooltip.
|
|
15
16
|
*/
|
|
16
17
|
const Tooltip = forwardRef(function Tooltip(props, ref) {
|
|
17
|
-
const { anchor: anchorProp, children, className, mouseLeaveDelay = 0.1, open = false, options = {}, title, ...rest } = props;
|
|
18
|
-
const {
|
|
18
|
+
const { anchor: anchorProp, arrow: showArrow = true, children, className, disablePortal = true, mouseLeaveDelay = 0.1, open = false, options = {}, title, ...rest } = props;
|
|
19
|
+
const { middleware: middlewareProp = [] } = options;
|
|
19
20
|
const tooltipRef = useRef(null);
|
|
21
|
+
const [targetRef, _setTargetRef] = useState({
|
|
22
|
+
current: null,
|
|
23
|
+
});
|
|
20
24
|
const composedRef = useComposeRefs([ref, tooltipRef]);
|
|
21
|
-
const {
|
|
25
|
+
const { onLeave, onPopperEnter, onTargetEnter, visible } = useDelayMouseEnterLeave({ mouseLeaveDelay });
|
|
22
26
|
/** tooltip shown only when title existed && visible is true */
|
|
23
27
|
const isTooltipVisible = open || (visible && Boolean(title));
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
const offsetValue = Number(getCSSVariableValue(`--${spacingPrefix}-gap-base`).replace('rem', '')) * 16;
|
|
29
|
+
const placement = options.placement || 'top';
|
|
30
|
+
const isPlacementAtEdge = placement.endsWith('-start') || placement.endsWith('-end');
|
|
31
|
+
// 設置 target element,並重新渲染
|
|
32
|
+
const setTargetRef = useCallback((element) => {
|
|
33
|
+
_setTargetRef({ current: element });
|
|
34
|
+
}, []);
|
|
35
|
+
// middleware (shift, flip 會衝突,所以依照官方推薦設定 https://floating-ui.com/docs/flip#combining-with-shift)
|
|
36
|
+
const middleware = [offset({ mainAxis: offsetValue })];
|
|
37
|
+
const flipMiddleware = flip({
|
|
38
|
+
crossAxis: 'alignment',
|
|
39
|
+
fallbackAxisSideDirection: 'end',
|
|
40
|
+
});
|
|
41
|
+
const shiftMiddleware = shift();
|
|
42
|
+
if (placement.includes('-')) {
|
|
43
|
+
middleware.push(flipMiddleware, shiftMiddleware);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
middleware.push(shiftMiddleware, flipMiddleware);
|
|
47
|
+
}
|
|
48
|
+
return (jsxs(Fragment, { children: [jsx(Fade, { in: isTooltipVisible, duration: {
|
|
49
|
+
enter: MOTION_DURATION.fast,
|
|
50
|
+
exit: MOTION_DURATION.fast,
|
|
51
|
+
}, easing: {
|
|
52
|
+
enter: MOTION_EASING.standard,
|
|
53
|
+
exit: MOTION_EASING.standard,
|
|
54
|
+
}, children: jsx(Popper, { ...rest, ref: composedRef, anchor: anchorProp || targetRef.current, arrow: showArrow
|
|
55
|
+
? {
|
|
56
|
+
className: tooltipClasses.arrow,
|
|
57
|
+
enabled: true,
|
|
58
|
+
padding: isPlacementAtEdge
|
|
59
|
+
? Number(getCSSVariableValue(`--${spacingPrefix}-padding-horizontal-comfort`).replace('rem', '')) * 16
|
|
60
|
+
: 0,
|
|
61
|
+
}
|
|
62
|
+
: undefined, className: cx(tooltipClasses.host, className), disablePortal: disablePortal, onMouseEnter: onPopperEnter, onMouseLeave: onLeave, open: isTooltipVisible, options: {
|
|
63
|
+
...options,
|
|
64
|
+
placement,
|
|
65
|
+
middleware: [...middleware, ...middlewareProp],
|
|
66
|
+
}, children: title }) }), typeof children === 'function' &&
|
|
67
|
+
children({
|
|
68
|
+
onMouseEnter: onTargetEnter,
|
|
69
|
+
onMouseLeave: onLeave,
|
|
70
|
+
ref: setTargetRef,
|
|
71
|
+
})] }));
|
|
26
72
|
});
|
|
27
73
|
|
|
28
74
|
export { Tooltip as default };
|
package/Tooltip/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export type { TooltipProps } from './Tooltip';
|
|
2
|
+
export { default } from './Tooltip';
|
|
@@ -2,10 +2,9 @@ export interface UseDelayMouseEnterLeave {
|
|
|
2
2
|
mouseLeaveDelay?: number;
|
|
3
3
|
}
|
|
4
4
|
export interface DelayMouseEnterLeave {
|
|
5
|
-
anchor: HTMLButtonElement | null;
|
|
6
5
|
onLeave(v: any): void;
|
|
7
6
|
onPopperEnter(v: any): void;
|
|
8
|
-
onTargetEnter(v: React.MouseEvent<
|
|
7
|
+
onTargetEnter(v: React.MouseEvent<HTMLElement, MouseEvent>): void;
|
|
9
8
|
visible: boolean;
|
|
10
9
|
}
|
|
11
10
|
export declare function useDelayMouseEnterLeave(opt: UseDelayMouseEnterLeave): DelayMouseEnterLeave;
|
|
@@ -1,36 +1,33 @@
|
|
|
1
|
-
import { useState, useCallback } from 'react';
|
|
1
|
+
import { useState, useRef, useCallback } from 'react';
|
|
2
2
|
|
|
3
3
|
function useDelayMouseEnterLeave(opt) {
|
|
4
4
|
const { mouseLeaveDelay = 0.1 } = opt || {};
|
|
5
5
|
/** state that control tooltip visible/invisible */
|
|
6
6
|
const [visible, setVisible] = useState(false);
|
|
7
|
-
/**
|
|
8
|
-
const
|
|
9
|
-
/** timer for mouse leaving delay */
|
|
10
|
-
let timer;
|
|
7
|
+
/** timer for mouse leaving delay - use ref to persist across renders */
|
|
8
|
+
const timerRef = useRef(null);
|
|
11
9
|
const clearVisibilityDelayTimeout = useCallback(() => {
|
|
12
|
-
if (
|
|
13
|
-
clearTimeout(
|
|
10
|
+
if (timerRef.current) {
|
|
11
|
+
clearTimeout(timerRef.current);
|
|
12
|
+
timerRef.current = null;
|
|
14
13
|
}
|
|
15
14
|
}, []);
|
|
16
15
|
const onLeave = useCallback(() => {
|
|
17
|
-
|
|
16
|
+
timerRef.current = setTimeout(() => {
|
|
18
17
|
setVisible(false);
|
|
19
18
|
clearVisibilityDelayTimeout();
|
|
20
19
|
}, mouseLeaveDelay * 1000);
|
|
21
|
-
}, [mouseLeaveDelay]);
|
|
20
|
+
}, [mouseLeaveDelay, clearVisibilityDelayTimeout]);
|
|
22
21
|
const onPopperEnter = useCallback(() => {
|
|
23
22
|
clearVisibilityDelayTimeout();
|
|
24
23
|
setVisible(true);
|
|
25
|
-
}, []);
|
|
24
|
+
}, [clearVisibilityDelayTimeout]);
|
|
26
25
|
const onTargetEnter = useCallback((event) => {
|
|
27
26
|
event.stopPropagation();
|
|
28
|
-
setAnchor(event.currentTarget);
|
|
29
27
|
clearVisibilityDelayTimeout();
|
|
30
28
|
setVisible(true);
|
|
31
|
-
}, []);
|
|
29
|
+
}, [clearVisibilityDelayTimeout]);
|
|
32
30
|
return {
|
|
33
|
-
anchor,
|
|
34
31
|
onLeave,
|
|
35
32
|
onPopperEnter,
|
|
36
33
|
onTargetEnter,
|
package/Transition/Collapse.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
2
2
|
import { TransitionImplementationProps } from './Transition';
|
|
3
|
+
/** @deprecated 設計師未定義,暫時標記為 deprecated */
|
|
3
4
|
export interface CollapseProps extends TransitionImplementationProps, Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'children'> {
|
|
4
5
|
/**
|
|
5
6
|
* The height of the container while collapsed.
|
|
@@ -9,6 +10,7 @@ export interface CollapseProps extends TransitionImplementationProps, Omit<Nativ
|
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* The react component for `mezzanine` transition collapse.
|
|
13
|
+
* @deprecated 設計師未定義,暫時標記為 deprecated
|
|
12
14
|
*/
|
|
13
15
|
declare const Collapse: import("react").ForwardRefExoticComponent<CollapseProps & import("react").RefAttributes<HTMLElement>>;
|
|
14
16
|
export default Collapse;
|
package/Transition/Collapse.js
CHANGED
|
@@ -22,15 +22,16 @@ function getStyle(state, inProp, collapsedHeight) {
|
|
|
22
22
|
return style;
|
|
23
23
|
}
|
|
24
24
|
const defaultEasing = {
|
|
25
|
-
enter: MOTION_EASING.
|
|
26
|
-
exit: MOTION_EASING.
|
|
25
|
+
enter: MOTION_EASING.entrance,
|
|
26
|
+
exit: MOTION_EASING.exit,
|
|
27
27
|
};
|
|
28
28
|
/**
|
|
29
29
|
* The react component for `mezzanine` transition collapse.
|
|
30
|
+
* @deprecated 設計師未定義,暫時標記為 deprecated
|
|
30
31
|
*/
|
|
31
32
|
const Collapse = forwardRef(function Collapse(props, ref) {
|
|
32
33
|
const { appear, children, collapsedHeight: collapsedHeightProp = 0, delay = 0, duration = 'auto', easing = defaultEasing, in: inProp = false, lazyMount, keepMount, onEnter, onEntered, onEntering, onExit, onExiting, onExited, style, ...rest } = props;
|
|
33
|
-
const {
|
|
34
|
+
const { autoTransitionDurationRef, addEndListener } = useAutoTransitionDuration(duration);
|
|
34
35
|
const nodeRef = useRef(null);
|
|
35
36
|
const wrapperRef = useRef(null);
|
|
36
37
|
const collapsedHeight = typeof collapsedHeightProp === 'number'
|
|
@@ -44,7 +45,7 @@ const Collapse = forwardRef(function Collapse(props, ref) {
|
|
|
44
45
|
properties: ['height'],
|
|
45
46
|
resolveAutoDuration: () => {
|
|
46
47
|
const autoSizeDuration = getAutoSizeDuration(getWrapperHeight());
|
|
47
|
-
|
|
48
|
+
autoTransitionDurationRef.current = autoSizeDuration;
|
|
48
49
|
return autoSizeDuration;
|
|
49
50
|
},
|
|
50
51
|
}, style);
|
|
@@ -57,7 +58,6 @@ const Collapse = forwardRef(function Collapse(props, ref) {
|
|
|
57
58
|
lazyMount,
|
|
58
59
|
keepMount: collapsedHeight !== '0px' ? true : keepMount,
|
|
59
60
|
nodeRef,
|
|
60
|
-
/* eslint-disable no-param-reassign */
|
|
61
61
|
onEnter(node, isAppearing) {
|
|
62
62
|
node.style.height = collapsedHeight;
|
|
63
63
|
reflow(node);
|
|
@@ -99,7 +99,6 @@ const Collapse = forwardRef(function Collapse(props, ref) {
|
|
|
99
99
|
onExited(node);
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
|
-
/* eslint-enable no-param-reassign */
|
|
103
102
|
};
|
|
104
103
|
return (jsx(Transition, { ...transitionProps, children: (state) => (jsx("div", { ...rest, ref: composedNodeRef, style: { ...getStyle(state, inProp, collapsedHeight), ...style }, children: jsx("div", { ref: wrapperRef, style: { display: 'flex', width: '100%' }, children: jsx("div", { style: { width: '100%' }, children: children }) }) })) }));
|
|
105
104
|
});
|
package/Transition/Fade.js
CHANGED
|
@@ -19,12 +19,12 @@ function getStyle(state, inProp) {
|
|
|
19
19
|
return style;
|
|
20
20
|
}
|
|
21
21
|
const defaultDuration = {
|
|
22
|
-
enter: MOTION_DURATION.
|
|
23
|
-
exit: MOTION_DURATION.
|
|
22
|
+
enter: MOTION_DURATION.moderate,
|
|
23
|
+
exit: MOTION_DURATION.moderate,
|
|
24
24
|
};
|
|
25
25
|
const defaultEasing = {
|
|
26
|
-
enter: MOTION_EASING.
|
|
27
|
-
exit: MOTION_EASING.
|
|
26
|
+
enter: MOTION_EASING.entrance,
|
|
27
|
+
exit: MOTION_EASING.exit,
|
|
28
28
|
};
|
|
29
29
|
/**
|
|
30
30
|
* The react component for `mezzanine` transition fade.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
export interface RotateProps {
|
|
3
|
+
/**
|
|
4
|
+
* The child element to rotate.
|
|
5
|
+
*/
|
|
6
|
+
children: ReactElement;
|
|
7
|
+
/**
|
|
8
|
+
* The rotation degrees when `open` is true.
|
|
9
|
+
* Common use case: arrow indicators in Select, Accordion, etc.
|
|
10
|
+
* @default 180
|
|
11
|
+
*/
|
|
12
|
+
degrees?: number;
|
|
13
|
+
/**
|
|
14
|
+
* The duration of the rotation transition in milliseconds.
|
|
15
|
+
* @default MOTION_DURATION.fast (150ms)
|
|
16
|
+
*/
|
|
17
|
+
duration?: number;
|
|
18
|
+
/**
|
|
19
|
+
* The easing function for the rotation transition.
|
|
20
|
+
* @default MOTION_EASING.standard
|
|
21
|
+
*/
|
|
22
|
+
easing?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the element should be in the rotated state.
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
in?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The transform origin for child element.
|
|
30
|
+
* @default 'center'
|
|
31
|
+
*/
|
|
32
|
+
transformOrigin?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The react component for `mezzanine` transition rotate.
|
|
36
|
+
* Unlike other transition components, Rotate does not unmount the element.
|
|
37
|
+
* It simply rotates the element based on the `in` state.
|
|
38
|
+
*
|
|
39
|
+
* Common use case: arrow indicators that rotate to indicate expand/collapse state.
|
|
40
|
+
*/
|
|
41
|
+
declare const Rotate: import("react").ForwardRefExoticComponent<RotateProps & import("react").RefAttributes<HTMLElement>>;
|
|
42
|
+
export default Rotate;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MOTION_DURATION, MOTION_EASING } from '@mezzanine-ui/system/motion';
|
|
2
|
+
import { forwardRef, cloneElement } from 'react';
|
|
3
|
+
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The react component for `mezzanine` transition rotate.
|
|
7
|
+
* Unlike other transition components, Rotate does not unmount the element.
|
|
8
|
+
* It simply rotates the element based on the `in` state.
|
|
9
|
+
*
|
|
10
|
+
* Common use case: arrow indicators that rotate to indicate expand/collapse state.
|
|
11
|
+
*/
|
|
12
|
+
const Rotate = forwardRef(function Rotate(props, ref) {
|
|
13
|
+
const { children, degrees = 180, duration = MOTION_DURATION.fast, easing = MOTION_EASING.standard, in: inProp = false, transformOrigin = 'center', } = props;
|
|
14
|
+
const childRef = 'ref' in children ? children.ref : undefined;
|
|
15
|
+
const composedRef = useComposeRefs([ref, childRef]);
|
|
16
|
+
const childProps = children.props;
|
|
17
|
+
const style = {
|
|
18
|
+
transform: inProp ? `rotate(${degrees}deg)` : 'rotate(0deg)',
|
|
19
|
+
transformOrigin,
|
|
20
|
+
transition: `transform ${duration}ms ${easing}`,
|
|
21
|
+
...(childProps.style || {}),
|
|
22
|
+
};
|
|
23
|
+
return cloneElement(children, {
|
|
24
|
+
...childProps,
|
|
25
|
+
ref: composedRef,
|
|
26
|
+
style,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export { Rotate as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransitionImplementationProps } from './Transition';
|
|
2
|
+
export interface ScaleProps extends TransitionImplementationProps {
|
|
3
|
+
/**
|
|
4
|
+
* The transform origin for child element.
|
|
5
|
+
* @default 'center'
|
|
6
|
+
*/
|
|
7
|
+
transformOrigin?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The react component for `mezzanine` transition scale.
|
|
11
|
+
*/
|
|
12
|
+
declare const Scale: import("react").ForwardRefExoticComponent<ScaleProps & import("react").RefAttributes<HTMLElement>>;
|
|
13
|
+
export default Scale;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useRef, cloneElement } from 'react';
|
|
3
|
-
import { MOTION_EASING } from '@mezzanine-ui/system/motion';
|
|
3
|
+
import { MOTION_DURATION, MOTION_EASING } from '@mezzanine-ui/system/motion';
|
|
4
4
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
5
5
|
import Transition from './Transition.js';
|
|
6
6
|
import { getAutoSizeDuration } from './getAutoSizeDuration.js';
|
|
@@ -9,7 +9,7 @@ import { useAutoTransitionDuration } from './useAutoTransitionDuration.js';
|
|
|
9
9
|
import { useSetNodeTransition } from './useSetNodeTransition.js';
|
|
10
10
|
|
|
11
11
|
function getScale(value) {
|
|
12
|
-
return `scale(${value}
|
|
12
|
+
return `scale(${value})`;
|
|
13
13
|
}
|
|
14
14
|
function getStyle(state) {
|
|
15
15
|
if (state === 'entering') {
|
|
@@ -26,19 +26,24 @@ function getStyle(state) {
|
|
|
26
26
|
}
|
|
27
27
|
return {
|
|
28
28
|
opacity: 0,
|
|
29
|
-
transform: getScale(0.
|
|
29
|
+
transform: getScale(0.95),
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
+
const defaultDuration = {
|
|
33
|
+
enter: MOTION_DURATION.moderate,
|
|
34
|
+
exit: MOTION_DURATION.moderate,
|
|
35
|
+
};
|
|
32
36
|
const defaultEasing = {
|
|
33
|
-
enter: MOTION_EASING.
|
|
34
|
-
exit: MOTION_EASING.
|
|
37
|
+
enter: MOTION_EASING.entrance,
|
|
38
|
+
exit: MOTION_EASING.exit,
|
|
35
39
|
};
|
|
36
40
|
/**
|
|
37
|
-
* The react component for `mezzanine` transition
|
|
41
|
+
* The react component for `mezzanine` transition scale.
|
|
38
42
|
*/
|
|
39
|
-
const
|
|
40
|
-
const { appear, children, delay = 0, duration =
|
|
41
|
-
const
|
|
43
|
+
const Scale = forwardRef(function Scale(props, ref) {
|
|
44
|
+
const { appear, children, delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, in: inProp, onEnter, onEntered, onExit, onExited, transformOrigin = 'center', ...rest } = props;
|
|
45
|
+
const duration = durationProp === 'auto' ? defaultDuration : durationProp;
|
|
46
|
+
const { autoTransitionDurationRef, addEndListener } = useAutoTransitionDuration(duration);
|
|
42
47
|
const nodeRef = useRef(null);
|
|
43
48
|
const [setNodeTransition, resetNodeTransition] = useSetNodeTransition({
|
|
44
49
|
delay,
|
|
@@ -48,12 +53,12 @@ const Grow = forwardRef(function Grow(props, ref) {
|
|
|
48
53
|
'opacity',
|
|
49
54
|
[
|
|
50
55
|
'transform',
|
|
51
|
-
(transitionProps
|
|
56
|
+
(transitionProps) => {
|
|
52
57
|
const { delay: delayProp, duration: durationProp } = transitionProps;
|
|
53
58
|
return {
|
|
54
59
|
...transitionProps,
|
|
55
|
-
delay:
|
|
56
|
-
duration: durationProp
|
|
60
|
+
delay: delayProp,
|
|
61
|
+
duration: durationProp,
|
|
57
62
|
};
|
|
58
63
|
},
|
|
59
64
|
],
|
|
@@ -61,7 +66,7 @@ const Grow = forwardRef(function Grow(props, ref) {
|
|
|
61
66
|
resolveAutoDuration: () => {
|
|
62
67
|
var _a, _b;
|
|
63
68
|
const autoSizeDuration = getAutoSizeDuration((_b = (_a = nodeRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0);
|
|
64
|
-
|
|
69
|
+
autoTransitionDurationRef.current = autoSizeDuration;
|
|
65
70
|
return autoSizeDuration;
|
|
66
71
|
},
|
|
67
72
|
}, children === null || children === void 0 ? void 0 : children.props.style);
|
|
@@ -73,7 +78,6 @@ const Grow = forwardRef(function Grow(props, ref) {
|
|
|
73
78
|
duration,
|
|
74
79
|
in: inProp,
|
|
75
80
|
nodeRef,
|
|
76
|
-
/* eslint-disable no-param-reassign */
|
|
77
81
|
onEnter(node, isAppearing) {
|
|
78
82
|
setNodeTransition(node, 'enter');
|
|
79
83
|
reflow(node);
|
|
@@ -99,7 +103,6 @@ const Grow = forwardRef(function Grow(props, ref) {
|
|
|
99
103
|
onExited(node);
|
|
100
104
|
}
|
|
101
105
|
},
|
|
102
|
-
/* eslint-enable no-param-reassign */
|
|
103
106
|
};
|
|
104
107
|
return (jsx(Transition, { ...transitionProps, children: children &&
|
|
105
108
|
((state) => cloneElement(children, {
|
|
@@ -114,4 +117,4 @@ const Grow = forwardRef(function Grow(props, ref) {
|
|
|
114
117
|
})) }));
|
|
115
118
|
});
|
|
116
119
|
|
|
117
|
-
export {
|
|
120
|
+
export { Scale as default };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TransitionImplementationProps } from './Transition';
|
|
2
|
+
export type SlideProps = TransitionImplementationProps;
|
|
3
|
+
/**
|
|
4
|
+
* The react component for `mezzanine` transition slide in/out.
|
|
5
|
+
*/
|
|
6
|
+
declare const Slide: import("react").ForwardRefExoticComponent<TransitionImplementationProps & import("react").RefAttributes<HTMLElement>>;
|
|
7
|
+
export default Slide;
|
|
@@ -7,29 +7,31 @@ import { reflow } from './reflow.js';
|
|
|
7
7
|
import { useSetNodeTransition } from './useSetNodeTransition.js';
|
|
8
8
|
|
|
9
9
|
function getStyle(state, inProp) {
|
|
10
|
-
const style = {
|
|
11
|
-
transform: 'scale(0)',
|
|
12
|
-
};
|
|
13
10
|
if (state === 'entering' || state === 'entered') {
|
|
14
|
-
|
|
11
|
+
return {
|
|
12
|
+
transform: 'translate3d(0, 0, 0)',
|
|
13
|
+
};
|
|
15
14
|
}
|
|
16
|
-
|
|
15
|
+
const style = {
|
|
16
|
+
transform: 'translate3d(100%, 0, 0)',
|
|
17
|
+
};
|
|
18
|
+
if (state === 'exited' && !inProp) {
|
|
17
19
|
style.visibility = 'hidden';
|
|
18
20
|
}
|
|
19
21
|
return style;
|
|
20
22
|
}
|
|
21
23
|
const defaultDuration = {
|
|
22
|
-
enter: MOTION_DURATION.
|
|
23
|
-
exit: MOTION_DURATION.
|
|
24
|
+
enter: MOTION_DURATION.slow,
|
|
25
|
+
exit: MOTION_DURATION.slow,
|
|
24
26
|
};
|
|
25
27
|
const defaultEasing = {
|
|
26
|
-
enter: MOTION_EASING.
|
|
27
|
-
exit: MOTION_EASING.
|
|
28
|
+
enter: MOTION_EASING.standard,
|
|
29
|
+
exit: MOTION_EASING.standard,
|
|
28
30
|
};
|
|
29
31
|
/**
|
|
30
|
-
* The react component for `mezzanine` transition
|
|
32
|
+
* The react component for `mezzanine` transition slide in/out.
|
|
31
33
|
*/
|
|
32
|
-
const
|
|
34
|
+
const Slide = forwardRef(function Slide(props, ref) {
|
|
33
35
|
const { children, delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, in: inProp = false, onEnter, onEntered, onExit, onExited, ...rest } = props;
|
|
34
36
|
const duration = durationProp === 'auto' ? defaultDuration : durationProp;
|
|
35
37
|
const nodeRef = useRef(null);
|
|
@@ -82,4 +84,4 @@ const Zoom = forwardRef(function Zoom(props, ref) {
|
|
|
82
84
|
})) }));
|
|
83
85
|
});
|
|
84
86
|
|
|
85
|
-
export {
|
|
87
|
+
export { Slide as default };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { TransitionImplementationProps } from './Transition';
|
|
2
|
+
/** @deprecated use Translate instead */
|
|
2
3
|
export type SlideFadeDirection = 'left' | 'right' | 'up' | 'down';
|
|
4
|
+
/** @deprecated use Translate instead */
|
|
3
5
|
export interface SlideFadeProps extends TransitionImplementationProps {
|
|
4
6
|
/**
|
|
5
7
|
* The direction of child element will enter to.
|
|
@@ -9,6 +11,7 @@ export interface SlideFadeProps extends TransitionImplementationProps {
|
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* The react component for `mezzanine` transition slide fade.
|
|
14
|
+
* @deprecated use Translate instead
|
|
12
15
|
*/
|
|
13
16
|
declare const SlideFade: import("react").ForwardRefExoticComponent<SlideFadeProps & import("react").RefAttributes<HTMLElement>>;
|
|
14
17
|
export default SlideFade;
|
package/Transition/SlideFade.js
CHANGED
|
@@ -28,15 +28,16 @@ function getStyle(state, inProp, direction) {
|
|
|
28
28
|
return style;
|
|
29
29
|
}
|
|
30
30
|
const defaultDuration = {
|
|
31
|
-
enter: MOTION_DURATION.
|
|
32
|
-
exit: MOTION_DURATION.
|
|
31
|
+
enter: MOTION_DURATION.moderate,
|
|
32
|
+
exit: MOTION_DURATION.moderate,
|
|
33
33
|
};
|
|
34
34
|
const defaultEasing = {
|
|
35
|
-
enter: MOTION_EASING.
|
|
36
|
-
exit: MOTION_EASING.
|
|
35
|
+
enter: MOTION_EASING.standard,
|
|
36
|
+
exit: MOTION_EASING.standard,
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
39
39
|
* The react component for `mezzanine` transition slide fade.
|
|
40
|
+
* @deprecated use Translate instead
|
|
40
41
|
*/
|
|
41
42
|
const SlideFade = forwardRef(function SlideFade(props, ref) {
|
|
42
43
|
const { children, direction = 'down', delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, in: inProp = false, onEnter, onEntered, onExit, onExited, ...rest } = props;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RefObject, CSSProperties, ReactElement, JSXElementConstructor, Ref } from 'react';
|
|
2
|
-
import { TransitionStatus as TransitionState, TransitionChildren } from 'react-transition-group/Transition';
|
|
2
|
+
import type { TransitionStatus as TransitionState, TransitionChildren } from 'react-transition-group/Transition';
|
|
3
3
|
import { NativeElementTag } from '../utils/jsx-types';
|
|
4
|
-
export { TransitionState };
|
|
4
|
+
export type { TransitionState };
|
|
5
5
|
export type TransitionMode = 'enter' | 'exit';
|
|
6
6
|
export type TransitionDuration = 'auto' | number | {
|
|
7
7
|
[mode in TransitionMode]?: number;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TransitionImplementationProps } from './Transition';
|
|
2
|
+
export type TranslateFrom = 'top' | 'bottom' | 'left' | 'right';
|
|
3
|
+
export interface TranslateProps extends TransitionImplementationProps {
|
|
4
|
+
/**
|
|
5
|
+
* The position of child element will enter from.
|
|
6
|
+
* @default 'top'
|
|
7
|
+
*/
|
|
8
|
+
from?: TranslateFrom;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The react component for `mezzanine` transition translate in/out.
|
|
12
|
+
*/
|
|
13
|
+
declare const Translate: import("react").ForwardRefExoticComponent<TranslateProps & import("react").RefAttributes<HTMLElement>>;
|
|
14
|
+
export default Translate;
|