@mezzanine-ui/react 0.16.0 → 1.0.0-beta.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 +53 -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 +75 -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.d.ts +47 -6
- package/Drawer/Drawer.js +36 -11
- 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 +59 -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 +61 -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 +40 -0
- package/PageHeader/PageHeader.js +70 -0
- package/PageHeader/index.d.ts +2 -0
- package/PageHeader/index.js +1 -0
- package/PageToolbar/PageToolbar.d.ts +114 -0
- package/PageToolbar/PageToolbar.js +23 -0
- package/PageToolbar/index.d.ts +2 -0
- package/PageToolbar/index.js +1 -0
- package/PageToolbar/utils.d.ts +23 -0
- package/PageToolbar/utils.js +165 -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 +4 -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 +12 -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 +37 -4
- package/Radio/Radio.js +23 -12
- package/Radio/RadioGroup.d.ts +37 -8
- package/Radio/RadioGroup.js +6 -5
- package/Radio/RadioGroupContext.d.ts +2 -1
- package/Radio/RadioGroupContext.js +1 -0
- package/Radio/index.d.ts +5 -3
- 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/Tab/Tab.d.ts +32 -0
- package/Tab/Tab.js +57 -0
- package/Tab/TabItem.d.ts +27 -0
- package/Tab/TabItem.js +18 -0
- package/Tab/index.d.ts +4 -0
- package/Tab/index.js +2 -0
- package/Table/Table.d.ts +75 -94
- package/Table/Table.js +216 -161
- package/Table/TableContext.d.ts +114 -51
- package/Table/TableContext.js +22 -3
- package/Table/components/TableBody.d.ts +5 -0
- package/Table/components/TableBody.js +102 -0
- package/Table/components/TableCell.d.ts +17 -0
- package/Table/components/TableCell.js +74 -0
- package/Table/components/TableColGroup.d.ts +4 -0
- package/Table/components/TableColGroup.js +206 -0
- package/Table/components/TableDragHandleCell.d.ts +9 -0
- package/Table/components/TableDragHandleCell.js +37 -0
- package/Table/components/TableExpandCell.d.ts +11 -0
- package/Table/components/TableExpandCell.js +44 -0
- package/Table/components/TableExpandedRow.d.ts +9 -0
- package/Table/components/TableExpandedRow.js +46 -0
- package/Table/components/TableHeader.d.ts +4 -0
- package/Table/components/TableHeader.js +125 -0
- package/Table/components/TablePagination.d.ts +3 -0
- package/Table/components/TablePagination.js +11 -0
- package/Table/components/TableResizeHandle.d.ts +13 -0
- package/Table/components/TableResizeHandle.js +115 -0
- package/Table/components/TableRow.d.ts +12 -0
- package/Table/components/TableRow.js +126 -0
- package/Table/components/TableSelectionCell.d.ts +13 -0
- package/Table/components/TableSelectionCell.js +35 -0
- package/Table/components/index.d.ts +10 -0
- package/Table/components/index.js +10 -0
- package/Table/hooks/index.d.ts +9 -0
- package/Table/hooks/index.js +8 -0
- package/Table/hooks/typings.d.ts +14 -0
- package/Table/hooks/useTableColumns.d.ts +8 -0
- package/Table/hooks/useTableColumns.js +91 -0
- package/Table/hooks/useTableDataSource.d.ts +57 -0
- package/Table/hooks/useTableDataSource.js +183 -0
- package/Table/hooks/useTableExpansion.d.ts +7 -0
- package/Table/hooks/useTableExpansion.js +52 -0
- package/Table/hooks/useTableFixedOffsets.d.ts +29 -0
- package/Table/hooks/useTableFixedOffsets.js +241 -0
- package/Table/hooks/useTableScroll.d.ts +12 -0
- package/Table/hooks/useTableScroll.js +58 -0
- package/Table/hooks/useTableSelection.d.ts +7 -0
- package/Table/hooks/useTableSelection.js +94 -0
- package/Table/hooks/useTableSorting.d.ts +6 -0
- package/Table/hooks/useTableSorting.js +32 -0
- package/Table/hooks/useTableVirtualization.d.ts +22 -0
- package/Table/hooks/useTableVirtualization.js +115 -0
- package/Table/index.d.ts +7 -7
- package/Table/index.js +22 -6
- package/Table/utils/index.d.ts +2 -0
- package/Table/utils/index.js +1 -0
- package/Table/utils/useTableRowSelection.d.ts +18 -0
- package/Table/utils/useTableRowSelection.js +63 -0
- 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/InputCheck.d.ts +15 -1
- package/_internal/InputCheck/InputCheck.js +6 -2
- package/_internal/InputCheck/InputCheckGroup.d.ts +11 -1
- package/_internal/InputCheck/InputCheckGroup.js +4 -2
- 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 +3 -3
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +5 -28
- 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 +128 -58
- package/index.js +90 -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 +14 -17
- package/utils/composeRefs.js +0 -1
- package/utils/flatten-children.d.ts +12 -0
- package/utils/flatten-children.js +37 -0
- package/utils/get-css-variable-value.d.ts +2 -0
- package/utils/get-css-variable-value.js +12 -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/Table/TableBody.d.ts +0 -10
- package/Table/TableBody.js +0 -30
- package/Table/TableBodyRow.d.ts +0 -11
- package/Table/TableBodyRow.js +0 -64
- package/Table/TableCell.d.ts +0 -19
- package/Table/TableCell.js +0 -24
- package/Table/TableExpandedTable.d.ts +0 -11
- package/Table/TableExpandedTable.js +0 -28
- package/Table/TableHeader.d.ts +0 -3
- package/Table/TableHeader.js +0 -35
- package/Table/draggable/useTableDraggable.d.ts +0 -14
- package/Table/draggable/useTableDraggable.js +0 -64
- package/Table/editable/TableEditRenderWrapper.d.ts +0 -7
- package/Table/editable/TableEditRenderWrapper.js +0 -15
- package/Table/expandable/TableExpandable.d.ts +0 -27
- package/Table/expandable/TableExpandable.js +0 -24
- package/Table/pagination/TablePagination.d.ts +0 -10
- package/Table/pagination/TablePagination.js +0 -25
- package/Table/pagination/useTablePagination.d.ts +0 -8
- package/Table/pagination/useTablePagination.js +0 -29
- package/Table/refresh/TableRefresh.d.ts +0 -10
- package/Table/refresh/TableRefresh.js +0 -20
- package/Table/rowSelection/TableRowSelection.d.ts +0 -18
- package/Table/rowSelection/TableRowSelection.js +0 -92
- package/Table/rowSelection/useTableRowSelection.d.ts +0 -6
- package/Table/rowSelection/useTableRowSelection.js +0 -53
- package/Table/sorting/TableSortingIcon.d.ts +0 -10
- package/Table/sorting/TableSortingIcon.js +0 -32
- package/Table/sorting/useTableSorting.d.ts +0 -11
- package/Table/sorting/useTableSorting.js +0 -120
- package/Table/useTableFetchMore.d.ts +0 -10
- package/Table/useTableFetchMore.js +0 -50
- package/Table/useTableLoading.d.ts +0 -5
- package/Table/useTableLoading.js +0 -19
- package/Table/useTableScroll.d.ts +0 -596
- package/Table/useTableScroll.js +0 -294
- package/Tabs/Tab.d.ts +0 -18
- package/Tabs/Tab.js +0 -16
- package/Tabs/TabPane.d.ts +0 -14
- package/Tabs/TabPane.js +0 -18
- package/Tabs/Tabs.d.ts +0 -39
- package/Tabs/Tabs.js +0 -47
- package/Tabs/index.d.ts +0 -3
- package/Tabs/index.js +0 -3
- package/Tabs/useTabsOverflow.d.ts +0 -8
- package/Tabs/useTabsOverflow.js +0 -61
- 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
|
@@ -1,121 +1,206 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import { forwardRef,
|
|
3
|
+
import { CalendarTimeIcon } from '@mezzanine-ui/icons';
|
|
4
|
+
import { forwardRef, useState, useRef, useEffect, useMemo, useCallback } from 'react';
|
|
4
5
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
5
|
-
import
|
|
6
|
+
import TimePickerPanel from '../TimePicker/TimePickerPanel.js';
|
|
6
7
|
import { useCalendarContext } from '../Calendar/CalendarContext.js';
|
|
7
|
-
import { usePickerValue } from '../Picker/usePickerValue.js';
|
|
8
8
|
import { usePickerDocumentEventClose } from '../Picker/usePickerDocumentEventClose.js';
|
|
9
9
|
import Icon from '../Icon/Icon.js';
|
|
10
|
-
import
|
|
11
|
-
import
|
|
10
|
+
import PickerTriggerWithSeparator from '../Picker/PickerTriggerWithSeparator.js';
|
|
11
|
+
import DatePickerCalendar from '../DatePicker/DatePickerCalendar.js';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* The react component for `mezzanine` time picker.
|
|
15
|
-
*
|
|
14
|
+
* The react component for `mezzanine` date-time picker.
|
|
15
|
+
* This component features two separate inputs for date and time,
|
|
16
|
+
* with independent calendar and time panels shown based on focus.
|
|
17
|
+
* Notice that any component related to date-time picker should be used along with `CalendarContext`.
|
|
16
18
|
*/
|
|
17
19
|
const DateTimePicker = forwardRef(function DateTimePicker(props, ref) {
|
|
18
|
-
const {
|
|
19
|
-
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
20
|
+
const { defaultDateFormat, defaultTimeFormat, formatToString, getNow, getHour, getMinute, getSecond, isValid, setHour, setMinute, setSecond, startOf, locale, } = useCalendarContext();
|
|
21
|
+
const {
|
|
22
|
+
// Calendar props
|
|
23
|
+
calendarProps, calendarRef, disabledMonthSwitch = false, disableOnDoubleNext, disableOnDoublePrev, disableOnNext, disableOnPrev, disabledYearSwitch = false, displayMonthLocale, isDateDisabled, isHalfYearDisabled, isMonthDisabled, isQuarterDisabled, isWeekDisabled, isYearDisabled, mode = 'day',
|
|
24
|
+
// Time panel props
|
|
25
|
+
hideHour, hideMinute, hideSecond, hourStep, minuteStep, secondStep,
|
|
26
|
+
// DateTimePicker specific props
|
|
27
|
+
className, clearable = true, defaultValue, disabled = false, error = false, fadeProps, formatDate = defaultDateFormat, formatTime = hideSecond ? 'HH:mm' : defaultTimeFormat, fullWidth = false, onClear: onClearProp, onChange: onChangeProp, onPanelToggle: onPanelToggleProp, placeholderLeft = formatDate, placeholderRight = formatTime, popperProps, popperPropsTime, prefix, readOnly, referenceDate: referenceDateProp, required = false, size, value: valueProp, ...restTriggerProps } = props;
|
|
28
|
+
// Internal state
|
|
29
|
+
const [focusedInput, setFocusedInput] = useState(null);
|
|
30
|
+
const [dateValue, setDateValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : valueProp);
|
|
31
|
+
const [timeValue, setTimeValue] = useState(defaultValue !== null && defaultValue !== void 0 ? defaultValue : valueProp);
|
|
32
|
+
// Refs
|
|
33
|
+
const inputLeftRef = useRef(null);
|
|
34
|
+
const inputRightRef = useRef(null);
|
|
35
|
+
const anchorRef = useRef(null);
|
|
36
|
+
const calendarPanelRef = useRef(null);
|
|
37
|
+
const timePanelRef = useRef(null);
|
|
38
|
+
const triggerComposedRef = useComposeRefs([anchorRef, ref]);
|
|
39
|
+
// Reference date for calendar
|
|
40
|
+
const [referenceDate, setReferenceDate] = useState(startOf(referenceDateProp || defaultValue || getNow(), 'day'));
|
|
41
|
+
// Sync external value
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (valueProp !== undefined) {
|
|
44
|
+
setDateValue(valueProp);
|
|
45
|
+
setTimeValue(valueProp);
|
|
46
|
+
if (valueProp) {
|
|
47
|
+
setReferenceDate(startOf(valueProp, 'day'));
|
|
32
48
|
}
|
|
33
49
|
}
|
|
34
|
-
}, [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
}, [valueProp, startOf]);
|
|
51
|
+
// Open state based on focused input
|
|
52
|
+
const openCalendar = focusedInput === 'left' && !readOnly;
|
|
53
|
+
const openTimePanel = focusedInput === 'right' && !readOnly;
|
|
54
|
+
// Format values for display
|
|
55
|
+
const displayDateValue = useMemo(() => {
|
|
56
|
+
if (!dateValue)
|
|
57
|
+
return '';
|
|
58
|
+
return formatToString(locale, dateValue, formatDate) || '';
|
|
59
|
+
}, [dateValue, formatDate, formatToString, locale]);
|
|
60
|
+
const displayTimeValue = useMemo(() => {
|
|
61
|
+
if (!timeValue)
|
|
62
|
+
return '';
|
|
63
|
+
return formatToString(locale, timeValue, formatTime) || '';
|
|
64
|
+
}, [timeValue, formatTime, formatToString, locale]);
|
|
65
|
+
// Panel toggle handler
|
|
66
|
+
const onPanelToggle = useCallback((open, input) => {
|
|
67
|
+
if (onPanelToggleProp) {
|
|
68
|
+
onPanelToggleProp(open, input);
|
|
38
69
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
format,
|
|
46
|
-
formats,
|
|
47
|
-
inputRef,
|
|
48
|
-
value: valueProp,
|
|
49
|
-
});
|
|
50
|
-
/** Panel confirm handler */
|
|
51
|
-
const onConfirm = useCallback(() => {
|
|
52
|
-
if (onChangeProp) {
|
|
53
|
-
onChangeProp(internalValue);
|
|
70
|
+
}, [onPanelToggleProp]);
|
|
71
|
+
// Focus handlers
|
|
72
|
+
const onFocusLeft = useCallback(() => {
|
|
73
|
+
if (!readOnly) {
|
|
74
|
+
setFocusedInput('left');
|
|
75
|
+
onPanelToggle(true, 'left');
|
|
54
76
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if (internalValue) {
|
|
61
|
-
setReferenceDate(internalValue);
|
|
77
|
+
}, [onPanelToggle, readOnly]);
|
|
78
|
+
const onFocusRight = useCallback(() => {
|
|
79
|
+
if (!readOnly) {
|
|
80
|
+
setFocusedInput('right');
|
|
81
|
+
onPanelToggle(true, 'right');
|
|
62
82
|
}
|
|
63
|
-
}, [
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
if (
|
|
67
|
-
|
|
83
|
+
}, [onPanelToggle, readOnly]);
|
|
84
|
+
// Combine date and time into a single value
|
|
85
|
+
const combineDateTime = useCallback((date, time) => {
|
|
86
|
+
if (!date)
|
|
87
|
+
return undefined;
|
|
88
|
+
const timeSource = time || getNow();
|
|
89
|
+
const result = setHour(setMinute(setSecond(date, getSecond(timeSource)), getMinute(timeSource)), getHour(timeSource));
|
|
90
|
+
return result;
|
|
91
|
+
}, [getNow, getHour, getMinute, getSecond, setHour, setMinute, setSecond]);
|
|
92
|
+
// Close handler
|
|
93
|
+
const onClose = useCallback(() => {
|
|
94
|
+
setFocusedInput(null);
|
|
95
|
+
onPanelToggle(false, null);
|
|
96
|
+
}, [onPanelToggle]);
|
|
97
|
+
// Trigger onChange when both date and time are set
|
|
98
|
+
const notifyChange = useCallback((date, time) => {
|
|
99
|
+
if (!onChangeProp)
|
|
100
|
+
return;
|
|
101
|
+
if (date && time) {
|
|
102
|
+
const combined = combineDateTime(date, time);
|
|
103
|
+
onChangeProp(combined);
|
|
68
104
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
105
|
+
}, [combineDateTime, onChangeProp]);
|
|
106
|
+
// Handle left complete - auto focus right
|
|
107
|
+
const onLeftComplete = useCallback(() => {
|
|
108
|
+
if (timeValue) {
|
|
109
|
+
onClose();
|
|
72
110
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
111
|
+
else {
|
|
112
|
+
setTimeout(() => {
|
|
113
|
+
var _a;
|
|
114
|
+
(_a = inputRightRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
115
|
+
}, 0);
|
|
77
116
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
117
|
+
}, [timeValue, onClose]);
|
|
118
|
+
// Handle left complete - auto focus right
|
|
119
|
+
const onRightComplete = useCallback(() => {
|
|
120
|
+
if (dateValue) {
|
|
121
|
+
onClose();
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
setTimeout(() => {
|
|
125
|
+
var _a;
|
|
126
|
+
(_a = inputLeftRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
127
|
+
}, 0);
|
|
128
|
+
}
|
|
129
|
+
}, [dateValue, onClose]);
|
|
130
|
+
// Handle date change from input
|
|
131
|
+
const onChangeLeft = useCallback((isoValue) => {
|
|
132
|
+
if (!isoValue) {
|
|
133
|
+
setDateValue(undefined);
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
if (isValid(isoValue)) {
|
|
137
|
+
setDateValue(isoValue);
|
|
138
|
+
setReferenceDate(startOf(isoValue, 'day'));
|
|
139
|
+
notifyChange(isoValue, timeValue);
|
|
140
|
+
}
|
|
141
|
+
}, [isValid, notifyChange, startOf, timeValue]);
|
|
142
|
+
const onChangeRight = useCallback((isoValue) => {
|
|
143
|
+
if (!isoValue) {
|
|
144
|
+
setTimeValue(undefined);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
if (isValid(isoValue)) {
|
|
148
|
+
setTimeValue(isoValue);
|
|
149
|
+
notifyChange(dateValue, isoValue);
|
|
150
|
+
}
|
|
151
|
+
}, [dateValue, isValid, notifyChange]);
|
|
152
|
+
const onCalendarChange = useCallback((target) => {
|
|
153
|
+
setDateValue(target);
|
|
154
|
+
setReferenceDate(startOf(target, 'day'));
|
|
155
|
+
notifyChange(target, timeValue);
|
|
156
|
+
onLeftComplete();
|
|
157
|
+
}, [notifyChange, startOf, timeValue, onLeftComplete]);
|
|
158
|
+
// Handle time change from panel
|
|
159
|
+
const onTimePanelChange = useCallback((target) => {
|
|
160
|
+
if (!target)
|
|
161
|
+
return;
|
|
162
|
+
setTimeValue(target);
|
|
163
|
+
notifyChange(dateValue, target);
|
|
164
|
+
onRightComplete();
|
|
165
|
+
}, [dateValue, notifyChange, onRightComplete]);
|
|
166
|
+
// Document event close for calendar
|
|
96
167
|
usePickerDocumentEventClose({
|
|
97
|
-
open,
|
|
98
168
|
anchorRef,
|
|
99
|
-
|
|
100
|
-
|
|
169
|
+
lastElementRefInFlow: inputLeftRef,
|
|
170
|
+
onChangeClose: onClose,
|
|
101
171
|
onClose,
|
|
172
|
+
open: openCalendar,
|
|
173
|
+
popperRef: calendarPanelRef,
|
|
174
|
+
});
|
|
175
|
+
// Document event close for time panel
|
|
176
|
+
usePickerDocumentEventClose({
|
|
177
|
+
anchorRef,
|
|
178
|
+
lastElementRefInFlow: inputRightRef,
|
|
102
179
|
onChangeClose: onClose,
|
|
180
|
+
onClose,
|
|
181
|
+
open: openTimePanel,
|
|
182
|
+
popperRef: timePanelRef,
|
|
103
183
|
});
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
184
|
+
const onClear = useCallback((evt) => {
|
|
185
|
+
setDateValue(undefined);
|
|
186
|
+
setTimeValue(undefined);
|
|
107
187
|
onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(undefined);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
if (
|
|
113
|
-
|
|
188
|
+
onClearProp === null || onClearProp === void 0 ? void 0 : onClearProp(evt);
|
|
189
|
+
}, [onChangeProp, onClearProp]);
|
|
190
|
+
const onCalendarIconClick = useCallback(() => {
|
|
191
|
+
var _a;
|
|
192
|
+
if (readOnly || disabled)
|
|
193
|
+
return;
|
|
194
|
+
if (focusedInput) {
|
|
195
|
+
setFocusedInput(null);
|
|
196
|
+
onPanelToggle(false, null);
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
(_a = inputLeftRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
114
200
|
}
|
|
115
|
-
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
return (jsxs(Fragment, { children: [jsx(PickerTrigger, { ref: triggerComposedRef, className: className, clearable: clearable, disabled: disabled, error: error, fullWidth: fullWidth, inputProps: resolvedInputProps, inputRef: inputRef, onChange: onInputChange, onClear: onClear, placeholder: placeholder, prefix: prefix, readOnly: readOnly, required: required, size: sizeProp, suffixActionIcon: suffixActionIcon, value: inputValue }), jsx(DateTimePickerPanel, { ref: panelRef, anchor: anchorRef, calendarProps: calendarProps, confirmText: confirmText, disabledMonthSwitch: disabledMonthSwitch, disableOnNext: disableOnNext, disableOnPrev: disableOnPrev, disabledYearSwitch: disabledYearSwitch, displayMonthLocale: displayMonthLocale, fadeProps: fadeProps, hideHour: hideHour, hideMinute: hideMinute, hideSecond: hideSecond, hourPrefix: hourPrefix, hourStep: hourStep, isDateDisabled: isDateDisabled, isMonthDisabled: isMonthDisabled, isWeekDisabled: isWeekDisabled, isYearDisabled: isYearDisabled, minutePrefix: minutePrefix, minuteStep: minuteStep, onChange: onChange, onConfirm: onConfirm, open: open, popperProps: popperProps, referenceDate: referenceDate, secondPrefix: secondPrefix, secondStep: secondStep, value: internalValue })] }));
|
|
201
|
+
}, [disabled, focusedInput, onPanelToggle, readOnly]);
|
|
202
|
+
const suffix = (jsx(Icon, { "aria-label": "Open calendar", icon: CalendarTimeIcon, onClick: onCalendarIconClick }));
|
|
203
|
+
return (jsxs(Fragment, { children: [jsx(PickerTriggerWithSeparator, { ...restTriggerProps, ref: triggerComposedRef, className: className, clearable: clearable, disabled: disabled, error: error, formatLeft: formatDate, formatRight: formatTime, fullWidth: fullWidth, inputLeftRef: inputLeftRef, inputRightRef: inputRightRef, onBlurLeft: () => { }, onBlurRight: () => { }, onChangeLeft: onChangeLeft, onChangeRight: onChangeRight, onClear: onClear, onFocusLeft: onFocusLeft, onFocusRight: onFocusRight, onLeftComplete: onLeftComplete, onRightComplete: onRightComplete, placeholderLeft: placeholderLeft, placeholderRight: placeholderRight, prefix: prefix, readOnly: readOnly, required: required, size: size, suffix: suffix, valueLeft: displayDateValue, valueRight: displayTimeValue }), jsx(DatePickerCalendar, { ref: calendarPanelRef, anchor: anchorRef, calendarProps: calendarProps, calendarRef: calendarRef, disabledMonthSwitch: disabledMonthSwitch, disableOnDoubleNext: disableOnDoubleNext, disableOnDoublePrev: disableOnDoublePrev, disableOnNext: disableOnNext, disableOnPrev: disableOnPrev, disabledYearSwitch: disabledYearSwitch, displayMonthLocale: displayMonthLocale, fadeProps: fadeProps, isDateDisabled: isDateDisabled, isHalfYearDisabled: isHalfYearDisabled, isMonthDisabled: isMonthDisabled, isQuarterDisabled: isQuarterDisabled, isWeekDisabled: isWeekDisabled, isYearDisabled: isYearDisabled, mode: mode, onChange: onCalendarChange, open: openCalendar, popperProps: popperProps, referenceDate: referenceDate, value: dateValue }), jsx(TimePickerPanel, { ref: timePanelRef, anchor: anchorRef, fadeProps: fadeProps, hideHour: hideHour, hideMinute: hideMinute, hideSecond: hideSecond, hourStep: hourStep, minuteStep: minuteStep, onChange: onTimePanelChange, open: openTimePanel, popperProps: popperPropsTime, secondStep: secondStep, value: timeValue })] }));
|
|
119
204
|
});
|
|
120
205
|
|
|
121
206
|
export { DateTimePicker as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export type { DateTimePickerProps } from './DateTimePicker';
|
|
2
|
+
export { default } from './DateTimePicker';
|
package/DateTimePicker/index.js
CHANGED
package/Drawer/Drawer.d.ts
CHANGED
|
@@ -1,12 +1,53 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SlideFadeOverlayProps } from '../_internal/SlideFadeOverlay';
|
|
1
|
+
import { DrawerSize } from '@mezzanine-ui/core/drawer';
|
|
3
2
|
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
4
|
-
|
|
3
|
+
import { BackdropProps } from '../Backdrop';
|
|
4
|
+
export interface DrawerProps extends NativeElementPropsWithoutKeyAndRef<'div'>, Pick<BackdropProps, 'container' | 'disableCloseOnBackdropClick' | 'disablePortal' | 'onBackdropClick' | 'onClose' | 'open'> {
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
* @default 'left'
|
|
6
|
+
* Text for the ghost action button in the bottom action area.
|
|
8
7
|
*/
|
|
9
|
-
|
|
8
|
+
bottomGhostActionText?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Click handler for the ghost action button in the bottom action area.
|
|
11
|
+
*/
|
|
12
|
+
bottomOnGhostActionClick?: VoidFunction;
|
|
13
|
+
/**
|
|
14
|
+
* Click handler for the primary action button in the bottom action area.
|
|
15
|
+
*/
|
|
16
|
+
bottomOnPrimaryActionClick?: VoidFunction;
|
|
17
|
+
/**
|
|
18
|
+
* Click handler for the secondary action button in the bottom action area.
|
|
19
|
+
*/
|
|
20
|
+
bottomOnSecondaryActionClick?: VoidFunction;
|
|
21
|
+
/**
|
|
22
|
+
* Text for the primary action button in the bottom action area.
|
|
23
|
+
*/
|
|
24
|
+
bottomPrimaryActionText?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Text for the secondary action button in the bottom action area.
|
|
27
|
+
*/
|
|
28
|
+
bottomSecondaryActionText?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Controls whether to disable closing drawer while escape key down.
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
disableCloseOnEscapeKeyDown?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Title text displayed in the drawer header.
|
|
36
|
+
*/
|
|
37
|
+
headerTitle?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Controls whether to display the bottom action area.
|
|
40
|
+
*/
|
|
41
|
+
isBottomDisplay?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Controls whether to display the header area.
|
|
44
|
+
*/
|
|
45
|
+
isHeaderDisplay?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Controls the width of the drawer.
|
|
48
|
+
* @default 'medium'
|
|
49
|
+
*/
|
|
50
|
+
size?: DrawerSize;
|
|
10
51
|
}
|
|
11
52
|
declare const Drawer: import("react").ForwardRefExoticComponent<DrawerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
53
|
export default Drawer;
|
package/Drawer/Drawer.js
CHANGED
|
@@ -1,18 +1,43 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef,
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef, useState } from 'react';
|
|
3
3
|
import { drawerClasses } from '@mezzanine-ui/core/drawer';
|
|
4
|
-
import
|
|
4
|
+
import { useDocumentEscapeKeyDown } from '../hooks/useDocumentEscapeKeyDown.js';
|
|
5
|
+
import useTopStack from '../_internal/SlideFadeOverlay/useTopStack.js';
|
|
6
|
+
import ClearActions from '../ClearActions/ClearActions.js';
|
|
7
|
+
import Button from '../Button/Button.js';
|
|
8
|
+
import { MOTION_EASING, MOTION_DURATION } from '@mezzanine-ui/system/motion';
|
|
9
|
+
import Backdrop from '../Backdrop/Backdrop.js';
|
|
10
|
+
import Slide from '../Transition/Slide.js';
|
|
5
11
|
import cx from 'clsx';
|
|
6
12
|
|
|
7
13
|
const Drawer = forwardRef((props, ref) => {
|
|
8
|
-
const {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
const { bottomGhostActionText, bottomOnGhostActionClick, bottomOnPrimaryActionClick, bottomOnSecondaryActionClick, bottomPrimaryActionText, bottomSecondaryActionText, children, className, container, disableCloseOnBackdropClick = false, disableCloseOnEscapeKeyDown = false, disablePortal, headerTitle, isBottomDisplay, isHeaderDisplay, onBackdropClick, onClose, open, size = 'medium', ...rest } = props;
|
|
15
|
+
const [exited, setExited] = useState(true);
|
|
16
|
+
/**
|
|
17
|
+
* Escape keydown close: escape will only close the top drawer
|
|
18
|
+
*/
|
|
19
|
+
const checkIsOnTheTop = useTopStack(open);
|
|
20
|
+
useDocumentEscapeKeyDown(() => {
|
|
21
|
+
if (!open || disableCloseOnEscapeKeyDown || !onClose) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
return (event) => {
|
|
25
|
+
if (checkIsOnTheTop()) {
|
|
26
|
+
event.stopPropagation();
|
|
27
|
+
onClose();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}, [disableCloseOnEscapeKeyDown, checkIsOnTheTop, open, onClose]);
|
|
31
|
+
if (!open && exited) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return (jsx(Backdrop, { className: drawerClasses.overlay, container: container, disableCloseOnBackdropClick: disableCloseOnBackdropClick, disablePortal: disablePortal, onBackdropClick: onBackdropClick, onClose: onClose, open: open, role: "presentation", children: jsx(Slide, { duration: {
|
|
35
|
+
enter: MOTION_DURATION.moderate,
|
|
36
|
+
exit: MOTION_DURATION.moderate,
|
|
37
|
+
}, easing: {
|
|
38
|
+
enter: MOTION_EASING.entrance,
|
|
39
|
+
exit: MOTION_EASING.exit,
|
|
40
|
+
}, in: open, onEntered: () => setExited(false), onExited: () => setExited(true), ref: ref, children: jsxs("div", { ...rest, className: cx(drawerClasses.host, drawerClasses.right, drawerClasses.size(size), className), children: [isHeaderDisplay && (jsxs("div", { className: drawerClasses.header, children: [headerTitle, jsx(ClearActions, { onClick: onClose })] })), jsx("div", { className: drawerClasses.content, children: children }), isBottomDisplay && (jsxs("div", { className: drawerClasses.bottom, children: [jsx("div", { children: bottomGhostActionText && bottomOnGhostActionClick && (jsx(Button, { onClick: bottomOnGhostActionClick, type: "button", variant: "base-ghost", children: bottomGhostActionText })) }), jsxs("div", { className: drawerClasses['bottom__actions'], children: [bottomSecondaryActionText && bottomOnSecondaryActionClick && (jsx(Button, { onClick: bottomOnSecondaryActionClick, type: "button", variant: "base-secondary", children: bottomSecondaryActionText })), bottomPrimaryActionText && bottomOnPrimaryActionClick && (jsx(Button, { onClick: bottomOnPrimaryActionClick, type: "button", variant: "base-primary", children: bottomPrimaryActionText }))] })] }))] }) }) }));
|
|
16
41
|
});
|
|
17
42
|
|
|
18
43
|
export { Drawer as default };
|
package/Drawer/index.d.ts
CHANGED
package/Dropdown/Dropdown.js
CHANGED
|
@@ -1,29 +1,19 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { forwardRef, useRef } from 'react';
|
|
3
|
+
import { size } from '@floating-ui/react-dom';
|
|
3
4
|
import { useClickAway } from '../hooks/useClickAway.js';
|
|
4
5
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
5
6
|
import Popper from '../Popper/Popper.js';
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
reassignState.styles.popper.width = 'auto';
|
|
17
|
-
reassignState.styles.popper.minWidth = `${state.rects.reference.width}px`;
|
|
18
|
-
},
|
|
19
|
-
effect: ({ state }) => {
|
|
20
|
-
const reassignState = state;
|
|
21
|
-
reassignState.elements.popper.style.width = 'auto';
|
|
22
|
-
reassignState.elements.popper.style.minWidth = `${state.elements.reference.getBoundingClientRect().width}px`;
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
};
|
|
8
|
+
// Middleware to make the dropdown menu have the same width as the reference element
|
|
9
|
+
const sameWidthMiddleware = size({
|
|
10
|
+
apply({ rects, elements }) {
|
|
11
|
+
Object.assign(elements.floating.style, {
|
|
12
|
+
width: 'auto',
|
|
13
|
+
minWidth: `${rects.reference.width}px`,
|
|
14
|
+
});
|
|
15
|
+
},
|
|
16
|
+
});
|
|
27
17
|
const Dropdown = forwardRef(function Dropdown(props, ref) {
|
|
28
18
|
var _a;
|
|
29
19
|
const { children, disableClickAway = false, menu, onClose, popperProps, ...rest } = props;
|
|
@@ -31,7 +21,7 @@ const Dropdown = forwardRef(function Dropdown(props, ref) {
|
|
|
31
21
|
const popperRef = useRef(null);
|
|
32
22
|
const composedRef = useComposeRefs([ref, popperRef]);
|
|
33
23
|
const open = popperProps === null || popperProps === void 0 ? void 0 : popperProps.open;
|
|
34
|
-
const
|
|
24
|
+
const middleware = ((_a = popperProps === null || popperProps === void 0 ? void 0 : popperProps.options) === null || _a === void 0 ? void 0 : _a.middleware) || [];
|
|
35
25
|
useClickAway(() => {
|
|
36
26
|
if (!open || disableClickAway || !onClose) {
|
|
37
27
|
return;
|
|
@@ -45,7 +35,7 @@ const Dropdown = forwardRef(function Dropdown(props, ref) {
|
|
|
45
35
|
return (jsxs(Fragment, { children: [children(anchor), jsx(Popper, { ...popperProps, ref: composedRef, ...rest, anchor: anchor, options: {
|
|
46
36
|
placement: 'top-start',
|
|
47
37
|
...popperProps === null || popperProps === void 0 ? void 0 : popperProps.options,
|
|
48
|
-
|
|
38
|
+
middleware: [sameWidthMiddleware, ...middleware],
|
|
49
39
|
}, children: menu })] }));
|
|
50
40
|
});
|
|
51
41
|
|
package/Dropdown/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { DropdownProps
|
|
1
|
+
export type { DropdownProps } from './Dropdown';
|
|
2
|
+
export { default } from './Dropdown';
|
package/Empty/Empty.d.ts
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
3
|
-
export interface EmptyProps extends Omit<NativeElementPropsWithoutKeyAndRef<'div'>, 'title'> {
|
|
4
|
-
/**
|
|
5
|
-
* if true, the empty component will be 100% height of it's parent
|
|
6
|
-
*/
|
|
7
|
-
fullHeight?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Override default icon.
|
|
10
|
-
*/
|
|
11
|
-
image?: ReactNode;
|
|
12
|
-
/**
|
|
13
|
-
* Optionally given a title. If not required, simply use react children to display description.
|
|
14
|
-
*/
|
|
15
|
-
title?: ReactNode;
|
|
16
|
-
}
|
|
1
|
+
import { EmptyProps } from '.';
|
|
17
2
|
declare const Empty: import("react").ForwardRefExoticComponent<EmptyProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
18
3
|
export default Empty;
|
package/Empty/Empty.js
CHANGED
|
@@ -1,15 +1,67 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef } from 'react';
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef, isValidElement, cloneElement } from 'react';
|
|
3
3
|
import { emptyClasses } from '@mezzanine-ui/core/empty';
|
|
4
|
-
import { FolderOpenIcon } from '@mezzanine-ui/icons';
|
|
4
|
+
import { SystemIcon, FolderOpenIcon, NotificationIcon, BoxIcon } from '@mezzanine-ui/icons';
|
|
5
|
+
import Button from '../Button/Button.js';
|
|
6
|
+
import ButtonGroup from '../Button/ButtonGroup.js';
|
|
7
|
+
import { EmptyMainInitialDataIcon } from './icons/EmptyMainInitialDataIcon.js';
|
|
8
|
+
import { EmptyMainResultIcon } from './icons/EmptyMainResultIcon.js';
|
|
9
|
+
import { EmptyMainSystemIcon } from './icons/EmptyMainSystemIcon.js';
|
|
10
|
+
import { flattenChildren } from '../utils/flatten-children.js';
|
|
5
11
|
import Icon from '../Icon/Icon.js';
|
|
6
12
|
import cx from 'clsx';
|
|
7
13
|
|
|
14
|
+
const iconMap = {
|
|
15
|
+
custom: null,
|
|
16
|
+
'initial-data': BoxIcon,
|
|
17
|
+
notification: NotificationIcon,
|
|
18
|
+
result: FolderOpenIcon,
|
|
19
|
+
system: SystemIcon,
|
|
20
|
+
};
|
|
21
|
+
const mainIconMap = {
|
|
22
|
+
custom: null,
|
|
23
|
+
'initial-data': jsx(EmptyMainInitialDataIcon, { className: emptyClasses.icon }),
|
|
24
|
+
notification: null,
|
|
25
|
+
result: jsx(EmptyMainResultIcon, { className: emptyClasses.icon }),
|
|
26
|
+
system: jsx(EmptyMainSystemIcon, { className: emptyClasses.icon }),
|
|
27
|
+
};
|
|
28
|
+
const renderButtonOrElement = (button, size, variant) => {
|
|
29
|
+
if (!button)
|
|
30
|
+
return null;
|
|
31
|
+
if (isValidElement(button)) {
|
|
32
|
+
return cloneElement(button, { size, variant });
|
|
33
|
+
}
|
|
34
|
+
return jsx(Button, { ...button, size: size, variant: variant });
|
|
35
|
+
};
|
|
8
36
|
const Empty = forwardRef(function Empty(props, ref) {
|
|
9
|
-
const { children, className,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
37
|
+
const { actions, children, className, description, pictogram, size = 'main', title, type = 'initial-data', ...rest } = props;
|
|
38
|
+
const icon = (size === 'main'
|
|
39
|
+
? mainIconMap[type]
|
|
40
|
+
: iconMap[type] && (jsx(Icon, { className: emptyClasses.icon, icon: iconMap[type] }))) || null;
|
|
41
|
+
const flatChildren = flattenChildren(children);
|
|
42
|
+
const fragmentButtons = actions &&
|
|
43
|
+
('secondaryButton' in actions ? (jsxs(Fragment, { children: [renderButtonOrElement(actions.secondaryButton, size, 'base-secondary'), renderButtonOrElement(actions.primaryButton, size, 'base-primary')] })) : (renderButtonOrElement(actions, size, 'base-secondary')));
|
|
44
|
+
const renderChildren = !fragmentButtons &&
|
|
45
|
+
flatChildren.length > 0 &&
|
|
46
|
+
flatChildren.map((child, index) => {
|
|
47
|
+
if (!isValidElement(child)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
else if (child.type === Button) {
|
|
51
|
+
switch (index) {
|
|
52
|
+
case 0:
|
|
53
|
+
return renderButtonOrElement(child, size, 'base-secondary');
|
|
54
|
+
case 1:
|
|
55
|
+
return renderButtonOrElement(child, size, 'base-primary');
|
|
56
|
+
default:
|
|
57
|
+
console.warn('Only up to two Button components are allowed as children of Empty.');
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
console.warn('Only Button components are allowed as children of Empty.');
|
|
62
|
+
return null;
|
|
63
|
+
});
|
|
64
|
+
return (jsx("div", { ...rest, className: cx(emptyClasses.host, emptyClasses.size(size), className), ref: ref, children: jsxs("div", { className: emptyClasses.container, children: [pictogram ? jsx("div", { className: emptyClasses.icon, children: pictogram }) : icon, jsx("p", { className: emptyClasses.title, children: title }), description && jsx("p", { className: emptyClasses.description, children: description }), (actions || children) && size !== 'minor' && (jsx(ButtonGroup, { className: emptyClasses.actions, children: fragmentButtons || renderChildren }))] }) }));
|
|
13
65
|
});
|
|
14
66
|
|
|
15
67
|
export { Empty as default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export interface EmptyMainInitialDataIconProps extends React.SVGProps<SVGSVGElement> {
|
|
2
|
+
size?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare const EmptyMainInitialDataIcon: import("react").ForwardRefExoticComponent<Omit<EmptyMainInitialDataIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
|
|
4
|
+
const EmptyMainInitialDataIcon = forwardRef(function EmptyInitialDataIcon(props, ref) {
|
|
5
|
+
const { className, size = 64, ...rest } = props;
|
|
6
|
+
return (jsxs("svg", { ...rest, className: className, fill: "none", height: size, ref: ref, viewBox: "0 0 64 64", width: size, xmlns: "http://www.w3.org/2000/svg", children: [jsxs("defs", { children: [jsxs("linearGradient", { gradientUnits: "userSpaceOnUse", id: "paint0_linear_15033_10920", x1: "27.52", x2: "5.12", y1: "11.7333", y2: "52.6933", children: [jsx("stop", { stopColor: "#E5E7EB" }), jsx("stop", { offset: "1", stopColor: "#9DA4AE" })] }), jsxs("linearGradient", { gradientUnits: "userSpaceOnUse", id: "paint1_linear_15033_10920", x1: "43.2", x2: "38.2673", y1: "11.7333", y2: "52.0904", children: [jsx("stop", { stopColor: "#E5E7EB" }), jsx("stop", { offset: "1", stopColor: "#9DA4AE" })] }), jsx("clipPath", { id: "clip0_15033_10920", children: jsx("rect", { fill: "white", height: "64", width: "64" }) })] }), jsxs("g", { clipPath: "url(#clip0_15033_10920)", children: [jsx("path", { d: "M5.12 11.7333H27.52V52.6933H6.11999C5.56771 52.6933 5.12 52.2456 5.12 51.6933V11.7333Z", fill: "url(#paint0_linear_15033_10920)" }), jsx("path", { d: "M5.10416 11.7333H27.4282L22.3184 27.5737C22.1852 27.9867 21.8007 28.2667 21.3667 28.2667H1.14414C0.465656 28.2667 -0.0158672 27.6054 0.192428 26.9597L5.10416 11.7333Z", fill: "#E5E7EB" }), jsx("path", { d: "M27.52 11.7333H58.88V51.6933C58.88 52.2456 58.4323 52.6933 57.88 52.6933H27.52V11.7333Z", fill: "url(#paint1_linear_15033_10920)" }), jsx("path", { d: "M27.4282 11.7333H58.8871L63.7988 26.9597C64.0071 27.6054 63.5255 28.2667 62.8471 28.2667H33.4897C33.0557 28.2667 32.6712 27.9867 32.5379 27.5737L27.4282 11.7333Z", fill: "#E5E7EB" })] })] }));
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export { EmptyMainInitialDataIcon };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export interface EmptyMainResultIconProps extends React.SVGProps<SVGSVGElement> {
|
|
2
|
+
size?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare const EmptyMainResultIcon: import("react").ForwardRefExoticComponent<Omit<EmptyMainResultIconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|