@mezzanine-ui/react 1.0.0-canary.2 → 1.0.0-canary.4
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/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/{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 +1 -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 +2 -2
- package/Calendar/Calendar.d.ts +31 -2
- package/Calendar/Calendar.js +73 -19
- package/Calendar/CalendarCell.d.ts +4 -0
- package/Calendar/CalendarCell.js +3 -3
- package/Calendar/CalendarContext.d.ts +14 -7
- package/Calendar/CalendarContext.js +7 -13
- package/Calendar/CalendarControls.d.ts +16 -0
- package/Calendar/CalendarControls.js +3 -7
- package/Calendar/CalendarDayOfWeek.js +3 -3
- package/Calendar/CalendarDays.d.ts +9 -1
- package/Calendar/CalendarDays.js +62 -37
- 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 +15 -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 +88 -43
- package/Calendar/CalendarYears.js +12 -3
- package/Calendar/RangeCalendar.d.ts +59 -0
- package/Calendar/RangeCalendar.js +232 -0
- package/Calendar/index.d.ts +8 -1
- package/Calendar/index.js +4 -0
- package/Calendar/useCalendarControlModifiers.d.ts +4 -4
- package/Calendar/useCalendarControlModifiers.js +39 -8
- package/Calendar/useCalendarControls.d.ts +2 -0
- package/Calendar/useCalendarControls.js +18 -2
- package/Calendar/useRangeCalendarControls.d.ts +18 -0
- package/Calendar/useRangeCalendarControls.js +115 -0
- package/Checkbox/CheckAll.d.ts +16 -6
- package/Checkbox/CheckAll.js +40 -26
- package/Checkbox/Checkbox.d.ts +100 -22
- package/Checkbox/Checkbox.js +72 -16
- package/Checkbox/CheckboxGroup.d.ts +100 -18
- package/Checkbox/CheckboxGroup.js +169 -24
- package/Checkbox/CheckboxGroupContext.d.ts +0 -2
- package/Checkbox/index.d.ts +15 -6
- 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/DatePicker/DatePicker.d.ts +12 -1
- package/DatePicker/DatePicker.js +40 -9
- package/DatePicker/DatePickerCalendar.d.ts +2 -5
- package/DatePicker/DatePickerCalendar.js +36 -37
- package/DateRangePicker/DateRangePicker.d.ts +18 -2
- package/DateRangePicker/DateRangePicker.js +142 -100
- package/DateRangePicker/DateRangePickerCalendar.d.ts +13 -9
- package/DateRangePicker/DateRangePickerCalendar.js +6 -94
- package/DateRangePicker/useDateRangeCalendarControls.js +6 -2
- package/DateRangePicker/useDateRangePickerValue.d.ts +38 -15
- package/DateRangePicker/useDateRangePickerValue.js +141 -63
- package/DateTimePicker/DateTimePicker.d.ts +31 -10
- package/DateTimePicker/DateTimePicker.js +178 -94
- package/DateTimePicker/index.d.ts +0 -2
- package/DateTimePicker/index.js +0 -1
- package/Drawer/Drawer.js +2 -2
- package/Dropdown/Dropdown.js +12 -22
- 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 +1 -1
- package/Empty/typings.d.ts +52 -0
- package/Form/FormHintText.d.ts +18 -0
- package/Form/FormHintText.js +17 -0
- package/Form/index.d.ts +2 -2
- package/Form/index.js +1 -1
- 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 +194 -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 +2 -2
- 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/Modal/Modal.js +2 -2
- package/Modal/useModalContainer.d.ts +1 -1
- package/Modal/useModalContainer.js +2 -4
- package/Navigation/NavigationSubMenu.js +15 -26
- 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/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/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 +7 -2
- 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/Popover/Popover.js +4 -8
- package/Popper/Popper.d.ts +15 -10
- package/Popper/Popper.js +88 -17
- package/Popper/index.d.ts +1 -1
- package/Portal/Portal.d.ts +13 -5
- package/Portal/Portal.js +25 -10
- package/Portal/index.d.ts +2 -0
- 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 +70 -21
- package/Progress/index.d.ts +2 -2
- package/Provider/ConfigProvider.d.ts +1 -0
- package/Provider/ConfigProvider.js +1 -0
- 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/Select.d.ts +1 -1
- 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/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/Slider/Slider.d.ts +44 -7
- package/Slider/Slider.js +17 -13
- package/Spin/Spin.d.ts +39 -0
- package/{Loading/Loading.js → Spin/Spin.js} +8 -8
- 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 -10
- package/Stepper/Stepper.d.ts +1 -14
- package/Stepper/Stepper.js +49 -15
- package/Stepper/index.d.ts +3 -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 +2 -2
- package/Table/rowSelection/TableRowSelection.js +1 -1
- package/Tag/Tag.d.ts +2 -25
- package/Tag/Tag.js +22 -13
- package/Tag/TagGroup.d.ts +12 -0
- package/Tag/TagGroup.js +41 -0
- package/Tag/index.d.ts +1 -1
- package/Tag/typings.d.ts +78 -0
- package/TextField/TextField.d.ts +78 -19
- package/TextField/TextField.js +57 -20
- package/TextField/index.d.ts +1 -1
- package/Textarea/Textarea.d.ts +19 -51
- package/Textarea/Textarea.js +12 -19
- package/Textarea/index.d.ts +0 -1
- package/TimePanel/TimePanel.d.ts +1 -22
- package/TimePanel/TimePanel.js +30 -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/TimePicker/TimePicker.d.ts +10 -1
- package/TimePicker/TimePicker.js +85 -35
- package/TimePicker/TimePickerPanel.d.ts +1 -2
- package/TimePicker/TimePickerPanel.js +2 -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/useDelayMouseEnterLeave.d.ts +1 -2
- package/Tooltip/useDelayMouseEnterLeave.js +0 -4
- package/Transition/Collapse.d.ts +2 -0
- package/Transition/Collapse.js +3 -2
- 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} +17 -12
- 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 +1 -1
- package/Transition/Translate.d.ts +14 -0
- package/Transition/Translate.js +94 -0
- package/Transition/index.d.ts +8 -4
- package/Transition/index.js +4 -2
- package/Tree/TreeNode.js +6 -6
- 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 -11
- package/Upload/index.js +4 -5
- package/Upload/upload-utils.d.ts +41 -0
- package/Upload/upload-utils.js +65 -0
- package/_internal/InputTriggerPopper/InputTriggerPopper.js +15 -25
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.d.ts +2 -2
- package/_internal/SlideFadeOverlay/SlideFadeOverlay.js +4 -27
- package/hooks/useScrollLock.d.ts +28 -0
- package/hooks/useScrollLock.js +134 -0
- package/index.d.ts +99 -84
- package/index.js +92 -78
- package/package.json +7 -7
- package/utils/get-css-variable-value.d.ts +1 -0
- package/utils/get-css-variable-value.js +9 -0
- package/DateTimePicker/DateTimePickerPanel.d.ts +0 -28
- package/DateTimePicker/DateTimePickerPanel.js +0 -50
- package/Form/FormMessage.d.ts +0 -7
- package/Form/FormMessage.js +0 -19
- package/Form/useInputWithTagsModeValue.js +0 -88
- package/Loading/Loading.d.ts +0 -33
- package/Loading/index.d.ts +0 -2
- package/Loading/index.js +0 -1
- package/Overlay/Overlay.js +0 -31
- package/Overlay/index.d.ts +0 -2
- 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 -29
- package/Switch/index.d.ts +0 -3
- 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 -23
- 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 -79
- 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 -30
- package/utils/scroll-lock.d.ts +0 -2
- package/utils/scroll-lock.js +0 -24
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CheckboxMode } from '@mezzanine-ui/core/checkbox';
|
|
2
|
+
import { JSXElementConstructor } from 'react';
|
|
3
|
+
export type CheckboxComponent = 'label' | JSXElementConstructor<any>;
|
|
4
|
+
export interface CheckboxPropsBase {
|
|
5
|
+
/**
|
|
6
|
+
* Whether the checkbox is checked.
|
|
7
|
+
*/
|
|
8
|
+
checked?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether the checkbox is checked by default.
|
|
11
|
+
* Only used for uncontrolled.
|
|
12
|
+
*/
|
|
13
|
+
defaultChecked?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The description text displayed below the label.
|
|
16
|
+
*/
|
|
17
|
+
description?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the checkbox is disabled.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether the checkbox is in indeterminate state.
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
indeterminate?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The label text displayed beside the checkbox.
|
|
30
|
+
*/
|
|
31
|
+
label?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The mode of checkbox.
|
|
34
|
+
* @default 'main'
|
|
35
|
+
*/
|
|
36
|
+
mode?: CheckboxMode;
|
|
37
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ClearActionsEmbeddedVariant, ClearActionsStandardVariant } from '@mezzanine-ui/core/clear-actions';
|
|
2
|
+
import { NativeElementPropsWithoutKeyAndRef } from '../utils/jsx-types';
|
|
3
|
+
type ClearActionsCommonProps = Omit<NativeElementPropsWithoutKeyAndRef<'button'>, 'onClick' | 'type'> & {
|
|
4
|
+
/**
|
|
5
|
+
* Called when user clicks or activates the button (via mouse or keyboard).
|
|
6
|
+
*/
|
|
7
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
8
|
+
};
|
|
9
|
+
type ClearActionsStandardProps = ClearActionsCommonProps & {
|
|
10
|
+
/**
|
|
11
|
+
* Clear Actions Contextual type.
|
|
12
|
+
* @default 'standard'
|
|
13
|
+
*/
|
|
14
|
+
type?: 'standard';
|
|
15
|
+
/**
|
|
16
|
+
* Visual variant for standard type.
|
|
17
|
+
*/
|
|
18
|
+
variant?: ClearActionsStandardVariant;
|
|
19
|
+
};
|
|
20
|
+
type ClearActionsEmbeddedProps = ClearActionsCommonProps & {
|
|
21
|
+
/**
|
|
22
|
+
* Clear Actions Contextual type.
|
|
23
|
+
*/
|
|
24
|
+
type: 'embedded';
|
|
25
|
+
/**
|
|
26
|
+
* Visual variant for embedded type.
|
|
27
|
+
*/
|
|
28
|
+
variant?: ClearActionsEmbeddedVariant;
|
|
29
|
+
};
|
|
30
|
+
type ClearActionsClearableProps = ClearActionsCommonProps & {
|
|
31
|
+
/**
|
|
32
|
+
* Clear Actions Contextual type.
|
|
33
|
+
*/
|
|
34
|
+
type: 'clearable';
|
|
35
|
+
};
|
|
36
|
+
export type ClearActionsProps = ClearActionsEmbeddedProps | ClearActionsStandardProps | ClearActionsClearableProps;
|
|
37
|
+
/**
|
|
38
|
+
* Mezzanine clear actions button.
|
|
39
|
+
*/
|
|
40
|
+
declare const ClearActions: import("react").ForwardRefExoticComponent<ClearActionsProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
41
|
+
export default ClearActions;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { DangerousFilledIcon, CloseIcon } from '@mezzanine-ui/icons';
|
|
5
|
+
import { clearActionsClasses } from '@mezzanine-ui/core/clear-actions';
|
|
6
|
+
import Icon from '../Icon/Icon.js';
|
|
7
|
+
import cx from 'clsx';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Mezzanine clear actions button.
|
|
11
|
+
*/
|
|
12
|
+
const ClearActions = forwardRef(function ClearActions(props, ref) {
|
|
13
|
+
const { className, onClick, type = 'standard', ...rest } = props;
|
|
14
|
+
const variant = 'variant' in props ? props.variant : undefined;
|
|
15
|
+
const resolvedVariant = type === 'clearable'
|
|
16
|
+
? 'default'
|
|
17
|
+
: variant !== null && variant !== void 0 ? variant : (type === 'standard' ? 'base' : 'contrast');
|
|
18
|
+
return (jsx("button", { ...rest, ref: ref, "aria-label": "Close", className: cx(clearActionsClasses.host, clearActionsClasses.type(type), clearActionsClasses.variant(resolvedVariant), className), onClick: onClick, type: "button", children: type === 'clearable'
|
|
19
|
+
? jsx(Icon, { className: clearActionsClasses.icon, icon: DangerousFilledIcon })
|
|
20
|
+
: jsx(Icon, { className: clearActionsClasses.icon, icon: CloseIcon }) }));
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { ClearActions as default };
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { DateType } from '@mezzanine-ui/core/calendar';
|
|
2
2
|
import { DatePickerCalendarProps } from './DatePickerCalendar';
|
|
3
3
|
import { PickerTriggerProps } from '../Picker';
|
|
4
|
-
export interface DatePickerProps extends Omit<DatePickerCalendarProps, 'anchor' | 'calendarRef' | 'onChange' | 'open' | 'referenceDate' | 'updateReferenceDate'>, Omit<PickerTriggerProps, 'defaultValue' | 'inputRef' | 'onChange' | 'onClear' | 'onClick' | 'onIconClick' | 'onKeyDown' | '
|
|
4
|
+
export interface DatePickerProps extends Omit<DatePickerCalendarProps, 'anchor' | 'calendarRef' | 'disableOnDoubleNext' | 'disableOnDoublePrev' | 'onChange' | 'open' | 'referenceDate' | 'updateReferenceDate'>, Omit<PickerTriggerProps, 'defaultValue' | 'format' | 'inputRef' | 'onChange' | 'onClear' | 'onClick' | 'onIconClick' | 'onKeyDown' | 'value'> {
|
|
5
5
|
/**
|
|
6
6
|
* Default value for date picker.
|
|
7
7
|
*/
|
|
8
8
|
defaultValue?: DateType;
|
|
9
|
+
/**
|
|
10
|
+
* Disabled "double next" button on calendar controls
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
disableOnDoubleNext?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Disabled "double prev" button on calendar controls
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
disableOnDoublePrev?: boolean;
|
|
9
19
|
/**
|
|
10
20
|
* The format for displaying date.
|
|
21
|
+
* The length of the format must match the length of the actual generated value. For example, "gggg-wo" may cause a length mismatch when the week of year is a single digit. It is recommended to use the system's default format instead.
|
|
11
22
|
*/
|
|
12
23
|
format?: string;
|
|
13
24
|
/**
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
-
import { forwardRef,
|
|
3
|
+
import { forwardRef, useCallback, useState, useMemo, useRef, useEffect } from 'react';
|
|
4
4
|
import { getDefaultModeFormat } from '@mezzanine-ui/core/calendar';
|
|
5
5
|
import { CalendarIcon } from '@mezzanine-ui/icons';
|
|
6
6
|
import DatePickerCalendar from './DatePickerCalendar.js';
|
|
7
7
|
import { useComposeRefs } from '../hooks/useComposeRefs.js';
|
|
8
|
-
import { FormControlContext } from '../Form/FormControlContext.js';
|
|
9
8
|
import { useCalendarContext } from '../Calendar/CalendarContext.js';
|
|
10
9
|
import { usePickerValue } from '../Picker/usePickerValue.js';
|
|
11
10
|
import { usePickerDocumentEventClose } from '../Picker/usePickerDocumentEventClose.js';
|
|
@@ -17,11 +16,40 @@ import PickerTrigger from '../Picker/PickerTrigger.js';
|
|
|
17
16
|
* Notice that any component related to date-picker should be used along with `CalendarContext`. <br />
|
|
18
17
|
*/
|
|
19
18
|
const DatePicker = forwardRef(function DatePicker(props, ref) {
|
|
20
|
-
const {
|
|
21
|
-
const {
|
|
22
|
-
const
|
|
19
|
+
const { getNow } = useCalendarContext();
|
|
20
|
+
const { calendarProps, className, clearable = true, defaultValue, disabledMonthSwitch = false, disableOnNext, disableOnPrev, disableOnDoubleNext, disableOnDoublePrev, disabledYearSwitch = false, disabled = false, displayMonthLocale, error = false, errorMessages, fadeProps, format: formatProp, fullWidth = false, inputProps, isDateDisabled, isMonthDisabled, isWeekDisabled, isYearDisabled, isQuarterDisabled, isHalfYearDisabled, mode = 'day', onCalendarToggle: onCalendarToggleProp, onChange: onChangeProp, placeholder, popperProps, prefix, readOnly, referenceDate: referenceDateProp, required = false, size, value: valueProp, ...restTriggerProps } = props;
|
|
21
|
+
const format = formatProp || getDefaultModeFormat(mode);
|
|
23
22
|
const { onBlur: onBlurProp, onKeyDown: onKeyDownProp, onFocus: onFocusProp, size: inputSize = format.length + 2, ...restInputProp } = inputProps || {};
|
|
24
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Validate date value against disabled constraints based on mode.
|
|
25
|
+
* Returns true if valid, false if the date is disabled.
|
|
26
|
+
*/
|
|
27
|
+
const validateDate = useCallback((isoDate) => {
|
|
28
|
+
switch (mode) {
|
|
29
|
+
case 'day':
|
|
30
|
+
return !(isDateDisabled === null || isDateDisabled === void 0 ? void 0 : isDateDisabled(isoDate));
|
|
31
|
+
case 'week':
|
|
32
|
+
return !(isWeekDisabled === null || isWeekDisabled === void 0 ? void 0 : isWeekDisabled(isoDate));
|
|
33
|
+
case 'month':
|
|
34
|
+
return !(isMonthDisabled === null || isMonthDisabled === void 0 ? void 0 : isMonthDisabled(isoDate));
|
|
35
|
+
case 'quarter':
|
|
36
|
+
return !(isQuarterDisabled === null || isQuarterDisabled === void 0 ? void 0 : isQuarterDisabled(isoDate));
|
|
37
|
+
case 'year':
|
|
38
|
+
return !(isYearDisabled === null || isYearDisabled === void 0 ? void 0 : isYearDisabled(isoDate));
|
|
39
|
+
case 'half-year':
|
|
40
|
+
return !(isHalfYearDisabled === null || isHalfYearDisabled === void 0 ? void 0 : isHalfYearDisabled(isoDate));
|
|
41
|
+
default:
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}, [
|
|
45
|
+
isDateDisabled,
|
|
46
|
+
isHalfYearDisabled,
|
|
47
|
+
isMonthDisabled,
|
|
48
|
+
isQuarterDisabled,
|
|
49
|
+
isWeekDisabled,
|
|
50
|
+
isYearDisabled,
|
|
51
|
+
mode,
|
|
52
|
+
]);
|
|
25
53
|
/** Calender display control */
|
|
26
54
|
const [open, setOpen] = useState(false);
|
|
27
55
|
const preventOpen = readOnly;
|
|
@@ -49,7 +77,6 @@ const DatePicker = forwardRef(function DatePicker(props, ref) {
|
|
|
49
77
|
const { inputValue, onBlur, onChange, onInputChange, onKeyDown, value: internalValue, } = usePickerValue({
|
|
50
78
|
defaultValue,
|
|
51
79
|
format,
|
|
52
|
-
formats,
|
|
53
80
|
inputRef,
|
|
54
81
|
value: valueProp,
|
|
55
82
|
});
|
|
@@ -124,8 +151,12 @@ const DatePicker = forwardRef(function DatePicker(props, ref) {
|
|
|
124
151
|
}
|
|
125
152
|
onCalendarToggle(!open);
|
|
126
153
|
};
|
|
127
|
-
const suffixActionIcon = jsx(Icon, { icon: CalendarIcon, onClick: onIconClick });
|
|
128
|
-
return (jsxs(Fragment, { children: [jsx(PickerTrigger, { ...restTriggerProps, ref: triggerComposedRef, className: className, clearable: clearable, disabled: disabled, error: error,
|
|
154
|
+
const suffixActionIcon = (jsx(Icon, { "aria-label": "Open calendar", icon: CalendarIcon, onClick: readOnly ? undefined : onIconClick }));
|
|
155
|
+
return (jsxs(Fragment, { children: [jsx(PickerTrigger, { ...restTriggerProps, ref: triggerComposedRef, className: className, clearable: clearable, disabled: disabled, error: error, errorMessages: errorMessages, format: format, fullWidth: fullWidth, inputProps: resolvedInputProps, inputRef: inputRef, onChange: (e) => {
|
|
156
|
+
onInputChange(e);
|
|
157
|
+
onCalendarChange(e.target.value);
|
|
158
|
+
onCalendarToggle(true);
|
|
159
|
+
}, onClear: onClear, onFocus: () => onCalendarToggle(true), placeholder: placeholder, prefix: prefix, readOnly: readOnly, required: required, size: size, suffix: suffixActionIcon, validate: validateDate, value: inputValue }), jsx(DatePickerCalendar, { ref: calendarRef, anchor: anchorRef, calendarProps: calendarProps, disabledMonthSwitch: disabledMonthSwitch, disableOnNext: disableOnNext, disableOnPrev: disableOnPrev, disableOnDoubleNext: disableOnDoubleNext, disableOnDoublePrev: disableOnDoublePrev, disabledYearSwitch: disabledYearSwitch, displayMonthLocale: displayMonthLocale, fadeProps: fadeProps, isDateDisabled: isDateDisabled, isMonthDisabled: isMonthDisabled, isWeekDisabled: isWeekDisabled, isQuarterDisabled: isQuarterDisabled, isYearDisabled: isYearDisabled, isHalfYearDisabled: isHalfYearDisabled, mode: mode, onChange: onCalendarChange, open: open, popperProps: popperProps, referenceDate: referenceDate, value: internalValue })] }));
|
|
129
160
|
});
|
|
130
161
|
|
|
131
162
|
export { DatePicker as default };
|
|
@@ -2,11 +2,11 @@ import { CalendarMode, DateType } from '@mezzanine-ui/core/calendar';
|
|
|
2
2
|
import { RefObject } from 'react';
|
|
3
3
|
import { CalendarProps } from '../Calendar';
|
|
4
4
|
import { InputTriggerPopperProps } from '../_internal/InputTriggerPopper';
|
|
5
|
-
export interface DatePickerCalendarProps extends Pick<InputTriggerPopperProps, 'anchor' | 'fadeProps' | 'open'>, Pick<CalendarProps, 'disabledMonthSwitch' | 'disableOnNext' | 'disableOnPrev' | 'disabledYearSwitch' | 'displayMonthLocale' | 'isDateDisabled' | 'isMonthDisabled' | 'isWeekDisabled' | 'isYearDisabled' | 'onChange' | 'referenceDate'> {
|
|
5
|
+
export interface DatePickerCalendarProps extends Pick<InputTriggerPopperProps, 'anchor' | 'fadeProps' | 'open'>, Pick<CalendarProps, 'disabledMonthSwitch' | 'disableOnNext' | 'disableOnPrev' | 'disableOnDoubleNext' | 'disableOnDoublePrev' | 'disabledYearSwitch' | 'displayMonthLocale' | 'isDateDisabled' | 'isMonthDisabled' | 'isQuarterDisabled' | 'isHalfYearDisabled' | 'isWeekDisabled' | 'isYearDisabled' | 'onChange' | 'referenceDate'> {
|
|
6
6
|
/**
|
|
7
7
|
* Other calendar props you may provide to `Calendar`.
|
|
8
8
|
*/
|
|
9
|
-
calendarProps?: Omit<CalendarProps, 'disableOnNext' | 'disableOnPrev' | 'displayMonthLocale' | 'isDateDisabled' | 'isMonthDisabled' | 'isWeekDisabled' | 'isYearDisabled' | 'locale' | 'mode' | 'onChange' | 'onMonthControlClick' | 'onNext' | 'onPrev' | 'onYearControlClick' | 'referenceDate' | 'updateReferenceDate' | 'value'>;
|
|
9
|
+
calendarProps?: Omit<CalendarProps, 'disableOnNext' | 'disableOnPrev' | 'disableOnDoubleNext' | 'disableOnDoublePrev' | 'displayMonthLocale' | 'isDateDisabled' | 'isMonthDisabled' | 'isQuarterDisabled' | 'isHalfYearDisabled' | 'isWeekDisabled' | 'isYearDisabled' | 'locale' | 'mode' | 'onChange' | 'onMonthControlClick' | 'onNext' | 'onDoubleNext' | 'onPrev' | 'onDoublePrev' | 'onYearControlClick' | 'referenceDate' | 'updateReferenceDate' | 'value'>;
|
|
10
10
|
/**
|
|
11
11
|
* React ref for calendar component.
|
|
12
12
|
*/
|
|
@@ -25,8 +25,5 @@ export interface DatePickerCalendarProps extends Pick<InputTriggerPopperProps, '
|
|
|
25
25
|
*/
|
|
26
26
|
value?: DateType;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* The react component for `mezzanine` date picker calendar.
|
|
30
|
-
*/
|
|
31
28
|
declare const DatePickerCalendar: import("react").ForwardRefExoticComponent<DatePickerCalendarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
29
|
export default DatePickerCalendar;
|
|
@@ -6,61 +6,60 @@ import { useCalendarControls } from '../Calendar/useCalendarControls.js';
|
|
|
6
6
|
import InputTriggerPopper from '../_internal/InputTriggerPopper/InputTriggerPopper.js';
|
|
7
7
|
import Calendar from '../Calendar/Calendar.js';
|
|
8
8
|
|
|
9
|
-
/**
|
|
10
|
-
* The react component for `mezzanine` date picker calendar.
|
|
11
|
-
*/
|
|
12
9
|
const DatePickerCalendar = forwardRef(function DatePickerCalendar(props, ref) {
|
|
13
|
-
const {
|
|
14
|
-
const { anchor, calendarProps, calendarRef, disabledMonthSwitch, disableOnNext, disableOnPrev, disabledYearSwitch, displayMonthLocale =
|
|
10
|
+
const { locale, getMonth, getYear, setMonth, setYear } = useCalendarContext();
|
|
11
|
+
const { anchor, calendarProps, calendarRef, disabledMonthSwitch, disableOnNext, disableOnPrev, disableOnDoubleNext, disableOnDoublePrev, disabledYearSwitch, displayMonthLocale = locale, fadeProps, isDateDisabled, isMonthDisabled, isQuarterDisabled, isHalfYearDisabled, isWeekDisabled, isYearDisabled, mode = 'day', onChange: onChangeProp, open, popperProps, referenceDate: referenceDateProp, value, } = props;
|
|
15
12
|
const { className: calendarClassName, ...restCalendarProps } = calendarProps || {};
|
|
16
|
-
const { currentMode, onMonthControlClick, onNext, onPrev, onYearControlClick, popModeStack, referenceDate, updateReferenceDate, } = useCalendarControls(referenceDateProp, mode);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
updateReferenceDate(target);
|
|
21
|
-
popModeStack();
|
|
22
|
-
if (onChangeProp) {
|
|
23
|
-
onChangeProp(target);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
if (currentMode === 'month') {
|
|
28
|
-
return (target) => {
|
|
29
|
-
const result = currentMode === mode
|
|
30
|
-
? target
|
|
31
|
-
: setMonth(referenceDate, getMonth(target));
|
|
32
|
-
updateReferenceDate(result);
|
|
33
|
-
popModeStack();
|
|
34
|
-
if (currentMode === mode && onChangeProp) {
|
|
35
|
-
onChangeProp(result);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
if (currentMode === 'year') {
|
|
13
|
+
const { currentMode, onMonthControlClick, onNext, onPrev, onDoublePrev, onDoubleNext, onYearControlClick, popModeStack, referenceDate, updateReferenceDate, } = useCalendarControls(referenceDateProp, mode);
|
|
14
|
+
// Helper to handle mode switching with optional value transformation
|
|
15
|
+
const createModeChangeHandler = useMemo(() => {
|
|
16
|
+
return (transformValue) => {
|
|
40
17
|
return (target) => {
|
|
41
|
-
const result =
|
|
42
|
-
? target
|
|
43
|
-
:
|
|
18
|
+
const result = transformValue
|
|
19
|
+
? transformValue(target, referenceDate)
|
|
20
|
+
: target;
|
|
44
21
|
updateReferenceDate(result);
|
|
45
22
|
popModeStack();
|
|
46
23
|
if (currentMode === mode && onChangeProp) {
|
|
47
24
|
onChangeProp(result);
|
|
48
25
|
}
|
|
49
26
|
};
|
|
50
|
-
}
|
|
27
|
+
};
|
|
51
28
|
}, [
|
|
52
29
|
currentMode,
|
|
30
|
+
mode,
|
|
53
31
|
referenceDate,
|
|
54
32
|
updateReferenceDate,
|
|
55
33
|
popModeStack,
|
|
56
|
-
mode,
|
|
57
34
|
onChangeProp,
|
|
58
|
-
|
|
35
|
+
]);
|
|
36
|
+
const onChange = useMemo(() => {
|
|
37
|
+
switch (currentMode) {
|
|
38
|
+
case 'day':
|
|
39
|
+
case 'week':
|
|
40
|
+
return createModeChangeHandler();
|
|
41
|
+
case 'month':
|
|
42
|
+
return createModeChangeHandler((target, reference) => currentMode === mode
|
|
43
|
+
? target
|
|
44
|
+
: setMonth(reference, getMonth(target)));
|
|
45
|
+
case 'year':
|
|
46
|
+
return createModeChangeHandler((target, reference) => currentMode === mode ? target : setYear(reference, getYear(target)));
|
|
47
|
+
case 'quarter':
|
|
48
|
+
case 'half-year':
|
|
49
|
+
return createModeChangeHandler();
|
|
50
|
+
default:
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
}, [
|
|
54
|
+
currentMode,
|
|
55
|
+
mode,
|
|
56
|
+
createModeChangeHandler,
|
|
59
57
|
getMonth,
|
|
60
|
-
|
|
58
|
+
setMonth,
|
|
61
59
|
getYear,
|
|
60
|
+
setYear,
|
|
62
61
|
]);
|
|
63
|
-
return (jsx(InputTriggerPopper, { ...popperProps, ref: ref, anchor: anchor, open: open, fadeProps: fadeProps, children: jsx(Calendar, { ...restCalendarProps, ref: calendarRef, className: calendarClassName, disabledMonthSwitch: disabledMonthSwitch, disableOnNext: disableOnNext, disableOnPrev: disableOnPrev, disabledYearSwitch: disabledYearSwitch, displayMonthLocale: displayMonthLocale, isDateDisabled: isDateDisabled, isMonthDisabled: isMonthDisabled, isWeekDisabled: isWeekDisabled, isYearDisabled: isYearDisabled, mode: currentMode, onChange: onChange, onMonthControlClick: onMonthControlClick, onNext: onNext, onPrev: onPrev, onYearControlClick: onYearControlClick, referenceDate: referenceDate, value: value }) }));
|
|
62
|
+
return (jsx(InputTriggerPopper, { ...popperProps, ref: ref, anchor: anchor, open: open, fadeProps: fadeProps, children: jsx(Calendar, { ...restCalendarProps, ref: calendarRef, className: calendarClassName, disabledMonthSwitch: disabledMonthSwitch, disableOnNext: disableOnNext, disableOnPrev: disableOnPrev, disableOnDoubleNext: disableOnDoubleNext, disableOnDoublePrev: disableOnDoublePrev, disabledYearSwitch: disabledYearSwitch, displayMonthLocale: displayMonthLocale, isDateDisabled: isDateDisabled, isMonthDisabled: isMonthDisabled, isQuarterDisabled: isQuarterDisabled, isHalfYearDisabled: isHalfYearDisabled, isWeekDisabled: isWeekDisabled, isYearDisabled: isYearDisabled, mode: currentMode, onChange: onChange, onMonthControlClick: onMonthControlClick, onNext: onNext, onDoubleNext: onDoubleNext, onPrev: onPrev, onDoublePrev: onDoublePrev, onYearControlClick: onYearControlClick, referenceDate: referenceDate, value: value }) }));
|
|
64
63
|
});
|
|
65
64
|
|
|
66
65
|
export { DatePickerCalendar as default };
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import { DateType } from '@mezzanine-ui/core/calendar';
|
|
2
2
|
import { RangePickerValue } from '@mezzanine-ui/core/picker';
|
|
3
|
+
import { CalendarFooterActionsProps } from '../Calendar/CalendarFooterActions';
|
|
3
4
|
import { DateRangePickerCalendarProps } from './DateRangePickerCalendar';
|
|
4
5
|
import { RangePickerTriggerProps } from '../Picker';
|
|
5
|
-
export interface DateRangePickerProps extends Pick<DateRangePickerCalendarProps, 'calendarProps' | 'disabledMonthSwitch' | 'disableOnNext' | 'disableOnPrev' | 'disabledYearSwitch' | 'displayMonthLocale' | '
|
|
6
|
+
export interface DateRangePickerProps extends Pick<DateRangePickerCalendarProps, 'calendarProps' | 'disabledMonthSwitch' | 'disableOnNext' | 'disableOnPrev' | 'disableOnDoubleNext' | 'disableOnDoublePrev' | 'disabledYearSwitch' | 'displayMonthLocale' | 'displayWeekDayLocale' | 'fadeProps' | 'firstCalendarRef' | 'isDateDisabled' | 'isWeekDisabled' | 'isMonthDisabled' | 'isYearDisabled' | 'isQuarterDisabled' | 'isHalfYearDisabled' | 'mode' | 'popperProps' | 'quickSelect' | 'renderAnnotations' | 'secondCalendarRef'>, Pick<RangePickerTriggerProps, 'className' | 'clearable' | 'disabled' | 'error' | 'errorMessagesFrom' | 'errorMessagesTo' | 'fullWidth' | 'inputFromPlaceholder' | 'inputFromProps' | 'inputToPlaceholder' | 'inputToProps' | 'prefix' | 'readOnly' | 'required' | 'size' | 'validateFrom' | 'validateTo'> {
|
|
7
|
+
/**
|
|
8
|
+
* Footer action buttons props.
|
|
9
|
+
* When provided, the calendar will NOT auto-close after range selection.
|
|
10
|
+
* This allows users to interact with the action buttons before confirming.
|
|
11
|
+
*/
|
|
12
|
+
actions?: CalendarFooterActionsProps['actions'];
|
|
13
|
+
/**
|
|
14
|
+
* The confirm mode for date range selection.
|
|
15
|
+
* - `'immediate'` (default): onChange is triggered immediately after selecting both dates,
|
|
16
|
+
* and calendar auto-closes (unless actions prop is provided).
|
|
17
|
+
* - `'manual'`: onChange is triggered only when user clicks the confirm button.
|
|
18
|
+
* Default actions (Confirm/Cancel) will be auto-generated if not provided.
|
|
19
|
+
* @default 'immediate'
|
|
20
|
+
*/
|
|
21
|
+
confirmMode?: 'immediate' | 'manual';
|
|
6
22
|
/**
|
|
7
23
|
* Default value for date range picker.
|
|
8
24
|
*/
|
|
@@ -31,7 +47,7 @@ export interface DateRangePickerProps extends Pick<DateRangePickerCalendarProps,
|
|
|
31
47
|
}
|
|
32
48
|
/**
|
|
33
49
|
* The react component for `mezzanine` date range picker.
|
|
34
|
-
* Notice that any component related to date-range-picker should be used along with `CalendarContext`.
|
|
50
|
+
* Notice that any component related to date-range-picker should be used along with `CalendarContext`.
|
|
35
51
|
*/
|
|
36
52
|
declare const DateRangePicker: import("react").ForwardRefExoticComponent<DateRangePickerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
37
53
|
export default DateRangePicker;
|