@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
|
@@ -1,11 +1,20 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
4
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
5
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
7
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
8
|
import React, { useRef, useMemo, useState, useCallback } from 'react';
|
|
9
|
+
import { getDataProps } from '@elliemae/ds-props-helpers';
|
|
3
10
|
import { useGetDatePickerWithDefaultsProps } from './useGetPropsWithDefault.js';
|
|
11
|
+
import { useGetDestructuredValues } from './useGetDestructuredValues.js';
|
|
4
12
|
import { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../ControlledDateTimePickerTypes.js';
|
|
5
13
|
import { useValidateProps } from './useValidateProps.js';
|
|
6
|
-
import { getValidationDateStringMetaInfo } from '../utils/dateHelpers.js';
|
|
14
|
+
import { getValidationDateStringMetaInfo, getDateStringFromDay, getTimeStringFromDay } from '../utils/dateHelpers.js';
|
|
7
15
|
import { getValidationTimeStringMetaInfo } from '../utils/timeHelpers.js';
|
|
8
|
-
import { dateTimeToDate, dateTimeToTime, isEmptyDateStringMask, isEmptyTimeStringMask, isEmptyDateTimeStringMask } from '../utils/stringHelpers.js';
|
|
16
|
+
import { dateTimeToDate, dateTimeToTime, getFormattedDateString, getFormattedTimeString, isEmptyDateStringMask, isEmptyTimeStringMask, isEmptyDateTimeStringMask } from '../utils/stringHelpers.js';
|
|
17
|
+
import { defaultMetaInfo } from '../utils/constants.js';
|
|
9
18
|
|
|
10
19
|
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; }
|
|
11
20
|
|
|
@@ -18,8 +27,7 @@ const useControlledDateTimePicker = props => {
|
|
|
18
27
|
const dayInputRef = useRef();
|
|
19
28
|
const yearInputRef = useRef();
|
|
20
29
|
const hourInputRef = useRef();
|
|
21
|
-
const minutesInputRef = useRef();
|
|
22
|
-
|
|
30
|
+
const minutesInputRef = useRef();
|
|
23
31
|
const meridiemInputRef = useRef();
|
|
24
32
|
const clearButtonRef = useRef();
|
|
25
33
|
const pickerButtonRef = useRef();
|
|
@@ -33,20 +41,19 @@ const useControlledDateTimePicker = props => {
|
|
|
33
41
|
const nextHourBtnRef = useRef();
|
|
34
42
|
const prevMinutesBtnRef = useRef();
|
|
35
43
|
const currMinutesBtnRef = useRef();
|
|
36
|
-
const nextMinutesBtnRef = useRef();
|
|
37
|
-
// const currSecondsBtnRef = useRef<HTMLButtonElement>();
|
|
38
|
-
// const nextSecondsBtnRef = useRef<HTMLButtonElement>();
|
|
39
|
-
|
|
44
|
+
const nextMinutesBtnRef = useRef();
|
|
40
45
|
const prevMeridiemBtnRef = useRef();
|
|
41
46
|
const currMeridiemBtnRef = useRef();
|
|
42
47
|
const nextMeridiemBtnRef = useRef();
|
|
43
48
|
const propsWithDefaults = useGetDatePickerWithDefaultsProps(props);
|
|
49
|
+
const dataAttrs = getDataProps(props);
|
|
44
50
|
const {
|
|
45
51
|
type,
|
|
46
52
|
getIsDisabledDay,
|
|
47
53
|
getIsOutOfRangeDay,
|
|
48
54
|
getIsDisabledTime,
|
|
49
55
|
isClearable,
|
|
56
|
+
autoFocus,
|
|
50
57
|
onDateChange: appOnDateChange,
|
|
51
58
|
onDateTimeChange: appOnDateTimeChange,
|
|
52
59
|
onTimeChange: appOnTimeChange,
|
|
@@ -55,7 +62,10 @@ const useControlledDateTimePicker = props => {
|
|
|
55
62
|
onYearChange: appOnYearChange,
|
|
56
63
|
onHourChange: appOnHourChange,
|
|
57
64
|
onMinuteChange: appOnMinuteChange,
|
|
58
|
-
onMeridiemChange: appOnMeridiemChange
|
|
65
|
+
onMeridiemChange: appOnMeridiemChange,
|
|
66
|
+
date: appDate,
|
|
67
|
+
time: appTime,
|
|
68
|
+
dateTime: appDateTime
|
|
59
69
|
} = propsWithDefaults;
|
|
60
70
|
const dateStringFromProps = useMemo(() => propsWithDefaults.dateTime && propsWithDefaults.dateTime !== '' ? dateTimeToDate(propsWithDefaults.dateTime) : propsWithDefaults.date && propsWithDefaults.date !== '' ? propsWithDefaults.date : '__/__/____', [propsWithDefaults.date, propsWithDefaults.dateTime]); // don't use tempDateString to trigger useEffect for onDateChange
|
|
61
71
|
// that is an anti-pattern and leads to a lot of issue
|
|
@@ -75,21 +85,65 @@ const useControlledDateTimePicker = props => {
|
|
|
75
85
|
const isDateSelector = type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.FULL || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY;
|
|
76
86
|
const isTimeSelector = type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.FULL || type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.INPUTS || type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.PICKER || type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;
|
|
77
87
|
const isDateTimeSelector = type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.INPUTS || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;
|
|
78
|
-
const isControllerOnly =
|
|
79
|
-
const isWithTimeWheelToo =
|
|
80
|
-
const isWithCalendarToo =
|
|
88
|
+
const isControllerOnly = type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY || type === CONTROLLED_DATE_TIME_PICKER_TYPES.TIME.CONTROLLER_ONLY;
|
|
89
|
+
const isWithTimeWheelToo = type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;
|
|
90
|
+
const isWithCalendarToo = type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.FULL || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.PICKER || type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY;
|
|
81
91
|
const withAnyInputs = !hideDate || !hideTime;
|
|
82
92
|
const withAnyPicker = !hideDateTimePicker || !hideTimePicker || !hideDatePicker;
|
|
83
|
-
const withClearBtn = isClearable && withAnyInputs && (dateStringFromProps !== '__/__/____' && dateStringFromProps !== '' ||
|
|
93
|
+
const withClearBtn = isClearable && withAnyInputs && (dateStringFromProps !== '__/__/____' && dateStringFromProps !== '' || // date is not "empty-ish"
|
|
94
|
+
timeStringFromProps !== '__:__ __' && timeStringFromProps !== ''); // or time is not "empty-ish"
|
|
84
95
|
|
|
96
|
+
const isWithDateInputs = withAnyInputs && (isDateTimeSelector || isDateSelector);
|
|
97
|
+
const isWithDateInputsOnly = withAnyInputs && isDateSelector;
|
|
98
|
+
const isWithTimeInputs = withAnyInputs && (isDateTimeSelector || isTimeSelector);
|
|
99
|
+
const isWithTimeInputsOnly = withAnyInputs && isTimeSelector;
|
|
100
|
+
const autoFocusMonthInput = isWithDateInputs && autoFocus;
|
|
101
|
+
const autoFocusHourInput = isWithTimeInputsOnly && autoFocus;
|
|
102
|
+
const autoFocusPrevMonthArrow = isControllerOnly && autoFocus;
|
|
103
|
+
const autoFocusHourTimeWheel = isControllerOnly && isTimeSelector && autoFocus;
|
|
85
104
|
const shouldPreserveClearableSpace = isClearable && withAnyInputs;
|
|
86
105
|
const withAnyRightController = withAnyPicker || withClearBtn || shouldPreserveClearableSpace;
|
|
87
106
|
const [latestInteractionRegion, setLatestInteractionRegion] = useState('');
|
|
88
|
-
|
|
107
|
+
let firstSegmentRef = useRef();
|
|
108
|
+
if (isWithDateInputs) firstSegmentRef = monthInputRef;else if (isWithTimeInputs) firstSegmentRef = hourInputRef;else if (withAnyPicker) firstSegmentRef = pickerButtonRef;
|
|
109
|
+
let lastSegmentRef = useRef();
|
|
110
|
+
if (withAnyPicker) lastSegmentRef = pickerButtonRef;else if (withClearBtn) lastSegmentRef = clearButtonRef;else if (isWithTimeInputs) lastSegmentRef = meridiemInputRef;else if (isWithDateInputs) lastSegmentRef = yearInputRef;
|
|
111
|
+
const {
|
|
112
|
+
month,
|
|
113
|
+
day,
|
|
114
|
+
year,
|
|
115
|
+
monthNum,
|
|
116
|
+
dayNum,
|
|
117
|
+
yearNum,
|
|
118
|
+
announcedMonth,
|
|
119
|
+
announcedDay,
|
|
120
|
+
announcedYear,
|
|
121
|
+
announcedDateValues,
|
|
122
|
+
hours,
|
|
123
|
+
minutes,
|
|
124
|
+
meridiem,
|
|
125
|
+
hoursNum,
|
|
126
|
+
minutesNum,
|
|
127
|
+
announcedHours,
|
|
128
|
+
announcedMinutes,
|
|
129
|
+
announcedMeridiem,
|
|
130
|
+
announcedTimeValues
|
|
131
|
+
} = useGetDestructuredValues({
|
|
132
|
+
date: appDate,
|
|
133
|
+
time: appTime,
|
|
134
|
+
dateTime: appDateTime,
|
|
135
|
+
isDateTimeSelector
|
|
136
|
+
});
|
|
137
|
+
const ariaCurrentValueForInputs = "current values: ".concat(isWithDateInputs ? "".concat(announcedDateValues) : '').concat(isDateTimeSelector ? ', ' : '').concat(isWithTimeInputs ? "".concat(announcedTimeValues) : '');
|
|
138
|
+
const getDateMetaInfo = useCallback(function () {
|
|
139
|
+
let newDateString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
140
|
+
let metaInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
89
141
|
const finalDateString = newDateString || tempDateString;
|
|
90
142
|
return _objectSpread(_objectSpread({}, metaInfo), getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay));
|
|
91
143
|
}, [tempDateString, getIsDisabledDay, getIsOutOfRangeDay]);
|
|
92
|
-
const getTimeMetaInfo = useCallback((
|
|
144
|
+
const getTimeMetaInfo = useCallback(function () {
|
|
145
|
+
let newTimeString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
146
|
+
let metaInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
93
147
|
const finalTimeString = newTimeString || tempTimeString;
|
|
94
148
|
return _objectSpread(_objectSpread({}, metaInfo), getValidationTimeStringMetaInfo(finalTimeString, getIsDisabledTime));
|
|
95
149
|
}, [tempTimeString, getIsDisabledTime]);
|
|
@@ -102,7 +156,7 @@ const useControlledDateTimePicker = props => {
|
|
|
102
156
|
appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos
|
|
103
157
|
|
|
104
158
|
setTimeString(newTimeString);
|
|
105
|
-
const newDateTimeString =
|
|
159
|
+
const newDateTimeString = "".concat(newDateString, " ").concat(newTimeString);
|
|
106
160
|
|
|
107
161
|
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
108
162
|
newDateString,
|
|
@@ -119,7 +173,7 @@ const useControlledDateTimePicker = props => {
|
|
|
119
173
|
appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos
|
|
120
174
|
|
|
121
175
|
setTempDateString(newDateString);
|
|
122
|
-
const newDateTimeString =
|
|
176
|
+
const newDateTimeString = "".concat(newDateString, " ").concat(tempTimeString);
|
|
123
177
|
|
|
124
178
|
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(tempTimeString, metaInfo)), getDateMetaInfo(newDateString, metaInfo)), {}, {
|
|
125
179
|
newDateString,
|
|
@@ -135,7 +189,7 @@ const useControlledDateTimePicker = props => {
|
|
|
135
189
|
appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos
|
|
136
190
|
|
|
137
191
|
setTimeString(newTimeString);
|
|
138
|
-
const newDateTimeString =
|
|
192
|
+
const newDateTimeString = "".concat(tempDateString, " ").concat(newTimeString);
|
|
139
193
|
|
|
140
194
|
const newMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, getTimeMetaInfo(newTimeString, metaInfo)), getDateMetaInfo(tempDateString, metaInfo)), {}, {
|
|
141
195
|
newDateTimeString,
|
|
@@ -146,6 +200,99 @@ const useControlledDateTimePicker = props => {
|
|
|
146
200
|
const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;
|
|
147
201
|
appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos
|
|
148
202
|
}, [appOnTimeChange, tempDateString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange]);
|
|
203
|
+
const handleChangeMonth = useCallback(function (newMonth, e) {
|
|
204
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
205
|
+
const newDateString = getFormattedDateString({
|
|
206
|
+
month: newMonth,
|
|
207
|
+
day,
|
|
208
|
+
year
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay)), {}, {
|
|
212
|
+
newDateString
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
appOnMonthChange(newMonth, e, finalMetaInfo);
|
|
216
|
+
handleChangeComposedDateString(newDateString, finalMetaInfo);
|
|
217
|
+
}, [day, year, getIsOutOfRangeDay, getIsDisabledDay, appOnMonthChange, handleChangeComposedDateString]);
|
|
218
|
+
const handleChangeDay = useCallback(function (newDay, e) {
|
|
219
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
220
|
+
const newDateString = getFormattedDateString({
|
|
221
|
+
month,
|
|
222
|
+
day: newDay,
|
|
223
|
+
year
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay)), {}, {
|
|
227
|
+
newDateString
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
appOnDayChange(newDay, e, finalMetaInfo);
|
|
231
|
+
handleChangeComposedDateString(newDateString, finalMetaInfo);
|
|
232
|
+
}, [month, year, getIsOutOfRangeDay, getIsDisabledDay, appOnDayChange, handleChangeComposedDateString]);
|
|
233
|
+
const handleChangeYear = useCallback(function (newYear, e) {
|
|
234
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
235
|
+
const newDateString = getFormattedDateString({
|
|
236
|
+
month,
|
|
237
|
+
day,
|
|
238
|
+
year: newYear
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay)), {}, {
|
|
242
|
+
newDateString
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
appOnYearChange(newYear, e, finalMetaInfo);
|
|
246
|
+
handleChangeComposedDateString(newDateString, finalMetaInfo);
|
|
247
|
+
}, [month, day, getIsOutOfRangeDay, getIsDisabledDay, appOnYearChange, handleChangeComposedDateString]);
|
|
248
|
+
const handleChangeHours = useCallback(function (newHours, e) {
|
|
249
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
250
|
+
const newTimeString = getFormattedTimeString({
|
|
251
|
+
hours: newHours,
|
|
252
|
+
minutes,
|
|
253
|
+
// seconds,
|
|
254
|
+
meridiem
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
258
|
+
newTimeString
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
appOnHourChange(newHours, e, finalMetaInfo);
|
|
262
|
+
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
263
|
+
}, [minutes, meridiem, getIsDisabledTime, appOnHourChange, handleChangeComposedTimeString]);
|
|
264
|
+
const handleChangeMinutes = useCallback(function (newMinutes, e) {
|
|
265
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
266
|
+
const newTimeString = getFormattedTimeString({
|
|
267
|
+
hours,
|
|
268
|
+
minutes: newMinutes,
|
|
269
|
+
// seconds,
|
|
270
|
+
meridiem
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
274
|
+
newTimeString
|
|
275
|
+
});
|
|
276
|
+
|
|
277
|
+
appOnMinuteChange(newMinutes, e, finalMetaInfo);
|
|
278
|
+
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
279
|
+
}, [hours, meridiem, getIsDisabledTime, appOnMinuteChange, handleChangeComposedTimeString]);
|
|
280
|
+
const handleChangeMeridiem = useCallback(function (newMeridiem, e) {
|
|
281
|
+
let metaInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultMetaInfo;
|
|
282
|
+
const newTimeString = getFormattedTimeString({
|
|
283
|
+
hours,
|
|
284
|
+
minutes,
|
|
285
|
+
// seconds,
|
|
286
|
+
meridiem: newMeridiem
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime)), {}, {
|
|
290
|
+
newTimeString
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
appOnMeridiemChange(newMeridiem, e, finalMetaInfo);
|
|
294
|
+
handleChangeComposedTimeString(newTimeString, finalMetaInfo);
|
|
295
|
+
}, [hours, minutes, getIsDisabledTime, appOnMeridiemChange, handleChangeComposedTimeString]);
|
|
149
296
|
const handleClearAll = useCallback(e => {
|
|
150
297
|
const metaInfo = {
|
|
151
298
|
isAutomaticFillTrigger: false,
|
|
@@ -157,30 +304,64 @@ const useControlledDateTimePicker = props => {
|
|
|
157
304
|
|
|
158
305
|
const datePartsChangesMetainfo = _objectSpread({}, metaInfo);
|
|
159
306
|
|
|
160
|
-
delete datePartsChangesMetainfo.newDateTimeString;
|
|
161
|
-
delete datePartsChangesMetainfo.newTimeString;
|
|
162
|
-
|
|
163
307
|
const timePartsChangesMetainfo = _objectSpread({}, metaInfo);
|
|
164
308
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
309
|
+
if (isDateSelector || isDateTimeSelector) {
|
|
310
|
+
delete datePartsChangesMetainfo.newDateTimeString;
|
|
311
|
+
delete datePartsChangesMetainfo.newTimeString;
|
|
312
|
+
appOnMonthChange('', e, datePartsChangesMetainfo);
|
|
313
|
+
appOnDayChange('', e, datePartsChangesMetainfo);
|
|
314
|
+
appOnYearChange('', e, datePartsChangesMetainfo);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (isTimeSelector || isDateTimeSelector) {
|
|
318
|
+
delete timePartsChangesMetainfo.newDateTimeString;
|
|
319
|
+
delete timePartsChangesMetainfo.newDateString;
|
|
320
|
+
appOnHourChange('', e, timePartsChangesMetainfo);
|
|
321
|
+
appOnMinuteChange('', e, timePartsChangesMetainfo);
|
|
322
|
+
appOnMeridiemChange('', e, timePartsChangesMetainfo);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (isDateTimeSelector) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);
|
|
326
|
+
if (isDateSelector) handleChangeComposedDateString('__/__/____', datePartsChangesMetainfo);
|
|
327
|
+
if (isTimeSelector) handleChangeComposedTimeString('__:__ __', timePartsChangesMetainfo);
|
|
328
|
+
}, [appOnDayChange, appOnHourChange, appOnMeridiemChange, appOnMinuteChange, appOnMonthChange, appOnYearChange, handleChangeComposedDateString, handleChangeComposedDateTimeString, handleChangeComposedTimeString, isDateSelector, isDateTimeSelector, isTimeSelector]);
|
|
329
|
+
const onFillWithCurrentDateKeys = useCallback(function () {
|
|
330
|
+
let metaInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
331
|
+
isAutomaticFillTrigger: true
|
|
332
|
+
};
|
|
333
|
+
const now = new Date();
|
|
334
|
+
const nowDateString = getDateStringFromDay(now);
|
|
335
|
+
const nowTimeString = getTimeStringFromDay(now);
|
|
336
|
+
|
|
337
|
+
const finalMetaInfo = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, metaInfo), getValidationDateStringMetaInfo(nowDateString, getIsOutOfRangeDay, getIsDisabledDay)), getValidationTimeStringMetaInfo(nowTimeString, getIsDisabledTime)), {}, {
|
|
338
|
+
newDateString: nowDateString
|
|
339
|
+
});
|
|
340
|
+
|
|
341
|
+
handleChangeComposedDateTimeString(nowDateString, nowTimeString, finalMetaInfo);
|
|
342
|
+
}, [getIsDisabledDay, getIsDisabledTime, getIsOutOfRangeDay, handleChangeComposedDateTimeString]);
|
|
343
|
+
const onGlobalKeyDown = useCallback(e => {
|
|
344
|
+
const {
|
|
345
|
+
key,
|
|
346
|
+
ctrlKey,
|
|
347
|
+
metaKey
|
|
348
|
+
} = e;
|
|
349
|
+
|
|
350
|
+
if ((ctrlKey || metaKey) && key === ';') {
|
|
351
|
+
onFillWithCurrentDateKeys();
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
if ((ctrlKey || metaKey) && (key === 'Delete' || key === 'Backspace')) handleClearAll(e);
|
|
355
|
+
}, [handleClearAll, onFillWithCurrentDateKeys]);
|
|
176
356
|
const ctx = React.useMemo(() => ({
|
|
177
|
-
props: propsWithDefaults,
|
|
357
|
+
props: _objectSpread(_objectSpread({}, propsWithDefaults), {}, {
|
|
358
|
+
dataAttrs
|
|
359
|
+
}),
|
|
178
360
|
monthInputRef,
|
|
179
361
|
dayInputRef,
|
|
180
362
|
yearInputRef,
|
|
181
363
|
hourInputRef,
|
|
182
364
|
minutesInputRef,
|
|
183
|
-
// secondsInputRef,
|
|
184
365
|
meridiemInputRef,
|
|
185
366
|
clearButtonRef,
|
|
186
367
|
pickerButtonRef,
|
|
@@ -199,6 +380,8 @@ const useControlledDateTimePicker = props => {
|
|
|
199
380
|
currMeridiemBtnRef,
|
|
200
381
|
nextMeridiemBtnRef,
|
|
201
382
|
dateStringFromProps,
|
|
383
|
+
firstSegmentRef,
|
|
384
|
+
lastSegmentRef,
|
|
202
385
|
tempDateString,
|
|
203
386
|
setTempDateString,
|
|
204
387
|
tempTimeString,
|
|
@@ -206,6 +389,12 @@ const useControlledDateTimePicker = props => {
|
|
|
206
389
|
handleChangeComposedDateTimeString,
|
|
207
390
|
handleChangeComposedDateString,
|
|
208
391
|
handleChangeComposedTimeString,
|
|
392
|
+
handleChangeMonth,
|
|
393
|
+
handleChangeDay,
|
|
394
|
+
handleChangeYear,
|
|
395
|
+
handleChangeHours,
|
|
396
|
+
handleChangeMinutes,
|
|
397
|
+
handleChangeMeridiem,
|
|
209
398
|
handleClearAll,
|
|
210
399
|
hideDate,
|
|
211
400
|
hideTime,
|
|
@@ -218,14 +407,43 @@ const useControlledDateTimePicker = props => {
|
|
|
218
407
|
isControllerOnly,
|
|
219
408
|
isWithTimeWheelToo,
|
|
220
409
|
isWithCalendarToo,
|
|
410
|
+
isWithDateInputs,
|
|
411
|
+
isWithDateInputsOnly,
|
|
412
|
+
isWithTimeInputs,
|
|
413
|
+
isWithTimeInputsOnly,
|
|
414
|
+
autoFocusMonthInput,
|
|
415
|
+
autoFocusHourInput,
|
|
416
|
+
autoFocusPrevMonthArrow,
|
|
417
|
+
autoFocusHourTimeWheel,
|
|
221
418
|
latestInteractionRegion,
|
|
222
419
|
setLatestInteractionRegion,
|
|
223
420
|
withAnyInputs,
|
|
224
421
|
withAnyPicker,
|
|
225
422
|
withClearBtn,
|
|
226
423
|
withAnyRightController,
|
|
227
|
-
shouldPreserveClearableSpace
|
|
228
|
-
|
|
424
|
+
shouldPreserveClearableSpace,
|
|
425
|
+
month,
|
|
426
|
+
day,
|
|
427
|
+
year,
|
|
428
|
+
monthNum,
|
|
429
|
+
dayNum,
|
|
430
|
+
yearNum,
|
|
431
|
+
announcedMonth,
|
|
432
|
+
announcedDay,
|
|
433
|
+
announcedYear,
|
|
434
|
+
announcedDateValues,
|
|
435
|
+
hours,
|
|
436
|
+
minutes,
|
|
437
|
+
meridiem,
|
|
438
|
+
hoursNum,
|
|
439
|
+
minutesNum,
|
|
440
|
+
announcedHours,
|
|
441
|
+
announcedMinutes,
|
|
442
|
+
announcedMeridiem,
|
|
443
|
+
announcedTimeValues,
|
|
444
|
+
ariaCurrentValueForInputs,
|
|
445
|
+
onGlobalKeyDown
|
|
446
|
+
}), [dataAttrs, propsWithDefaults, dateStringFromProps, tempDateString, tempTimeString, handleChangeComposedDateTimeString, handleChangeComposedDateString, handleChangeComposedTimeString, handleChangeMonth, handleChangeDay, handleChangeYear, handleChangeHours, handleChangeMinutes, handleChangeMeridiem, handleClearAll, hideDate, hideTime, hideDateTimePicker, hideDatePicker, hideTimePicker, isDateSelector, isTimeSelector, isDateTimeSelector, isControllerOnly, isWithTimeWheelToo, isWithCalendarToo, isWithDateInputs, isWithDateInputsOnly, isWithTimeInputs, isWithTimeInputsOnly, autoFocusMonthInput, autoFocusHourInput, autoFocusPrevMonthArrow, autoFocusHourTimeWheel, latestInteractionRegion, withAnyInputs, withAnyPicker, withClearBtn, withAnyRightController, shouldPreserveClearableSpace, month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues, ariaCurrentValueForInputs, onGlobalKeyDown] // refs are mutable so we don't need to listen to them
|
|
229
447
|
);
|
|
230
448
|
return ctx;
|
|
231
449
|
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { dateTimeToDate, deconstructValuesFromDateString, fillStringWithPlaceHolders, dateTimeToTime, deconstructTimeValues } from '../utils/stringHelpers.js';
|
|
3
|
+
import { convertToPositiveNumberIfPossible } from '../utils/numberHelpers.js';
|
|
4
|
+
import { monthNames, announcableCardinalDays } from '../utils/constants.js';
|
|
5
|
+
|
|
6
|
+
/* eslint-disable max-lines */
|
|
7
|
+
// this is because it's fully controlled
|
|
8
|
+
// our source of truth is either the date props or dateTime props
|
|
9
|
+
// based on wheter it's a dateTime picker
|
|
10
|
+
// or a date picker (it's date picker when hideTime is true)
|
|
11
|
+
const useGetDestructuredDateValues = _ref => {
|
|
12
|
+
let {
|
|
13
|
+
date,
|
|
14
|
+
dateTime,
|
|
15
|
+
isDateTimeSelector
|
|
16
|
+
} = _ref;
|
|
17
|
+
const dateStringFromProps = isDateTimeSelector ? dateTimeToDate(dateTime) : date;
|
|
18
|
+
const deconstructedValues = deconstructValuesFromDateString(dateStringFromProps);
|
|
19
|
+
const {
|
|
20
|
+
month,
|
|
21
|
+
day,
|
|
22
|
+
year
|
|
23
|
+
} = deconstructedValues;
|
|
24
|
+
const monthNum = convertToPositiveNumberIfPossible(month);
|
|
25
|
+
const dayNum = convertToPositiveNumberIfPossible(day);
|
|
26
|
+
const yearNum = convertToPositiveNumberIfPossible(year);
|
|
27
|
+
const announcedMonth = monthNum !== -1 ? monthNames[monthNum - 1] : 'empty month';
|
|
28
|
+
const announcedDay = dayNum !== -1 ? announcableCardinalDays[dayNum] : 'empty day';
|
|
29
|
+
const announcedYear = yearNum !== -1 ? fillStringWithPlaceHolders("".concat(yearNum), 4, '0') : 'empty year';
|
|
30
|
+
const announcedDateValues = "".concat(announcedMonth, ", ").concat(announcedDay, ", ").concat(announcedYear);
|
|
31
|
+
return useMemo(() => ({
|
|
32
|
+
month,
|
|
33
|
+
day,
|
|
34
|
+
year,
|
|
35
|
+
monthNum,
|
|
36
|
+
dayNum,
|
|
37
|
+
yearNum,
|
|
38
|
+
announcedMonth,
|
|
39
|
+
announcedDay,
|
|
40
|
+
announcedYear,
|
|
41
|
+
announcedDateValues
|
|
42
|
+
}), [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum]);
|
|
43
|
+
}; // this is because it's fully controlled
|
|
44
|
+
// our source of truth is either the time props or dateTime props
|
|
45
|
+
// based on wheter it's a dateTime picker
|
|
46
|
+
// or a time picker (it's time picker when hideDate is true)
|
|
47
|
+
|
|
48
|
+
const useGetDestructuredTimeValues = _ref2 => {
|
|
49
|
+
let {
|
|
50
|
+
time,
|
|
51
|
+
dateTime,
|
|
52
|
+
isDateTimeSelector
|
|
53
|
+
} = _ref2;
|
|
54
|
+
const timeStringFromProps = isDateTimeSelector ? dateTimeToTime(dateTime) : time;
|
|
55
|
+
const deconstructedValues = deconstructTimeValues(timeStringFromProps);
|
|
56
|
+
const {
|
|
57
|
+
hours,
|
|
58
|
+
minutes,
|
|
59
|
+
meridiem
|
|
60
|
+
} = deconstructedValues;
|
|
61
|
+
const hoursNum = convertToPositiveNumberIfPossible(hours);
|
|
62
|
+
const minutesNum = convertToPositiveNumberIfPossible(minutes); // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
63
|
+
|
|
64
|
+
const announcedHours = hoursNum !== -1 ? "".concat(hoursNum) : 'empty hours'; // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...
|
|
65
|
+
|
|
66
|
+
const announcedMinutes = minutesNum !== -1 ? "".concat(minutesNum) : 'empty minutes';
|
|
67
|
+
const announcedMeridiem = // eslint-disable-next-line no-nested-ternary
|
|
68
|
+
meridiem === 'PM' ? "post meridiem" : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';
|
|
69
|
+
const announcedTimeValues = "".concat(announcedHours, ", ").concat(announcedMinutes, ", ").concat(announcedMeridiem);
|
|
70
|
+
return useMemo(() => ({
|
|
71
|
+
hours,
|
|
72
|
+
minutes,
|
|
73
|
+
meridiem,
|
|
74
|
+
hoursNum,
|
|
75
|
+
minutesNum,
|
|
76
|
+
announcedHours,
|
|
77
|
+
announcedMinutes,
|
|
78
|
+
announcedMeridiem,
|
|
79
|
+
announcedTimeValues
|
|
80
|
+
}), [hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
81
|
+
};
|
|
82
|
+
const useGetDestructuredValues = _ref3 => {
|
|
83
|
+
let {
|
|
84
|
+
date,
|
|
85
|
+
time,
|
|
86
|
+
dateTime,
|
|
87
|
+
isDateTimeSelector
|
|
88
|
+
} = _ref3;
|
|
89
|
+
const {
|
|
90
|
+
month,
|
|
91
|
+
day,
|
|
92
|
+
year,
|
|
93
|
+
monthNum,
|
|
94
|
+
dayNum,
|
|
95
|
+
yearNum,
|
|
96
|
+
announcedMonth,
|
|
97
|
+
announcedDay,
|
|
98
|
+
announcedYear,
|
|
99
|
+
announcedDateValues
|
|
100
|
+
} = useGetDestructuredDateValues({
|
|
101
|
+
date,
|
|
102
|
+
dateTime,
|
|
103
|
+
isDateTimeSelector
|
|
104
|
+
});
|
|
105
|
+
const {
|
|
106
|
+
hours,
|
|
107
|
+
minutes,
|
|
108
|
+
meridiem,
|
|
109
|
+
hoursNum,
|
|
110
|
+
minutesNum,
|
|
111
|
+
announcedHours,
|
|
112
|
+
announcedMinutes,
|
|
113
|
+
announcedMeridiem,
|
|
114
|
+
announcedTimeValues
|
|
115
|
+
} = useGetDestructuredTimeValues({
|
|
116
|
+
time,
|
|
117
|
+
dateTime,
|
|
118
|
+
isDateTimeSelector
|
|
119
|
+
});
|
|
120
|
+
return useMemo(() => ({
|
|
121
|
+
month,
|
|
122
|
+
day,
|
|
123
|
+
year,
|
|
124
|
+
monthNum,
|
|
125
|
+
dayNum,
|
|
126
|
+
yearNum,
|
|
127
|
+
announcedMonth,
|
|
128
|
+
announcedDay,
|
|
129
|
+
announcedYear,
|
|
130
|
+
announcedDateValues,
|
|
131
|
+
hours,
|
|
132
|
+
minutes,
|
|
133
|
+
meridiem,
|
|
134
|
+
hoursNum,
|
|
135
|
+
minutesNum,
|
|
136
|
+
announcedHours,
|
|
137
|
+
announcedMinutes,
|
|
138
|
+
announcedMeridiem,
|
|
139
|
+
announcedTimeValues
|
|
140
|
+
}), [month, day, year, monthNum, dayNum, yearNum, announcedMonth, announcedDay, announcedYear, announcedDateValues, hours, minutes, meridiem, hoursNum, minutesNum, announcedHours, announcedMinutes, announcedMeridiem, announcedTimeValues]);
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
export { useGetDestructuredDateValues, useGetDestructuredTimeValues, useGetDestructuredValues };
|
|
@@ -3,72 +3,41 @@ import { deconstructValuesFromDateString, isValidDateString, dateTimeToDate, isV
|
|
|
3
3
|
import { convertToPositiveNumberIfPossible } from '../utils/numberHelpers.js';
|
|
4
4
|
|
|
5
5
|
/* eslint-disable max-len */
|
|
6
|
-
const PREPEND =
|
|
7
|
-
Invalid configuration detected::
|
|
8
|
-
|
|
9
|
-
`;
|
|
6
|
+
const PREPEND = "ControlledDateTimePicker:\n Invalid configuration detected::\n \n ";
|
|
10
7
|
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';
|
|
11
8
|
|
|
12
|
-
const INLINE_RECEIVED_PREPEND =
|
|
13
|
-
|
|
14
|
-
Received:`;
|
|
9
|
+
const INLINE_RECEIVED_PREPEND = "\n\n Received:";
|
|
15
10
|
|
|
16
11
|
const throwInvalidDateTimeError = invalidValue => {
|
|
17
|
-
throw new Error(
|
|
12
|
+
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));
|
|
18
13
|
};
|
|
19
14
|
|
|
20
15
|
const throwInvalidDaterror = invalidValue => {
|
|
21
|
-
throw new Error(
|
|
16
|
+
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));
|
|
22
17
|
};
|
|
23
18
|
|
|
24
19
|
const throwInvalidTimerror = invalidValue => {
|
|
25
|
-
throw new Error(
|
|
20
|
+
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));
|
|
26
21
|
};
|
|
27
22
|
|
|
28
23
|
const throwUncontrolledDateError = (date, onDateChange) => {
|
|
29
|
-
throw new Error(
|
|
30
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
31
|
-
|
|
32
|
-
Received:
|
|
33
|
-
${date}(${typeof date})
|
|
34
|
-
${onDateChange}(${typeof onDateChange})
|
|
35
|
-
${NOT_A_DEFECT}`);
|
|
24
|
+
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));
|
|
36
25
|
};
|
|
37
26
|
|
|
38
27
|
const throwUncontrolledTimeError = (time, onTimeChange) => {
|
|
39
|
-
throw new Error(
|
|
40
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
41
|
-
|
|
42
|
-
Received:
|
|
43
|
-
${time}(${typeof time})
|
|
44
|
-
${onTimeChange}(${typeof onTimeChange})
|
|
45
|
-
${NOT_A_DEFECT}`);
|
|
28
|
+
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));
|
|
46
29
|
};
|
|
47
30
|
|
|
48
31
|
const throwUncontrolledDateTimeError = (dateTime, onDateTimeChange) => {
|
|
49
|
-
throw new Error(
|
|
50
|
-
the full-controlled pattern must be used\n\tcheck https://reactjs.org/docs/forms.html#controlled-components for more informations
|
|
51
|
-
|
|
52
|
-
Received:
|
|
53
|
-
${dateTime}(${typeof dateTime})
|
|
54
|
-
${onDateTimeChange}(${typeof onDateTimeChange})
|
|
55
|
-
${NOT_A_DEFECT}`);
|
|
32
|
+
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));
|
|
56
33
|
};
|
|
57
34
|
|
|
58
35
|
const throwInvalidEmptyPickerStartingMonthError = emptyPickerStartingMonth => {
|
|
59
|
-
throw new Error(
|
|
60
|
-
|
|
61
|
-
Received:
|
|
62
|
-
${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})
|
|
63
|
-
${NOT_A_DEFECT}`);
|
|
36
|
+
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));
|
|
64
37
|
};
|
|
65
38
|
|
|
66
39
|
const throwInvalidOnCalendarOpenFocusedDayError = onCalendarOpenFocusedDay => {
|
|
67
|
-
throw new Error(
|
|
68
|
-
|
|
69
|
-
Received:
|
|
70
|
-
${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})
|
|
71
|
-
${NOT_A_DEFECT}`);
|
|
40
|
+
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));
|
|
72
41
|
};
|
|
73
42
|
|
|
74
43
|
const useValidateProps = props => {
|
|
@@ -2,6 +2,6 @@ export { DSControlledDateTimePicker, DSControlledDateTimePickerWithSchema } from
|
|
|
2
2
|
export { ControlledDateTimePickerDatatestid } from './ControlledDateTimePickerDatatestid.js';
|
|
3
3
|
export { CONTROLLED_DATE_TIME_PICKER_TYPES } from './ControlledDateTimePickerTypes.js';
|
|
4
4
|
export { deconstructValuesFromDateString, prependStringWithPlaceHolders } from './utils/stringHelpers.js';
|
|
5
|
-
export {
|
|
5
|
+
export { getValidationDateTimeStringMetaInfo } from './utils/dateTimeHelpers.js';
|
|
6
6
|
export { getDateStringFromDay, getDateValuesFromDate, getDayFromDateString, getValidationDateStringMetaInfo } from './utils/dateHelpers.js';
|
|
7
7
|
export { getValidationTimeStringMetaInfo } from './utils/timeHelpers.js';
|