@elliemae/ds-controlled-form 2.0.0-next.9 → 2.0.0-rc.12
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 +2 -2
- 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 +13 -7
- 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 +20 -12
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +7 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +29 -8
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +7 -0
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +7 -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 +154 -13
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +19 -16
- 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 +15 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +15 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +101 -33
- 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 +10 -17
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +10 -11
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +20 -10
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +326 -117
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -43
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +47 -21
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +59 -58
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +25 -13
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +10 -11
- 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 +18 -7
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +7 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +1 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +7 -0
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +11 -7
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +201 -80
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +10 -11
- 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 +8 -5
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +64 -141
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +11 -7
- package/cjs/controlled-date-time-picker/parts/Styleds.js +70 -26
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +16 -12
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +15 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +15 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +95 -173
- package/cjs/controlled-date-time-picker/propTypes.js +1 -0
- package/cjs/controlled-date-time-picker/utils/constants.js +16 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +34 -16
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +23 -14
- package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/cjs/controlled-toggle/ControlledToggle.js +21 -15
- package/cjs/controlled-toggle/styles.js +138 -69
- 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 +2 -2
- 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 +13 -7
- 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 +20 -12
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +7 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeContent.js +28 -8
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +7 -0
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +7 -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 +156 -15
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +19 -16
- 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 +15 -11
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +8 -4
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +15 -11
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +101 -33
- 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 +1 -4
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +7 -7
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +5 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +20 -10
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +321 -113
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +8 -43
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +48 -22
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.js +60 -59
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +7 -7
- 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 +18 -7
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +7 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +1 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +7 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +9 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +196 -76
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +2 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +7 -7
- 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 +8 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +65 -142
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +12 -8
- package/esm/controlled-date-time-picker/parts/Styleds.js +68 -24
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +16 -12
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +15 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +15 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +8 -5
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +96 -170
- package/esm/controlled-date-time-picker/propTypes.js +1 -0
- package/esm/controlled-date-time-picker/utils/constants.js +10 -1
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +34 -17
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +5 -0
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +23 -14
- package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/esm/controlled-toggle/ControlledToggle.js +21 -15
- package/esm/controlled-toggle/styles.js +138 -69
- 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 +81 -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 +10 -70
- 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 +4 -24
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +10 -70
- 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 +10 -30
- 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 +76 -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/esm/controlled-date-time-picker/parts/TimeInputs/SSInput.js +0 -45
- 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
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
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,119 +176,50 @@ 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
|
|
|
@@ -298,36 +231,25 @@ const useTimeInputs = () => {
|
|
|
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'),
|
|
@@ -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,6 +2,8 @@
|
|
|
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');
|
|
5
7
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
8
|
var React = require('react');
|
|
7
9
|
var constants = require('./constants.js');
|
|
@@ -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;
|
|
@@ -194,6 +202,15 @@ const getDateStringFromDay = day => {
|
|
|
194
202
|
const yearFromDay = stringHelpers.prependStringWithPlaceHolders("".concat(day.getFullYear()), 4);
|
|
195
203
|
return "".concat(monthFromDay, "/").concat(dayFromDay, "/").concat(yearFromDay);
|
|
196
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);
|
|
213
|
+
};
|
|
197
214
|
const getDayFromDateString = dateString => {
|
|
198
215
|
const {
|
|
199
216
|
month,
|
|
@@ -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');
|
|
@@ -2,6 +2,8 @@
|
|
|
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');
|
|
5
7
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
8
|
require('core-js/modules/es.string.replace.js');
|
|
7
9
|
var constants = require('./constants.js');
|
|
@@ -9,21 +11,24 @@ var numberHelpers = require('./numberHelpers.js');
|
|
|
9
11
|
|
|
10
12
|
/* eslint-disable max-lines */
|
|
11
13
|
|
|
12
|
-
const prependStringWithPlaceHolders = (val, finalLength
|
|
14
|
+
const prependStringWithPlaceHolders = function (val, finalLength) {
|
|
15
|
+
let placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';
|
|
13
16
|
if (val.length === finalLength) return val;
|
|
14
17
|
const stringAsAnArray = val.split('').reverse();
|
|
15
18
|
return new Array(finalLength).fill(placeholder).map((_c, i) => stringAsAnArray[i] ? stringAsAnArray[i] : placeholder).reverse().join('');
|
|
16
19
|
};
|
|
17
|
-
const fillStringWithPlaceHolders = (val, finalLength
|
|
20
|
+
const fillStringWithPlaceHolders = function (val, finalLength) {
|
|
21
|
+
let placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '_';
|
|
18
22
|
if (val.length === finalLength) return val;
|
|
19
23
|
const stringAsAnArray = val.split('');
|
|
20
24
|
return new Array(finalLength).fill(placeholder).map((_c, i) => stringAsAnArray[i] ? stringAsAnArray[i] : placeholder).join('');
|
|
21
25
|
};
|
|
22
|
-
const getFormattedDateString =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
const getFormattedDateString = _ref => {
|
|
27
|
+
let {
|
|
28
|
+
month,
|
|
29
|
+
day,
|
|
30
|
+
year
|
|
31
|
+
} = _ref;
|
|
27
32
|
const finalMonth = fillStringWithPlaceHolders(month, 2);
|
|
28
33
|
const finalDay = fillStringWithPlaceHolders(day, 2);
|
|
29
34
|
const finalYear = fillStringWithPlaceHolders(year, 4);
|
|
@@ -67,12 +72,13 @@ const isValidDateString = testString => {
|
|
|
67
72
|
if (Number.parseInt(month, 10) > 12 || Number.parseInt(day, 10) > 31 || Number.parseInt(year, 10) > 9999) return false;
|
|
68
73
|
return true;
|
|
69
74
|
};
|
|
70
|
-
const getFormattedTimeString =
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
const getFormattedTimeString = _ref2 => {
|
|
76
|
+
let {
|
|
77
|
+
hours,
|
|
78
|
+
minutes,
|
|
79
|
+
// seconds,
|
|
80
|
+
meridiem
|
|
81
|
+
} = _ref2;
|
|
76
82
|
const finalHour = fillStringWithPlaceHolders(hours, 2);
|
|
77
83
|
const finalMinutes = fillStringWithPlaceHolders(minutes, 2); // const finalSeconds = fillStringWithPlaceHolders(seconds, 2); // <-- seconds format
|
|
78
84
|
|
|
@@ -118,7 +124,10 @@ const isValidTimeString = testString => {
|
|
|
118
124
|
if (Number.parseInt(hours, 10) > 12 || Number.parseInt(minutes, 10) > 60) return false;
|
|
119
125
|
return true;
|
|
120
126
|
};
|
|
121
|
-
const isIncompleteString = (testString
|
|
127
|
+
const isIncompleteString = function (testString) {
|
|
128
|
+
let placeholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '_';
|
|
129
|
+
return testString === '' || testString.includes(placeholder);
|
|
130
|
+
};
|
|
122
131
|
const isEmptyDateStringMask = testString => testString === '__/__/____';
|
|
123
132
|
const isEmptyTimeStringMask = testString => testString === '__:__ __';
|
|
124
133
|
const isEmptyDateTimeStringMask = testString => testString === '__/__/____ __:__ __';
|
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var stringHelpers = require('./stringHelpers.js');
|
|
6
6
|
|
|
7
|
-
const getValidationTimeStringMetaInfo = (timeString
|
|
7
|
+
const getValidationTimeStringMetaInfo = function (timeString) {
|
|
8
|
+
let getIsDisabledTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : timeS => false;
|
|
8
9
|
const metaInfo = {};
|
|
9
10
|
|
|
10
11
|
if (!stringHelpers.isIncompleteString(timeString)) {
|