@elliemae/ds-controlled-form 2.0.0-alpha.10 → 2.0.0-alpha.14
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/controlled-checkbox/ControlledCheckbox.js +11 -4
- package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
- package/cjs/controlled-checkbox/propTypes.js +5 -4
- package/cjs/controlled-checkbox/styles.js +84 -48
- package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
- package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
- package/cjs/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
- package/cjs/controlled-date-range-picker/config/useControlledDateRangePicker.js +19 -3
- package/cjs/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +29 -4
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +8 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +12 -1
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +161 -18
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +25 -22
- package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +5 -6
- package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
- package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +35 -14
- package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +17 -13
- package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +104 -36
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +12 -19
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -16
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +326 -121
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +9 -45
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -23
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +59 -58
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +55 -25
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +19 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +11 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -5
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +11 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +13 -9
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +201 -139
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +11 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +64 -141
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +12 -7
- package/cjs/controlled-date-time-picker/parts/Styleds.js +70 -31
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +17 -13
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +98 -176
- package/cjs/controlled-date-time-picker/propTypes.js +3 -1
- package/cjs/controlled-date-time-picker/utils/constants.js +16 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +39 -21
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +28 -18
- package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/cjs/controlled-toggle/ControlledToggle.js +21 -14
- package/cjs/controlled-toggle/styles.js +138 -71
- package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
- package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
- package/esm/controlled-checkbox/ControlledCheckbox.js +11 -4
- package/esm/controlled-checkbox/config/useValidateProps.js +5 -7
- package/esm/controlled-checkbox/propTypes.js +5 -4
- package/esm/controlled-checkbox/styles.js +84 -48
- package/esm/controlled-checkbox/utils/setMultipleRefs.js +4 -0
- package/esm/controlled-checkbox/utils/styleHelpers.js +15 -27
- package/esm/controlled-date-range-picker/ControlledDateRangePickerDatatestid.js +1 -18
- package/esm/controlled-date-range-picker/config/useControlledDateRangePicker.js +15 -3
- package/esm/controlled-date-range-picker/config/useRangePickerLogic.js +21 -12
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +8 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -4
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +8 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
- package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +12 -1
- package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +5 -0
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +163 -20
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +25 -22
- package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +15 -3
- package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
- package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +17 -13
- package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +104 -36
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -7
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -28
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +3 -6
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +26 -16
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +321 -117
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +9 -45
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +1 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +49 -24
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +60 -59
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +53 -23
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +19 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +11 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +11 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +196 -135
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +5 -4
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +8 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +6 -61
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +65 -142
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +13 -8
- package/esm/controlled-date-time-picker/parts/Styleds.js +68 -29
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +17 -13
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -12
- package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +99 -173
- package/esm/controlled-date-time-picker/propTypes.js +3 -1
- package/esm/controlled-date-time-picker/utils/constants.js +10 -1
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +39 -22
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +28 -18
- package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/esm/controlled-toggle/ControlledToggle.js +21 -14
- package/esm/controlled-toggle/styles.js +138 -71
- package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
- package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
- package/package.json +21 -12
- package/types/controlled-checkbox/ControlledCheckbox.d.ts +60 -9
- package/types/controlled-checkbox/config/useValidateProps.d.ts +1 -1
- package/types/controlled-checkbox/index.d.d.ts +1 -0
- package/types/controlled-checkbox/propTypes.d.ts +55 -8
- package/types/controlled-checkbox/styles.d.ts +4 -4
- package/types/controlled-checkbox/tests/DSControlledCheckbox.keyboard.test.d.ts +1 -0
- package/types/controlled-checkbox/tests/DSControlledCheckbox.test.d.ts +1 -0
- package/types/controlled-checkbox/tests/DSControllledCheckbox.events.test.d.ts +1 -0
- package/types/controlled-date-range-picker/ControlledDateRangePicker.d.ts +12 -2
- package/types/controlled-date-range-picker/ControlledDateRangePickerDatatestid.d.ts +1 -18
- package/types/controlled-date-range-picker/propTypes.d.ts +7 -1
- package/types/controlled-date-range-picker/tests/date-range-picker.auto-advance.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.classes.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.clear-button.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.keyboard-focus.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.manual-delete-values.test.d.ts +1 -0
- package/types/controlled-date-range-picker/tests/date-range-picker.types-dom.test.d.ts +1 -0
- package/types/controlled-date-time-picker/ControlledDateTimePicker.d.ts +84 -21
- package/types/controlled-date-time-picker/ControlledDateTimePickerDatatestid.d.ts +3 -0
- package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +16 -67
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +1 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +2 -17
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +3 -6
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +6 -23
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +16 -67
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +1 -0
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -12
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -10
- package/types/controlled-date-time-picker/parts/Styleds.d.ts +12 -29
- package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +2 -1
- package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.data-entry-typing.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.fill-with-now.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.regressive-backspace.test.d.ts +1 -0
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard.shortcut-clear.test.d.ts +1 -0
- package/types/controlled-date-time-picker/utils/constants.d.ts +9 -0
- package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +1 -0
- package/types/controlled-toggle/ControlledToggle.d.ts +78 -13
- package/types/controlled-toggle/propTypes.d.ts +73 -12
- package/types/controlled-toggle/styles.d.ts +7 -7
- package/cjs/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -53
- package/cjs/package.json +0 -7
- package/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
- package/esm/package.json +0 -7
- package/types/controlled-date-time-picker/parts/TimeInputs/SSInput.d.ts +0 -13
|
@@ -2,29 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
5
|
var React = require('react');
|
|
7
6
|
var ControlledDateTimePickerCTX = require('../../ControlledDateTimePickerCTX.js');
|
|
7
|
+
var constants = require('../../utils/constants.js');
|
|
8
8
|
var stringHelpers = require('../../utils/stringHelpers.js');
|
|
9
|
-
var timeHelpers = require('../../utils/timeHelpers.js');
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
14
|
-
|
|
15
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
-
|
|
17
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
10
|
+
/* eslint-disable complexity */
|
|
18
11
|
const useTimeInputs = () => {
|
|
19
12
|
const {
|
|
20
13
|
props: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// onSecondsChange: appOnSecondsChange,
|
|
24
|
-
onMeridiemChange: appOnMeridiemChange,
|
|
25
|
-
getIsDisabledTime,
|
|
26
|
-
minutesInterval
|
|
14
|
+
minutesInterval,
|
|
15
|
+
disabled
|
|
27
16
|
},
|
|
17
|
+
lastSegmentRef,
|
|
28
18
|
hours,
|
|
29
19
|
minutes,
|
|
30
20
|
meridiem,
|
|
@@ -32,15 +22,18 @@ const useTimeInputs = () => {
|
|
|
32
22
|
withAnyRightController,
|
|
33
23
|
withAnyPicker,
|
|
34
24
|
withClearBtn,
|
|
25
|
+
isWithDateInputs,
|
|
35
26
|
hourInputRef,
|
|
36
27
|
minutesInputRef,
|
|
37
|
-
// secondsInputRef,
|
|
38
28
|
meridiemInputRef,
|
|
29
|
+
yearInputRef,
|
|
39
30
|
clearButtonRef,
|
|
40
31
|
pickerButtonRef,
|
|
41
32
|
monthInputRef,
|
|
42
33
|
autoFocusHourInput,
|
|
43
|
-
|
|
34
|
+
handleChangeHours,
|
|
35
|
+
handleChangeMinutes,
|
|
36
|
+
handleChangeMeridiem,
|
|
44
37
|
setLatestInteractionRegion
|
|
45
38
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
46
39
|
const setLatestInteractionRegionTimeInputs = React.useCallback(() => {
|
|
@@ -56,23 +49,6 @@ const useTimeInputs = () => {
|
|
|
56
49
|
|
|
57
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);
|
|
58
51
|
}, [withAnyPicker, pickerButtonRef, withClearBtn, clearButtonRef, meridiemInputRef]);
|
|
59
|
-
const handleChangeHours = React.useCallback((newHours, e, metaInfo = {
|
|
60
|
-
isAutomaticFillTrigger: false
|
|
61
|
-
}) => {
|
|
62
|
-
const newTimeString = stringHelpers.getFormattedTimeString({
|
|
63
|
-
hours: newHours,
|
|
64
|
-
minutes,
|
|
65
|
-
// seconds,
|
|
66
|
-
meridiem
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), timeHelpers.getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
70
|
-
newTimeString
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
appOnHourChange(newHours, e, finalMetaInfo);
|
|
74
|
-
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
75
|
-
}, [minutes, meridiem, getIsDisabledTime, appOnHourChange, handleChangeComposedTimeString]);
|
|
76
52
|
const onHoursFocus = React.useCallback(() => {
|
|
77
53
|
setLatestInteractionRegionTimeInputs();
|
|
78
54
|
}, [setLatestInteractionRegionTimeInputs]);
|
|
@@ -87,25 +63,46 @@ const useTimeInputs = () => {
|
|
|
87
63
|
if (newHours.length === 2) minutesInputRef === null || minutesInputRef === void 0 ? void 0 : (_minutesInputRef$curr = minutesInputRef.current) === null || _minutesInputRef$curr === void 0 ? void 0 : (_minutesInputRef$curr2 = _minutesInputRef$curr.focus) === null || _minutesInputRef$curr2 === void 0 ? void 0 : _minutesInputRef$curr2.call(_minutesInputRef$curr);
|
|
88
64
|
}, [minutesInputRef, handleChangeHours]);
|
|
89
65
|
const onHoursKeyDown = React.useCallback(e => {
|
|
66
|
+
var _lastSegmentRef$curre, _lastSegmentRef$curre2;
|
|
67
|
+
|
|
90
68
|
const {
|
|
91
|
-
key
|
|
69
|
+
key,
|
|
70
|
+
ctrlKey,
|
|
71
|
+
metaKey
|
|
92
72
|
} = e;
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
if (
|
|
96
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
73
|
+
const hoursStringConvertedToInteger = Number.parseInt(hours, 10);
|
|
74
|
+
if (constants.homeEndArrowUpDownSemiKeys.includes(key)) e.preventDefault();
|
|
75
|
+
if (constants.homeEndArrowUpDownSemiKeys.includes(key)) e.stopPropagation();
|
|
97
76
|
if (key === 'Home') onHomeKeyDown();
|
|
98
77
|
if (key === 'End') onEndKeyDown();
|
|
99
78
|
|
|
100
79
|
if (key === 'ArrowUp' || key === 'ArrowDown') {
|
|
101
|
-
const hoursStringConvertedToInteger = Number.parseInt(hours, 10);
|
|
102
80
|
const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;
|
|
103
81
|
let newHours;
|
|
104
82
|
if (key === 'ArrowUp') newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;else newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;
|
|
105
|
-
newHours = stringHelpers.prependStringWithPlaceHolders(
|
|
83
|
+
newHours = stringHelpers.prependStringWithPlaceHolders("".concat(newHours), 2);
|
|
106
84
|
handleChangeHours(newHours, e);
|
|
107
85
|
}
|
|
108
|
-
|
|
86
|
+
|
|
87
|
+
if (!Number.isNaN(hoursStringConvertedToInteger) && key === ':') {
|
|
88
|
+
var _minutesInputRef$curr3, _minutesInputRef$curr4;
|
|
89
|
+
|
|
90
|
+
const newHours = stringHelpers.prependStringWithPlaceHolders("".concat(hoursStringConvertedToInteger), 2);
|
|
91
|
+
handleChangeHours(newHours, e); // auto-advance functionality:
|
|
92
|
+
|
|
93
|
+
if (newHours.length === 2) minutesInputRef === null || minutesInputRef === void 0 ? void 0 : (_minutesInputRef$curr3 = minutesInputRef.current) === null || _minutesInputRef$curr3 === void 0 ? void 0 : (_minutesInputRef$curr4 = _minutesInputRef$curr3.focus) === null || _minutesInputRef$curr4 === void 0 ? void 0 : _minutesInputRef$curr4.call(_minutesInputRef$curr3);
|
|
94
|
+
} // regressive backspace functionality
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
if (key === 'Backspace' && hours.length === 0 && isWithDateInputs) {
|
|
98
|
+
var _yearInputRef$current, _yearInputRef$current2;
|
|
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);
|
|
101
|
+
} // focus last fragment on fill with now
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre = lastSegmentRef.current) === null || _lastSegmentRef$curre === void 0 ? void 0 : (_lastSegmentRef$curre2 = _lastSegmentRef$curre.focus) === null || _lastSegmentRef$curre2 === void 0 ? void 0 : _lastSegmentRef$curre2.call(_lastSegmentRef$curre);
|
|
105
|
+
}, [hours, onHomeKeyDown, onEndKeyDown, isWithDateInputs, lastSegmentRef, handleChangeHours, minutesInputRef, yearInputRef]);
|
|
109
106
|
const onHoursBlur = React.useCallback(e => {
|
|
110
107
|
var _e$target2;
|
|
111
108
|
|
|
@@ -116,23 +113,6 @@ const useTimeInputs = () => {
|
|
|
116
113
|
isAutomaticFillTrigger: true
|
|
117
114
|
});
|
|
118
115
|
}, [handleChangeHours]);
|
|
119
|
-
const handleChangeMinutes = React.useCallback((newMinutes, e, metaInfo = {
|
|
120
|
-
isAutomaticFillTrigger: false
|
|
121
|
-
}) => {
|
|
122
|
-
const newTimeString = stringHelpers.getFormattedTimeString({
|
|
123
|
-
hours,
|
|
124
|
-
minutes: newMinutes,
|
|
125
|
-
// seconds,
|
|
126
|
-
meridiem
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), timeHelpers.getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
130
|
-
newTimeString
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
appOnMinuteChange(newMinutes, e, finalMetaInfo);
|
|
134
|
-
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
135
|
-
}, [hours, meridiem, getIsDisabledTime, appOnMinuteChange, handleChangeComposedTimeString]);
|
|
136
116
|
const onMinutesFocus = React.useCallback(() => {
|
|
137
117
|
setLatestInteractionRegionTimeInputs();
|
|
138
118
|
}, [setLatestInteractionRegionTimeInputs]);
|
|
@@ -148,25 +128,47 @@ const useTimeInputs = () => {
|
|
|
148
128
|
if (newMinutes.length === 2) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur3 = meridiemInputRef.current) === null || _meridiemInputRef$cur3 === void 0 ? void 0 : (_meridiemInputRef$cur4 = _meridiemInputRef$cur3.focus) === null || _meridiemInputRef$cur4 === void 0 ? void 0 : _meridiemInputRef$cur4.call(_meridiemInputRef$cur3);
|
|
149
129
|
}, [meridiemInputRef, handleChangeMinutes]);
|
|
150
130
|
const onMinutesKeyDown = React.useCallback(e => {
|
|
131
|
+
var _lastSegmentRef$curre3, _lastSegmentRef$curre4;
|
|
132
|
+
|
|
151
133
|
const {
|
|
152
|
-
key
|
|
134
|
+
key,
|
|
135
|
+
ctrlKey,
|
|
136
|
+
metaKey
|
|
153
137
|
} = e;
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
if (
|
|
157
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
138
|
+
const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
|
|
139
|
+
if (constants.homeEndArrowUpDownSpaceKeys.includes(key)) e.preventDefault();
|
|
140
|
+
if (constants.homeEndArrowUpDownSpaceKeys.includes(key)) e.stopPropagation();
|
|
158
141
|
if (key === 'Home') onHomeKeyDown();
|
|
159
142
|
if (key === 'End') onEndKeyDown();
|
|
160
143
|
|
|
161
144
|
if (key === 'ArrowUp' || key === 'ArrowDown') {
|
|
162
|
-
const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);
|
|
163
145
|
const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;
|
|
164
146
|
let newMinutes;
|
|
165
147
|
if (key === 'ArrowUp') newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;else newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;
|
|
166
|
-
newMinutes = stringHelpers.prependStringWithPlaceHolders(
|
|
148
|
+
newMinutes = stringHelpers.prependStringWithPlaceHolders("".concat(newMinutes), 2);
|
|
167
149
|
handleChangeMinutes(newMinutes, e);
|
|
168
150
|
}
|
|
169
|
-
|
|
151
|
+
|
|
152
|
+
if (!Number.isNaN(minutesStringConvertedToInteger) && key === ' ') {
|
|
153
|
+
var _meridiemInputRef$cur5, _meridiemInputRef$cur6;
|
|
154
|
+
|
|
155
|
+
const newMinutes = stringHelpers.prependStringWithPlaceHolders("".concat(minutesStringConvertedToInteger), 2);
|
|
156
|
+
handleChangeMinutes(newMinutes, e); // auto-advance functionality:
|
|
157
|
+
// if (newMinutes.length === 2) secondsInputRef?.current?.focus?.();
|
|
158
|
+
|
|
159
|
+
if (newMinutes.length === 2) meridiemInputRef === null || meridiemInputRef === void 0 ? void 0 : (_meridiemInputRef$cur5 = meridiemInputRef.current) === null || _meridiemInputRef$cur5 === void 0 ? void 0 : (_meridiemInputRef$cur6 = _meridiemInputRef$cur5.focus) === null || _meridiemInputRef$cur6 === void 0 ? void 0 : _meridiemInputRef$cur6.call(_meridiemInputRef$cur5);
|
|
160
|
+
} // regressive backspace functionality
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
if (key === 'Backspace' && (minutes === null || minutes === void 0 ? void 0 : minutes.length) === 0) {
|
|
164
|
+
var _hourInputRef$current3, _hourInputRef$current4;
|
|
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);
|
|
167
|
+
} // focus last fragment on fill with now
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre3 = lastSegmentRef.current) === null || _lastSegmentRef$curre3 === void 0 ? void 0 : (_lastSegmentRef$curre4 = _lastSegmentRef$curre3.focus) === null || _lastSegmentRef$curre4 === void 0 ? void 0 : _lastSegmentRef$curre4.call(_lastSegmentRef$curre3);
|
|
171
|
+
}, [minutes, onHomeKeyDown, onEndKeyDown, lastSegmentRef, minutesInterval, handleChangeMinutes, meridiemInputRef, hourInputRef]);
|
|
170
172
|
const onMinutesBlur = React.useCallback(e => {
|
|
171
173
|
var _e$target4;
|
|
172
174
|
|
|
@@ -174,160 +176,80 @@ const useTimeInputs = () => {
|
|
|
174
176
|
if (newMinutes.length > 0 && newMinutes.length < 2) handleChangeMinutes(stringHelpers.prependStringWithPlaceHolders(newMinutes, 2), e, {
|
|
175
177
|
isAutomaticFillTrigger: true
|
|
176
178
|
});
|
|
177
|
-
}, [handleChangeMinutes]);
|
|
178
|
-
// (newSeconds, e, metaInfo = { isAutomaticFillTrigger: false }) => {
|
|
179
|
-
// const newTimeString = getFormattedTimeString({
|
|
180
|
-
// hours,
|
|
181
|
-
// minutes,
|
|
182
|
-
// seconds: newSeconds,
|
|
183
|
-
// meridiem,
|
|
184
|
-
// });
|
|
185
|
-
// appOnSecondsChange(newSeconds, e, metaInfo);
|
|
186
|
-
// handleChangeComposedTimeString(newTimeString, metaInfo);
|
|
187
|
-
// },
|
|
188
|
-
// [
|
|
189
|
-
// hours,
|
|
190
|
-
// minutes,
|
|
191
|
-
// meridiem,
|
|
192
|
-
// appOnSecondsChange,
|
|
193
|
-
// handleChangeComposedTimeString,
|
|
194
|
-
// ],
|
|
195
|
-
// );
|
|
196
|
-
// const onSecondsFocus: onFocusFuncT = useCallback(
|
|
197
|
-
// (e) => {
|
|
198
|
-
// setLatestInteractionRegionTimeInputs();
|
|
199
|
-
// },
|
|
200
|
-
// [setLatestInteractionRegionTimeInputs],
|
|
201
|
-
// );
|
|
202
|
-
// const onSecondsChange: onChangeFuncT = useCallback(
|
|
203
|
-
// (e) => {
|
|
204
|
-
// let newSeconds = e?.target?.value;
|
|
205
|
-
// // converts seconds 7~9 to 07~09
|
|
206
|
-
// if (Number.parseInt(newSeconds, 10) > 6)
|
|
207
|
-
// newSeconds = prependStringWithPlaceHolders(newSeconds, 2);
|
|
208
|
-
// handleChangeSeconds(newSeconds, e);
|
|
209
|
-
// // auto-advance functionality:
|
|
210
|
-
// if (newSeconds.length === 2) meridiemInputRef?.current?.focus?.();
|
|
211
|
-
// },
|
|
212
|
-
// [meridiemInputRef, handleChangeSeconds],
|
|
213
|
-
// );
|
|
214
|
-
// const onSecondsKeyDown: onKeyDownT = useCallback(
|
|
215
|
-
// (e) => {
|
|
216
|
-
// const { key } = e;
|
|
217
|
-
// const preventDefaultKeys = ['Home', 'End', 'ArrowUp', 'ArrowDown'];
|
|
218
|
-
// if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
219
|
-
// if (key === 'Home') onHomeKeyDown();
|
|
220
|
-
// if (key === 'End') onEndKeyDown();
|
|
221
|
-
// if (key === 'ArrowUp' || key === 'ArrowDown') {
|
|
222
|
-
// const secondsStringConvertedToInteger = Number.parseInt(seconds, 10);
|
|
223
|
-
// const secondsInteger = Number.isNaN(secondsStringConvertedToInteger) ? 0 : secondsStringConvertedToInteger;
|
|
224
|
-
// let newSeconds;
|
|
225
|
-
// if (key === 'ArrowUp') newSeconds = secondsInteger + 1 <= 59 ? secondsInteger + 1 : secondsInteger;
|
|
226
|
-
// else newSeconds = secondsInteger - 1 > 0 ? secondsInteger - 1 : 1;
|
|
227
|
-
// newSeconds = prependStringWithPlaceHolders(`${newSeconds}`, 2);
|
|
228
|
-
// handleChangeSeconds(newSeconds, e);
|
|
229
|
-
// }
|
|
230
|
-
// },
|
|
231
|
-
// [onHomeKeyDown, onEndKeyDown,handleChangeSeconds,newSeconds],
|
|
232
|
-
// );
|
|
233
|
-
// const onSecondsBlur: onBlurFuncT = useCallback(
|
|
234
|
-
// (e) => {
|
|
235
|
-
// const newSeconds = e?.target?.value;
|
|
236
|
-
// if (newSeconds.length > 0 && newSeconds.length < 2)
|
|
237
|
-
// handleChangeSeconds(prependStringWithPlaceHolders(newSeconds, 2), e, {
|
|
238
|
-
// isAutomaticFillTrigger: true,
|
|
239
|
-
// });
|
|
240
|
-
// },
|
|
241
|
-
// [handleChangeSeconds],
|
|
242
|
-
// );
|
|
243
|
-
|
|
244
|
-
const handleChangeMeridiem = React.useCallback((newMeridiem, e, metaInfo = {
|
|
245
|
-
isAutomaticFillTrigger: false
|
|
246
|
-
}) => {
|
|
247
|
-
const newTimeString = stringHelpers.getFormattedTimeString({
|
|
248
|
-
hours,
|
|
249
|
-
minutes,
|
|
250
|
-
// seconds,
|
|
251
|
-
meridiem: newMeridiem
|
|
252
|
-
});
|
|
253
|
-
|
|
254
|
-
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), timeHelpers.getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
255
|
-
newTimeString
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
appOnMeridiemChange(newMeridiem, e, finalMetaInfo);
|
|
259
|
-
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
260
|
-
}, [hours, minutes, getIsDisabledTime, appOnMeridiemChange, handleChangeComposedTimeString]);
|
|
179
|
+
}, [handleChangeMinutes]);
|
|
261
180
|
const onMeridiemFocus = React.useCallback(() => {
|
|
262
181
|
setLatestInteractionRegionTimeInputs();
|
|
263
182
|
}, [setLatestInteractionRegionTimeInputs]);
|
|
264
183
|
const onMeridiemChange = React.useCallback(e => {
|
|
265
184
|
var _e$target5, _e$target5$value, _e$target5$value$toUp;
|
|
266
185
|
|
|
267
|
-
let newMeridiem = e === null || e === void 0 ? void 0 : (_e$target5 = e.target) === null || _e$target5 === void 0 ? void 0 : (_e$target5$value = _e$target5.value) === null || _e$target5$value === void 0 ? void 0 : (_e$target5$value$toUp = _e$target5$value.toUpperCase) === null || _e$target5$value$toUp === void 0 ? void 0 : _e$target5$value$toUp.call(_e$target5$value);
|
|
268
|
-
if
|
|
186
|
+
let newMeridiem = e === null || e === void 0 ? void 0 : (_e$target5 = e.target) === null || _e$target5 === void 0 ? void 0 : (_e$target5$value = _e$target5.value) === null || _e$target5$value === void 0 ? void 0 : (_e$target5$value$toUp = _e$target5$value.toUpperCase) === null || _e$target5$value$toUp === void 0 ? void 0 : _e$target5$value$toUp.call(_e$target5$value); // if new value is length 1,
|
|
187
|
+
// if previous value was empty, auto-complete
|
|
188
|
+
// if previous value was not empty, set to empty (regressive backspace)
|
|
189
|
+
|
|
190
|
+
if (newMeridiem.length === 1) if (meridiem === '') newMeridiem = "".concat(newMeridiem, "M");else newMeridiem = '';
|
|
269
191
|
handleChangeMeridiem(newMeridiem, e); // auto-advance functionality:
|
|
270
192
|
|
|
271
193
|
if (newMeridiem.length === 2 && withAnyRightController) {
|
|
272
194
|
var _clearButtonRef$curre3, _clearButtonRef$curre4, _pickerButtonRef$curr3, _pickerButtonRef$curr4;
|
|
273
195
|
|
|
274
|
-
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);
|
|
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);
|
|
275
197
|
}
|
|
276
|
-
}, [handleChangeMeridiem, withAnyRightController,
|
|
198
|
+
}, [meridiem, handleChangeMeridiem, withAnyRightController, withClearBtn, clearButtonRef, withAnyPicker, pickerButtonRef]);
|
|
277
199
|
const onMeridiemKeyDown = React.useCallback(e => {
|
|
200
|
+
var _lastSegmentRef$curre5, _lastSegmentRef$curre6;
|
|
201
|
+
|
|
278
202
|
const {
|
|
279
|
-
key
|
|
203
|
+
key,
|
|
204
|
+
ctrlKey,
|
|
205
|
+
metaKey
|
|
280
206
|
} = e;
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
284
|
-
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
207
|
+
if (constants.homeEndArrowUpDownKeys.includes(key)) e.preventDefault();
|
|
208
|
+
if (constants.homeEndArrowUpDownKeys.includes(key)) e.stopPropagation();
|
|
285
209
|
if (key === 'Home') onHomeKeyDown();
|
|
286
210
|
if (key === 'End') onEndKeyDown();
|
|
287
211
|
if (key === 'ArrowUp' && meridiem !== 'AM') handleChangeMeridiem('AM', e);
|
|
288
|
-
if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e);
|
|
289
|
-
|
|
212
|
+
if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e); // regressive backspace functionality
|
|
213
|
+
|
|
214
|
+
if (key === 'Backspace') {
|
|
215
|
+
var _minutesInputRef$curr5, _minutesInputRef$curr6;
|
|
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);
|
|
218
|
+
} // focus last fragment on fill with now
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
if ((ctrlKey || metaKey) && key === ';') lastSegmentRef === null || lastSegmentRef === void 0 ? void 0 : (_lastSegmentRef$curre5 = lastSegmentRef.current) === null || _lastSegmentRef$curre5 === void 0 ? void 0 : (_lastSegmentRef$curre6 = _lastSegmentRef$curre5.focus) === null || _lastSegmentRef$curre6 === void 0 ? void 0 : _lastSegmentRef$curre6.call(_lastSegmentRef$curre5);
|
|
222
|
+
}, [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, lastSegmentRef, minutesInputRef]);
|
|
290
223
|
const onMeridiemBlur = React.useCallback(e => {
|
|
291
224
|
var _e$target6, _e$target6$value, _e$target6$value$toUp;
|
|
292
225
|
|
|
293
226
|
const newMeridiem = e === null || e === void 0 ? void 0 : (_e$target6 = e.target) === null || _e$target6 === void 0 ? void 0 : (_e$target6$value = _e$target6.value) === null || _e$target6$value === void 0 ? void 0 : (_e$target6$value$toUp = _e$target6$value.toUpperCase) === null || _e$target6$value$toUp === void 0 ? void 0 : _e$target6$value$toUp.call(_e$target6$value);
|
|
294
|
-
if (newMeridiem.length === 1) handleChangeMeridiem(
|
|
227
|
+
if (newMeridiem.length === 1) handleChangeMeridiem("".concat(newMeridiem, "M"), e, {
|
|
295
228
|
isAutomaticFillTrigger: true
|
|
296
229
|
});
|
|
297
230
|
}, [handleChangeMeridiem]);
|
|
298
231
|
return React.useMemo(() => ({
|
|
299
232
|
hours,
|
|
300
233
|
minutes,
|
|
301
|
-
// seconds,
|
|
302
234
|
meridiem,
|
|
303
235
|
autoFocusHourInput,
|
|
236
|
+
disabled,
|
|
304
237
|
handleChangeHours,
|
|
305
238
|
onHoursFocus,
|
|
306
239
|
onHoursChange,
|
|
307
240
|
handleChangeMinutes,
|
|
308
241
|
onMinutesFocus,
|
|
309
242
|
onMinutesChange,
|
|
310
|
-
// handleChangeSeconds,
|
|
311
|
-
// onSecondsFocus,
|
|
312
|
-
// onSecondsChange,
|
|
313
243
|
handleChangeMeridiem,
|
|
314
244
|
onMeridiemFocus,
|
|
315
245
|
onMeridiemChange,
|
|
316
246
|
onHoursBlur,
|
|
317
247
|
onMinutesBlur,
|
|
318
|
-
// onSecondsBlur,
|
|
319
248
|
onMeridiemBlur,
|
|
320
249
|
onHoursKeyDown,
|
|
321
250
|
onMinutesKeyDown,
|
|
322
|
-
// onSecondsKeyDown,
|
|
323
251
|
onMeridiemKeyDown
|
|
324
|
-
}), [hours, minutes,
|
|
325
|
-
meridiem, autoFocusHourInput, handleChangeHours, onHoursFocus, onHoursChange, handleChangeMinutes, onMinutesFocus, onMinutesChange, // handleChangeSeconds,
|
|
326
|
-
// onSecondsFocus,
|
|
327
|
-
// onSecondsChange,
|
|
328
|
-
handleChangeMeridiem, onMeridiemFocus, onMeridiemChange, onHoursBlur, onMinutesBlur, // onSecondsBlur,
|
|
329
|
-
onMeridiemBlur, onHoursKeyDown, onMinutesKeyDown, // onSecondsKeyDown,
|
|
330
|
-
onMeridiemKeyDown]);
|
|
252
|
+
}), [hours, minutes, meridiem, autoFocusHourInput, disabled, handleChangeHours, onHoursFocus, onHoursChange, handleChangeMinutes, onMinutesFocus, onMinutesChange, handleChangeMeridiem, onMeridiemFocus, onMeridiemChange, onHoursBlur, onMinutesBlur, onMeridiemBlur, onHoursKeyDown, onMinutesKeyDown, onMeridiemKeyDown]);
|
|
331
253
|
};
|
|
332
254
|
|
|
333
255
|
exports.useTimeInputs = useTimeInputs;
|
|
@@ -6,6 +6,7 @@ var reactDesc = require('react-desc');
|
|
|
6
6
|
|
|
7
7
|
const propTypes = {
|
|
8
8
|
type: reactDesc.PropTypes.oneOf(['full-date-time', 'date-time-inputs', 'date-time-picker', 'date-time-picker-controller-only', 'full-date', 'date-inputs', 'date-picker', 'date-picker-controller-only', 'full-time', 'time-inputs', 'time-picker', 'time-picker-controller-only']).description('Type of time form control to use').defaultValue('full-date-time'),
|
|
9
|
+
disabled: reactDesc.PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),
|
|
9
10
|
isClearable: reactDesc.PropTypes.bool.description('with or without clearable button').defaultValue('false'),
|
|
10
11
|
dateTime: reactDesc.PropTypes.string.description('when using date-time types, this is the value of the controller'),
|
|
11
12
|
date: reactDesc.PropTypes.string.description('when using date types, this is the value of the controller'),
|
|
@@ -24,7 +25,8 @@ const propTypes = {
|
|
|
24
25
|
getIsDisabledTime: reactDesc.PropTypes.func.description('(timeAsString) => true for marking as disabled, false for marking as valid').defaultValue(''),
|
|
25
26
|
emptyPickerStartingMonth: reactDesc.PropTypes.string.description('which month to start the calendar on open, when value is empty, string following the "MM/__/YYYY" pattern'),
|
|
26
27
|
onCalendarOpenFocusedDay: reactDesc.PropTypes.string.description('which day to focus on calendar open when value is empty, string following the "MM/DD/YYYY" pattern').defaultValue('if value is empty current month, else month corresponding the month'),
|
|
27
|
-
minutesInterval: reactDesc.PropTypes.number.description('increments/decrements of minutes in time related controllers interactions').defaultValue('1')
|
|
28
|
+
minutesInterval: reactDesc.PropTypes.number.description('increments/decrements of minutes in time related controllers interactions').defaultValue('1'),
|
|
29
|
+
'data-testid': reactDesc.PropTypes.string.description('Unique id for tests.').defaultValue('')
|
|
28
30
|
};
|
|
29
31
|
|
|
30
32
|
exports.propTypes = propTypes;
|
|
@@ -37,7 +37,23 @@ 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
|
+
const defaultMetaInfo = {
|
|
47
|
+
isAutomaticFillTrigger: false
|
|
48
|
+
};
|
|
40
49
|
|
|
41
50
|
exports.announcableCardinalDays = announcableCardinalDays;
|
|
51
|
+
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;
|
|
42
58
|
exports.monthNames = monthNames;
|
|
43
59
|
exports.weekDays = weekDays;
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
7
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
5
8
|
var React = require('react');
|
|
6
9
|
var constants = require('./constants.js');
|
|
7
10
|
var stringHelpers = require('./stringHelpers.js');
|
|
8
11
|
var numberHelpers = require('./numberHelpers.js');
|
|
9
12
|
|
|
10
|
-
/* eslint-disable max-lines */
|
|
11
13
|
const getLastDayOfMonth = (month, year) => new Date(year, month + 1, 0);
|
|
12
14
|
const isValidDayForTheMonth = (month, year, day) => {
|
|
13
15
|
var _Date, _Date$getMonth;
|
|
@@ -26,9 +28,9 @@ const isValidDayForTheMonthDateString = dateString => {
|
|
|
26
28
|
const monthDateMonth = monthInt - 1;
|
|
27
29
|
return ((_getDayFromDateString = getDayFromDateString(dateString)) === null || _getDayFromDateString === void 0 ? void 0 : (_getDayFromDateString2 = _getDayFromDateString.getMonth) === null || _getDayFromDateString2 === void 0 ? void 0 : _getDayFromDateString2.call(_getDayFromDateString)) === monthDateMonth;
|
|
28
30
|
};
|
|
29
|
-
const getValidationDateStringMetaInfo = (dateString
|
|
30
|
-
getIsOutOfRangeDay = day => false
|
|
31
|
-
getIsDisabledDay = day => false
|
|
31
|
+
const getValidationDateStringMetaInfo = function (dateString) {
|
|
32
|
+
let getIsOutOfRangeDay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : day => false;
|
|
33
|
+
let getIsDisabledDay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : day => false;
|
|
32
34
|
const metaInfo = {};
|
|
33
35
|
|
|
34
36
|
if (!stringHelpers.isIncompleteString(dateString)) {
|
|
@@ -63,15 +65,17 @@ const dateAddMonths = (date, value) => {
|
|
|
63
65
|
};
|
|
64
66
|
const dateAddYear = (date, value) => dateAddMonths(date, value * 12);
|
|
65
67
|
// sumFromDateValues supports negative values to "subtract"
|
|
66
|
-
const sumFromDateValues = ({
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
const sumFromDateValues = (_ref, _ref2) => {
|
|
69
|
+
let {
|
|
70
|
+
month,
|
|
71
|
+
year,
|
|
72
|
+
day = 1
|
|
73
|
+
} = _ref;
|
|
74
|
+
let {
|
|
75
|
+
monthsToSum = 0,
|
|
76
|
+
yearsToSum = 0,
|
|
77
|
+
daysToSum = 0
|
|
78
|
+
} = _ref2;
|
|
75
79
|
let newDate = new Date(year, month, day);
|
|
76
80
|
if (yearsToSum) newDate = dateAddYear(newDate, yearsToSum);
|
|
77
81
|
if (monthsToSum) newDate = dateAddMonths(newDate, monthsToSum);
|
|
@@ -91,22 +95,26 @@ const sumValuesToDate = (day, sumValues) => {
|
|
|
91
95
|
} = sumFromDateValues(dateAsVals, sumValues);
|
|
92
96
|
return new Date(year, month, newD);
|
|
93
97
|
};
|
|
94
|
-
const subtractYears = (date
|
|
98
|
+
const subtractYears = function (date) {
|
|
99
|
+
let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
95
100
|
const newDate = new Date(date.getTime());
|
|
96
101
|
newDate.setFullYear(date.getFullYear() - howManyMore);
|
|
97
102
|
return newDate;
|
|
98
103
|
};
|
|
99
|
-
const subtractMonths = (date
|
|
104
|
+
const subtractMonths = function (date) {
|
|
105
|
+
let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
100
106
|
const newDate = new Date(date.getTime());
|
|
101
107
|
newDate.setMonth(date.getMonth() - howManyMore);
|
|
102
108
|
return newDate;
|
|
103
109
|
};
|
|
104
|
-
const sumMonths = (date
|
|
110
|
+
const sumMonths = function (date) {
|
|
111
|
+
let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
105
112
|
const newDate = new Date(date.getTime());
|
|
106
113
|
newDate.setMonth(date.getMonth() + howManyMore);
|
|
107
114
|
return newDate;
|
|
108
115
|
};
|
|
109
|
-
const sumYears = (date
|
|
116
|
+
const sumYears = function (date) {
|
|
117
|
+
let howManyMore = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
110
118
|
const newDate = new Date(date.getTime());
|
|
111
119
|
newDate.setFullYear(date.getFullYear() + howManyMore);
|
|
112
120
|
return newDate;
|
|
@@ -188,11 +196,20 @@ const getDateValuesFromDate = day => {
|
|
|
188
196
|
};
|
|
189
197
|
};
|
|
190
198
|
const getDateStringFromDay = day => {
|
|
191
|
-
const monthFromDay = stringHelpers.prependStringWithPlaceHolders(
|
|
199
|
+
const monthFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getMonth() + 1), 2); // months from 1-12
|
|
192
200
|
|
|
193
|
-
const dayFromDay = stringHelpers.prependStringWithPlaceHolders(
|
|
194
|
-
const yearFromDay = stringHelpers.prependStringWithPlaceHolders(
|
|
195
|
-
return
|
|
201
|
+
const dayFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getDate()), 2);
|
|
202
|
+
const yearFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getFullYear()), 4);
|
|
203
|
+
return "".concat(monthFromDay, "/").concat(dayFromDay, "/").concat(yearFromDay);
|
|
204
|
+
};
|
|
205
|
+
const getTimeStringFromDay = day => {
|
|
206
|
+
const hoursNum = day.getHours();
|
|
207
|
+
const meridiem = hoursNum > 12 ? 'PM' : 'AM';
|
|
208
|
+
const twelveHourFormat = hoursNum > 12 ? hoursNum - 12 : hoursNum;
|
|
209
|
+
const minutesNum = day.getMinutes();
|
|
210
|
+
const hoursFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(twelveHourFormat), 2);
|
|
211
|
+
const minutesFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(minutesNum), 2);
|
|
212
|
+
return "".concat(hoursFromDay, ":").concat(minutesFromDay, " ").concat(meridiem);
|
|
196
213
|
};
|
|
197
214
|
const getDayFromDateString = dateString => {
|
|
198
215
|
const {
|
|
@@ -241,6 +258,7 @@ exports.getHowManyDaysInMonth = getHowManyDaysInMonth;
|
|
|
241
258
|
exports.getLastDayOfMonth = getLastDayOfMonth;
|
|
242
259
|
exports.getLastXDaysFromPreviousMonth = getLastXDaysFromPreviousMonth;
|
|
243
260
|
exports.getMonthNameByMonthNumber = getMonthNameByMonthNumber;
|
|
261
|
+
exports.getTimeStringFromDay = getTimeStringFromDay;
|
|
244
262
|
exports.getValidationDateStringMetaInfo = getValidationDateStringMetaInfo;
|
|
245
263
|
exports.isLeapYear = isLeapYear;
|
|
246
264
|
exports.isSameDateMoment = isSameDateMoment;
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
11
|
var dateHelpers = require('./dateHelpers.js');
|
|
7
12
|
var timeHelpers = require('./timeHelpers.js');
|
|
@@ -14,7 +14,7 @@ const useGetMonthYearFromDateStringOrEmptyStartingMonth = () => {
|
|
|
14
14
|
}
|
|
15
15
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
16
16
|
return React.useMemo(() => {
|
|
17
|
-
const emptyPickerStartingMonthDefault =
|
|
17
|
+
const emptyPickerStartingMonthDefault = "".concat(new Date().getMonth() + 1, "/__/").concat(new Date().getFullYear());
|
|
18
18
|
const {
|
|
19
19
|
month: stringMonthVal,
|
|
20
20
|
year: stringYearVal
|