rsuite 5.59.1 → 5.59.3-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/DateRangePicker/styles/index.css +27 -0
- package/DateRangePicker/styles/index.less +27 -0
- package/cjs/@types/common.d.ts +1 -1
- package/cjs/Calendar/CalendarContainer.js +4 -4
- package/cjs/DatePicker/DatePicker.d.ts +3 -38
- package/cjs/DatePicker/DatePicker.js +86 -137
- package/cjs/DatePicker/PredefinedRanges.d.ts +1 -1
- package/cjs/DatePicker/PredefinedRanges.js +3 -3
- package/cjs/DatePicker/Toolbar.d.ts +1 -1
- package/cjs/DatePicker/Toolbar.js +13 -12
- package/cjs/DatePicker/hooks/useFocus.d.ts +13 -0
- package/cjs/DatePicker/hooks/useFocus.js +96 -0
- package/cjs/DatePicker/hooks/useMonthView.d.ts +10 -0
- package/cjs/DatePicker/hooks/useMonthView.js +28 -0
- package/cjs/DatePicker/index.d.ts +2 -1
- package/cjs/DatePicker/types.d.ts +37 -0
- package/cjs/DatePicker/utils.d.ts +9 -0
- package/cjs/DatePicker/utils.js +20 -2
- package/cjs/DateRangePicker/DateRangePicker.d.ts +15 -3
- package/cjs/DateRangePicker/DateRangePicker.js +58 -68
- package/cjs/DateRangePicker/DateRangePickerContext.d.ts +4 -1
- package/cjs/DateRangePicker/DateRangePickerContext.js +4 -4
- package/cjs/DateRangePicker/Header.d.ts +11 -0
- package/cjs/DateRangePicker/Header.js +65 -0
- package/cjs/DateRangePicker/disabledDateUtils.d.ts +1 -1
- package/cjs/DateRangePicker/disabledDateUtils.js +1 -1
- package/cjs/DateRangePicker/index.js +5 -0
- package/cjs/Form/Form.d.ts +56 -39
- package/cjs/Form/Form.js +64 -186
- package/cjs/Form/FormContext.d.ts +12 -9
- package/cjs/Form/FormContext.js +11 -5
- package/cjs/Form/hooks/useFormRef.d.ts +55 -0
- package/cjs/Form/hooks/useFormRef.js +45 -0
- package/cjs/Form/hooks/useFormValidate.d.ts +19 -0
- package/cjs/Form/hooks/useFormValidate.js +157 -0
- package/cjs/Form/hooks/useFormValue.d.ts +2 -1
- package/cjs/Form/hooks/useFormValue.js +12 -1
- package/cjs/Form/hooks/useSchemaModel.js +5 -0
- package/cjs/Form/index.d.ts +2 -1
- package/cjs/FormControl/FormControl.d.ts +1 -1
- package/cjs/FormControl/FormControl.js +50 -68
- package/cjs/FormControl/hooks/useField.d.ts +18 -0
- package/cjs/FormControl/hooks/useField.js +54 -0
- package/cjs/FormControl/hooks/useRegisterModel.d.ts +3 -0
- package/cjs/FormControl/hooks/useRegisterModel.js +22 -0
- package/cjs/FormControl/utils.d.ts +1 -0
- package/cjs/FormControl/utils.js +8 -0
- package/cjs/FormControlLabel/FormControlLabel.js +12 -9
- package/cjs/FormErrorMessage/FormErrorMessage.js +2 -5
- package/cjs/FormGroup/FormGroup.d.ts +18 -4
- package/cjs/FormGroup/FormGroup.js +28 -2
- package/cjs/FormGroup/index.d.ts +1 -0
- package/cjs/FormGroup/index.js +4 -3
- package/cjs/FormHelpText/FormHelpText.d.ts +2 -1
- package/cjs/FormHelpText/FormHelpText.js +16 -9
- package/cjs/Input/Input.js +4 -5
- package/cjs/utils/dateUtils.d.ts +72 -10
- package/cjs/utils/dateUtils.js +88 -29
- package/dist/rsuite-no-reset-rtl.css +27 -0
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +27 -0
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +27 -0
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +27 -0
- package/dist/rsuite.js +144 -44
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.LICENSE.txt +35 -0
- package/dist/rsuite.min.js.map +1 -1
- package/esm/@types/common.d.ts +1 -1
- package/esm/Calendar/CalendarContainer.js +5 -5
- package/esm/DatePicker/DatePicker.d.ts +3 -38
- package/esm/DatePicker/DatePicker.js +88 -139
- package/esm/DatePicker/PredefinedRanges.d.ts +1 -1
- package/esm/DatePicker/PredefinedRanges.js +3 -3
- package/esm/DatePicker/Toolbar.d.ts +1 -1
- package/esm/DatePicker/Toolbar.js +13 -12
- package/esm/DatePicker/hooks/useFocus.d.ts +13 -0
- package/esm/DatePicker/hooks/useFocus.js +90 -0
- package/esm/DatePicker/hooks/useMonthView.d.ts +10 -0
- package/esm/DatePicker/hooks/useMonthView.js +22 -0
- package/esm/DatePicker/index.d.ts +2 -1
- package/esm/DatePicker/types.d.ts +37 -0
- package/esm/DatePicker/utils.d.ts +9 -0
- package/esm/DatePicker/utils.js +18 -2
- package/esm/DateRangePicker/DateRangePicker.d.ts +15 -3
- package/esm/DateRangePicker/DateRangePicker.js +61 -71
- package/esm/DateRangePicker/DateRangePickerContext.d.ts +4 -1
- package/esm/DateRangePicker/DateRangePickerContext.js +2 -2
- package/esm/DateRangePicker/Header.d.ts +11 -0
- package/esm/DateRangePicker/Header.js +59 -0
- package/esm/DateRangePicker/disabledDateUtils.d.ts +1 -1
- package/esm/DateRangePicker/disabledDateUtils.js +1 -1
- package/esm/DateRangePicker/index.js +4 -0
- package/esm/Form/Form.d.ts +56 -39
- package/esm/Form/Form.js +62 -183
- package/esm/Form/FormContext.d.ts +12 -9
- package/esm/Form/FormContext.js +6 -2
- package/esm/Form/hooks/useFormRef.d.ts +55 -0
- package/esm/Form/hooks/useFormRef.js +40 -0
- package/esm/Form/hooks/useFormValidate.d.ts +19 -0
- package/esm/Form/hooks/useFormValidate.js +152 -0
- package/esm/Form/hooks/useFormValue.d.ts +2 -1
- package/esm/Form/hooks/useFormValue.js +12 -1
- package/esm/Form/hooks/useSchemaModel.js +5 -0
- package/esm/Form/index.d.ts +2 -1
- package/esm/FormControl/FormControl.d.ts +1 -1
- package/esm/FormControl/FormControl.js +48 -66
- package/esm/FormControl/hooks/useField.d.ts +18 -0
- package/esm/FormControl/hooks/useField.js +48 -0
- package/esm/FormControl/hooks/useRegisterModel.d.ts +3 -0
- package/esm/FormControl/hooks/useRegisterModel.js +17 -0
- package/esm/FormControl/utils.d.ts +1 -0
- package/esm/FormControl/utils.js +4 -0
- package/esm/FormControlLabel/FormControlLabel.js +12 -8
- package/esm/FormErrorMessage/FormErrorMessage.js +2 -5
- package/esm/FormGroup/FormGroup.d.ts +18 -4
- package/esm/FormGroup/FormGroup.js +27 -1
- package/esm/FormGroup/index.d.ts +1 -0
- package/esm/FormGroup/index.js +1 -0
- package/esm/FormHelpText/FormHelpText.d.ts +2 -1
- package/esm/FormHelpText/FormHelpText.js +17 -9
- package/esm/Input/Input.js +4 -5
- package/esm/utils/dateUtils.d.ts +72 -10
- package/esm/utils/dateUtils.js +86 -28
- package/package.json +2 -2
- package/cjs/Form/hooks/useFormError.d.ts +0 -6
- package/cjs/Form/hooks/useFormError.js +0 -31
- package/cjs/FormControl/useRegisterModel.d.ts +0 -4
- package/cjs/FormControl/useRegisterModel.js +0 -18
- package/esm/Form/hooks/useFormError.d.ts +0 -6
- package/esm/Form/hooks/useFormError.js +0 -26
- package/esm/FormControl/useRegisterModel.d.ts +0 -4
- package/esm/FormControl/useRegisterModel.js +0 -13
package/esm/@types/common.d.ts
CHANGED
|
@@ -134,7 +134,7 @@ export declare namespace TypeAttributes {
|
|
|
134
134
|
type Placement8 = 'bottomStart' | 'bottomEnd' | 'topStart' | 'topEnd' | 'leftStart' | 'rightStart' | 'leftEnd' | 'rightEnd';
|
|
135
135
|
type PlacementAuto = 'auto' | 'autoVertical' | 'autoVerticalStart' | 'autoVerticalEnd' | 'autoHorizontal' | 'autoHorizontalStart' | 'autoHorizontalEnd';
|
|
136
136
|
type Placement = Placement4 | Placement8 | PlacementAuto;
|
|
137
|
-
type CheckTrigger = 'change' | 'blur' | 'none';
|
|
137
|
+
type CheckTrigger = 'change' | 'blur' | 'none' | null;
|
|
138
138
|
}
|
|
139
139
|
export interface SVGIcon {
|
|
140
140
|
viewBox: string;
|
|
@@ -9,7 +9,7 @@ import TimeDropdown from './TimeDropdown';
|
|
|
9
9
|
import CalendarBody from './CalendarBody';
|
|
10
10
|
import CalendarHeader from './CalendarHeader';
|
|
11
11
|
import { useClassNames, useEventCallback } from '../utils';
|
|
12
|
-
import {
|
|
12
|
+
import { disableTime, addMonths, shouldRenderDate, shouldRenderTime, shouldRenderMonth, isSameMonth, calendarOnlyProps, omitHideDisabledProps, isValid } from '../utils/dateUtils';
|
|
13
13
|
import { CalendarProvider } from './CalendarContext';
|
|
14
14
|
import useCalendarState, { CalendarState } from './useCalendarState';
|
|
15
15
|
import AngleUpIcon from '@rsuite/icons/legacy/AngleUp';
|
|
@@ -63,12 +63,12 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
63
63
|
var calendarDate = useMemo(function () {
|
|
64
64
|
return isValid(calendarDateProp) ? calendarDateProp : new Date();
|
|
65
65
|
}, [calendarDateProp]);
|
|
66
|
-
var
|
|
66
|
+
var isDateDisabled = useEventCallback(function (date) {
|
|
67
67
|
var _disabledDate;
|
|
68
68
|
return (_disabledDate = disabledDate === null || disabledDate === void 0 ? void 0 : disabledDate(date)) !== null && _disabledDate !== void 0 ? _disabledDate : false;
|
|
69
69
|
});
|
|
70
70
|
var isTimeDisabled = function isTimeDisabled(date) {
|
|
71
|
-
return
|
|
71
|
+
return disableTime(props, date);
|
|
72
72
|
};
|
|
73
73
|
var handleMoveForward = useEventCallback(function () {
|
|
74
74
|
onMoveForward === null || onMoveForward === void 0 ? void 0 : onMoveForward(addMonths(calendarDate, 1));
|
|
@@ -122,7 +122,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
122
122
|
var contextValue = {
|
|
123
123
|
date: calendarDate,
|
|
124
124
|
dateRange: dateRange,
|
|
125
|
-
disabledDate:
|
|
125
|
+
disabledDate: isDateDisabled,
|
|
126
126
|
format: format,
|
|
127
127
|
hoverRangeValue: hoverRangeValue,
|
|
128
128
|
inSameMonth: inSameThisMonthDate,
|
|
@@ -165,7 +165,7 @@ var CalendarContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
165
165
|
show: showMonth,
|
|
166
166
|
limitEndYear: limitEndYear,
|
|
167
167
|
limitStartYear: limitStartYear,
|
|
168
|
-
disabledMonth:
|
|
168
|
+
disabledMonth: isDateDisabled
|
|
169
169
|
}), renderTime && /*#__PURE__*/React.createElement(TimeDropdown, _extends({}, timeDropdownProps, {
|
|
170
170
|
show: showTime,
|
|
171
171
|
showMeridian: showMeridian
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RangeType } from './Toolbar';
|
|
3
3
|
import { DatePickerLocale } from '../locales';
|
|
4
|
-
import { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
5
|
-
|
|
6
|
-
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null
|
|
4
|
+
import type { FormControlBaseProps, PickerBaseProps, RsRefForwardingComponent } from '../@types/common';
|
|
5
|
+
import type { DeprecatedProps } from './types';
|
|
6
|
+
export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, FormControlBaseProps<Date | null>, DeprecatedProps {
|
|
7
7
|
/** Custom caret component */
|
|
8
8
|
caretAs?: React.ElementType | null;
|
|
9
9
|
/** Calendar panel default presentation date and time */
|
|
@@ -14,12 +14,6 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
14
14
|
editable?: boolean;
|
|
15
15
|
/** Format date */
|
|
16
16
|
format?: string;
|
|
17
|
-
/**
|
|
18
|
-
* Display date panel when component initial
|
|
19
|
-
*
|
|
20
|
-
* @deprecated use <Calendar> instead
|
|
21
|
-
**/
|
|
22
|
-
inline?: boolean;
|
|
23
17
|
/**
|
|
24
18
|
* ISO 8601 standard, each calendar week begins on Monday and Sunday on the seventh day
|
|
25
19
|
*
|
|
@@ -46,31 +40,6 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
46
40
|
showWeekNumbers?: boolean;
|
|
47
41
|
/** Meridian format */
|
|
48
42
|
showMeridian?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Whether to disable a date on the calendar view
|
|
51
|
-
*
|
|
52
|
-
* @returns date should be disabled (not selectable)
|
|
53
|
-
* @deprecated Use {@link shouldDisableDate} instead
|
|
54
|
-
*/
|
|
55
|
-
disabledDate?: (date?: Date) => boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Disabled hours
|
|
58
|
-
*
|
|
59
|
-
* @deprecated Use {@link shouldDisableHour} instead
|
|
60
|
-
*/
|
|
61
|
-
disabledHours?: (hour: number, date: Date) => boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Disabled minutes
|
|
64
|
-
*
|
|
65
|
-
* @deprecated Use {@link shouldDisableMinute} instead
|
|
66
|
-
*/
|
|
67
|
-
disabledMinutes?: (minute: number, date: Date) => boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Disabled seconds
|
|
70
|
-
*
|
|
71
|
-
* @deprecated Use {@link shouldDisableSecond} instead
|
|
72
|
-
*/
|
|
73
|
-
disabledSeconds?: (second: number, date: Date) => boolean;
|
|
74
43
|
/**
|
|
75
44
|
* Whether a date on the calendar view should be disabled
|
|
76
45
|
*
|
|
@@ -113,10 +82,6 @@ export interface DatePickerProps extends PickerBaseProps<DatePickerLocale>, Form
|
|
|
113
82
|
onShortcutClick?: (range: RangeType<Date>, event: React.MouseEvent) => void;
|
|
114
83
|
/** Called when clean */
|
|
115
84
|
onClean?: (event: React.MouseEvent) => void;
|
|
116
|
-
/**
|
|
117
|
-
* @deprecated
|
|
118
|
-
*/
|
|
119
|
-
renderValue?: (value: Date, format: string) => string;
|
|
120
85
|
/**
|
|
121
86
|
* Custom rendering calendar cell content.
|
|
122
87
|
*
|
|
@@ -3,12 +3,10 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
5
|
var _templateObject;
|
|
6
|
-
import React, { useMemo
|
|
6
|
+
import React, { useMemo } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import mapValues from 'lodash/mapValues';
|
|
9
9
|
import pick from 'lodash/pick';
|
|
10
|
-
import delay from 'lodash/delay';
|
|
11
|
-
import omit from 'lodash/omit';
|
|
12
10
|
import IconCalendar from '@rsuite/icons/legacy/Calendar';
|
|
13
11
|
import IconClockO from '@rsuite/icons/legacy/ClockO';
|
|
14
12
|
import CalendarContainer from '../Calendar/CalendarContainer';
|
|
@@ -18,14 +16,14 @@ import Toolbar from './Toolbar';
|
|
|
18
16
|
import Stack from '../Stack';
|
|
19
17
|
import PredefinedRanges from './PredefinedRanges';
|
|
20
18
|
import { mergeRefs, useClassNames, useControlled, useCustom, useUniqueId, useEventCallback, partitionHTMLProps } from '../utils';
|
|
21
|
-
import { shouldRenderMonth, shouldRenderDate, shouldRenderTime, shouldOnlyRenderTime, setHours, getHours,
|
|
22
|
-
import { PickerPopup, PickerLabel, PickerIndicator, PickerToggleTrigger, pickerPropTypes, pickTriggerPropKeys,
|
|
19
|
+
import { shouldRenderMonth, shouldRenderDate, shouldRenderTime, shouldOnlyRenderTime, setHours, getHours, isValid, disableTime, copyTime, calendarOnlyProps } from '../utils/dateUtils';
|
|
20
|
+
import { PickerPopup, PickerLabel, PickerIndicator, PickerToggleTrigger, pickerPropTypes, pickTriggerPropKeys, usePickerClassName, usePickerRef, onMenuKeyDown } from '../internals/Picker';
|
|
23
21
|
import { OverlayCloseCause } from '../internals/Overlay/OverlayTrigger';
|
|
24
22
|
import DateInput from '../DateInput';
|
|
25
23
|
import InputGroup from '../InputGroup';
|
|
26
|
-
import {
|
|
27
|
-
import
|
|
28
|
-
import
|
|
24
|
+
import { splitRanges, deprecatedPropTypes, getRestProps } from './utils';
|
|
25
|
+
import useMonthView from './hooks/useMonthView';
|
|
26
|
+
import useFocus from './hooks/useFocus';
|
|
29
27
|
/**
|
|
30
28
|
* A date picker allows users to select a date from a calendar.
|
|
31
29
|
*
|
|
@@ -73,10 +71,6 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
73
71
|
style = props.style,
|
|
74
72
|
size = props.size,
|
|
75
73
|
caretAsProp = props.caretAs,
|
|
76
|
-
DEPRECATED_disabledDate = props.disabledDate,
|
|
77
|
-
DEPRECATED_disabledHours = props.disabledHours,
|
|
78
|
-
DEPRECATED_disabledMinutes = props.disabledMinutes,
|
|
79
|
-
DEPRECATED_disabledSeconds = props.disabledSeconds,
|
|
80
74
|
shouldDisableDate = props.shouldDisableDate,
|
|
81
75
|
shouldDisableHour = props.shouldDisableHour,
|
|
82
76
|
shouldDisableMinute = props.shouldDisableMinute,
|
|
@@ -94,7 +88,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
94
88
|
onToggleTimeDropdown = props.onToggleTimeDropdown,
|
|
95
89
|
onShortcutClick = props.onShortcutClick,
|
|
96
90
|
renderCell = props.renderCell,
|
|
97
|
-
|
|
91
|
+
DEPRECATED_disabledDate = props.disabledDate,
|
|
92
|
+
DEPRECATED_disabledHours = props.disabledHours,
|
|
93
|
+
DEPRECATED_disabledMinutes = props.disabledMinutes,
|
|
94
|
+
DEPRECATED_disabledSeconds = props.disabledSeconds,
|
|
95
|
+
restProps = _objectWithoutPropertiesLoose(props, ["as", "className", "classPrefix", "calendarDefaultDate", "cleanable", "editable", "defaultValue", "disabled", "readOnly", "plaintext", "format", "id", "isoWeek", "limitEndYear", "limitStartYear", "locale", "loading", "label", "menuClassName", "menuStyle", "appearance", "placement", "oneTap", "placeholder", "ranges", "value", "showMeridian", "showWeekNumbers", "style", "size", "caretAs", "shouldDisableDate", "shouldDisableHour", "shouldDisableMinute", "shouldDisableSecond", "onChange", "onChangeCalendarDate", "onClean", "onEntered", "onExited", "onNextMonth", "onOk", "onPrevMonth", "onSelect", "onToggleMonthDropdown", "onToggleTimeDropdown", "onShortcutClick", "renderCell", "disabledDate", "disabledHours", "disabledMinutes", "disabledSeconds"]);
|
|
98
96
|
var id = useUniqueId('rs-', idProp);
|
|
99
97
|
var _usePickerRef = usePickerRef(ref),
|
|
100
98
|
trigger = _usePickerRef.trigger,
|
|
@@ -102,8 +100,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
102
100
|
target = _usePickerRef.target,
|
|
103
101
|
overlay = _usePickerRef.overlay;
|
|
104
102
|
var _useCustom = useCustom('DatePicker', overrideLocale),
|
|
105
|
-
locale = _useCustom.locale
|
|
106
|
-
formatDate = _useCustom.formatDate;
|
|
103
|
+
locale = _useCustom.locale;
|
|
107
104
|
var _useClassNames = useClassNames(classPrefix),
|
|
108
105
|
merge = _useClassNames.merge,
|
|
109
106
|
prefix = _useClassNames.prefix;
|
|
@@ -114,11 +111,26 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
114
111
|
calendarDate = _useCalendarDate.calendarDate,
|
|
115
112
|
setCalendarDate = _useCalendarDate.setCalendarDate,
|
|
116
113
|
resetCalendarDate = _useCalendarDate.resetCalendarDate;
|
|
117
|
-
var
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
var _useMonthView = useMonthView({
|
|
115
|
+
onToggleMonthDropdown: onToggleMonthDropdown
|
|
116
|
+
}),
|
|
117
|
+
setMonthView = _useMonthView.setMonthView,
|
|
118
|
+
monthView = _useMonthView.monthView,
|
|
119
|
+
toggleMonthView = _useMonthView.toggleMonthView; // Show only the calendar month panel. formatStr = 'yyyy-MM'
|
|
120
120
|
var onlyShowMonth = shouldRenderMonth(formatStr) && !shouldRenderDate(formatStr);
|
|
121
|
-
var showMonth = onlyShowMonth ||
|
|
121
|
+
var showMonth = onlyShowMonth || monthView;
|
|
122
|
+
var _useFocus = useFocus({
|
|
123
|
+
target: target,
|
|
124
|
+
showMonth: showMonth,
|
|
125
|
+
id: id,
|
|
126
|
+
locale: locale
|
|
127
|
+
}),
|
|
128
|
+
focusInput = _useFocus.focusInput,
|
|
129
|
+
focusSelectedDate = _useFocus.focusSelectedDate,
|
|
130
|
+
onKeyFocusEvent = _useFocus.onKeyFocusEvent;
|
|
131
|
+
/**
|
|
132
|
+
* Check whether the date is disabled.
|
|
133
|
+
*/
|
|
122
134
|
var isDateDisabled = function isDateDisabled(date) {
|
|
123
135
|
if (typeof shouldDisableDate === 'function') {
|
|
124
136
|
return shouldDisableDate(date);
|
|
@@ -128,6 +140,34 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
128
140
|
}
|
|
129
141
|
return false;
|
|
130
142
|
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Check whether the time is within the time range of the shortcut option in the toolbar.
|
|
146
|
+
*/
|
|
147
|
+
var isDatetimeDisabled = function isDatetimeDisabled(date) {
|
|
148
|
+
return (isDateDisabled === null || isDateDisabled === void 0 ? void 0 : isDateDisabled(date)) || disableTime(props, date);
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Check whether the month is disabled.
|
|
153
|
+
* If any day in the month is disabled, the entire month is disabled
|
|
154
|
+
*/
|
|
155
|
+
var isMonthDisabled = function isMonthDisabled(date) {
|
|
156
|
+
return isEveryDateInMonth(date.getFullYear(), date.getMonth(), isDateDisabled);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Whether "OK" button is disabled
|
|
161
|
+
*
|
|
162
|
+
* - If format is date, disable ok button if selected date is disabled
|
|
163
|
+
* - If format is month, disable ok button if all dates in the month of selected date are disabled
|
|
164
|
+
*/
|
|
165
|
+
var isOkButtonDisabled = function isOkButtonDisabled(selectedDate) {
|
|
166
|
+
if (shouldRenderMonth(formatStr) && !shouldRenderDate(formatStr)) {
|
|
167
|
+
return isMonthDisabled(selectedDate);
|
|
168
|
+
}
|
|
169
|
+
return isDatetimeDisabled(selectedDate);
|
|
170
|
+
};
|
|
131
171
|
var isErrorValue = function isErrorValue(value) {
|
|
132
172
|
if (!isValid(value)) {
|
|
133
173
|
return true;
|
|
@@ -170,6 +210,10 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
170
210
|
setCalendarDate(nextPageTime);
|
|
171
211
|
handleDateChange(nextPageTime);
|
|
172
212
|
});
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Close the calendar panel.
|
|
216
|
+
*/
|
|
173
217
|
var handleClose = useEventCallback(function () {
|
|
174
218
|
var _trigger$current, _trigger$current$clos;
|
|
175
219
|
(_trigger$current = trigger.current) === null || _trigger$current === void 0 ? void 0 : (_trigger$current$clos = _trigger$current.close) === null || _trigger$current$clos === void 0 ? void 0 : _trigger$current$clos.call(_trigger$current);
|
|
@@ -184,11 +228,11 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
184
228
|
var nextDate = setHours(calendarDate, nextHours);
|
|
185
229
|
handleChangeTime(nextDate);
|
|
186
230
|
});
|
|
187
|
-
var updateValue = function updateValue(event,
|
|
231
|
+
var updateValue = function updateValue(event, date, closeOverlay) {
|
|
188
232
|
if (closeOverlay === void 0) {
|
|
189
233
|
closeOverlay = true;
|
|
190
234
|
}
|
|
191
|
-
var nextValue = typeof
|
|
235
|
+
var nextValue = typeof date !== 'undefined' ? date : calendarDate;
|
|
192
236
|
setCalendarDate(nextValue || new Date());
|
|
193
237
|
setValue(nextValue);
|
|
194
238
|
if (nextValue !== value) {
|
|
@@ -211,55 +255,13 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
211
255
|
onShortcutClick === null || onShortcutClick === void 0 ? void 0 : onShortcutClick(range, event);
|
|
212
256
|
});
|
|
213
257
|
|
|
214
|
-
/**
|
|
215
|
-
* Get the corresponding container based on date selection and month selection
|
|
216
|
-
*/
|
|
217
|
-
var getOverlayContainer = function getOverlayContainer() {
|
|
218
|
-
return showMonth ? document.getElementById(id + "-calendar-month-dropdown") : document.getElementById(id + "-calendar-table");
|
|
219
|
-
};
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Check whether the date is focusable
|
|
223
|
-
*/
|
|
224
|
-
var checkFocusable = function checkFocusable(date) {
|
|
225
|
-
var formatStr = showMonth ? locale.formattedMonthPattern : locale.formattedDayPattern;
|
|
226
|
-
var ariaLabel = getAriaLabel(date, formatStr, formatDate);
|
|
227
|
-
var container = getOverlayContainer();
|
|
228
|
-
var dateElement = container === null || container === void 0 ? void 0 : container.querySelector("[aria-label=\"" + ariaLabel + "\"]");
|
|
229
|
-
if ((dateElement === null || dateElement === void 0 ? void 0 : dateElement.getAttribute('aria-disabled')) === 'true') {
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
return true;
|
|
233
|
-
};
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Focus on the currently selected date element
|
|
237
|
-
*/
|
|
238
|
-
var focusSelectedDate = function focusSelectedDate() {
|
|
239
|
-
delay(function () {
|
|
240
|
-
var container = getOverlayContainer();
|
|
241
|
-
var selectedElement = container === null || container === void 0 ? void 0 : container.querySelector('[aria-selected="true"]');
|
|
242
|
-
selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.focus();
|
|
243
|
-
}, 1);
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Focus on the input element
|
|
248
|
-
*/
|
|
249
|
-
var focusTargetInput = useEventCallback(function () {
|
|
250
|
-
delay(function () {
|
|
251
|
-
var _target$current;
|
|
252
|
-
return (_target$current = target.current) === null || _target$current === void 0 ? void 0 : _target$current.focus();
|
|
253
|
-
}, 1);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
258
|
/**
|
|
257
259
|
* The callback triggered after clicking the OK button.
|
|
258
260
|
*/
|
|
259
261
|
var handleOK = useEventCallback(function (event) {
|
|
260
262
|
updateValue(event);
|
|
261
263
|
onOk === null || onOk === void 0 ? void 0 : onOk(calendarDate, event);
|
|
262
|
-
|
|
264
|
+
focusInput();
|
|
263
265
|
});
|
|
264
266
|
|
|
265
267
|
/**
|
|
@@ -267,46 +269,20 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
267
269
|
*/
|
|
268
270
|
|
|
269
271
|
var handleClean = useEventCallback(function (event) {
|
|
272
|
+
event === null || event === void 0 ? void 0 : event.stopPropagation();
|
|
270
273
|
updateValue(event, null);
|
|
271
274
|
resetCalendarDate(null);
|
|
272
275
|
onClean === null || onClean === void 0 ? void 0 : onClean(event);
|
|
273
|
-
event.stopPropagation();
|
|
274
276
|
});
|
|
275
277
|
var handlePickerPopupKeyDown = useEventCallback(function (event) {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
onMenuKeyDown(event, {
|
|
280
|
-
down: function down() {
|
|
281
|
-
delta = step;
|
|
282
|
-
},
|
|
283
|
-
up: function up() {
|
|
284
|
-
delta = -step;
|
|
285
|
-
},
|
|
286
|
-
right: function right() {
|
|
287
|
-
delta = 1;
|
|
288
|
-
},
|
|
289
|
-
left: function left() {
|
|
290
|
-
delta = -1;
|
|
291
|
-
},
|
|
292
|
-
enter: function enter() {
|
|
293
|
-
handleOK(event);
|
|
294
|
-
}
|
|
278
|
+
onKeyFocusEvent(event, {
|
|
279
|
+
date: calendarDate,
|
|
280
|
+
callback: setCalendarDate
|
|
295
281
|
});
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
setCalendarDate(nextDate);
|
|
299
|
-
focusSelectedDate();
|
|
282
|
+
if (event.key === 'Enter') {
|
|
283
|
+
handleOK(event);
|
|
300
284
|
}
|
|
301
285
|
});
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* The callback triggered after the month selection box is opened or closed.
|
|
305
|
-
*/
|
|
306
|
-
var handleToggleMonthDropdown = useEventCallback(function (toggle) {
|
|
307
|
-
onToggleMonthDropdown === null || onToggleMonthDropdown === void 0 ? void 0 : onToggleMonthDropdown(toggle);
|
|
308
|
-
setShowMonthDropdown(toggle);
|
|
309
|
-
});
|
|
310
286
|
var handleClick = useEventCallback(function () {
|
|
311
287
|
if (editable) {
|
|
312
288
|
return;
|
|
@@ -330,7 +306,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
330
306
|
handleDateChange(nextValue);
|
|
331
307
|
if (oneTap && updatableValue) {
|
|
332
308
|
updateValue(event, nextValue);
|
|
333
|
-
|
|
309
|
+
focusInput();
|
|
334
310
|
}
|
|
335
311
|
});
|
|
336
312
|
|
|
@@ -343,7 +319,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
343
319
|
focusSelectedDate();
|
|
344
320
|
if (oneTap && onlyShowMonth) {
|
|
345
321
|
updateValue(event, nextPageDate);
|
|
346
|
-
|
|
322
|
+
focusInput();
|
|
347
323
|
}
|
|
348
324
|
});
|
|
349
325
|
|
|
@@ -366,7 +342,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
366
342
|
if (open) {
|
|
367
343
|
if (isValid(calendarDate) && !isDateDisabled(calendarDate)) {
|
|
368
344
|
updateValue(event);
|
|
369
|
-
|
|
345
|
+
focusInput();
|
|
370
346
|
}
|
|
371
347
|
} else {
|
|
372
348
|
var _trigger$current3;
|
|
@@ -375,35 +351,12 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
375
351
|
}
|
|
376
352
|
});
|
|
377
353
|
});
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
return allowDate || allowTime;
|
|
385
|
-
};
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* Whether "OK" button is disabled
|
|
389
|
-
*
|
|
390
|
-
* - If format is date, disable ok button if selected date is disabled
|
|
391
|
-
* - If format is month, disable ok button if all dates in the month of selected date are disabled
|
|
392
|
-
*/
|
|
393
|
-
var isOKButtonDisabled = function isOKButtonDisabled(selectedDate) {
|
|
394
|
-
if (shouldRenderMonth(formatStr) && !shouldRenderDate(formatStr)) {
|
|
395
|
-
return isEveryDateInMonth(selectedDate.getFullYear(), selectedDate.getMonth(), disabledToolbarHandle);
|
|
396
|
-
}
|
|
397
|
-
return disabledToolbarHandle(selectedDate);
|
|
398
|
-
};
|
|
399
|
-
var calendarProps = useMemo(function () {
|
|
400
|
-
return mapValues(pick(props, calendarOnlyProps), function (disabledOrHiddenTimeFunc) {
|
|
401
|
-
return function (next, date) {
|
|
402
|
-
var _disabledOrHiddenTime;
|
|
403
|
-
return (_disabledOrHiddenTime = disabledOrHiddenTimeFunc === null || disabledOrHiddenTimeFunc === void 0 ? void 0 : disabledOrHiddenTimeFunc(next, date)) !== null && _disabledOrHiddenTime !== void 0 ? _disabledOrHiddenTime : false;
|
|
404
|
-
};
|
|
405
|
-
});
|
|
406
|
-
}, [props]);
|
|
354
|
+
var calendarProps = mapValues(pick(props, calendarOnlyProps), function (func) {
|
|
355
|
+
return function (next, date) {
|
|
356
|
+
var _func;
|
|
357
|
+
return (_func = func === null || func === void 0 ? void 0 : func(next, date)) !== null && _func !== void 0 ? _func : false;
|
|
358
|
+
};
|
|
359
|
+
});
|
|
407
360
|
var _splitRanges = splitRanges(ranges),
|
|
408
361
|
sideRanges = _splitRanges.sideRanges,
|
|
409
362
|
bottomRanges = _splitRanges.bottomRanges;
|
|
@@ -434,7 +387,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
434
387
|
ranges: sideRanges,
|
|
435
388
|
calendarDate: calendarDate,
|
|
436
389
|
locale: locale,
|
|
437
|
-
|
|
390
|
+
disableShortcut: isDatetimeDisabled,
|
|
438
391
|
onShortcutClick: handleShortcutPageDate
|
|
439
392
|
}), /*#__PURE__*/React.createElement(Stack.Item, null, /*#__PURE__*/React.createElement(CalendarContainer, _extends({}, calendarProps, {
|
|
440
393
|
targetId: id,
|
|
@@ -454,7 +407,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
454
407
|
onMoveForward: handleMoveForward,
|
|
455
408
|
onMoveBackward: handleMoveBackward,
|
|
456
409
|
onSelect: handleSelect,
|
|
457
|
-
onToggleMonthDropdown:
|
|
410
|
+
onToggleMonthDropdown: toggleMonthView,
|
|
458
411
|
onToggleTimeDropdown: onToggleTimeDropdown,
|
|
459
412
|
onChangeMonth: handleChangeMonth,
|
|
460
413
|
onChangeTime: handleChangeTime,
|
|
@@ -463,8 +416,8 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
463
416
|
locale: locale,
|
|
464
417
|
ranges: bottomRanges,
|
|
465
418
|
calendarDate: calendarDate,
|
|
466
|
-
|
|
467
|
-
|
|
419
|
+
disableOkBtn: isOkButtonDisabled,
|
|
420
|
+
disableShortcut: isDatetimeDisabled,
|
|
468
421
|
onShortcutClick: handleShortcutPageDate,
|
|
469
422
|
onOk: handleOK,
|
|
470
423
|
hideOkBtn: oneTap
|
|
@@ -493,7 +446,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
493
446
|
if (cause !== OverlayCloseCause.ImperativeHandle) {
|
|
494
447
|
resetCalendarDate();
|
|
495
448
|
}
|
|
496
|
-
|
|
449
|
+
setMonthView(false);
|
|
497
450
|
(_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
|
|
498
451
|
});
|
|
499
452
|
var showCleanButton = cleanable && hasValue && !readOnly;
|
|
@@ -521,7 +474,7 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
521
474
|
value: value,
|
|
522
475
|
format: formatStr,
|
|
523
476
|
plaintext: plaintext
|
|
524
|
-
}) : /*#__PURE__*/React.createElement(InputGroup, _extends({},
|
|
477
|
+
}) : /*#__PURE__*/React.createElement(InputGroup, _extends({}, getRestProps(rest, usedClassNamePropKeys), {
|
|
525
478
|
inside: true,
|
|
526
479
|
size: size,
|
|
527
480
|
onClick: handleClick
|
|
@@ -551,13 +504,9 @@ var DatePicker = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
551
504
|
}))));
|
|
552
505
|
});
|
|
553
506
|
DatePicker.displayName = 'DatePicker';
|
|
554
|
-
DatePicker.propTypes = _extends({}, pickerPropTypes, {
|
|
507
|
+
DatePicker.propTypes = _extends({}, pickerPropTypes, deprecatedPropTypes, {
|
|
555
508
|
calendarDefaultDate: PropTypes.instanceOf(Date),
|
|
556
509
|
defaultValue: PropTypes.instanceOf(Date),
|
|
557
|
-
disabledDate: deprecatePropTypeNew(PropTypes.func, 'Use "shouldDisableDate" property instead.'),
|
|
558
|
-
disabledHours: deprecatePropTypeNew(PropTypes.func, 'Use "shouldDisableHour" property instead.'),
|
|
559
|
-
disabledMinutes: deprecatePropTypeNew(PropTypes.func, 'Use "shouldDisableMinute" property instead.'),
|
|
560
|
-
disabledSeconds: deprecatePropTypeNew(PropTypes.func, 'Use "shouldDisableSecond" property instead.'),
|
|
561
510
|
shouldDisableDate: PropTypes.func,
|
|
562
511
|
shouldDisableHour: PropTypes.func,
|
|
563
512
|
shouldDisableMinute: PropTypes.func,
|
|
@@ -6,7 +6,7 @@ export interface PredefinedRangesProps<T = any, Shortcut = T> extends StackProps
|
|
|
6
6
|
ranges?: RangeType<Shortcut>[];
|
|
7
7
|
calendarDate: T;
|
|
8
8
|
locale: CalendarLocale;
|
|
9
|
-
|
|
9
|
+
disableShortcut?: (value: T) => boolean;
|
|
10
10
|
onShortcutClick?: (range: InnerRange<Shortcut>, closeOverlay: boolean, event: React.MouseEvent) => void;
|
|
11
11
|
}
|
|
12
12
|
declare const PredefinedRanges: React.ForwardRefExoticComponent<PredefinedRangesProps<any, any> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -8,12 +8,12 @@ import { useUpdateEffect } from '../utils';
|
|
|
8
8
|
import { getDefaultRanges, getRanges } from './utils';
|
|
9
9
|
var PredefinedRanges = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
10
10
|
var className = props.className,
|
|
11
|
-
|
|
11
|
+
disableShortcut = props.disableShortcut,
|
|
12
12
|
onShortcutClick = props.onShortcutClick,
|
|
13
13
|
calendarDate = props.calendarDate,
|
|
14
14
|
rangesProp = props.ranges,
|
|
15
15
|
locale = props.locale,
|
|
16
|
-
rest = _objectWithoutPropertiesLoose(props, ["className", "
|
|
16
|
+
rest = _objectWithoutPropertiesLoose(props, ["className", "disableShortcut", "onShortcutClick", "calendarDate", "ranges", "locale"]);
|
|
17
17
|
var _useState = useState(getRanges(props)),
|
|
18
18
|
ranges = _useState[0],
|
|
19
19
|
setRanges = _useState[1];
|
|
@@ -41,7 +41,7 @@ var PredefinedRanges = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
41
41
|
closeOverlay = range.closeOverlay,
|
|
42
42
|
label = range.label,
|
|
43
43
|
rest = _objectWithoutPropertiesLoose(range, ["value", "closeOverlay", "label"]);
|
|
44
|
-
var disabled =
|
|
44
|
+
var disabled = disableShortcut === null || disableShortcut === void 0 ? void 0 : disableShortcut(value);
|
|
45
45
|
var handleClickShortcut = function handleClickShortcut(event) {
|
|
46
46
|
if (disabled) {
|
|
47
47
|
return;
|
|
@@ -3,7 +3,7 @@ import { PredefinedRangesProps } from './PredefinedRanges';
|
|
|
3
3
|
export type { RangeType } from './types';
|
|
4
4
|
export interface ToolbarProps<T = any, Shortcut = T> extends PredefinedRangesProps<T, Shortcut> {
|
|
5
5
|
hideOkBtn?: boolean;
|
|
6
|
-
|
|
6
|
+
disableOkBtn?: (value: T) => boolean;
|
|
7
7
|
onOk?: (event: React.MouseEvent) => void;
|
|
8
8
|
}
|
|
9
9
|
declare type ToolbarComponent = React.ForwardRefExoticComponent<ToolbarProps> & {
|
|
@@ -6,12 +6,12 @@ import Button from '../Button';
|
|
|
6
6
|
import { useClassNames } from '../utils';
|
|
7
7
|
import PredefinedRanges from './PredefinedRanges';
|
|
8
8
|
import Stack from '../Stack';
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var OkButton = function OkButton(_ref) {
|
|
10
|
+
var disableOkBtn = _ref.disableOkBtn,
|
|
11
11
|
calendarDate = _ref.calendarDate,
|
|
12
12
|
onOk = _ref.onOk,
|
|
13
13
|
children = _ref.children;
|
|
14
|
-
var disabled =
|
|
14
|
+
var disabled = disableOkBtn === null || disableOkBtn === void 0 ? void 0 : disableOkBtn(calendarDate);
|
|
15
15
|
return /*#__PURE__*/React.createElement(Button, {
|
|
16
16
|
appearance: "primary",
|
|
17
17
|
size: "sm",
|
|
@@ -27,15 +27,15 @@ var Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(props, ref) {
|
|
|
27
27
|
var className = props.className,
|
|
28
28
|
_props$classPrefix = props.classPrefix,
|
|
29
29
|
classPrefix = _props$classPrefix === void 0 ? 'picker-toolbar' : _props$classPrefix,
|
|
30
|
-
disabledOkBtn = props.disabledOkBtn,
|
|
31
|
-
disabledShortcut = props.disabledShortcut,
|
|
32
|
-
hideOkBtn = props.hideOkBtn,
|
|
33
|
-
onOk = props.onOk,
|
|
34
|
-
onShortcutClick = props.onShortcutClick,
|
|
35
30
|
calendarDate = props.calendarDate,
|
|
36
31
|
ranges = props.ranges,
|
|
37
32
|
locale = props.locale,
|
|
38
|
-
|
|
33
|
+
hideOkBtn = props.hideOkBtn,
|
|
34
|
+
disableOkBtn = props.disableOkBtn,
|
|
35
|
+
disableShortcut = props.disableShortcut,
|
|
36
|
+
onOk = props.onOk,
|
|
37
|
+
onShortcutClick = props.onShortcutClick,
|
|
38
|
+
rest = _objectWithoutPropertiesLoose(props, ["className", "classPrefix", "calendarDate", "ranges", "locale", "hideOkBtn", "disableOkBtn", "disableShortcut", "onOk", "onShortcutClick"]);
|
|
39
39
|
var _useClassNames = useClassNames(classPrefix),
|
|
40
40
|
merge = _useClassNames.merge,
|
|
41
41
|
prefix = _useClassNames.prefix,
|
|
@@ -55,15 +55,16 @@ var Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(props, ref) {
|
|
|
55
55
|
ranges: ranges,
|
|
56
56
|
calendarDate: calendarDate,
|
|
57
57
|
locale: locale,
|
|
58
|
-
|
|
58
|
+
disableShortcut: disableShortcut,
|
|
59
59
|
onShortcutClick: onShortcutClick,
|
|
60
60
|
"data-testid": "daterange-predefined-bottom"
|
|
61
61
|
}), /*#__PURE__*/React.createElement("div", {
|
|
62
62
|
className: prefix('right')
|
|
63
|
-
}, !hideOkBtn && /*#__PURE__*/React.createElement(
|
|
64
|
-
|
|
63
|
+
}, !hideOkBtn && /*#__PURE__*/React.createElement(OkButton, {
|
|
64
|
+
disableOkBtn: disableOkBtn,
|
|
65
65
|
calendarDate: calendarDate,
|
|
66
66
|
onOk: onOk
|
|
67
67
|
}, locale === null || locale === void 0 ? void 0 : locale.ok)));
|
|
68
68
|
});
|
|
69
|
+
Toolbar.displayName = 'Toolbar';
|
|
69
70
|
export default Toolbar;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
interface UseFocusProps {
|
|
3
|
+
target: RefObject<HTMLElement>;
|
|
4
|
+
showMonth: boolean;
|
|
5
|
+
id: string;
|
|
6
|
+
locale: any;
|
|
7
|
+
}
|
|
8
|
+
declare function useFocus(props: UseFocusProps): {
|
|
9
|
+
focusInput: (...args: any[]) => any;
|
|
10
|
+
focusSelectedDate: () => void;
|
|
11
|
+
onKeyFocusEvent: (...args: any[]) => any;
|
|
12
|
+
};
|
|
13
|
+
export default useFocus;
|