@elliemae/ds-controlled-form 2.0.0-alpha.1 → 2.0.0-alpha.13
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 +13 -6
- package/cjs/controlled-checkbox/config/useValidateProps.js +5 -7
- package/cjs/controlled-checkbox/propTypes.js +5 -4
- package/cjs/controlled-checkbox/styles.js +88 -52
- package/cjs/controlled-checkbox/utils/setMultipleRefs.js +4 -0
- package/cjs/controlled-checkbox/utils/styleHelpers.js +15 -27
- package/cjs/controlled-date-range-picker/ControlledDateRangePicker.js +2 -2
- package/cjs/controlled-date-range-picker/ControlledDateRangePickerCTX.js +3 -2
- 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 +22 -13
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeCalendar.js +9 -1
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeContent.js +30 -5
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeFromDate.js +13 -3
- package/cjs/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +9 -1
- package/cjs/controlled-date-time-picker/ControlledDateTimePicker.js +2 -2
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerCTX.js +23 -2
- package/cjs/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
- package/cjs/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
- package/cjs/controlled-date-time-picker/config/useGetDestructuredValues.js +149 -0
- package/cjs/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/cjs/controlled-date-time-picker/index.js +1 -1
- package/cjs/controlled-date-time-picker/parts/ClearButton/ClearButton.js +11 -9
- package/cjs/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
- package/cjs/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +37 -16
- package/cjs/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/DateInputs.js +21 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
- package/cjs/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +117 -66
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Calendar.js +9 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.js +10 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +15 -9
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +7 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +33 -9
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +43 -44
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +7 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +34 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +10 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +59 -28
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +339 -115
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +42 -42
- 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 +135 -59
- package/cjs/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +26 -14
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +4 -4
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +5 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +4 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +10 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +61 -24
- package/cjs/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/PickersIcons.js +3 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +38 -26
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +34 -31
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +36 -26
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +26 -23
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +211 -150
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +9 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +9 -6
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +5 -2
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -12
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +10 -3
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +184 -147
- package/cjs/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +23 -12
- package/cjs/controlled-date-time-picker/parts/Styleds.js +80 -42
- package/cjs/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +20 -11
- package/cjs/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +109 -205
- package/cjs/controlled-date-time-picker/propTypes.js +3 -1
- package/cjs/controlled-date-time-picker/utils/constants.js +59 -0
- package/cjs/controlled-date-time-picker/utils/dateHelpers.js +41 -23
- package/cjs/controlled-date-time-picker/utils/dateTimeHelpers.js +8 -3
- package/cjs/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/cjs/controlled-date-time-picker/utils/stringHelpers.js +43 -17
- package/cjs/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/cjs/controlled-toggle/ControlledToggle.js +52 -36
- package/cjs/controlled-toggle/propTypes.js +3 -2
- package/cjs/controlled-toggle/styles.js +146 -79
- package/cjs/controlled-toggle/utils/addTooltipOnReadOnly.js +2 -2
- package/cjs/controlled-toggle/utils/styleHelpers.js +15 -9
- package/cjs/index.js +1 -1
- package/esm/controlled-checkbox/ControlledCheckbox.js +12 -5
- package/esm/controlled-checkbox/config/useValidateProps.js +6 -8
- 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/ControlledDateRangePickerCTX.js +2 -1
- 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 +12 -2
- package/esm/controlled-date-range-picker/parts/ControlledDateRangeToDate.js +8 -0
- package/esm/controlled-date-time-picker/ControlledDateTimePickerCTX.js +22 -1
- package/esm/controlled-date-time-picker/ControlledDateTimePickerDatatestid.js +31 -4
- package/esm/controlled-date-time-picker/config/useControlledDateTimePicker.js +254 -36
- package/esm/controlled-date-time-picker/config/useGetDestructuredValues.js +143 -0
- package/esm/controlled-date-time-picker/config/useValidateProps.js +10 -41
- package/esm/controlled-date-time-picker/index.js +1 -1
- package/esm/controlled-date-time-picker/parts/ClearButton/ClearButton.js +10 -7
- package/esm/controlled-date-time-picker/parts/ClearButton/useClearButton.js +48 -3
- package/esm/controlled-date-time-picker/parts/ControlledDateTimePickerContent.js +34 -14
- package/esm/controlled-date-time-picker/parts/DateInputs/DDInput.js +16 -11
- package/esm/controlled-date-time-picker/parts/DateInputs/DateInputs.js +15 -5
- package/esm/controlled-date-time-picker/parts/DateInputs/MMInput.js +18 -11
- package/esm/controlled-date-time-picker/parts/DateInputs/YYYYInput.js +16 -11
- package/esm/controlled-date-time-picker/parts/DateInputs/useDateInputs.js +119 -67
- 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 -4
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContent.js +16 -10
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.js +6 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +35 -11
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarFooter.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarHead.js +42 -39
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +13 -10
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarMonthDays.js +6 -2
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWeekDays.js +35 -3
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/CalendarWrapper.js +7 -0
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Day.js +58 -28
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.js +335 -113
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +43 -43
- 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 +136 -60
- package/esm/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +27 -15
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +13 -10
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +7 -0
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.js +60 -24
- package/esm/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +23 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/HoursList.js +33 -19
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +30 -25
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +30 -18
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +20 -15
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.js +210 -150
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheel.js +4 -3
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +8 -5
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.js +4 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelFooter.js +3 -1
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +12 -10
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelWrapper.js +7 -0
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +10 -58
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +11 -8
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.js +185 -148
- package/esm/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +24 -13
- package/esm/controlled-date-time-picker/parts/Styleds.js +70 -31
- package/esm/controlled-date-time-picker/parts/TimeInputs/HHInput.js +18 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.js +17 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/MinutesInput.js +16 -11
- package/esm/controlled-date-time-picker/parts/TimeInputs/TimeInputs.js +15 -6
- package/esm/controlled-date-time-picker/parts/TimeInputs/useTimeInputs.js +110 -202
- package/esm/controlled-date-time-picker/propTypes.js +3 -1
- package/esm/controlled-date-time-picker/utils/constants.js +46 -0
- package/esm/controlled-date-time-picker/utils/dateHelpers.js +40 -23
- package/esm/controlled-date-time-picker/utils/dateTimeHelpers.js +7 -2
- package/esm/controlled-date-time-picker/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +1 -1
- package/esm/controlled-date-time-picker/utils/stringHelpers.js +43 -18
- package/esm/controlled-date-time-picker/utils/timeHelpers.js +2 -1
- package/esm/controlled-toggle/ControlledToggle.js +47 -31
- package/esm/controlled-toggle/propTypes.js +3 -2
- package/esm/controlled-toggle/styles.js +139 -72
- package/esm/controlled-toggle/utils/addTooltipOnReadOnly.js +1 -1
- package/esm/controlled-toggle/utils/styleHelpers.js +15 -9
- package/esm/index.js +1 -1
- package/package.json +29 -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 +28 -3
- package/types/controlled-date-time-picker/config/useGetDestructuredValues.d.ts +4 -0
- package/types/controlled-date-time-picker/index.d.ts +1 -1
- package/types/controlled-date-time-picker/parts/ClearButton/useClearButton.d.ts +2 -1
- package/types/controlled-date-time-picker/parts/DateInputs/DDInput.d.ts +3 -1
- package/types/controlled-date-time-picker/parts/DateInputs/MMInput.d.ts +4 -1
- package/types/controlled-date-time-picker/parts/DateInputs/YYYYInput.d.ts +3 -1
- package/types/controlled-date-time-picker/parts/DateInputs/useDateInputs.d.ts +0 -9
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarBody.d.ts +5 -1
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarContext.d.ts +11 -5
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/CalendarDaysList.d.ts +5 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Day.d.ts +5 -3
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/Styleds.d.ts +17 -123
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useFocusLogic.d.ts +3 -5
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/useKeyboardHandlers.d.ts +5 -18
- package/types/controlled-date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.d.ts +4 -7
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.d.ts +2 -0
- package/types/controlled-date-time-picker/parts/Pickers/CalendarWithTimeWheel/Styleds.d.ts +7 -3
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/Styleds.d.ts +19 -9
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/TimeWheelContext.d.ts +3 -0
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/useKeyboardHandlers.d.ts +3 -11
- package/types/controlled-date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.d.ts +1 -8
- package/types/controlled-date-time-picker/parts/Styleds.d.ts +13 -10
- package/types/controlled-date-time-picker/parts/TimeInputs/HHInput.d.ts +4 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MeridiemInput.d.ts +3 -1
- package/types/controlled-date-time-picker/parts/TimeInputs/MinutesInput.d.ts +3 -1
- package/types/controlled-date-time-picker/propTypes.d.ts +79 -20
- package/types/controlled-date-time-picker/tests/date-time-picker.keyboard-focus.test.d.ts +1 -0
- 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 +44 -0
- package/types/controlled-date-time-picker/utils/dateHelpers.d.ts +3 -2
- package/types/controlled-date-time-picker/utils/dateTimeHelpers.d.ts +1 -1
- package/types/controlled-date-time-picker/utils/stringHelpers.d.ts +1 -0
- package/types/controlled-toggle/ControlledToggle.d.ts +79 -13
- package/types/controlled-toggle/propTypes.d.ts +73 -11
- 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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var stringHelpers = require('../utils/stringHelpers.js');
|
|
7
|
+
var numberHelpers = require('../utils/numberHelpers.js');
|
|
8
|
+
var constants = require('../utils/constants.js');
|
|
9
|
+
|
|
10
|
+
/* eslint-disable max-lines */
|
|
11
|
+
// this is because it's fully controlled
|
|
12
|
+
// our source of truth is either the date props or dateTime props
|
|
13
|
+
// based on wheter it's a dateTime picker
|
|
14
|
+
// or a date picker (it's date picker when hideTime is true)
|
|
15
|
+
const useGetDestructuredDateValues = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
date,
|
|
18
|
+
dateTime,
|
|
19
|
+
isDateTimeSelector
|
|
20
|
+
} = _ref;
|
|
21
|
+
const dateStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToDate(dateTime) : date;
|
|
22
|
+
const deconstructedValues = stringHelpers.deconstructValuesFromDateString(dateStringFromProps);
|
|
23
|
+
const {
|
|
24
|
+
month,
|
|
25
|
+
day,
|
|
26
|
+
year
|
|
27
|
+
} = deconstructedValues;
|
|
28
|
+
const monthNum = numberHelpers.convertToPositiveNumberIfPossible(month);
|
|
29
|
+
const dayNum = numberHelpers.convertToPositiveNumberIfPossible(day);
|
|
30
|
+
const yearNum = numberHelpers.convertToPositiveNumberIfPossible(year);
|
|
31
|
+
const announcedMonth = monthNum !== -1 ? constants.monthNames[monthNum - 1] : 'empty month';
|
|
32
|
+
const announcedDay = dayNum !== -1 ? constants.announcableCardinalDays[dayNum] : 'empty day';
|
|
33
|
+
const announcedYear = yearNum !== -1 ? stringHelpers.fillStringWithPlaceHolders("".concat(yearNum), 4, '0') : 'empty year';
|
|
34
|
+
const announcedDateValues = "".concat(announcedMonth, ", ").concat(announcedDay, ", ").concat(announcedYear);
|
|
35
|
+
return React.useMemo(() => ({
|
|
36
|
+
month,
|
|
37
|
+
day,
|
|
38
|
+
year,
|
|
39
|
+
monthNum,
|
|
40
|
+
dayNum,
|
|
41
|
+
yearNum,
|
|
42
|
+
announcedMonth,
|
|
43
|
+
announcedDay,
|
|
44
|
+
announcedYear,
|
|
45
|
+
announcedDateValues
|
|
46
|
+
}), [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
|
|
47
|
+
}; // this is because it's fully controlled
|
|
48
|
+
// our source of truth is either the time props or dateTime props
|
|
49
|
+
// based on wheter it's a dateTime picker
|
|
50
|
+
// or a time picker (it's time picker when hideDate is true)
|
|
51
|
+
|
|
52
|
+
const useGetDestructuredTimeValues = _ref2 => {
|
|
53
|
+
let {
|
|
54
|
+
time,
|
|
55
|
+
dateTime,
|
|
56
|
+
isDateTimeSelector
|
|
57
|
+
} = _ref2;
|
|
58
|
+
const timeStringFromProps = isDateTimeSelector ? stringHelpers.dateTimeToTime(dateTime) : time;
|
|
59
|
+
const deconstructedValues = stringHelpers.deconstructTimeValues(timeStringFromProps);
|
|
60
|
+
const {
|
|
61
|
+
hours,
|
|
62
|
+
minutes,
|
|
63
|
+
meridiem
|
|
64
|
+
} = deconstructedValues;
|
|
65
|
+
const hoursNum = numberHelpers.convertToPositiveNumberIfPossible(hours);
|
|
66
|
+
const minutesNum = numberHelpers.convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
67
|
+
|
|
68
|
+
const announcedHours = hoursNum !== -1 ? "".concat(hoursNum) : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
69
|
+
|
|
70
|
+
const announcedMinutes = minutesNum !== -1 ? "".concat(minutesNum) : 'empty minutes';
|
|
71
|
+
const announcedMeridiem = // eslint-disable-next-line no-nested-ternary
|
|
72
|
+
meridiem === 'PM' ? "post meridiem" : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
|
|
73
|
+
const announcedTimeValues = "".concat(announcedHours, ", ").concat(announcedMinutes, ", ").concat(announcedMeridiem);
|
|
74
|
+
return React.useMemo(() => ({
|
|
75
|
+
hours,
|
|
76
|
+
minutes,
|
|
77
|
+
meridiem,
|
|
78
|
+
hoursNum,
|
|
79
|
+
minutesNum,
|
|
80
|
+
announcedHours,
|
|
81
|
+
announcedMinutes,
|
|
82
|
+
announcedMeridiem,
|
|
83
|
+
announcedTimeValues
|
|
84
|
+
}), [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
85
|
+
};
|
|
86
|
+
const useGetDestructuredValues = _ref3 => {
|
|
87
|
+
let {
|
|
88
|
+
date,
|
|
89
|
+
time,
|
|
90
|
+
dateTime,
|
|
91
|
+
isDateTimeSelector
|
|
92
|
+
} = _ref3;
|
|
93
|
+
const {
|
|
94
|
+
month,
|
|
95
|
+
day,
|
|
96
|
+
year,
|
|
97
|
+
monthNum,
|
|
98
|
+
dayNum,
|
|
99
|
+
yearNum,
|
|
100
|
+
announcedMonth,
|
|
101
|
+
announcedDay,
|
|
102
|
+
announcedYear,
|
|
103
|
+
announcedDateValues
|
|
104
|
+
} = useGetDestructuredDateValues({
|
|
105
|
+
date,
|
|
106
|
+
dateTime,
|
|
107
|
+
isDateTimeSelector
|
|
108
|
+
});
|
|
109
|
+
const {
|
|
110
|
+
hours,
|
|
111
|
+
minutes,
|
|
112
|
+
meridiem,
|
|
113
|
+
hoursNum,
|
|
114
|
+
minutesNum,
|
|
115
|
+
announcedHours,
|
|
116
|
+
announcedMinutes,
|
|
117
|
+
announcedMeridiem,
|
|
118
|
+
announcedTimeValues
|
|
119
|
+
} = useGetDestructuredTimeValues({
|
|
120
|
+
time,
|
|
121
|
+
dateTime,
|
|
122
|
+
isDateTimeSelector
|
|
123
|
+
});
|
|
124
|
+
return React.useMemo(() => ({
|
|
125
|
+
month,
|
|
126
|
+
day,
|
|
127
|
+
year,
|
|
128
|
+
monthNum,
|
|
129
|
+
dayNum,
|
|
130
|
+
yearNum,
|
|
131
|
+
announcedMonth,
|
|
132
|
+
announcedDay,
|
|
133
|
+
announcedYear,
|
|
134
|
+
announcedDateValues,
|
|
135
|
+
hours,
|
|
136
|
+
minutes,
|
|
137
|
+
meridiem,
|
|
138
|
+
hoursNum,
|
|
139
|
+
minutesNum,
|
|
140
|
+
announcedHours,
|
|
141
|
+
announcedMinutes,
|
|
142
|
+
announcedMeridiem,
|
|
143
|
+
announcedTimeValues
|
|
144
|
+
}), [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
exports.useGetDestructuredDateValues = useGetDestructuredDateValues;
|
|
148
|
+
exports.useGetDestructuredTimeValues = useGetDestructuredTimeValues;
|
|
149
|
+
exports.useGetDestructuredValues = useGetDestructuredValues;
|
|
@@ -7,72 +7,41 @@ var stringHelpers = require('../utils/stringHelpers.js');
|
|
|
7
7
|
var numberHelpers = require('../utils/numberHelpers.js');
|
|
8
8
|
|
|
9
9
|
/* eslint-disable max-len */
|
|
10
|
-
const PREPEND =
|
|
11
|
-
Invalid configuration detected::
|
|
12
|
-
|
|
13
|
-
`;
|
|
10
|
+
const PREPEND = "ControlledDateTimePicker:\n Invalid configuration detected::\n \n ";
|
|
14
11
|
const NOT_A_DEFECT = ''; // '\n\n\t\tThis is not a defect, please check\n\n\t\thttps://qa.dimsum.rd.elliemae.io/?path=/story/components-desktop-components-d-controlledform-date-time-picker--basic\n\n\t\tfor instructions on how to use the component correctly\n\n';
|
|
15
12
|
|
|
16
|
-
const INLINE_RECEIVED_PREPEND =
|
|
17
|
-
|
|
18
|
-
Received:`;
|
|
13
|
+
const INLINE_RECEIVED_PREPEND = "\n\n Received:";
|
|
19
14
|
|
|
20
15
|
const throwInvalidDateTimeError = invalidValue => {
|
|
21
|
-
throw new Error(
|
|
16
|
+
throw new Error("".concat(PREPEND, "the \"dateTime\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
|
|
22
17
|
};
|
|
23
18
|
|
|
24
19
|
const throwInvalidDaterror = invalidValue => {
|
|
25
|
-
throw new Error(
|
|
20
|
+
throw new Error("".concat(PREPEND, "the \"date\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
|
|
26
21
|
};
|
|
27
22
|
|
|
28
23
|
const throwInvalidTimerror = invalidValue => {
|
|
29
|
-
throw new Error(
|
|
24
|
+
throw new Error("".concat(PREPEND, "the \"time\" you are providing is not respecting the format it must respect.").concat(INLINE_RECEIVED_PREPEND).concat(invalidValue, "(").concat(typeof invalidValue, ")").concat(NOT_A_DEFECT));
|
|
30
25
|
};
|
|
31
26
|
|
|
32
27
|
const throwUncontrolledDateError = (date, onDateChange) => {
|
|
33
|
-
throw new Error(
|
|
34
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
35
|
-
|
|
36
|
-
Received:
|
|
37
|
-
${date}(${typeof date})
|
|
38
|
-
${onDateChange}(${typeof onDateChange})
|
|
39
|
-
${NOT_A_DEFECT}`);
|
|
28
|
+
throw new Error("".concat(PREPEND, "you are trying to use a date selector while providing a non-string \"date\" or providing a non-function to \"onDateChange\"\n the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ").concat(date, "(").concat(typeof date, ")\n ").concat(onDateChange, "(").concat(typeof onDateChange, ")\n ").concat(NOT_A_DEFECT));
|
|
40
29
|
};
|
|
41
30
|
|
|
42
31
|
const throwUncontrolledTimeError = (time, onTimeChange) => {
|
|
43
|
-
throw new Error(
|
|
44
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
45
|
-
|
|
46
|
-
Received:
|
|
47
|
-
${time}(${typeof time})
|
|
48
|
-
${onTimeChange}(${typeof onTimeChange})
|
|
49
|
-
${NOT_A_DEFECT}`);
|
|
32
|
+
throw new Error("".concat(PREPEND, "you are trying to use a time selector while providing a non-string \"time\" or providing a non-function to \"onTimeChange\"\n the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ").concat(time, "(").concat(typeof time, ")\n ").concat(onTimeChange, "(").concat(typeof onTimeChange, ")\n ").concat(NOT_A_DEFECT));
|
|
50
33
|
};
|
|
51
34
|
|
|
52
35
|
const throwUncontrolledDateTimeError = (dateTime, onDateTimeChange) => {
|
|
53
|
-
throw new Error(
|
|
54
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
55
|
-
|
|
56
|
-
Received:
|
|
57
|
-
${dateTime}(${typeof dateTime})
|
|
58
|
-
${onDateTimeChange}(${typeof onDateTimeChange})
|
|
59
|
-
${NOT_A_DEFECT}`);
|
|
36
|
+
throw new Error("".concat(PREPEND, "you are trying to use a date-time selector while providing a non-string \"dateTime\" or providing a non-function to \"onDateTimeChange\"\n the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations\n\n Received:\n ").concat(dateTime, "(").concat(typeof dateTime, ")\n ").concat(onDateTimeChange, "(").concat(typeof onDateTimeChange, ")\n ").concat(NOT_A_DEFECT));
|
|
60
37
|
};
|
|
61
38
|
|
|
62
39
|
const throwInvalidEmptyPickerStartingMonthError = emptyPickerStartingMonth => {
|
|
63
|
-
throw new Error(
|
|
64
|
-
|
|
65
|
-
Received:
|
|
66
|
-
${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})
|
|
67
|
-
${NOT_A_DEFECT}`);
|
|
40
|
+
throw new Error("".concat(PREPEND, "the provided emptyPickerStartingMonth props is invalid. please provide a string with the format mm/__/yyyy, (mm 01~12, yyyy 0001~9999) \n\n Received:\n ").concat(emptyPickerStartingMonth, "(").concat(typeof emptyPickerStartingMonth, ")\n ").concat(NOT_A_DEFECT));
|
|
68
41
|
};
|
|
69
42
|
|
|
70
43
|
const throwInvalidOnCalendarOpenFocusedDayError = onCalendarOpenFocusedDay => {
|
|
71
|
-
throw new Error(
|
|
72
|
-
|
|
73
|
-
Received:
|
|
74
|
-
${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})
|
|
75
|
-
${NOT_A_DEFECT}`);
|
|
44
|
+
throw new Error("".concat(PREPEND, "the provided onCalendarOpenFocusedDay props is invalid. please provide a string with the format mm/dd/yyyy, (mm 01~12, dd 01~31, yyyy 0001~9999) \n\n Received:\n ").concat(onCalendarOpenFocusedDay, "(").concat(typeof onCalendarOpenFocusedDay, ")\n ").concat(NOT_A_DEFECT));
|
|
76
45
|
};
|
|
77
46
|
|
|
78
47
|
const useValidateProps = props => {
|
|
@@ -18,7 +18,7 @@ exports.ControlledDateTimePickerDatatestid = ControlledDateTimePickerDatatestid.
|
|
|
18
18
|
exports.CONTROLLED_DATE_TIME_PICKER_TYPES = ControlledDateTimePickerTypes.CONTROLLED_DATE_TIME_PICKER_TYPES;
|
|
19
19
|
exports.deconstructValuesFromDateString = stringHelpers.deconstructValuesFromDateString;
|
|
20
20
|
exports.prependStringWithPlaceHolders = stringHelpers.prependStringWithPlaceHolders;
|
|
21
|
-
exports.
|
|
21
|
+
exports.getValidationDateTimeStringMetaInfo = dateTimeHelpers.getValidationDateTimeStringMetaInfo;
|
|
22
22
|
exports.getDateStringFromDay = dateHelpers.getDateStringFromDay;
|
|
23
23
|
exports.getDateValuesFromDate = dateHelpers.getDateValuesFromDate;
|
|
24
24
|
exports.getDayFromDateString = dateHelpers.getDayFromDateString;
|
|
@@ -4,8 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
require('react');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
8
|
+
var dsIcon = require('@elliemae/ds-icon');
|
|
9
|
+
var DSButton = require('@elliemae/ds-button');
|
|
9
10
|
var Styleds = require('../Styleds.js');
|
|
10
11
|
var ControlledDateTimePickerDatatestid = require('../../ControlledDateTimePickerDatatestid.js');
|
|
11
12
|
var useClearButton = require('./useClearButton.js');
|
|
@@ -13,28 +14,29 @@ var useClearButton = require('./useClearButton.js');
|
|
|
13
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
15
|
|
|
15
16
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
16
|
-
var CloseMedium__default = /*#__PURE__*/_interopDefaultLegacy(CloseMedium);
|
|
17
17
|
|
|
18
|
-
var _CloseMedium;
|
|
19
18
|
const ClearButton = () => {
|
|
20
19
|
const {
|
|
21
20
|
onClearClick,
|
|
21
|
+
onClearButtonKeyDown,
|
|
22
22
|
clearButtonRef,
|
|
23
23
|
withAnyPicker,
|
|
24
24
|
withClearBtn
|
|
25
25
|
} = useClearButton.useClearButton();
|
|
26
|
-
return /*#__PURE__*/_jsx__default[
|
|
26
|
+
return /*#__PURE__*/_jsx__default["default"](Styleds.StyledClearButton, {
|
|
27
27
|
shouldDisplay: withClearBtn,
|
|
28
28
|
"aria-label": "clear selected date",
|
|
29
|
-
buttonType: "
|
|
30
|
-
|
|
31
|
-
size: "m",
|
|
29
|
+
buttonType: "icon",
|
|
30
|
+
size: DSButton.BUTTON_SIZES.M,
|
|
32
31
|
variant: DSButton.BUTTON_VARIANT.DEFAULT,
|
|
33
32
|
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.CLEAR_BUTTON,
|
|
34
33
|
innerRef: clearButtonRef,
|
|
35
34
|
onClick: onClearClick,
|
|
35
|
+
onKeyDown: onClearButtonKeyDown,
|
|
36
36
|
withAnyPicker: withAnyPicker
|
|
37
|
-
}
|
|
37
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.CloseMedium, {
|
|
38
|
+
color: dsIcon.DSIconColors.PRIMARY
|
|
39
|
+
}));
|
|
38
40
|
};
|
|
39
41
|
|
|
40
42
|
exports.ClearButton = ClearButton;
|
|
@@ -11,15 +11,60 @@ const useClearButton = () => {
|
|
|
11
11
|
handleClearAll,
|
|
12
12
|
clearButtonRef,
|
|
13
13
|
withAnyPicker,
|
|
14
|
-
withClearBtn
|
|
14
|
+
withClearBtn,
|
|
15
|
+
withAnyInputs,
|
|
16
|
+
isWithTimeInputs,
|
|
17
|
+
isWithDateInputs,
|
|
18
|
+
isTimeSelector,
|
|
19
|
+
hourInputRef,
|
|
20
|
+
monthInputRef,
|
|
21
|
+
pickerButtonRef,
|
|
22
|
+
meridiemInputRef,
|
|
23
|
+
yearInputRef,
|
|
24
|
+
setLatestInteractionRegion
|
|
15
25
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
16
|
-
const
|
|
26
|
+
const focusFirstRegion = React.useCallback(() => {
|
|
27
|
+
var _hourInputRef$current, _hourInputRef$current2, _monthInputRef$curren, _monthInputRef$curren2;
|
|
28
|
+
|
|
29
|
+
if (withAnyInputs) if (isTimeSelector) hourInputRef === null || hourInputRef === void 0 ? void 0 : (_hourInputRef$current = hourInputRef.current) === null || _hourInputRef$current === void 0 ? void 0 : (_hourInputRef$current2 = _hourInputRef$current.focus) === null || _hourInputRef$current2 === void 0 ? void 0 : _hourInputRef$current2.call(_hourInputRef$current);else monthInputRef === null || monthInputRef === void 0 ? void 0 : (_monthInputRef$curren = monthInputRef.current) === null || _monthInputRef$curren === void 0 ? void 0 : (_monthInputRef$curren2 = _monthInputRef$curren.focus) === null || _monthInputRef$curren2 === void 0 ? void 0 : _monthInputRef$curren2.call(_monthInputRef$curren);
|
|
30
|
+
}, [withAnyInputs, isTimeSelector, hourInputRef, monthInputRef]);
|
|
31
|
+
const onClearClick = React.useCallback(e => {
|
|
32
|
+
handleClearAll(e);
|
|
33
|
+
setLatestInteractionRegion('clear-btn');
|
|
34
|
+
focusFirstRegion();
|
|
35
|
+
}, [focusFirstRegion, handleClearAll, setLatestInteractionRegion]);
|
|
36
|
+
const onHomeKeyDown = React.useCallback(() => {
|
|
37
|
+
focusFirstRegion();
|
|
38
|
+
}, [focusFirstRegion]);
|
|
39
|
+
const onEndKeyDown = React.useCallback(() => {
|
|
40
|
+
var _pickerButtonRef$curr, _pickerButtonRef$curr2;
|
|
41
|
+
|
|
42
|
+
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);
|
|
43
|
+
}, [withAnyPicker, pickerButtonRef]);
|
|
44
|
+
const onClearButtonKeyDown = React.useCallback(e => {
|
|
45
|
+
const {
|
|
46
|
+
key
|
|
47
|
+
} = e;
|
|
48
|
+
const preventDefaultKeys = ['Home', 'End'];
|
|
49
|
+
const stopPropagationKeys = ['Home', 'End'];
|
|
50
|
+
if (preventDefaultKeys.includes(key)) e.preventDefault();
|
|
51
|
+
if (stopPropagationKeys.includes(key)) e.stopPropagation();
|
|
52
|
+
if (key === 'Home') onHomeKeyDown();
|
|
53
|
+
if (key === 'End') onEndKeyDown();
|
|
54
|
+
|
|
55
|
+
if (key === 'Backspace' && withAnyInputs) {
|
|
56
|
+
var _meridiemInputRef$cur, _meridiemInputRef$cur2, _yearInputRef$current, _yearInputRef$current2;
|
|
57
|
+
|
|
58
|
+
if (isWithTimeInputs) 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);else if (isWithDateInputs) 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);
|
|
59
|
+
}
|
|
60
|
+
}, [isWithDateInputs, isWithTimeInputs, meridiemInputRef, onEndKeyDown, onHomeKeyDown, withAnyInputs, yearInputRef]);
|
|
17
61
|
return React.useMemo(() => ({
|
|
18
62
|
onClearClick,
|
|
63
|
+
onClearButtonKeyDown,
|
|
19
64
|
clearButtonRef,
|
|
20
65
|
withAnyPicker,
|
|
21
66
|
withClearBtn
|
|
22
|
-
}), [onClearClick, clearButtonRef, withAnyPicker, withClearBtn]);
|
|
67
|
+
}), [onClearClick, onClearButtonKeyDown, clearButtonRef, withAnyPicker, withClearBtn]);
|
|
23
68
|
};
|
|
24
69
|
|
|
25
70
|
exports.useClearButton = useClearButton;
|
|
@@ -2,6 +2,12 @@
|
|
|
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');
|
|
10
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
11
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
12
|
var React = require('react');
|
|
7
13
|
var dsGrid = require('@elliemae/ds-grid');
|
|
@@ -11,13 +17,19 @@ var DateInputs = require('./DateInputs/DateInputs.js');
|
|
|
11
17
|
var TimeInputs = require('./TimeInputs/TimeInputs.js');
|
|
12
18
|
var PickersIcons = require('./Pickers/PickersIcons.js');
|
|
13
19
|
var ClearButton = require('./ClearButton/ClearButton.js');
|
|
20
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
14
21
|
|
|
15
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
23
|
|
|
24
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
17
25
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
18
26
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
27
|
|
|
20
28
|
var _DateInputs, _TimeInputs, _ClearButton, _PickersIcons;
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
21
33
|
const ControlledDateTimePickerContent = () => {
|
|
22
34
|
const {
|
|
23
35
|
hideDate,
|
|
@@ -31,10 +43,13 @@ const ControlledDateTimePickerContent = () => {
|
|
|
31
43
|
shouldPreserveClearableSpace,
|
|
32
44
|
isControllerOnly,
|
|
33
45
|
props: {
|
|
34
|
-
hasError
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
46
|
+
hasError,
|
|
47
|
+
dataAttrs,
|
|
48
|
+
disabled
|
|
49
|
+
},
|
|
50
|
+
onGlobalKeyDown
|
|
51
|
+
} = React__default["default"].useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
52
|
+
const resetLatestInteraction = React__default["default"].useCallback(() => {
|
|
38
53
|
setLatestInteractionRegion('');
|
|
39
54
|
}, [setLatestInteractionRegion]);
|
|
40
55
|
const mainCols = [];
|
|
@@ -44,18 +59,24 @@ const ControlledDateTimePickerContent = () => {
|
|
|
44
59
|
const rightControlCols = [];
|
|
45
60
|
if (shouldPreserveClearableSpace) rightControlCols.push('28px');
|
|
46
61
|
if (withAnyPicker) rightControlCols.push('auto');
|
|
47
|
-
return /*#__PURE__*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
63
|
+
children: /*#__PURE__*/jsxRuntime.jsxs(Styleds.StyledInputsWrapperGrid, _objectSpread(_objectSpread({
|
|
64
|
+
cols: mainCols,
|
|
65
|
+
gutter: "xxs",
|
|
66
|
+
pr: hideDatePicker && hideTimePicker && hideDateTimePicker ? '2px' : null,
|
|
67
|
+
justPicker: hideDate && hideTime,
|
|
68
|
+
withAnyPicker: withAnyPicker,
|
|
69
|
+
onBlur: resetLatestInteraction,
|
|
70
|
+
onKeyDown: onGlobalKeyDown,
|
|
71
|
+
hasError: hasError,
|
|
72
|
+
isControllerOnly: isControllerOnly,
|
|
73
|
+
disabled: disabled
|
|
74
|
+
}, dataAttrs), {}, {
|
|
75
|
+
children: [hideDate ? null : _DateInputs || (_DateInputs = /*#__PURE__*/_jsx__default["default"](DateInputs.DateInputs, {})), hideTime ? null : _TimeInputs || (_TimeInputs = /*#__PURE__*/_jsx__default["default"](TimeInputs.TimeInputs, {})), withAnyRightController ? /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
|
|
76
|
+
cols: rightControlCols
|
|
77
|
+
}, void 0, shouldPreserveClearableSpace ? _ClearButton || (_ClearButton = /*#__PURE__*/_jsx__default["default"](ClearButton.ClearButton, {})) : null, withAnyPicker ? _PickersIcons || (_PickersIcons = /*#__PURE__*/_jsx__default["default"](PickersIcons.PickersIcons, {})) : null) : null]
|
|
78
|
+
}))
|
|
79
|
+
});
|
|
59
80
|
};
|
|
60
81
|
|
|
61
82
|
exports.ControlledDateTimePickerContent = ControlledDateTimePickerContent;
|
|
@@ -19,15 +19,18 @@ const isInvalidDay = day => {
|
|
|
19
19
|
return day.length > 2 || day === '00' || !numberOnly || Number.parseInt(day, 10) > 31;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const DDInput = /*#__PURE__*/React__default[
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
const DDInput = /*#__PURE__*/React__default["default"].memo(_ref => {
|
|
23
|
+
let {
|
|
24
|
+
onChange,
|
|
25
|
+
onBlur,
|
|
26
|
+
onFocus,
|
|
27
|
+
onKeyDown,
|
|
28
|
+
value,
|
|
29
|
+
disabled,
|
|
30
|
+
contextRef,
|
|
31
|
+
placeholder,
|
|
32
|
+
ariaCurrentValueForInputs
|
|
33
|
+
} = _ref;
|
|
31
34
|
const validateOnChange = React.useCallback(e => {
|
|
32
35
|
var _e$target;
|
|
33
36
|
|
|
@@ -46,8 +49,10 @@ const DDInput = /*#__PURE__*/React__default['default'].memo(({
|
|
|
46
49
|
value: value,
|
|
47
50
|
ref: contextRef,
|
|
48
51
|
placeholder: placeholder,
|
|
49
|
-
"aria-label": "day input field",
|
|
50
|
-
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY
|
|
52
|
+
"aria-label": "day input field, ".concat(ariaCurrentValueForInputs),
|
|
53
|
+
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.DAY,
|
|
54
|
+
disabled: disabled,
|
|
55
|
+
"aria-disabled": disabled
|
|
51
56
|
});
|
|
52
57
|
});
|
|
53
58
|
|
|
@@ -23,6 +23,7 @@ const DateInputs = () => {
|
|
|
23
23
|
month,
|
|
24
24
|
day,
|
|
25
25
|
year,
|
|
26
|
+
autoFocusMonthInput,
|
|
26
27
|
onMonthChange,
|
|
27
28
|
onDayChange,
|
|
28
29
|
onYearChange,
|
|
@@ -34,44 +35,53 @@ const DateInputs = () => {
|
|
|
34
35
|
onYearFocus,
|
|
35
36
|
onMonthKeyDown,
|
|
36
37
|
onDayKeyDown,
|
|
37
|
-
onYearKeyDown
|
|
38
|
+
onYearKeyDown,
|
|
39
|
+
disabled
|
|
38
40
|
} = useDateInputs.useDateInputs(); // we do this here so MMInput,DDInput,YYYYInput can be pure component memoized via React.memo
|
|
39
41
|
|
|
40
42
|
const {
|
|
41
43
|
monthInputRef,
|
|
42
44
|
dayInputRef,
|
|
43
|
-
yearInputRef
|
|
45
|
+
yearInputRef,
|
|
46
|
+
ariaCurrentValueForInputs
|
|
44
47
|
} = React.useContext(ControlledDateTimePickerCTX.ControlledDateTimePickerContext);
|
|
45
|
-
return /*#__PURE__*/_jsx__default[
|
|
48
|
+
return /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
|
|
46
49
|
cols: [config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.smallInputWidth, config.fixedValues.separatorWidth, config.fixedValues.largeInputWidth]
|
|
47
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
50
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](MMInput.MMInput, {
|
|
48
51
|
onChange: onMonthChange,
|
|
49
52
|
onBlur: onMonthBlur,
|
|
50
53
|
onFocus: onMonthFocus,
|
|
51
54
|
onKeyDown: onMonthKeyDown,
|
|
52
55
|
value: month,
|
|
53
56
|
contextRef: monthInputRef,
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
autoFocusMonthInput: autoFocusMonthInput,
|
|
58
|
+
placeholder: "MM",
|
|
59
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs,
|
|
60
|
+
disabled: disabled
|
|
61
|
+
})), _StyledSeparator || (_StyledSeparator = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
|
|
56
62
|
alignItems: "center"
|
|
57
|
-
}, void 0, "/")), /*#__PURE__*/_jsx__default[
|
|
63
|
+
}, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](DDInput.DDInput, {
|
|
58
64
|
onChange: onDayChange,
|
|
59
65
|
onBlur: onDayBlur,
|
|
60
66
|
onFocus: onDayFocus,
|
|
61
67
|
onKeyDown: onDayKeyDown,
|
|
62
68
|
value: day,
|
|
63
69
|
contextRef: dayInputRef,
|
|
64
|
-
placeholder: "DD"
|
|
65
|
-
|
|
70
|
+
placeholder: "DD",
|
|
71
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs,
|
|
72
|
+
disabled: disabled
|
|
73
|
+
})), _StyledSeparator2 || (_StyledSeparator2 = /*#__PURE__*/_jsx__default["default"](Styleds.StyledSeparator, {
|
|
66
74
|
alignItems: "center"
|
|
67
|
-
}, void 0, "/")), /*#__PURE__*/_jsx__default[
|
|
75
|
+
}, void 0, "/")), /*#__PURE__*/_jsx__default["default"](Styleds.StyledFocusWithIn, {}, void 0, /*#__PURE__*/_jsx__default["default"](YYYYInput.YYYYInput, {
|
|
68
76
|
onChange: onYearChange,
|
|
69
77
|
onBlur: onYearBlur,
|
|
70
78
|
onFocus: onYearFocus,
|
|
71
79
|
onKeyDown: onYearKeyDown,
|
|
72
80
|
value: year,
|
|
73
81
|
contextRef: yearInputRef,
|
|
74
|
-
placeholder: "YYYY"
|
|
82
|
+
placeholder: "YYYY",
|
|
83
|
+
ariaCurrentValueForInputs: ariaCurrentValueForInputs,
|
|
84
|
+
disabled: disabled
|
|
75
85
|
})));
|
|
76
86
|
};
|
|
77
87
|
|
|
@@ -19,15 +19,19 @@ const isInvalidMonth = month => {
|
|
|
19
19
|
return month.length > 2 || month === '00' || !numberOnly || Number.parseInt(month, 10) > 12;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const MMInput = /*#__PURE__*/React__default[
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
const MMInput = /*#__PURE__*/React__default["default"].memo(_ref => {
|
|
23
|
+
let {
|
|
24
|
+
onChange,
|
|
25
|
+
onBlur,
|
|
26
|
+
onFocus,
|
|
27
|
+
onKeyDown,
|
|
28
|
+
value,
|
|
29
|
+
disabled,
|
|
30
|
+
placeholder,
|
|
31
|
+
contextRef,
|
|
32
|
+
autoFocusMonthInput,
|
|
33
|
+
ariaCurrentValueForInputs
|
|
34
|
+
} = _ref;
|
|
31
35
|
const validateOnChange = React.useCallback(e => {
|
|
32
36
|
var _e$target;
|
|
33
37
|
|
|
@@ -39,6 +43,7 @@ const MMInput = /*#__PURE__*/React__default['default'].memo(({
|
|
|
39
43
|
onChange(e);
|
|
40
44
|
}, [onChange]);
|
|
41
45
|
return /*#__PURE__*/jsxRuntime.jsx(Styleds.Styled2DigitsInput, {
|
|
46
|
+
autoFocus: autoFocusMonthInput,
|
|
42
47
|
onChange: validateOnChange,
|
|
43
48
|
onBlur: onBlur,
|
|
44
49
|
onFocus: onFocus,
|
|
@@ -46,8 +51,10 @@ const MMInput = /*#__PURE__*/React__default['default'].memo(({
|
|
|
46
51
|
value: value,
|
|
47
52
|
ref: contextRef,
|
|
48
53
|
placeholder: placeholder,
|
|
49
|
-
"aria-label": "month input field",
|
|
50
|
-
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH
|
|
54
|
+
"aria-label": "month input field, ".concat(ariaCurrentValueForInputs),
|
|
55
|
+
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.MONTH,
|
|
56
|
+
disabled: disabled,
|
|
57
|
+
"aria-disabled": disabled
|
|
51
58
|
});
|
|
52
59
|
});
|
|
53
60
|
|
|
@@ -19,15 +19,18 @@ const isInvalidYear = year => {
|
|
|
19
19
|
return year.length > 4 || !numberOnly || Number.parseInt(year, 10) > 9999;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const YYYYInput = /*#__PURE__*/React__default[
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
const YYYYInput = /*#__PURE__*/React__default["default"].memo(_ref => {
|
|
23
|
+
let {
|
|
24
|
+
onChange,
|
|
25
|
+
onBlur,
|
|
26
|
+
onFocus,
|
|
27
|
+
onKeyDown,
|
|
28
|
+
value,
|
|
29
|
+
disabled,
|
|
30
|
+
placeholder,
|
|
31
|
+
contextRef,
|
|
32
|
+
ariaCurrentValueForInputs
|
|
33
|
+
} = _ref;
|
|
31
34
|
const validateOnChange = React.useCallback(e => {
|
|
32
35
|
var _e$target;
|
|
33
36
|
|
|
@@ -46,8 +49,10 @@ const YYYYInput = /*#__PURE__*/React__default['default'].memo(({
|
|
|
46
49
|
value: value,
|
|
47
50
|
ref: contextRef,
|
|
48
51
|
placeholder: placeholder,
|
|
49
|
-
"aria-label": "year input field",
|
|
50
|
-
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR
|
|
52
|
+
"aria-label": "year input field, ".concat(ariaCurrentValueForInputs),
|
|
53
|
+
"data-testid": ControlledDateTimePickerDatatestid.ControlledDateTimePickerDatatestid.DATE_INPUTS.YEAR,
|
|
54
|
+
disabled: disabled,
|
|
55
|
+
"aria-disabled": disabled
|
|
51
56
|
});
|
|
52
57
|
});
|
|
53
58
|
|