@elliemae/ds-controlled-form 2.4.2-rc.1 → 2.4.2-rc.3
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/cjs/date-time-picker/config/useChangeHandlers.js +8 -12
- package/cjs/date-time-picker/config/useControlledDateTimePicker.js +13 -9
- package/cjs/date-time-picker/config/useFocusTracker.js +136 -0
- package/cjs/date-time-picker/config/useGetReferences.js +40 -19
- package/cjs/date-time-picker/config/useGlobalKeyHandlers.js +8 -12
- package/cjs/date-time-picker/parts/ClearButton/ClearButton.js +12 -2
- package/cjs/date-time-picker/parts/ClearButton/useClearButton.js +12 -25
- package/cjs/date-time-picker/parts/ControlledDateTimePickerContent.js +4 -7
- package/cjs/date-time-picker/parts/DateInputs/DDInput.js +8 -2
- package/cjs/date-time-picker/parts/DateInputs/DateInputs.js +9 -4
- package/cjs/date-time-picker/parts/DateInputs/MMInput.js +8 -2
- package/cjs/date-time-picker/parts/DateInputs/YYYYInput.js +8 -2
- package/cjs/date-time-picker/parts/DateInputs/useDateInputs.js +76 -95
- package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +31 -5
- package/cjs/date-time-picker/parts/Pickers/Calendar/Day.js +16 -10
- package/cjs/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +12 -12
- package/cjs/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +2 -38
- package/cjs/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +40 -73
- package/cjs/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +18 -27
- package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -0
- package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +17 -23
- package/cjs/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +13 -7
- package/cjs/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +14 -8
- package/cjs/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +13 -7
- package/cjs/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +36 -230
- package/cjs/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -13
- package/cjs/date-time-picker/parts/TimeInputs/HHInput.js +8 -2
- package/cjs/date-time-picker/parts/TimeInputs/MeridiemInput.js +8 -2
- package/cjs/date-time-picker/parts/TimeInputs/MinutesInput.js +8 -2
- package/cjs/date-time-picker/parts/TimeInputs/TimeInputs.js +11 -6
- package/cjs/date-time-picker/parts/TimeInputs/useTimeInputs.js +44 -74
- package/cjs/date-time-picker/utils/constants.js +0 -12
- package/cjs/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +38 -36
- package/esm/autocomplete/config/useAutocomplete.js +2 -2
- package/esm/combobox/config/useComboBox.js +2 -2
- package/esm/date-range-picker/config/useRangePickerLogic.js +2 -2
- package/esm/date-time-picker/config/useChangeHandlers.js +8 -12
- package/esm/date-time-picker/config/useControlledDateTimePicker.js +13 -9
- package/esm/date-time-picker/config/useFocusTracker.js +132 -0
- package/esm/date-time-picker/config/useGetReferences.js +41 -20
- package/esm/date-time-picker/config/useGlobalKeyHandlers.js +8 -12
- package/esm/date-time-picker/parts/ClearButton/ClearButton.js +12 -2
- package/esm/date-time-picker/parts/ClearButton/useClearButton.js +12 -25
- package/esm/date-time-picker/parts/ControlledDateTimePickerContent.js +4 -7
- package/esm/date-time-picker/parts/DateInputs/DDInput.js +8 -2
- package/esm/date-time-picker/parts/DateInputs/DateInputs.js +9 -4
- package/esm/date-time-picker/parts/DateInputs/MMInput.js +8 -2
- package/esm/date-time-picker/parts/DateInputs/YYYYInput.js +8 -2
- package/esm/date-time-picker/parts/DateInputs/useDateInputs.js +77 -96
- package/esm/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +32 -6
- package/esm/date-time-picker/parts/Pickers/Calendar/Day.js +16 -10
- package/esm/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +14 -14
- package/esm/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +3 -39
- package/esm/date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +40 -73
- package/esm/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +18 -27
- package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -0
- package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +17 -23
- package/esm/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +14 -8
- package/esm/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +15 -9
- package/esm/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +14 -8
- package/esm/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +36 -230
- package/esm/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -13
- package/esm/date-time-picker/parts/TimeInputs/HHInput.js +8 -2
- package/esm/date-time-picker/parts/TimeInputs/MeridiemInput.js +8 -2
- package/esm/date-time-picker/parts/TimeInputs/MinutesInput.js +8 -2
- package/esm/date-time-picker/parts/TimeInputs/TimeInputs.js +11 -6
- package/esm/date-time-picker/parts/TimeInputs/useTimeInputs.js +44 -74
- package/esm/date-time-picker/utils/constants.js +1 -7
- package/esm/date-time-picker/utils/hooks/useGetStartingFocusedDay.js +38 -36
- package/esm/toggle/ControlledToggle.js +3 -3
- package/package.json +19 -15
- package/types/date-time-picker/config/useChangeHandlers.d.ts +3 -1
- package/types/date-time-picker/config/useControlledDateTimePicker.d.ts +2 -5
- package/types/date-time-picker/config/useFocusTracker.d.ts +38 -0
- package/types/date-time-picker/config/useGetPropsBasedOnType.d.ts +6 -6
- package/types/date-time-picker/config/useGetReferences.d.ts +30 -36
- package/types/date-time-picker/config/useGlobalKeyHandlers.d.ts +3 -1
- package/types/date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
- package/types/date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
- package/types/date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
- package/types/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.d.ts +14 -0
- package/types/date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +1 -2
- package/types/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +19 -0
- package/types/date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +0 -6
- package/types/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +14 -0
- package/types/date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
- package/types/date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
- package/types/date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
- package/types/date-time-picker/propTypes.d.ts +117 -0
- package/types/date-time-picker/sharedTypes.d.ts +1 -1
- package/types/date-time-picker/utils/constants.d.ts +0 -6
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var ControlledDateTimePickerCTX = require('../../ControlledDateTimePickerCTX.js');
|
|
7
|
-
var constants = require('../../utils/constants.js');
|
|
8
7
|
var stringHelpers = require('../../utils/stringHelpers.js');
|
|
9
8
|
|
|
10
9
|
/* eslint-disable complexity */
|
|
@@ -13,66 +12,55 @@ const useTimeInputs = () => {
|
|
|
13
12
|
props: {
|
|
14
13
|
disabled
|
|
15
14
|
},
|
|
16
|
-
lastSegmentRef,
|
|
17
15
|
hours,
|
|
18
16
|
minutes,
|
|
19
17
|
meridiem,
|
|
20
|
-
hideDate,
|
|
21
18
|
withAnyRightController,
|
|
22
19
|
withAnyPicker,
|
|
23
20
|
withClearBtn,
|
|
24
21
|
isWithDateInputs,
|
|
25
|
-
hourInputRef,
|
|
26
|
-
minutesInputRef,
|
|
27
|
-
meridiemInputRef,
|
|
28
|
-
yearInputRef,
|
|
29
|
-
clearButtonRef,
|
|
30
|
-
pickerButtonRef,
|
|
31
|
-
monthInputRef,
|
|
32
22
|
autoFocusHourInput,
|
|
33
23
|
handleChangeHours,
|
|
34
24
|
handleChangeMinutes,
|
|
35
25
|
handleChangeMeridiem,
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
minutesInterval,
|
|
27
|
+
trackFocusFirstSegment,
|
|
28
|
+
trackFocusLastSegment,
|
|
29
|
+
trackFocusHourInput,
|
|
30
|
+
trackFocusMinuteInput,
|
|
31
|
+
trackFocusMeridiemInput,
|
|
32
|
+
trackFocusClearBtn,
|
|
33
|
+
trackFocusPicker,
|
|
34
|
+
trackFocusYearInput
|
|
38
35
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
39
|
-
const setLatestInteractionRegionTimeInputs = React.useCallback(() => {
|
|
40
|
-
setLatestInteractionRegion('time-inputs');
|
|
41
|
-
}, [setLatestInteractionRegion]);
|
|
42
36
|
const onHomeKeyDown = React.useCallback(() => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (!hideDate) monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren = monthInputRef.current) === null || _monthInputRef$curren === void 0 ? void 0 : (_monthInputRef$curren2 = _monthInputRef$curren.focus) === null || _monthInputRef$curren2 === void 0 ? void 0 : _monthInputRef$curren2.call(_monthInputRef$curren);else hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current = hourInputRef.current) === null || _hourInputRef$current === void 0 ? void 0 : (_hourInputRef$current2 = _hourInputRef$current.focus) === null || _hourInputRef$current2 === void 0 ? void 0 : _hourInputRef$current2.call(_hourInputRef$current);
|
|
46
|
-
}, [hideDate, monthInputRef, hourInputRef]);
|
|
37
|
+
trackFocusFirstSegment();
|
|
38
|
+
}, [trackFocusFirstSegment]);
|
|
47
39
|
const onEndKeyDown = React.useCallback(() => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr = pickerButtonRef.current) === null || _pickerButtonRef$curr === void 0 ? void 0 : (_pickerButtonRef$curr2 = _pickerButtonRef$curr.focus) === null || _pickerButtonRef$curr2 === void 0 ? void 0 : _pickerButtonRef$curr2.call(_pickerButtonRef$curr);else if (withClearBtn) clearButtonRef === null || clearButtonRef === void 0 ? void 0 : (_clearButtonRef$curre = clearButtonRef.current) === null || _clearButtonRef$curre === void 0 ? void 0 : (_clearButtonRef$curre2 = _clearButtonRef$curre.focus) === null || _clearButtonRef$curre2 === void 0 ? void 0 : _clearButtonRef$curre2.call(_clearButtonRef$curre);else meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur = meridiemInputRef.current) === null || _meridiemInputRef$cur === void 0 ? void 0 : (_meridiemInputRef$cur2 = _meridiemInputRef$cur.focus) === null || _meridiemInputRef$cur2 === void 0 ? void 0 : _meridiemInputRef$cur2.call(_meridiemInputRef$cur);
|
|
51
|
-
}, [withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef, meridiemInputRef]);
|
|
40
|
+
trackFocusLastSegment();
|
|
41
|
+
}, [trackFocusLastSegment]);
|
|
52
42
|
const onHoursFocus = React.useCallback(() => {
|
|
53
|
-
|
|
54
|
-
}, [
|
|
43
|
+
trackFocusHourInput();
|
|
44
|
+
}, [trackFocusHourInput]);
|
|
55
45
|
const onHoursChange = React.useCallback(e => {
|
|
56
|
-
var _e$target
|
|
46
|
+
var _e$target;
|
|
57
47
|
|
|
58
48
|
let newHours = e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value; // converts hours 2~9 to 07~09
|
|
59
49
|
|
|
60
50
|
if (Number.parseInt(newHours, 10) > 1) newHours = stringHelpers.prependStringWithPlaceHolders(newHours, 2);
|
|
61
51
|
handleChangeHours(newHours, e); // auto-advance functionality:
|
|
62
52
|
|
|
63
|
-
if (newHours.length === 2)
|
|
64
|
-
}, [
|
|
53
|
+
if (newHours.length === 2) trackFocusMinuteInput();
|
|
54
|
+
}, [handleChangeHours, trackFocusMinuteInput]);
|
|
65
55
|
const onHoursKeyDown = React.useCallback(e => {
|
|
66
|
-
var _lastSegmentRef$curre, _lastSegmentRef$curre2;
|
|
67
|
-
|
|
68
56
|
const {
|
|
69
57
|
key,
|
|
70
58
|
ctrlKey,
|
|
71
59
|
metaKey
|
|
72
60
|
} = e;
|
|
73
61
|
const hoursStringConvertedToInteger = Number.parseInt(hours, 10);
|
|
74
|
-
if (
|
|
75
|
-
if (
|
|
62
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.preventDefault();
|
|
63
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.stopPropagation();
|
|
76
64
|
if (key === 'Home') onHomeKeyDown();
|
|
77
65
|
if (key === 'End') onEndKeyDown();
|
|
78
66
|
|
|
@@ -85,24 +73,20 @@ const useTimeInputs = () => {
|
|
|
85
73
|
}
|
|
86
74
|
|
|
87
75
|
if (!Number.isNaN(hoursStringConvertedToInteger) && key === ':') {
|
|
88
|
-
var _minutesInputRef$curr3, _minutesInputRef$curr4;
|
|
89
|
-
|
|
90
76
|
const newHours = stringHelpers.prependStringWithPlaceHolders("".concat(hoursStringConvertedToInteger), 2);
|
|
91
77
|
handleChangeHours(newHours, e); // auto-advance functionality:
|
|
92
78
|
|
|
93
|
-
if (newHours.length === 2)
|
|
79
|
+
if (newHours.length === 2) trackFocusMinuteInput();
|
|
94
80
|
} // regressive backspace functionality
|
|
95
81
|
|
|
96
82
|
|
|
97
83
|
if (key === 'Backspace' && hours.length === 0 && isWithDateInputs) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
yearInputRef === null || yearInputRef === void 0 ? void 0 : (_yearInputRef$current = yearInputRef.current) === null || _yearInputRef$current === void 0 ? void 0 : (_yearInputRef$current2 = _yearInputRef$current.focus) === null || _yearInputRef$current2 === void 0 ? void 0 : _yearInputRef$current2.call(_yearInputRef$current);
|
|
84
|
+
trackFocusYearInput();
|
|
101
85
|
} // focus last fragment on fill with now
|
|
102
86
|
|
|
103
87
|
|
|
104
|
-
if ((ctrlKey || metaKey) && key === ';')
|
|
105
|
-
}, [hours,
|
|
88
|
+
if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();
|
|
89
|
+
}, [hours, isWithDateInputs, trackFocusYearInput, onHomeKeyDown, onEndKeyDown, trackFocusLastSegment, trackFocusMinuteInput, handleChangeHours]);
|
|
106
90
|
const onHoursBlur = React.useCallback(e => {
|
|
107
91
|
var _e$target2;
|
|
108
92
|
|
|
@@ -114,30 +98,27 @@ const useTimeInputs = () => {
|
|
|
114
98
|
});
|
|
115
99
|
}, [handleChangeHours]);
|
|
116
100
|
const onMinutesFocus = React.useCallback(() => {
|
|
117
|
-
|
|
118
|
-
}, [
|
|
101
|
+
trackFocusMinuteInput();
|
|
102
|
+
}, [trackFocusMinuteInput]);
|
|
119
103
|
const onMinutesChange = React.useCallback(e => {
|
|
120
|
-
var _e$target3
|
|
104
|
+
var _e$target3;
|
|
121
105
|
|
|
122
106
|
let newMinutes = e === null || e === void 0 ? void 0 : (_e$target3 = e.target) === null || _e$target3 === void 0 ? void 0 : _e$target3.value; // converts minutes 7~9 to 07~09
|
|
123
107
|
|
|
124
108
|
if (Number.parseInt(newMinutes, 10) > 6) newMinutes = stringHelpers.prependStringWithPlaceHolders(newMinutes, 2);
|
|
125
109
|
handleChangeMinutes(newMinutes, e); // auto-advance functionality:
|
|
126
|
-
// if (newMinutes.length === 2) secondsInputRef?.current?.focus?.();
|
|
127
110
|
|
|
128
|
-
if (newMinutes.length === 2)
|
|
129
|
-
}, [
|
|
111
|
+
if (newMinutes.length === 2) trackFocusMeridiemInput();
|
|
112
|
+
}, [handleChangeMinutes, trackFocusMeridiemInput]);
|
|
130
113
|
const onMinutesKeyDown = React.useCallback(e => {
|
|
131
|
-
var _lastSegmentRef$curre3, _lastSegmentRef$curre4;
|
|
132
|
-
|
|
133
114
|
const {
|
|
134
115
|
key,
|
|
135
116
|
ctrlKey,
|
|
136
117
|
metaKey
|
|
137
118
|
} = e;
|
|
138
119
|
const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
|
|
139
|
-
if (
|
|
140
|
-
if (
|
|
120
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.preventDefault();
|
|
121
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.stopPropagation();
|
|
141
122
|
if (key === 'Home') onHomeKeyDown();
|
|
142
123
|
if (key === 'End') onEndKeyDown();
|
|
143
124
|
|
|
@@ -150,25 +131,20 @@ const useTimeInputs = () => {
|
|
|
150
131
|
}
|
|
151
132
|
|
|
152
133
|
if (!Number.isNaN(minutesStringConvertedToInteger) && key === ' ') {
|
|
153
|
-
var _meridiemInputRef$cur5, _meridiemInputRef$cur6;
|
|
154
|
-
|
|
155
134
|
const newMinutes = stringHelpers.prependStringWithPlaceHolders("".concat(minutesStringConvertedToInteger), 2);
|
|
156
135
|
handleChangeMinutes(newMinutes, e); // auto-advance functionality:
|
|
157
|
-
// if (newMinutes.length === 2) secondsInputRef?.current?.focus?.();
|
|
158
136
|
|
|
159
|
-
if (newMinutes.length === 2)
|
|
137
|
+
if (newMinutes.length === 2) trackFocusMeridiemInput();
|
|
160
138
|
} // regressive backspace functionality
|
|
161
139
|
|
|
162
140
|
|
|
163
141
|
if (key === 'Backspace' && (minutes === null || minutes === void 0 ? void 0 : minutes.length) === 0) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current3 = hourInputRef.current) === null || _hourInputRef$current3 === void 0 ? void 0 : (_hourInputRef$current4 = _hourInputRef$current3.focus) === null || _hourInputRef$current4 === void 0 ? void 0 : _hourInputRef$current4.call(_hourInputRef$current3);
|
|
142
|
+
trackFocusHourInput();
|
|
167
143
|
} // focus last fragment on fill with now
|
|
168
144
|
|
|
169
145
|
|
|
170
|
-
if ((ctrlKey || metaKey) && key === ';')
|
|
171
|
-
}, [minutes, onHomeKeyDown, onEndKeyDown,
|
|
146
|
+
if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();
|
|
147
|
+
}, [minutes, onHomeKeyDown, onEndKeyDown, trackFocusLastSegment, minutesInterval, handleChangeMinutes, trackFocusMeridiemInput, trackFocusHourInput]);
|
|
172
148
|
const onMinutesBlur = React.useCallback(e => {
|
|
173
149
|
var _e$target4;
|
|
174
150
|
|
|
@@ -178,8 +154,8 @@ const useTimeInputs = () => {
|
|
|
178
154
|
});
|
|
179
155
|
}, [handleChangeMinutes]);
|
|
180
156
|
const onMeridiemFocus = React.useCallback(() => {
|
|
181
|
-
|
|
182
|
-
}, [
|
|
157
|
+
trackFocusMeridiemInput();
|
|
158
|
+
}, [trackFocusMeridiemInput]);
|
|
183
159
|
const onMeridiemChange = React.useCallback(e => {
|
|
184
160
|
var _e$target5, _e$target5$value, _e$target5$value$toUp;
|
|
185
161
|
|
|
@@ -191,35 +167,29 @@ const useTimeInputs = () => {
|
|
|
191
167
|
handleChangeMeridiem(newMeridiem, e); // auto-advance functionality:
|
|
192
168
|
|
|
193
169
|
if (newMeridiem.length === 2 && withAnyRightController) {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
if (withClearBtn) (_clearButtonRef$curre3 = clearButtonRef.current) === null || _clearButtonRef$curre3 === void 0 ? void 0 : (_clearButtonRef$curre4 = _clearButtonRef$curre3.focus) === null || _clearButtonRef$curre4 === void 0 ? void 0 : _clearButtonRef$curre4.call(_clearButtonRef$curre3);else if (withAnyPicker) pickerButtonRef === null || pickerButtonRef === void 0 ? void 0 : (_pickerButtonRef$curr3 = pickerButtonRef.current) === null || _pickerButtonRef$curr3 === void 0 ? void 0 : (_pickerButtonRef$curr4 = _pickerButtonRef$curr3.focus) === null || _pickerButtonRef$curr4 === void 0 ? void 0 : _pickerButtonRef$curr4.call(_pickerButtonRef$curr3);
|
|
170
|
+
if (withClearBtn) trackFocusClearBtn();else if (withAnyPicker) trackFocusPicker();
|
|
197
171
|
}
|
|
198
|
-
}, [meridiem, handleChangeMeridiem, withAnyRightController, withClearBtn,
|
|
172
|
+
}, [meridiem, handleChangeMeridiem, withAnyRightController, withClearBtn, trackFocusClearBtn, withAnyPicker, trackFocusPicker]);
|
|
199
173
|
const onMeridiemKeyDown = React.useCallback(e => {
|
|
200
|
-
var _lastSegmentRef$curre5, _lastSegmentRef$curre6;
|
|
201
|
-
|
|
202
174
|
const {
|
|
203
175
|
key,
|
|
204
176
|
ctrlKey,
|
|
205
177
|
metaKey
|
|
206
178
|
} = e;
|
|
207
|
-
if (
|
|
208
|
-
if (
|
|
179
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.preventDefault();
|
|
180
|
+
if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.stopPropagation();
|
|
209
181
|
if (key === 'Home') onHomeKeyDown();
|
|
210
182
|
if (key === 'End') onEndKeyDown();
|
|
211
183
|
if (key === 'ArrowUp' && meridiem !== 'AM') handleChangeMeridiem('AM', e);
|
|
212
184
|
if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e); // regressive backspace functionality
|
|
213
185
|
|
|
214
186
|
if (key === 'Backspace') {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
if ((meridiem === null || meridiem === void 0 ? void 0 : meridiem.length) === 2) handleChangeMeridiem('', e);else minutesInputRef === null || minutesInputRef === void 0 ? void 0 : (_minutesInputRef$curr5 = minutesInputRef.current) === null || _minutesInputRef$curr5 === void 0 ? void 0 : (_minutesInputRef$curr6 = _minutesInputRef$curr5.focus) === null || _minutesInputRef$curr6 === void 0 ? void 0 : _minutesInputRef$curr6.call(_minutesInputRef$curr5);
|
|
187
|
+
if ((meridiem === null || meridiem === void 0 ? void 0 : meridiem.length) === 2) handleChangeMeridiem('', e);else trackFocusMinuteInput();
|
|
218
188
|
} // focus last fragment on fill with now
|
|
219
189
|
|
|
220
190
|
|
|
221
|
-
if ((ctrlKey || metaKey) && key === ';')
|
|
222
|
-
}, [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem,
|
|
191
|
+
if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();
|
|
192
|
+
}, [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput]);
|
|
223
193
|
const onMeridiemBlur = React.useCallback(e => {
|
|
224
194
|
var _e$target6, _e$target6$value, _e$target6$value$toUp;
|
|
225
195
|
|
|
@@ -37,23 +37,11 @@ const announcableCardinalDays = {
|
|
|
37
37
|
30: 'thirtieth',
|
|
38
38
|
31: 'thirty first'
|
|
39
39
|
};
|
|
40
|
-
const homeEndAllArrowKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
|
|
41
|
-
const homeEndKeys = ['Home', 'End'];
|
|
42
|
-
const homeEndArrowUpDownDashSlashesKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', '-', '/', '\\'];
|
|
43
|
-
const homeEndArrowUpDownSpaceKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', ' '];
|
|
44
|
-
const homeEndArrowUpDownSemiKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown', ':'];
|
|
45
|
-
const homeEndArrowUpDownKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
|
|
46
40
|
const defaultMetaInfo = {
|
|
47
41
|
isAutomaticFillTrigger: false
|
|
48
42
|
};
|
|
49
43
|
|
|
50
44
|
exports.announcableCardinalDays = announcableCardinalDays;
|
|
51
45
|
exports.defaultMetaInfo = defaultMetaInfo;
|
|
52
|
-
exports.homeEndAllArrowKeys = homeEndAllArrowKeys;
|
|
53
|
-
exports.homeEndArrowUpDownDashSlashesKeys = homeEndArrowUpDownDashSlashesKeys;
|
|
54
|
-
exports.homeEndArrowUpDownKeys = homeEndArrowUpDownKeys;
|
|
55
|
-
exports.homeEndArrowUpDownSemiKeys = homeEndArrowUpDownSemiKeys;
|
|
56
|
-
exports.homeEndArrowUpDownSpaceKeys = homeEndArrowUpDownSpaceKeys;
|
|
57
|
-
exports.homeEndKeys = homeEndKeys;
|
|
58
46
|
exports.monthNames = monthNames;
|
|
59
47
|
exports.weekDays = weekDays;
|
|
@@ -33,50 +33,52 @@ const useGetStartingFocusedDay = () => {
|
|
|
33
33
|
onCalendarOpenFocusedDay
|
|
34
34
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
35
35
|
const dayFromInputValues = useGetDayFromDateString.useGetDayFromDateString();
|
|
36
|
+
const {
|
|
37
|
+
month: inputValuesSplitMonth,
|
|
38
|
+
day: inputValuesSplitDay,
|
|
39
|
+
year: inputValuesDaySplitYear
|
|
40
|
+
} = dayFromInputValues ? dateHelpers.getDateValuesFromDate(dayFromInputValues) : {
|
|
41
|
+
month: null,
|
|
42
|
+
day: null,
|
|
43
|
+
year: null
|
|
44
|
+
};
|
|
45
|
+
const isInputFilledAndValid = inputValuesSplitMonth && inputValuesSplitDay && inputValuesDaySplitYear && dateHelpers.isValidDayForTheMonth(inputValuesSplitMonth, inputValuesDaySplitYear, inputValuesSplitDay);
|
|
46
|
+
const isOnCalendarOpenFocusedDayEmpty = !onCalendarOpenFocusedDay;
|
|
47
|
+
const shouldFillWithOnCalendarOpenFocusedDay = !isInputFilledAndValid && !isOnCalendarOpenFocusedDayEmpty;
|
|
36
48
|
return React.useMemo(() => {
|
|
37
|
-
const startingDay = _objectSpread({}, empty);
|
|
49
|
+
const startingDay = _objectSpread({}, empty); // if input was filled start focus is the filled value (if it's valid day for the month)
|
|
38
50
|
|
|
39
|
-
if (dayFromInputValues) {
|
|
40
|
-
const {
|
|
41
|
-
month: inputValuesSplitMonth,
|
|
42
|
-
day: inputValuesSplitDay,
|
|
43
|
-
year: inputValuesDaySplitYear
|
|
44
|
-
} = dateHelpers.getDateValuesFromDate(dayFromInputValues);
|
|
45
|
-
const isInputFilledAndValid = inputValuesSplitMonth && inputValuesSplitDay && inputValuesDaySplitYear && dateHelpers.isValidDayForTheMonth(inputValuesSplitMonth, inputValuesDaySplitYear, inputValuesSplitDay);
|
|
46
|
-
const isOnCalendarOpenFocusedDayEmpty = !onCalendarOpenFocusedDay;
|
|
47
|
-
const shouldFillWithOnCalendarOpenFocusedDay = !isInputFilledAndValid && !isOnCalendarOpenFocusedDayEmpty; // if input was filled start focus is the filled value (if it's valid day for the month)
|
|
48
51
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
if (isInputFilledAndValid) {
|
|
53
|
+
startingDay.startFocusedMonth = inputValuesSplitMonth;
|
|
54
|
+
startingDay.startFocusedDay = inputValuesSplitDay;
|
|
55
|
+
startingDay.startFocusedYear = inputValuesDaySplitYear;
|
|
56
|
+
startingDay.startFocusedDate = dayFromInputValues; // if input was not filled (or filled invalid) and there is no onCalendarOpenFocusedDay start focus is not a day
|
|
57
|
+
} else if (isOnCalendarOpenFocusedDayEmpty) {
|
|
58
|
+
// if input was not filled and there is onCalendarOpenFocusedDay start focus is onCalendarOpenFocusedDay day
|
|
59
|
+
return empty;
|
|
60
|
+
} else if (shouldFillWithOnCalendarOpenFocusedDay) {
|
|
61
|
+
const {
|
|
62
|
+
month: focusedDaySplitMonth,
|
|
63
|
+
day: focusedDaySplitDay,
|
|
64
|
+
year: focusedDaySplitYear
|
|
65
|
+
} = stringHelpers.deconstructValuesFromDateString(onCalendarOpenFocusedDay);
|
|
66
|
+
const monthAsInt = numberHelpers.convertToPositiveNumberIfPossible(focusedDaySplitMonth);
|
|
67
|
+
const dayAsInt = numberHelpers.convertToPositiveNumberIfPossible(focusedDaySplitDay);
|
|
68
|
+
const yearAsInt = numberHelpers.convertToPositiveNumberIfPossible(focusedDaySplitYear); // if this condition is false, return will be the same as return empty
|
|
69
|
+
// because startFocusedMonth/Day/Year/Date will be === null
|
|
70
|
+
// which is the expected result
|
|
68
71
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
72
|
+
if (monthAsInt !== -1 && dayAsInt !== -1 && yearAsInt !== -1 && dateHelpers.isValidDayForTheMonth(monthAsInt - 1, yearAsInt, dayAsInt)) {
|
|
73
|
+
startingDay.startFocusedMonth = monthAsInt;
|
|
74
|
+
startingDay.startFocusedDay = dayAsInt;
|
|
75
|
+
startingDay.startFocusedYear = yearAsInt;
|
|
76
|
+
startingDay.startFocusedDate = new Date(yearAsInt, monthAsInt - 1, dayAsInt);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
return startingDay;
|
|
79
|
-
}, [dayFromInputValues, onCalendarOpenFocusedDay]);
|
|
81
|
+
}, [dayFromInputValues, inputValuesDaySplitYear, inputValuesSplitDay, inputValuesSplitMonth, isInputFilledAndValid, isOnCalendarOpenFocusedDayEmpty, onCalendarOpenFocusedDay, shouldFillWithOnCalendarOpenFocusedDay]);
|
|
80
82
|
};
|
|
81
83
|
|
|
82
84
|
exports.useGetStartingFocusedDay = useGetStartingFocusedDay;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
2
|
-
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
3
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
4
2
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
5
3
|
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
6
4
|
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
7
5
|
import 'core-js/modules/esnext.iterator.filter.js';
|
|
6
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
7
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
8
8
|
import { useRef, useState, useCallback, useEffect, useMemo } from 'react';
|
|
9
9
|
import { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';
|
|
10
10
|
import { useVirtual } from 'react-virtual';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
1
3
|
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
4
|
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
5
|
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
6
|
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
7
|
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
6
|
-
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
-
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
8
8
|
import { useRef, useState, useCallback, useEffect, useMemo } from 'react';
|
|
9
9
|
import { useVirtual } from 'react-virtual';
|
|
10
10
|
import { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes } from '@elliemae/ds-props-helpers';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
1
3
|
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
4
|
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
5
|
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
6
|
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
7
|
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
6
|
-
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
-
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
8
8
|
import { useState, useEffect, useCallback, useMemo } from 'react';
|
|
9
9
|
import '../../date-time-picker/ControlledDateTimePicker.js';
|
|
10
10
|
import 'core-js/modules/esnext.async-iterator.map.js';
|
|
@@ -18,7 +18,7 @@ const useChangeHandlers = _ref => {
|
|
|
18
18
|
relevantValues,
|
|
19
19
|
destructuredValues,
|
|
20
20
|
propsBasedOnType,
|
|
21
|
-
|
|
21
|
+
focusTrackers
|
|
22
22
|
} = _ref;
|
|
23
23
|
const {
|
|
24
24
|
tempDateString,
|
|
@@ -52,8 +52,8 @@ const useChangeHandlers = _ref => {
|
|
|
52
52
|
meridiem
|
|
53
53
|
} = destructuredValues;
|
|
54
54
|
const {
|
|
55
|
-
|
|
56
|
-
} =
|
|
55
|
+
trackFocusFirstSegment
|
|
56
|
+
} = focusTrackers;
|
|
57
57
|
const getDateMetaInfo = useCallback(function () {
|
|
58
58
|
let newDateString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
59
59
|
let metaInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
@@ -83,7 +83,7 @@ const useChangeHandlers = _ref => {
|
|
|
83
83
|
setTimeString(newTimeString);
|
|
84
84
|
const newDateTimeString = "".concat(newDateString, " ").concat(newTimeString);
|
|
85
85
|
|
|
86
|
-
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
86
|
+
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaInfo), getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
87
87
|
newDateString,
|
|
88
88
|
newTimeString,
|
|
89
89
|
newDateTimeString
|
|
@@ -100,7 +100,7 @@ const useChangeHandlers = _ref => {
|
|
|
100
100
|
setTempDateString(newDateString);
|
|
101
101
|
const newDateTimeString = "".concat(newDateString, " ").concat(tempTimeString);
|
|
102
102
|
|
|
103
|
-
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(tempTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
103
|
+
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaInfo), getTimeMetaInfo(tempTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
104
104
|
newDateString,
|
|
105
105
|
newTimeString: tempTimeString,
|
|
106
106
|
newDateTimeString
|
|
@@ -116,7 +116,7 @@ const useChangeHandlers = _ref => {
|
|
|
116
116
|
setTimeString(newTimeString);
|
|
117
117
|
const newDateTimeString = "".concat(tempDateString, " ").concat(newTimeString);
|
|
118
118
|
|
|
119
|
-
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(tempDateString, metaInfo)), {}, {
|
|
119
|
+
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaInfo), getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(tempDateString, metaInfo)), {}, {
|
|
120
120
|
newDateTimeString,
|
|
121
121
|
newDateString: tempDateString,
|
|
122
122
|
newTimeString
|
|
@@ -233,12 +233,8 @@ const useChangeHandlers = _ref => {
|
|
|
233
233
|
if (isDateTime) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);
|
|
234
234
|
if (isDate) handleChangeComposedDateString('__/__/____', metaInfo);
|
|
235
235
|
if (isTime) handleChangeComposedTimeString('__:__ __', metaInfo);
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
(_firstSegmentRef$curr = firstSegmentRef.current) === null || _firstSegmentRef$curr === void 0 ? void 0 : _firstSegmentRef$curr.focus();
|
|
240
|
-
});
|
|
241
|
-
}, [appOnDayChange, appOnHourChange, appOnMeridiemChange, appOnMinuteChange, appOnMonthChange, appOnYearChange, firstSegmentRef, handleChangeComposedDateString, handleChangeComposedDateTimeString, handleChangeComposedTimeString, isDate, isDateTime, isTime]);
|
|
236
|
+
trackFocusFirstSegment();
|
|
237
|
+
}, [appOnDayChange, appOnHourChange, appOnMeridiemChange, appOnMinuteChange, appOnMonthChange, appOnYearChange, handleChangeComposedDateString, handleChangeComposedDateTimeString, handleChangeComposedTimeString, isDate, isDateTime, isTime, trackFocusFirstSegment]);
|
|
242
238
|
return useMemo(() => ({
|
|
243
239
|
handleChangeComposedDateTimeString,
|
|
244
240
|
handleChangeComposedDateString,
|
|
@@ -4,10 +4,10 @@ import 'core-js/modules/esnext.iterator.filter.js';
|
|
|
4
4
|
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
5
|
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
6
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
-
import '
|
|
8
|
-
import React, { useState } from 'react';
|
|
7
|
+
import React from 'react';
|
|
9
8
|
import { getDataProps } from '@elliemae/ds-props-helpers';
|
|
10
9
|
import { useGetDatePickerWithDefaultsProps } from './useGetPropsWithDefault.js';
|
|
10
|
+
import { useFocusTracker } from './useFocusTracker.js';
|
|
11
11
|
import { useGetFlags } from './useGetFlags.js';
|
|
12
12
|
import { useGetReferences } from './useGetReferences.js';
|
|
13
13
|
import { useRelevantValueFromProps } from './useRelevantValueFromProps.js';
|
|
@@ -27,6 +27,10 @@ const useControlledDateTimePicker = props => {
|
|
|
27
27
|
const flags = useGetFlags(propsWithDefaults);
|
|
28
28
|
const DOMRefs = useGetReferences(flags); // refs are used for "auto-advance" feature
|
|
29
29
|
|
|
30
|
+
const focusTrackers = useFocusTracker({
|
|
31
|
+
DOMRefs,
|
|
32
|
+
flags
|
|
33
|
+
});
|
|
30
34
|
const relevantValues = useRelevantValueFromProps(propsWithDefaults);
|
|
31
35
|
const propsBasedOnType = useGetPropsBasedOnType(propsWithDefaults);
|
|
32
36
|
const destructuredValues = useGetDestructuredValues(_objectSpread(_objectSpread({}, propsBasedOnType), flags));
|
|
@@ -34,17 +38,18 @@ const useControlledDateTimePicker = props => {
|
|
|
34
38
|
relevantValues,
|
|
35
39
|
destructuredValues,
|
|
36
40
|
propsBasedOnType,
|
|
37
|
-
DOMRefs
|
|
41
|
+
DOMRefs,
|
|
42
|
+
focusTrackers
|
|
38
43
|
});
|
|
39
44
|
const globalKeyHandlers = useGlobalKeyHandlers({
|
|
40
45
|
changeHandlers,
|
|
41
46
|
propsBasedOnType,
|
|
42
47
|
DOMRefs,
|
|
43
|
-
flags
|
|
48
|
+
flags,
|
|
49
|
+
focusTrackers
|
|
44
50
|
}); // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
|
|
45
51
|
|
|
46
52
|
const dataAttrs = getDataProps(propsWithDefaults);
|
|
47
|
-
const [latestInteractionRegion, setLatestInteractionRegion] = useState('');
|
|
48
53
|
const {
|
|
49
54
|
announcedDateValues,
|
|
50
55
|
announcedTimeValues
|
|
@@ -55,13 +60,12 @@ const useControlledDateTimePicker = props => {
|
|
|
55
60
|
isWithTimeInputs
|
|
56
61
|
} = flags;
|
|
57
62
|
const ariaCurrentValueForInputs = "current values: ".concat(isWithDateInputs ? "".concat(announcedDateValues) : '').concat(isDateTimeSelector ? ', ' : '').concat(isWithTimeInputs ? "".concat(announcedTimeValues) : '');
|
|
58
|
-
const ctx = React.useMemo(() => _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
63
|
+
const ctx = React.useMemo(() => _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
59
64
|
props: propsWithDefaults,
|
|
60
|
-
latestInteractionRegion,
|
|
61
|
-
setLatestInteractionRegion,
|
|
62
65
|
ariaCurrentValueForInputs,
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
63
67
|
dataAttrs
|
|
64
|
-
}, flags), DOMRefs), relevantValues), propsBasedOnType), destructuredValues), changeHandlers), globalKeyHandlers), [propsWithDefaults,
|
|
68
|
+
}, focusTrackers), flags), DOMRefs), relevantValues), propsBasedOnType), destructuredValues), changeHandlers), globalKeyHandlers), [propsWithDefaults, ariaCurrentValueForInputs, dataAttrs, focusTrackers, flags, DOMRefs, relevantValues, propsBasedOnType, destructuredValues, changeHandlers, globalKeyHandlers]);
|
|
65
69
|
return ctx;
|
|
66
70
|
};
|
|
67
71
|
|