@elliemae/ds-form-date-time-picker 3.12.0-next.0 → 3.12.0-next.1
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/dist/cjs/config/useChangeHandlers.js.map +1 -1
- package/dist/cjs/config/useFocusTracker.js.map +1 -1
- package/dist/cjs/config/useGetDestructuredValues.js.map +1 -1
- package/dist/cjs/config/useGetPropsWithDefault.js.map +2 -2
- package/dist/cjs/config/useGetReferences.js.map +1 -1
- package/dist/cjs/config/useGlobalKeyHandlers.js.map +1 -1
- package/dist/cjs/config/useValidateProps.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/dist/cjs/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +2 -2
- package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
- package/dist/cjs/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/dist/cjs/propTypes.js.map +2 -2
- package/dist/cjs/sharedTypes.js.map +1 -1
- package/dist/cjs/utils/typeGuards.js.map +1 -1
- package/dist/esm/config/useChangeHandlers.js.map +1 -1
- package/dist/esm/config/useFocusTracker.js.map +1 -1
- package/dist/esm/config/useGetDestructuredValues.js.map +1 -1
- package/dist/esm/config/useGetPropsWithDefault.js.map +2 -2
- package/dist/esm/config/useGetReferences.js.map +1 -1
- package/dist/esm/config/useGlobalKeyHandlers.js.map +1 -1
- package/dist/esm/config/useValidateProps.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +2 -2
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +2 -2
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/propTypes.js.map +2 -2
- package/dist/esm/utils/typeGuards.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useChangeHandlers.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo } from 'react';\nimport { useRelevantValueFromProps } from './useRelevantValueFromProps';\nimport { useGetDestructuredValues } from './useGetDestructuredValues';\nimport { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport { useGetReferences } from './useGetReferences';\nimport { useFocusTracker } from './useFocusTracker';\nimport { getValidationDateStringMetaInfo } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport {\n isEmptyDateStringMask,\n isEmptyTimeStringMask,\n isEmptyDateTimeStringMask,\n getFormattedDateString,\n getFormattedTimeString,\n} from '../utils/stringHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes';\n\nimport { defaultMetaInfo } from '../utils/constants';\ninterface Config {\n relevantValues: ReturnType<typeof useRelevantValueFromProps>;\n destructuredValues: ReturnType<typeof useGetDestructuredValues>;\n propsBasedOnType: ReturnType<typeof useGetPropsBasedOnType>;\n DOMRefs: ReturnType<typeof useGetReferences>;\n focusTrackers: ReturnType<typeof useFocusTracker>;\n}\n\nexport const useChangeHandlers = ({ relevantValues, destructuredValues, propsBasedOnType, focusTrackers }: Config) => {\n const { tempDateString, setTempDateString, tempTimeString, setTimeString } = relevantValues;\n const {\n getIsDisabledDay,\n getIsOutOfRangeDay,\n appOnDateChange,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n getIsDisabledTime,\n appOnTimeChange,\n appOnHourChange,\n appOnMinuteChange,\n appOnMeridiemChange,\n appOnDateTimeChange,\n isDateTime,\n isDate,\n isTime,\n } = propsBasedOnType;\n const { month, day, year, hours, minutes, meridiem } = destructuredValues;\n const { trackFocusFirstSegment } = focusTrackers;\n\n const getDateMetaInfo = useCallback(\n (\n newDateString: string | null = null,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {},\n ): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const finalDateString = newDateString || tempDateString;\n const finalMetaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay),\n };\n return finalMetaInfo;\n },\n [tempDateString, getIsDisabledDay, getIsOutOfRangeDay],\n );\n\n const getTimeMetaInfo = useCallback(\n (\n newTimeString: string | null = null,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {},\n ): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const finalTimeString = newTimeString || tempTimeString;\n const finalMetaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(finalTimeString, getIsDisabledTime),\n };\n return finalMetaInfo;\n },\n [tempTimeString, getIsDisabledTime],\n );\n\n const handleChangeComposedDateTimeString = useCallback(\n (\n newDateString: string,\n newTimeString: string,\n metaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo,\n ): void => {\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTimeString(newTimeString);\n\n const newDateTimeString = `${newDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [\n appOnDateChange,\n setTempDateString,\n appOnTimeChange,\n setTimeString,\n getTimeMetaInfo,\n getDateMetaInfo,\n appOnDateTimeChange,\n ],\n );\n const handleChangeComposedDateString = useCallback(\n (newDateString: string, metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => {\n // if we receive an \"empty\" mask, we comunicate empty string to the app\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n const newDateTimeString = `${newDateString} ${tempTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(tempTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString: tempTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, setTempDateString, tempTimeString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedTimeString = useCallback(\n (newTimeString: string, metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => {\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n\n setTimeString(newTimeString);\n const newDateTimeString = `${tempDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(tempDateString, metaInfo),\n newDateTimeString,\n newDateString: tempDateString,\n newTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnTimeChange, setTimeString, tempDateString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n\n const handleChangeMonth: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMonth, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month: newMonth,\n day,\n year,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnMonthChange(newMonth, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [day, year, getIsOutOfRangeDay, getIsDisabledDay, appOnMonthChange, handleChangeComposedDateString],\n );\n const handleChangeDay: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newDay, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month,\n day: newDay,\n year,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnDayChange(newDay, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, year, getIsOutOfRangeDay, getIsDisabledDay, appOnDayChange, handleChangeComposedDateString],\n );\n const handleChangeYear: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newYear, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month,\n day,\n year: newYear,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnYearChange(newYear, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, day, getIsOutOfRangeDay, getIsDisabledDay, appOnYearChange, handleChangeComposedDateString],\n );\n\n const handleChangeHours: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newHours, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours: newHours,\n minutes,\n // seconds,\n meridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnHourChange(newHours, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [minutes, meridiem, getIsDisabledTime, appOnHourChange, handleChangeComposedTimeString],\n );\n const handleChangeMinutes: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMinutes, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours,\n minutes: newMinutes,\n meridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnMinuteChange(newMinutes, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [hours, meridiem, getIsDisabledTime, appOnMinuteChange, handleChangeComposedTimeString],\n );\n const handleChangeMeridiem: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMeridiem, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours,\n minutes,\n meridiem: newMeridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnMeridiemChange(newMeridiem, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [hours, minutes, getIsDisabledTime, appOnMeridiemChange, handleChangeComposedTimeString],\n );\n\n const handleClearAll: DSControlledDateTimePickerInternalsT.OnDSBtnClick = useCallback(\n (e) => {\n const metaInfo = {\n isAutomaticFillTrigger: false,\n isClearButtonAction: true,\n newDateString: '',\n newTimeString: '',\n newDateTimeString: '',\n };\n appOnMonthChange('', e, metaInfo);\n appOnDayChange('', e, metaInfo);\n appOnYearChange('', e, metaInfo);\n appOnHourChange('', e, metaInfo);\n appOnMinuteChange('', e, metaInfo);\n appOnMeridiemChange('', e, metaInfo);\n if (isDateTime) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);\n if (isDate) handleChangeComposedDateString('__/__/____', metaInfo);\n if (isTime) handleChangeComposedTimeString('__:__ __', metaInfo);\n trackFocusFirstSegment();\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n isDate,\n isDateTime,\n isTime,\n trackFocusFirstSegment,\n ],\n );\n\n return useMemo(\n () => ({\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleChangeMonth,\n handleChangeDay,\n handleChangeYear,\n handleChangeHours,\n handleChangeMinutes,\n handleChangeMeridiem,\n handleClearAll,\n }),\n [\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n handleChangeDay,\n handleChangeHours,\n handleChangeMeridiem,\n handleChangeMinutes,\n handleChangeMonth,\n handleChangeYear,\n handleClearAll,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo } from 'react';\nimport type { useRelevantValueFromProps } from './useRelevantValueFromProps';\nimport type { useGetDestructuredValues } from './useGetDestructuredValues';\nimport type { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport type { useGetReferences } from './useGetReferences';\nimport type { useFocusTracker } from './useFocusTracker';\nimport { getValidationDateStringMetaInfo } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport {\n isEmptyDateStringMask,\n isEmptyTimeStringMask,\n isEmptyDateTimeStringMask,\n getFormattedDateString,\n getFormattedTimeString,\n} from '../utils/stringHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes';\n\nimport { defaultMetaInfo } from '../utils/constants';\ninterface Config {\n relevantValues: ReturnType<typeof useRelevantValueFromProps>;\n destructuredValues: ReturnType<typeof useGetDestructuredValues>;\n propsBasedOnType: ReturnType<typeof useGetPropsBasedOnType>;\n DOMRefs: ReturnType<typeof useGetReferences>;\n focusTrackers: ReturnType<typeof useFocusTracker>;\n}\n\nexport const useChangeHandlers = ({ relevantValues, destructuredValues, propsBasedOnType, focusTrackers }: Config) => {\n const { tempDateString, setTempDateString, tempTimeString, setTimeString } = relevantValues;\n const {\n getIsDisabledDay,\n getIsOutOfRangeDay,\n appOnDateChange,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n getIsDisabledTime,\n appOnTimeChange,\n appOnHourChange,\n appOnMinuteChange,\n appOnMeridiemChange,\n appOnDateTimeChange,\n isDateTime,\n isDate,\n isTime,\n } = propsBasedOnType;\n const { month, day, year, hours, minutes, meridiem } = destructuredValues;\n const { trackFocusFirstSegment } = focusTrackers;\n\n const getDateMetaInfo = useCallback(\n (\n newDateString: string | null = null,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {},\n ): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const finalDateString = newDateString || tempDateString;\n const finalMetaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(finalDateString, getIsOutOfRangeDay, getIsDisabledDay),\n };\n return finalMetaInfo;\n },\n [tempDateString, getIsDisabledDay, getIsOutOfRangeDay],\n );\n\n const getTimeMetaInfo = useCallback(\n (\n newTimeString: string | null = null,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {},\n ): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const finalTimeString = newTimeString || tempTimeString;\n const finalMetaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(finalTimeString, getIsDisabledTime),\n };\n return finalMetaInfo;\n },\n [tempTimeString, getIsDisabledTime],\n );\n\n const handleChangeComposedDateTimeString = useCallback(\n (\n newDateString: string,\n newTimeString: string,\n metaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo,\n ): void => {\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTimeString(newTimeString);\n\n const newDateTimeString = `${newDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [\n appOnDateChange,\n setTempDateString,\n appOnTimeChange,\n setTimeString,\n getTimeMetaInfo,\n getDateMetaInfo,\n appOnDateTimeChange,\n ],\n );\n const handleChangeComposedDateString = useCallback(\n (newDateString: string, metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => {\n // if we receive an \"empty\" mask, we comunicate empty string to the app\n const appDateString = isEmptyDateStringMask(newDateString) ? '' : newDateString;\n appOnDateChange(appDateString, metaInfo); // don't do this on useEffect to avoid complete chaos\n setTempDateString(newDateString);\n const newDateTimeString = `${newDateString} ${tempTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(tempTimeString, metaInfo),\n ...getDateMetaInfo(newDateString, metaInfo),\n newDateString,\n newTimeString: tempTimeString,\n newDateTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnDateChange, setTempDateString, tempTimeString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n const handleChangeComposedTimeString = useCallback(\n (newTimeString: string, metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo>) => {\n const appTimeString = isEmptyTimeStringMask(newTimeString) ? '' : newTimeString;\n appOnTimeChange(appTimeString, metaInfo); // don't do this on useEffect to avoid complete chaos\n\n setTimeString(newTimeString);\n const newDateTimeString = `${tempDateString} ${newTimeString}`;\n const newMetaInfo = {\n ...metaInfo,\n ...getTimeMetaInfo(newTimeString, metaInfo),\n ...getDateMetaInfo(tempDateString, metaInfo),\n newDateTimeString,\n newDateString: tempDateString,\n newTimeString,\n };\n\n const appDateTimeString = isEmptyDateTimeStringMask(newDateTimeString) ? '' : newDateTimeString;\n appOnDateTimeChange(appDateTimeString, newMetaInfo); // don't do this on useEffect to avoid complete chaos\n },\n [appOnTimeChange, setTimeString, tempDateString, getTimeMetaInfo, getDateMetaInfo, appOnDateTimeChange],\n );\n\n const handleChangeMonth: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMonth, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month: newMonth,\n day,\n year,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnMonthChange(newMonth, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [day, year, getIsOutOfRangeDay, getIsDisabledDay, appOnMonthChange, handleChangeComposedDateString],\n );\n const handleChangeDay: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newDay, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month,\n day: newDay,\n year,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnDayChange(newDay, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, year, getIsOutOfRangeDay, getIsDisabledDay, appOnDayChange, handleChangeComposedDateString],\n );\n const handleChangeYear: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newYear, e, metaInfo = defaultMetaInfo) => {\n const newDateString = getFormattedDateString({\n month,\n day,\n year: newYear,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(newDateString, getIsOutOfRangeDay, getIsDisabledDay),\n newDateString,\n };\n appOnYearChange(newYear, e, finalMetaInfo);\n handleChangeComposedDateString(newDateString, finalMetaInfo);\n },\n [month, day, getIsOutOfRangeDay, getIsDisabledDay, appOnYearChange, handleChangeComposedDateString],\n );\n\n const handleChangeHours: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newHours, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours: newHours,\n minutes,\n // seconds,\n meridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnHourChange(newHours, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [minutes, meridiem, getIsDisabledTime, appOnHourChange, handleChangeComposedTimeString],\n );\n const handleChangeMinutes: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMinutes, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours,\n minutes: newMinutes,\n meridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnMinuteChange(newMinutes, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [hours, meridiem, getIsDisabledTime, appOnMinuteChange, handleChangeComposedTimeString],\n );\n const handleChangeMeridiem: DSControlledDateTimePickerT.OnInternalInputsChange = useCallback(\n (newMeridiem, e, metaInfo = defaultMetaInfo) => {\n const newTimeString = getFormattedTimeString({\n hours,\n minutes,\n meridiem: newMeridiem,\n });\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationTimeStringMetaInfo(newTimeString, getIsDisabledTime),\n newTimeString,\n };\n appOnMeridiemChange(newMeridiem, e, finalMetaInfo);\n handleChangeComposedTimeString(newTimeString, finalMetaInfo);\n },\n [hours, minutes, getIsDisabledTime, appOnMeridiemChange, handleChangeComposedTimeString],\n );\n\n const handleClearAll: DSControlledDateTimePickerInternalsT.OnDSBtnClick = useCallback(\n (e) => {\n const metaInfo = {\n isAutomaticFillTrigger: false,\n isClearButtonAction: true,\n newDateString: '',\n newTimeString: '',\n newDateTimeString: '',\n };\n appOnMonthChange('', e, metaInfo);\n appOnDayChange('', e, metaInfo);\n appOnYearChange('', e, metaInfo);\n appOnHourChange('', e, metaInfo);\n appOnMinuteChange('', e, metaInfo);\n appOnMeridiemChange('', e, metaInfo);\n if (isDateTime) handleChangeComposedDateTimeString('__/__/____', '__:__ __', metaInfo);\n if (isDate) handleChangeComposedDateString('__/__/____', metaInfo);\n if (isTime) handleChangeComposedTimeString('__:__ __', metaInfo);\n trackFocusFirstSegment();\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n isDate,\n isDateTime,\n isTime,\n trackFocusFirstSegment,\n ],\n );\n\n return useMemo(\n () => ({\n handleChangeComposedDateTimeString,\n handleChangeComposedDateString,\n handleChangeComposedTimeString,\n handleChangeMonth,\n handleChangeDay,\n handleChangeYear,\n handleChangeHours,\n handleChangeMinutes,\n handleChangeMeridiem,\n handleClearAll,\n }),\n [\n handleChangeComposedDateString,\n handleChangeComposedDateTimeString,\n handleChangeComposedTimeString,\n handleChangeDay,\n handleChangeHours,\n handleChangeMeridiem,\n handleChangeMinutes,\n handleChangeMonth,\n handleChangeYear,\n handleClearAll,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useFocusTracker.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable indent */\n/* eslint-disable max-params */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo, useState } from 'react';\nimport { useGetReferences } from './useGetReferences';\nimport { useGetFlags } from './useGetFlags';\n\ntype LatestInteractionRegion =\n | 'calendar-days'\n | 'calendar-head'\n | 'timewheel'\n | 'date-inputs'\n | 'time-inputs'\n | 'clear-btn'\n | 'picker-icon'\n | '';\ntype CurrFocusDescriber =\n | 'first-segment'\n | 'month-input'\n | 'day-input'\n | 'year-input'\n | 'hour-input'\n | 'minute-input'\n | 'meridiem-input'\n | 'last-segment'\n | 'clear-btn'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | 'calendar-prev-month'\n | 'calendar-next-month'\n | 'calendar-prev-year'\n | 'calendar-next-year'\n | 'calendar-metafocused-day'\n | 'timewheel-curr-hour'\n | 'timewheel-curr-minute'\n | 'timewheel-curr-meridiem'\n | '';\n\ninterface Config {\n DOMRefs: ReturnType<typeof useGetReferences>;\n flags: ReturnType<typeof useGetFlags>;\n}\nexport const useFocusTracker = ({ DOMRefs, flags }: Config) => {\n const [latestInteractionRegion, setLatestInteractionRegion] = useState<LatestInteractionRegion>('');\n const [currFocusDescriber, setCurrFocusDescriber] = useState<CurrFocusDescriber>('');\n const { firstSegment, lastSegment } = DOMRefs;\n const { isDateSelector, isTimeSelector } = flags;\n\n const trackFocusPicker = useCallback(() => {\n let picker = 'datetime-picker-icon' as CurrFocusDescriber;\n if (isDateSelector) picker = 'date-picker-icon';\n if (isTimeSelector) picker = 'time-picker-icon';\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (picker !== currFocusDescriber) setCurrFocusDescriber(picker);\n }, [currFocusDescriber, isDateSelector, isTimeSelector, latestInteractionRegion]);\n\n const trackFocusFirstSegment = useCallback(() => {\n let region = 'date-inputs' as LatestInteractionRegion;\n if (firstSegment === 'hour-input') region = 'time-inputs';\n if (firstSegment === 'date-picker-icon') region = 'picker-icon';\n if (firstSegment === 'time-picker-icon') region = 'picker-icon';\n if (firstSegment === 'datetime-picker-icon') region = 'picker-icon';\n if (region !== latestInteractionRegion) setLatestInteractionRegion(region);\n if (firstSegment !== currFocusDescriber) setCurrFocusDescriber(firstSegment);\n }, [currFocusDescriber, firstSegment, latestInteractionRegion]);\n\n const trackFocusLastSegment = useCallback(() => {\n let region = 'date-inputs' as LatestInteractionRegion;\n if (lastSegment === 'meridiem-input') region = 'time-inputs';\n if (lastSegment === 'clear-btn') region = 'clear-btn';\n if (lastSegment === 'date-picker-icon') region = 'picker-icon';\n if (lastSegment === 'time-picker-icon') region = 'picker-icon';\n if (lastSegment === 'datetime-picker-icon') region = 'picker-icon';\n if (region !== latestInteractionRegion) setLatestInteractionRegion(region);\n if (lastSegment !== currFocusDescriber) setCurrFocusDescriber(lastSegment);\n }, [currFocusDescriber, lastSegment, latestInteractionRegion]);\n\n return useMemo(\n () => ({\n latestInteractionRegion,\n setLatestInteractionRegion,\n currFocusDescriber,\n setCurrFocusDescriber,\n trackFocusResetter: () => {\n if (latestInteractionRegion !== '') setLatestInteractionRegion('');\n if (currFocusDescriber !== '') setCurrFocusDescriber('');\n },\n trackFocusMonthInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'month-input') setCurrFocusDescriber('month-input');\n },\n trackFocusDayInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'day-input') setCurrFocusDescriber('day-input');\n },\n trackFocusYearInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'year-input') setCurrFocusDescriber('year-input');\n },\n trackFocusHourInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'hour-input') setCurrFocusDescriber('hour-input');\n },\n trackFocusMinuteInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'minute-input') setCurrFocusDescriber('minute-input');\n },\n trackFocusMeridiemInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'meridiem-input') setCurrFocusDescriber('meridiem-input');\n },\n trackFocusClearBtn: () => {\n if (latestInteractionRegion !== 'clear-btn') setLatestInteractionRegion('clear-btn');\n if (currFocusDescriber !== 'clear-btn') setCurrFocusDescriber('clear-btn');\n },\n trackFocusDatePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'date-picker-icon') setCurrFocusDescriber('date-picker-icon');\n },\n trackFocusTimePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'time-picker-icon') setCurrFocusDescriber('time-picker-icon');\n },\n trackFocusDatetimePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'datetime-picker-icon') setCurrFocusDescriber('datetime-picker-icon');\n },\n trackFocusCalendarPrevMonth: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-prev-month') setCurrFocusDescriber('calendar-prev-month');\n },\n trackFocusCalendarNextMonth: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-next-month') setCurrFocusDescriber('calendar-next-month');\n },\n trackFocusCalendarPrevYear: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-prev-year') setCurrFocusDescriber('calendar-prev-year');\n },\n trackFocusCalendarNextYear: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-next-year') setCurrFocusDescriber('calendar-next-year');\n },\n trackFocusCalendarMetafocusedDay: () => {\n if (latestInteractionRegion !== 'calendar-days') setLatestInteractionRegion('calendar-days');\n if (currFocusDescriber !== 'calendar-metafocused-day') setCurrFocusDescriber('calendar-metafocused-day');\n },\n trackFocusTimewheelCurrHour: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-hour') setCurrFocusDescriber('timewheel-curr-hour');\n },\n trackFocusTimewheelCurrMinute: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-minute') setCurrFocusDescriber('timewheel-curr-minute');\n },\n trackFocusTimewheelCurrMeridiem: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-meridiem') setCurrFocusDescriber('timewheel-curr-meridiem');\n },\n trackFocusPicker,\n trackFocusFirstSegment,\n trackFocusLastSegment,\n }),\n [currFocusDescriber, latestInteractionRegion, trackFocusPicker, trackFocusFirstSegment, trackFocusLastSegment],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable indent */\n/* eslint-disable max-params */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo, useState } from 'react';\nimport type { useGetReferences } from './useGetReferences';\nimport type { useGetFlags } from './useGetFlags';\n\ntype LatestInteractionRegion =\n | 'calendar-days'\n | 'calendar-head'\n | 'timewheel'\n | 'date-inputs'\n | 'time-inputs'\n | 'clear-btn'\n | 'picker-icon'\n | '';\ntype CurrFocusDescriber =\n | 'first-segment'\n | 'month-input'\n | 'day-input'\n | 'year-input'\n | 'hour-input'\n | 'minute-input'\n | 'meridiem-input'\n | 'last-segment'\n | 'clear-btn'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | 'calendar-prev-month'\n | 'calendar-next-month'\n | 'calendar-prev-year'\n | 'calendar-next-year'\n | 'calendar-metafocused-day'\n | 'timewheel-curr-hour'\n | 'timewheel-curr-minute'\n | 'timewheel-curr-meridiem'\n | '';\n\ninterface Config {\n DOMRefs: ReturnType<typeof useGetReferences>;\n flags: ReturnType<typeof useGetFlags>;\n}\nexport const useFocusTracker = ({ DOMRefs, flags }: Config) => {\n const [latestInteractionRegion, setLatestInteractionRegion] = useState<LatestInteractionRegion>('');\n const [currFocusDescriber, setCurrFocusDescriber] = useState<CurrFocusDescriber>('');\n const { firstSegment, lastSegment } = DOMRefs;\n const { isDateSelector, isTimeSelector } = flags;\n\n const trackFocusPicker = useCallback(() => {\n let picker = 'datetime-picker-icon' as CurrFocusDescriber;\n if (isDateSelector) picker = 'date-picker-icon';\n if (isTimeSelector) picker = 'time-picker-icon';\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (picker !== currFocusDescriber) setCurrFocusDescriber(picker);\n }, [currFocusDescriber, isDateSelector, isTimeSelector, latestInteractionRegion]);\n\n const trackFocusFirstSegment = useCallback(() => {\n let region = 'date-inputs' as LatestInteractionRegion;\n if (firstSegment === 'hour-input') region = 'time-inputs';\n if (firstSegment === 'date-picker-icon') region = 'picker-icon';\n if (firstSegment === 'time-picker-icon') region = 'picker-icon';\n if (firstSegment === 'datetime-picker-icon') region = 'picker-icon';\n if (region !== latestInteractionRegion) setLatestInteractionRegion(region);\n if (firstSegment !== currFocusDescriber) setCurrFocusDescriber(firstSegment);\n }, [currFocusDescriber, firstSegment, latestInteractionRegion]);\n\n const trackFocusLastSegment = useCallback(() => {\n let region = 'date-inputs' as LatestInteractionRegion;\n if (lastSegment === 'meridiem-input') region = 'time-inputs';\n if (lastSegment === 'clear-btn') region = 'clear-btn';\n if (lastSegment === 'date-picker-icon') region = 'picker-icon';\n if (lastSegment === 'time-picker-icon') region = 'picker-icon';\n if (lastSegment === 'datetime-picker-icon') region = 'picker-icon';\n if (region !== latestInteractionRegion) setLatestInteractionRegion(region);\n if (lastSegment !== currFocusDescriber) setCurrFocusDescriber(lastSegment);\n }, [currFocusDescriber, lastSegment, latestInteractionRegion]);\n\n return useMemo(\n () => ({\n latestInteractionRegion,\n setLatestInteractionRegion,\n currFocusDescriber,\n setCurrFocusDescriber,\n trackFocusResetter: () => {\n if (latestInteractionRegion !== '') setLatestInteractionRegion('');\n if (currFocusDescriber !== '') setCurrFocusDescriber('');\n },\n trackFocusMonthInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'month-input') setCurrFocusDescriber('month-input');\n },\n trackFocusDayInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'day-input') setCurrFocusDescriber('day-input');\n },\n trackFocusYearInput: () => {\n if (latestInteractionRegion !== 'date-inputs') setLatestInteractionRegion('date-inputs');\n if (currFocusDescriber !== 'year-input') setCurrFocusDescriber('year-input');\n },\n trackFocusHourInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'hour-input') setCurrFocusDescriber('hour-input');\n },\n trackFocusMinuteInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'minute-input') setCurrFocusDescriber('minute-input');\n },\n trackFocusMeridiemInput: () => {\n if (latestInteractionRegion !== 'time-inputs') setLatestInteractionRegion('time-inputs');\n if (currFocusDescriber !== 'meridiem-input') setCurrFocusDescriber('meridiem-input');\n },\n trackFocusClearBtn: () => {\n if (latestInteractionRegion !== 'clear-btn') setLatestInteractionRegion('clear-btn');\n if (currFocusDescriber !== 'clear-btn') setCurrFocusDescriber('clear-btn');\n },\n trackFocusDatePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'date-picker-icon') setCurrFocusDescriber('date-picker-icon');\n },\n trackFocusTimePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'time-picker-icon') setCurrFocusDescriber('time-picker-icon');\n },\n trackFocusDatetimePickerIcon: () => {\n if (latestInteractionRegion !== 'picker-icon') setLatestInteractionRegion('picker-icon');\n if (currFocusDescriber !== 'datetime-picker-icon') setCurrFocusDescriber('datetime-picker-icon');\n },\n trackFocusCalendarPrevMonth: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-prev-month') setCurrFocusDescriber('calendar-prev-month');\n },\n trackFocusCalendarNextMonth: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-next-month') setCurrFocusDescriber('calendar-next-month');\n },\n trackFocusCalendarPrevYear: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-prev-year') setCurrFocusDescriber('calendar-prev-year');\n },\n trackFocusCalendarNextYear: () => {\n if (latestInteractionRegion !== 'calendar-head') setLatestInteractionRegion('calendar-head');\n if (currFocusDescriber !== 'calendar-next-year') setCurrFocusDescriber('calendar-next-year');\n },\n trackFocusCalendarMetafocusedDay: () => {\n if (latestInteractionRegion !== 'calendar-days') setLatestInteractionRegion('calendar-days');\n if (currFocusDescriber !== 'calendar-metafocused-day') setCurrFocusDescriber('calendar-metafocused-day');\n },\n trackFocusTimewheelCurrHour: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-hour') setCurrFocusDescriber('timewheel-curr-hour');\n },\n trackFocusTimewheelCurrMinute: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-minute') setCurrFocusDescriber('timewheel-curr-minute');\n },\n trackFocusTimewheelCurrMeridiem: () => {\n if (latestInteractionRegion !== 'timewheel') setLatestInteractionRegion('timewheel');\n if (currFocusDescriber !== 'timewheel-curr-meridiem') setCurrFocusDescriber('timewheel-curr-meridiem');\n },\n trackFocusPicker,\n trackFocusFirstSegment,\n trackFocusLastSegment,\n }),\n [currFocusDescriber, latestInteractionRegion, trackFocusPicker, trackFocusFirstSegment, trackFocusLastSegment],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useGetDestructuredValues.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport { useMemo } from 'react';\nimport {\n dateTimeToTime,\n deconstructTimeValues,\n dateTimeToDate,\n deconstructValuesFromDateString,\n fillStringWithPlaceHolders,\n} from '../utils/stringHelpers';\nimport { useGetFlags } from './useGetFlags';\nimport { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nimport { monthNames, announcableCardinalDays } from '../utils/constants';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes';\n\ntype UseGetDestructuredDateValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => {\n month: string;\n day: string;\n year: string;\n monthNum: number;\n dayNum: number;\n yearNum: number;\n announcedMonth: string;\n announcedDay: string;\n announcedYear: string;\n announcedDateValues: string;\n};\n// this is because it's fully controlled\n// our source of truth is either the date props or dateTime props\n// based on wheter it's a dateTime picker\n// or a date picker (it's date picker when hideTime is true)\nexport const useGetDestructuredDateValues: UseGetDestructuredDateValues = ({\n appDate,\n appDateTime,\n isDateTimeSelector,\n}) => {\n const dateStringFromProps = isDateTimeSelector ? dateTimeToDate(appDateTime) : appDate;\n const deconstructedValues = deconstructValuesFromDateString(dateStringFromProps);\n const { month, day, year } = deconstructedValues;\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day) as DSControlledDateTimePickerInternalsT.DateDay | -1;\n const yearNum = convertToPositiveNumberIfPossible(year);\n const announcedMonth = monthNum !== -1 ? monthNames[monthNum - 1] : 'empty month';\n const announcedDay = dayNum !== -1 ? announcableCardinalDays[dayNum] : 'empty day';\n const announcedYear = yearNum !== -1 ? fillStringWithPlaceHolders(`${yearNum}`, 4, '0') : 'empty year';\n const announcedDateValues = `${announcedMonth}, ${announcedDay}, ${announcedYear}`;\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n }),\n [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum],\n );\n};\n\ntype UseGetDestructuredTimeValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => {\n hours: string;\n minutes: string;\n meridiem: string;\n hoursNum: number;\n minutesNum: number;\n announcedHours: string;\n announcedMinutes: string;\n announcedMeridiem: string;\n announcedTimeValues: string;\n};\n// this is because it's fully controlled\n// our source of truth is either the time props or dateTime props\n// based on wheter it's a dateTime picker\n// or a time picker (it's time picker when hideDate is true)\nexport const useGetDestructuredTimeValues: UseGetDestructuredTimeValues = ({\n appTime,\n appDateTime,\n isDateTimeSelector,\n}) => {\n const timeStringFromProps = isDateTimeSelector ? dateTimeToTime(appDateTime) : appTime;\n const deconstructedValues = deconstructTimeValues(timeStringFromProps);\n const { hours, minutes, meridiem } = deconstructedValues;\n const hoursNum = convertToPositiveNumberIfPossible(hours);\n const minutesNum = convertToPositiveNumberIfPossible(minutes);\n\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedHours = hoursNum !== -1 ? `${hoursNum}` : 'empty hours';\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedMinutes = minutesNum !== -1 ? `${minutesNum}` : 'empty minutes';\n const announcedMeridiem =\n // eslint-disable-next-line no-nested-ternary\n meridiem === 'PM' ? `post meridiem` : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';\n const announcedTimeValues = `${announcedHours}, ${announcedMinutes}, ${announcedMeridiem}`;\n\n return useMemo(\n () => ({\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n }),\n [\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ],\n );\n};\n\ntype UseGetDestructuredValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => ReturnType<typeof useGetDestructuredDateValues> & ReturnType<typeof useGetDestructuredTimeValues>;\n\nexport const useGetDestructuredValues: UseGetDestructuredValues = (config) => {\n const dateValues = useGetDestructuredDateValues(config);\n const timeValues = useGetDestructuredTimeValues(config);\n\n return useMemo(\n () => ({\n ...dateValues,\n ...timeValues,\n }),\n [dateValues, timeValues],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport { useMemo } from 'react';\nimport {\n dateTimeToTime,\n deconstructTimeValues,\n dateTimeToDate,\n deconstructValuesFromDateString,\n fillStringWithPlaceHolders,\n} from '../utils/stringHelpers';\nimport type { useGetFlags } from './useGetFlags';\nimport type { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nimport { monthNames, announcableCardinalDays } from '../utils/constants';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes';\n\ntype UseGetDestructuredDateValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => {\n month: string;\n day: string;\n year: string;\n monthNum: number;\n dayNum: number;\n yearNum: number;\n announcedMonth: string;\n announcedDay: string;\n announcedYear: string;\n announcedDateValues: string;\n};\n// this is because it's fully controlled\n// our source of truth is either the date props or dateTime props\n// based on wheter it's a dateTime picker\n// or a date picker (it's date picker when hideTime is true)\nexport const useGetDestructuredDateValues: UseGetDestructuredDateValues = ({\n appDate,\n appDateTime,\n isDateTimeSelector,\n}) => {\n const dateStringFromProps = isDateTimeSelector ? dateTimeToDate(appDateTime) : appDate;\n const deconstructedValues = deconstructValuesFromDateString(dateStringFromProps);\n const { month, day, year } = deconstructedValues;\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day) as DSControlledDateTimePickerInternalsT.DateDay | -1;\n const yearNum = convertToPositiveNumberIfPossible(year);\n const announcedMonth = monthNum !== -1 ? monthNames[monthNum - 1] : 'empty month';\n const announcedDay = dayNum !== -1 ? announcableCardinalDays[dayNum] : 'empty day';\n const announcedYear = yearNum !== -1 ? fillStringWithPlaceHolders(`${yearNum}`, 4, '0') : 'empty year';\n const announcedDateValues = `${announcedMonth}, ${announcedDay}, ${announcedYear}`;\n\n return useMemo(\n () => ({\n month,\n day,\n year,\n monthNum,\n dayNum,\n yearNum,\n announcedMonth,\n announcedDay,\n announcedYear,\n announcedDateValues,\n }),\n [announcedDay, announcedMonth, announcedYear, announcedDateValues, day, dayNum, month, monthNum, year, yearNum],\n );\n};\n\ntype UseGetDestructuredTimeValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => {\n hours: string;\n minutes: string;\n meridiem: string;\n hoursNum: number;\n minutesNum: number;\n announcedHours: string;\n announcedMinutes: string;\n announcedMeridiem: string;\n announcedTimeValues: string;\n};\n// this is because it's fully controlled\n// our source of truth is either the time props or dateTime props\n// based on wheter it's a dateTime picker\n// or a time picker (it's time picker when hideDate is true)\nexport const useGetDestructuredTimeValues: UseGetDestructuredTimeValues = ({\n appTime,\n appDateTime,\n isDateTimeSelector,\n}) => {\n const timeStringFromProps = isDateTimeSelector ? dateTimeToTime(appDateTime) : appTime;\n const deconstructedValues = deconstructTimeValues(timeStringFromProps);\n const { hours, minutes, meridiem } = deconstructedValues;\n const hoursNum = convertToPositiveNumberIfPossible(hours);\n const minutesNum = convertToPositiveNumberIfPossible(minutes);\n\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedHours = hoursNum !== -1 ? `${hoursNum}` : 'empty hours';\n // 01 -> 1 ~ 09 -> 9 || 1_ -> 1 ~ 9_ -> 9 || empty...\n const announcedMinutes = minutesNum !== -1 ? `${minutesNum}` : 'empty minutes';\n const announcedMeridiem =\n // eslint-disable-next-line no-nested-ternary\n meridiem === 'PM' ? `post meridiem` : meridiem === 'AM' ? 'ante meridiem' : 'empty meriediem';\n const announcedTimeValues = `${announcedHours}, ${announcedMinutes}, ${announcedMeridiem}`;\n\n return useMemo(\n () => ({\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n }),\n [\n hours,\n minutes,\n meridiem,\n hoursNum,\n minutesNum,\n announcedHours,\n announcedMinutes,\n announcedMeridiem,\n announcedTimeValues,\n ],\n );\n};\n\ntype UseGetDestructuredValues = (\n config: ReturnType<typeof useGetPropsBasedOnType> & ReturnType<typeof useGetFlags>,\n) => ReturnType<typeof useGetDestructuredDateValues> & ReturnType<typeof useGetDestructuredTimeValues>;\n\nexport const useGetDestructuredValues: UseGetDestructuredValues = (config) => {\n const dateValues = useGetDestructuredDateValues(config);\n const timeValues = useGetDestructuredTimeValues(config);\n\n return useMemo(\n () => ({\n ...dateValues,\n ...timeValues,\n }),\n [dateValues, timeValues],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwB;AACxB,2BAMO;AAGP,2BAAkD;AAClD,uBAAoD;AAqB7C,MAAM,+BAA6D,CAAC;AAAA,EACzE;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,sBAAsB,yBAAqB,qCAAe,WAAW,IAAI;AAC/E,QAAM,0BAAsB,sDAAgC,mBAAmB;AAC/E,QAAM,EAAE,OAAO,KAAK,KAAK,IAAI;AAC7B,QAAM,eAAW,wDAAkC,KAAK;AACxD,QAAM,aAAS,wDAAkC,GAAG;AACpD,QAAM,cAAU,wDAAkC,IAAI;AACtD,QAAM,iBAAiB,aAAa,KAAK,4BAAW,WAAW,KAAK;AACpE,QAAM,eAAe,WAAW,KAAK,yCAAwB,UAAU;AACvE,QAAM,gBAAgB,YAAY,SAAK,iDAA2B,GAAG,WAAW,GAAG,GAAG,IAAI;AAC1F,QAAM,sBAAsB,GAAG,mBAAmB,iBAAiB;AAEnE,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,cAAc,gBAAgB,eAAe,qBAAqB,KAAK,QAAQ,OAAO,UAAU,MAAM,OAAO;AAAA,EAChH;AACF;AAmBO,MAAM,+BAA6D,CAAC;AAAA,EACzE;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,sBAAsB,yBAAqB,qCAAe,WAAW,IAAI;AAC/E,QAAM,0BAAsB,4CAAsB,mBAAmB;AACrE,QAAM,EAAE,OAAO,SAAS,SAAS,IAAI;AACrC,QAAM,eAAW,wDAAkC,KAAK;AACxD,QAAM,iBAAa,wDAAkC,OAAO;AAG5D,QAAM,iBAAiB,aAAa,KAAK,GAAG,aAAa;AAEzD,QAAM,mBAAmB,eAAe,KAAK,GAAG,eAAe;AAC/D,QAAM,oBAEJ,aAAa,OAAO,kBAAkB,aAAa,OAAO,kBAAkB;AAC9E,QAAM,sBAAsB,GAAG,mBAAmB,qBAAqB;AAEvE,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAMO,MAAM,2BAAqD,CAAC,WAAW;AAC5E,QAAM,aAAa,6BAA6B,MAAM;AACtD,QAAM,aAAa,6BAA6B,MAAM;AAEtD,aAAO;AAAA,IACL,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,CAAC,YAAY,UAAU;AAAA,EACzB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useGetPropsWithDefault.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useMemoMergePropsWithDefault } from '@elliemae/ds-utilities';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA6C;
|
|
4
|
+
"sourcesContent": ["import { useMemoMergePropsWithDefault } from '@elliemae/ds-utilities';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\nimport { defaultProps } from '../propTypes';\n// we have to merge the \"default\" nested default values with what the user gives us...\nexport const useGetDatePickerWithDefaultsProps = (\n props: DSControlledDateTimePickerT.Props,\n): DSControlledDateTimePickerT.InternalProps =>\n useMemoMergePropsWithDefault<DSControlledDateTimePickerT.InternalProps>(props, defaultProps);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA6C;AAE7C,uBAA6B;AAEtB,MAAM,oCAAoC,CAC/C,cAEA,kDAAwE,OAAO,6BAAY;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useGetReferences.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useRef, useMemo, useState } from 'react';\nimport { useGetFlags } from './useGetFlags';\ntype FirstSegment =\n | 'month-input'\n | 'hour-input'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | '';\ntype LastSegment =\n | 'year-input'\n | 'meridiem-input'\n | 'clear-btn'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | '';\nexport const useGetReferences = ({\n isWithDateInputs,\n isWithTimeInputs,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n withAnyPicker,\n withClearBtn,\n}: ReturnType<typeof useGetFlags>) => {\n // those 2 states are needed for focus tracking\n const [firstSegment, setFirstSegment] = useState<FirstSegment>('');\n const [lastSegment, setLastSegment] = useState<LastSegment>('');\n // refs are used for \"auto-advance\" feature\n const monthInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const dayInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const yearInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const hourInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const minutesInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const meridiemInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const clearButtonRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const pickerButtonRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n\n const prevYearBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMonthBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMonthBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextYearBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const calendarDaysWrapperRef = useRef<HTMLDivElement>(null) as React.MutableRefObject<HTMLDivElement>;\n\n const prevHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n\n let firstSegmentRef = useRef<HTMLInputElement | HTMLButtonElement>(null) as React.MutableRefObject<\n HTMLInputElement | HTMLButtonElement\n >;\n if (isWithDateInputs) {\n firstSegmentRef = monthInputRef;\n if (firstSegment !== 'month-input') setFirstSegment('month-input');\n } else if (isWithTimeInputs) {\n firstSegmentRef = hourInputRef;\n if (firstSegment !== 'hour-input') setFirstSegment('hour-input');\n } else if (withAnyPicker) {\n firstSegmentRef = pickerButtonRef;\n if (isDateSelector && firstSegment !== 'date-picker-icon') setFirstSegment('date-picker-icon');\n if (isTimeSelector && firstSegment !== 'time-picker-icon') setFirstSegment('time-picker-icon');\n if (isDateTimeSelector && firstSegment !== 'datetime-picker-icon') setFirstSegment('datetime-picker-icon');\n }\n\n let lastSegmentRef = useRef<HTMLInputElement | HTMLButtonElement>(null) as React.MutableRefObject<\n HTMLInputElement | HTMLButtonElement\n >;\n if (withAnyPicker) {\n lastSegmentRef = pickerButtonRef;\n if (isDateSelector && lastSegment !== 'date-picker-icon') setLastSegment('date-picker-icon');\n if (isTimeSelector && lastSegment !== 'time-picker-icon') setLastSegment('time-picker-icon');\n if (isDateTimeSelector && lastSegment !== 'datetime-picker-icon') setLastSegment('datetime-picker-icon');\n } else if (withClearBtn) {\n lastSegmentRef = clearButtonRef;\n if (lastSegment !== 'clear-btn') setLastSegment('clear-btn');\n } else if (isWithTimeInputs) {\n lastSegmentRef = meridiemInputRef;\n if (lastSegment !== 'meridiem-input') setLastSegment('meridiem-input');\n } else if (isWithDateInputs) {\n lastSegmentRef = yearInputRef;\n if (lastSegment !== 'year-input') setLastSegment('year-input');\n }\n\n return useMemo(\n () => ({\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n firstSegmentRef,\n lastSegmentRef,\n firstSegment,\n lastSegment,\n }),\n [firstSegment, lastSegment],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useRef, useMemo, useState } from 'react';\nimport type { useGetFlags } from './useGetFlags';\ntype FirstSegment =\n | 'month-input'\n | 'hour-input'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | '';\ntype LastSegment =\n | 'year-input'\n | 'meridiem-input'\n | 'clear-btn'\n | 'date-picker-icon'\n | 'time-picker-icon'\n | 'datetime-picker-icon'\n | '';\nexport const useGetReferences = ({\n isWithDateInputs,\n isWithTimeInputs,\n isDateSelector,\n isTimeSelector,\n isDateTimeSelector,\n withAnyPicker,\n withClearBtn,\n}: ReturnType<typeof useGetFlags>) => {\n // those 2 states are needed for focus tracking\n const [firstSegment, setFirstSegment] = useState<FirstSegment>('');\n const [lastSegment, setLastSegment] = useState<LastSegment>('');\n // refs are used for \"auto-advance\" feature\n const monthInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const dayInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const yearInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const hourInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const minutesInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const meridiemInputRef = useRef<HTMLInputElement>(null) as React.MutableRefObject<HTMLInputElement>;\n const clearButtonRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const pickerButtonRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n\n const prevYearBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMonthBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMonthBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextYearBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const calendarDaysWrapperRef = useRef<HTMLDivElement>(null) as React.MutableRefObject<HTMLDivElement>;\n\n const prevHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextHourBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMinutesBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const prevMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const currMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n const nextMeridiemBtnRef = useRef<HTMLButtonElement>(null) as React.MutableRefObject<HTMLButtonElement>;\n\n let firstSegmentRef = useRef<HTMLInputElement | HTMLButtonElement>(null) as React.MutableRefObject<\n HTMLInputElement | HTMLButtonElement\n >;\n if (isWithDateInputs) {\n firstSegmentRef = monthInputRef;\n if (firstSegment !== 'month-input') setFirstSegment('month-input');\n } else if (isWithTimeInputs) {\n firstSegmentRef = hourInputRef;\n if (firstSegment !== 'hour-input') setFirstSegment('hour-input');\n } else if (withAnyPicker) {\n firstSegmentRef = pickerButtonRef;\n if (isDateSelector && firstSegment !== 'date-picker-icon') setFirstSegment('date-picker-icon');\n if (isTimeSelector && firstSegment !== 'time-picker-icon') setFirstSegment('time-picker-icon');\n if (isDateTimeSelector && firstSegment !== 'datetime-picker-icon') setFirstSegment('datetime-picker-icon');\n }\n\n let lastSegmentRef = useRef<HTMLInputElement | HTMLButtonElement>(null) as React.MutableRefObject<\n HTMLInputElement | HTMLButtonElement\n >;\n if (withAnyPicker) {\n lastSegmentRef = pickerButtonRef;\n if (isDateSelector && lastSegment !== 'date-picker-icon') setLastSegment('date-picker-icon');\n if (isTimeSelector && lastSegment !== 'time-picker-icon') setLastSegment('time-picker-icon');\n if (isDateTimeSelector && lastSegment !== 'datetime-picker-icon') setLastSegment('datetime-picker-icon');\n } else if (withClearBtn) {\n lastSegmentRef = clearButtonRef;\n if (lastSegment !== 'clear-btn') setLastSegment('clear-btn');\n } else if (isWithTimeInputs) {\n lastSegmentRef = meridiemInputRef;\n if (lastSegment !== 'meridiem-input') setLastSegment('meridiem-input');\n } else if (isWithDateInputs) {\n lastSegmentRef = yearInputRef;\n if (lastSegment !== 'year-input') setLastSegment('year-input');\n }\n\n return useMemo(\n () => ({\n monthInputRef,\n dayInputRef,\n yearInputRef,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n clearButtonRef,\n pickerButtonRef,\n prevYearBtnRef,\n prevMonthBtnRef,\n nextMonthBtnRef,\n nextYearBtnRef,\n calendarDaysWrapperRef,\n prevHourBtnRef,\n currHourBtnRef,\n nextHourBtnRef,\n prevMinutesBtnRef,\n currMinutesBtnRef,\n nextMinutesBtnRef,\n prevMeridiemBtnRef,\n currMeridiemBtnRef,\n nextMeridiemBtnRef,\n firstSegmentRef,\n lastSegmentRef,\n firstSegment,\n lastSegment,\n }),\n [firstSegment, lastSegment],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useGlobalKeyHandlers.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable no-nested-ternary */\n/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo } from 'react';\nimport { useChangeHandlers } from './useChangeHandlers';\nimport { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport { useGetReferences } from './useGetReferences';\nimport { useGetFlags } from './useGetFlags';\nimport { useFocusTracker } from './useFocusTracker';\nimport { getValidationDateStringMetaInfo, getDateStringFromDay, getTimeStringFromDay } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport { deconstructValuesFromDateString, deconstructValuesFromTimeString } from '../utils/stringHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\n\ninterface Config {\n propsBasedOnType: ReturnType<typeof useGetPropsBasedOnType>;\n changeHandlers: ReturnType<typeof useChangeHandlers>;\n DOMRefs: ReturnType<typeof useGetReferences>;\n flags: ReturnType<typeof useGetFlags>;\n focusTrackers: ReturnType<typeof useFocusTracker>;\n}\n\nexport const useGlobalKeyHandlers = ({ propsBasedOnType, changeHandlers, flags, focusTrackers }: Config) => {\n const {\n getIsOutOfRangeDay,\n getIsDisabledDay,\n getIsDisabledTime,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n appOnHourChange,\n appOnMinuteChange,\n appOnMeridiemChange,\n } = propsBasedOnType;\n const { handleChangeComposedDateTimeString, handleClearAll } = changeHandlers;\n const { shouldPreserveClearableSpace } = flags;\n const { trackFocusClearBtn, trackFocusLastSegment } = focusTrackers;\n\n const onFillWithCurrentDateKeys = useCallback(\n (\n e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = { isAutomaticFillTrigger: true },\n ) => {\n const now = new Date();\n const nowDateString = getDateStringFromDay(now);\n const nowTimeString = getTimeStringFromDay(now);\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(nowDateString, getIsOutOfRangeDay, getIsDisabledDay),\n ...getValidationTimeStringMetaInfo(nowTimeString, getIsDisabledTime),\n newDateString: nowDateString,\n };\n const { month, day, year } = deconstructValuesFromDateString(nowDateString);\n appOnMonthChange(month, e, metaInfo);\n appOnDayChange(day, e, metaInfo);\n appOnYearChange(year, e, metaInfo);\n const { hours, minutes, meridiem } = deconstructValuesFromTimeString(nowTimeString);\n appOnHourChange(hours, e, metaInfo);\n appOnMinuteChange(minutes, e, metaInfo);\n appOnMeridiemChange(meridiem, e, metaInfo);\n handleChangeComposedDateTimeString(nowDateString, nowTimeString, finalMetaInfo);\n if (shouldPreserveClearableSpace) trackFocusClearBtn();\n else trackFocusLastSegment();\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n getIsDisabledDay,\n getIsDisabledTime,\n getIsOutOfRangeDay,\n handleChangeComposedDateTimeString,\n shouldPreserveClearableSpace,\n trackFocusClearBtn,\n trackFocusLastSegment,\n ],\n );\n\n const onGlobalKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>) => {\n const { key, ctrlKey, metaKey } = e;\n if ((ctrlKey || metaKey) && key === ';') {\n onFillWithCurrentDateKeys(e);\n }\n if ((ctrlKey || metaKey) && (key === 'Delete' || key === 'Backspace')) handleClearAll(e);\n },\n [handleClearAll, onFillWithCurrentDateKeys],\n );\n\n return useMemo(\n () => ({\n onFillWithCurrentDateKeys,\n onGlobalKeyDown,\n }),\n [onFillWithCurrentDateKeys, onGlobalKeyDown],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable no-nested-ternary */\n/* eslint-disable max-lines */\n/* eslint-disable import/prefer-default-export */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\nimport { useCallback, useMemo } from 'react';\nimport type { useChangeHandlers } from './useChangeHandlers';\nimport type { useGetPropsBasedOnType } from './useGetPropsBasedOnType';\nimport type { useGetReferences } from './useGetReferences';\nimport type { useGetFlags } from './useGetFlags';\nimport type { useFocusTracker } from './useFocusTracker';\nimport { getValidationDateStringMetaInfo, getDateStringFromDay, getTimeStringFromDay } from '../utils/dateHelpers';\nimport { getValidationTimeStringMetaInfo } from '../utils/timeHelpers';\nimport { deconstructValuesFromDateString, deconstructValuesFromTimeString } from '../utils/stringHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\n\ninterface Config {\n propsBasedOnType: ReturnType<typeof useGetPropsBasedOnType>;\n changeHandlers: ReturnType<typeof useChangeHandlers>;\n DOMRefs: ReturnType<typeof useGetReferences>;\n flags: ReturnType<typeof useGetFlags>;\n focusTrackers: ReturnType<typeof useFocusTracker>;\n}\n\nexport const useGlobalKeyHandlers = ({ propsBasedOnType, changeHandlers, flags, focusTrackers }: Config) => {\n const {\n getIsOutOfRangeDay,\n getIsDisabledDay,\n getIsDisabledTime,\n appOnMonthChange,\n appOnDayChange,\n appOnYearChange,\n appOnHourChange,\n appOnMinuteChange,\n appOnMeridiemChange,\n } = propsBasedOnType;\n const { handleChangeComposedDateTimeString, handleClearAll } = changeHandlers;\n const { shouldPreserveClearableSpace } = flags;\n const { trackFocusClearBtn, trackFocusLastSegment } = focusTrackers;\n\n const onFillWithCurrentDateKeys = useCallback(\n (\n e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>,\n metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = { isAutomaticFillTrigger: true },\n ) => {\n const now = new Date();\n const nowDateString = getDateStringFromDay(now);\n const nowTimeString = getTimeStringFromDay(now);\n const finalMetaInfo: DSControlledDateTimePickerT.InternalInputsChangeMetaInfo = {\n ...metaInfo,\n ...getValidationDateStringMetaInfo(nowDateString, getIsOutOfRangeDay, getIsDisabledDay),\n ...getValidationTimeStringMetaInfo(nowTimeString, getIsDisabledTime),\n newDateString: nowDateString,\n };\n const { month, day, year } = deconstructValuesFromDateString(nowDateString);\n appOnMonthChange(month, e, metaInfo);\n appOnDayChange(day, e, metaInfo);\n appOnYearChange(year, e, metaInfo);\n const { hours, minutes, meridiem } = deconstructValuesFromTimeString(nowTimeString);\n appOnHourChange(hours, e, metaInfo);\n appOnMinuteChange(minutes, e, metaInfo);\n appOnMeridiemChange(meridiem, e, metaInfo);\n handleChangeComposedDateTimeString(nowDateString, nowTimeString, finalMetaInfo);\n if (shouldPreserveClearableSpace) trackFocusClearBtn();\n else trackFocusLastSegment();\n },\n [\n appOnDayChange,\n appOnHourChange,\n appOnMeridiemChange,\n appOnMinuteChange,\n appOnMonthChange,\n appOnYearChange,\n getIsDisabledDay,\n getIsDisabledTime,\n getIsOutOfRangeDay,\n handleChangeComposedDateTimeString,\n shouldPreserveClearableSpace,\n trackFocusClearBtn,\n trackFocusLastSegment,\n ],\n );\n\n const onGlobalKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement | HTMLButtonElement>) => {\n const { key, ctrlKey, metaKey } = e;\n if ((ctrlKey || metaKey) && key === ';') {\n onFillWithCurrentDateKeys(e);\n }\n if ((ctrlKey || metaKey) && (key === 'Delete' || key === 'Backspace')) handleClearAll(e);\n },\n [handleClearAll, onFillWithCurrentDateKeys],\n );\n\n return useMemo(\n () => ({\n onFillWithCurrentDateKeys,\n onGlobalKeyDown,\n }),\n [onFillWithCurrentDateKeys, onGlobalKeyDown],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADKvB,mBAAqC;AAMrC,yBAA4F;AAC5F,yBAAgD;AAChD,2BAAiF;AAW1E,MAAM,uBAAuB,CAAC,EAAE,kBAAkB,gBAAgB,OAAO,cAAc,MAAc;AAC1G,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,oCAAoC,eAAe,IAAI;AAC/D,QAAM,EAAE,6BAA6B,IAAI;AACzC,QAAM,EAAE,oBAAoB,sBAAsB,IAAI;AAEtD,QAAM,gCAA4B;AAAA,IAChC,CACE,GACA,WAA8E,EAAE,wBAAwB,KAAK,MAC1G;AACH,YAAM,MAAM,IAAI,KAAK;AACrB,YAAM,oBAAgB,yCAAqB,GAAG;AAC9C,YAAM,oBAAgB,yCAAqB,GAAG;AAC9C,YAAM,gBAA0E;AAAA,QAC9E,GAAG;AAAA,QACH,OAAG,oDAAgC,eAAe,oBAAoB,gBAAgB;AAAA,QACtF,OAAG,oDAAgC,eAAe,iBAAiB;AAAA,QACnE,eAAe;AAAA,MACjB;AACA,YAAM,EAAE,OAAO,KAAK,KAAK,QAAI,sDAAgC,aAAa;AAC1E,uBAAiB,OAAO,GAAG,QAAQ;AACnC,qBAAe,KAAK,GAAG,QAAQ;AAC/B,sBAAgB,MAAM,GAAG,QAAQ;AACjC,YAAM,EAAE,OAAO,SAAS,SAAS,QAAI,sDAAgC,aAAa;AAClF,sBAAgB,OAAO,GAAG,QAAQ;AAClC,wBAAkB,SAAS,GAAG,QAAQ;AACtC,0BAAoB,UAAU,GAAG,QAAQ;AACzC,yCAAmC,eAAe,eAAe,aAAa;AAC9E,UAAI;AAA8B,2BAAmB;AAAA;AAChD,8BAAsB;AAAA,IAC7B;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAAiE;AAChE,YAAM,EAAE,KAAK,SAAS,QAAQ,IAAI;AAClC,WAAK,WAAW,YAAY,QAAQ,KAAK;AACvC,kCAA0B,CAAC;AAAA,MAC7B;AACA,WAAK,WAAW,aAAa,QAAQ,YAAY,QAAQ;AAAc,uBAAe,CAAC;AAAA,IACzF;AAAA,IACA,CAAC,gBAAgB,yBAAyB;AAAA,EAC5C;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,2BAA2B,eAAe;AAAA,EAC7C;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useValidateProps.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { DSControlledDateTimePickerT } from '../propTypes';\nimport {\n dateTimeToDate,\n isValidDateString,\n dateTimeToTime,\n isValidTimeString,\n deconstructValuesFromDateString,\n} from '../utils/stringHelpers';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nimport { getIsDateTime, getIsDate, getIsTime } from '../utils/typeGuards';\nconst PREPEND = `ControlledDateTimePicker:\n Invalid configuration detected::\n \n `;\nconst NOT_A_DEFECT = '';\n// '\\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';\nconst INLINE_RECEIVED_PREPEND = `\n\n Received:`;\nconst throwInvalidDateTimeError = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"dateTime\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidDaterror = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"date\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidTimerror = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"time\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledDateError = (date: string, onDateChange: unknown) => {\n throw new Error(\n `${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 date: ${date}(${typeof date})\n onDateChange: (${typeof onDateChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledTimeError = (time: string, onTimeChange: unknown) => {\n throw new Error(\n `${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 time: ${time}(${typeof time})\n onTimeChange: (${typeof onTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\n\nconst throwUncontrolledDateTimeError = (dateTime: string, onDateTimeChange: unknown) => {\n throw new Error(\n `${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 dateTime: ${dateTime}(${typeof dateTime})\n onDateTimeChange: (${typeof onDateTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidEmptyPickerStartingMonthError = (emptyPickerStartingMonth: string) => {\n throw new Error(\n `${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 ${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidOnCalendarOpenFocusedDayError = (onCalendarOpenFocusedDay: string) => {\n throw new Error(\n `${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 ${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})\n ${NOT_A_DEFECT}`,\n );\n};\nexport const useValidateProps = (props: DSControlledDateTimePickerT.Props): void => {\n // validate date-related props\n if (getIsDateTime(props) || getIsDate(props)) {\n const { emptyPickerStartingMonth, onCalendarOpenFocusedDay } = props;\n\n // validate generic use-cases\n if (emptyPickerStartingMonth) {\n const { month: stringMonthVal, year: stringYearVal } = deconstructValuesFromDateString(emptyPickerStartingMonth);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || yearNum <= 0 || yearNum > 9999)\n throwInvalidEmptyPickerStartingMonthError(emptyPickerStartingMonth);\n }\n if (onCalendarOpenFocusedDay) {\n const {\n month: stringMonthVal,\n day: stringDayVal,\n year: stringYearVal,\n } = deconstructValuesFromDateString(onCalendarOpenFocusedDay);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const dayNum = convertToPositiveNumberIfPossible(stringDayVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || dayNum <= 0 || dayNum > 31 || yearNum <= 0 || yearNum > 9999)\n throwInvalidOnCalendarOpenFocusedDayError(onCalendarOpenFocusedDay);\n }\n }\n // validate full datetime cases\n if (getIsDateTime(props)) {\n const { dateTime, onDateTimeChange } = props;\n if (typeof dateTime !== 'string' || typeof onDateTimeChange !== 'function')\n throwUncontrolledDateTimeError(dateTime, onDateTimeChange);\n else if (!isValidDateString(dateTimeToDate(dateTime)) || !isValidTimeString(dateTimeToTime(dateTime)))\n throwInvalidDateTimeError(dateTimeToTime(dateTime));\n }\n\n // validate date-only cases\n if (getIsDate(props)) {\n const { date, onDateChange } = props;\n if (typeof date !== 'string' || typeof onDateChange !== 'function') throwUncontrolledDateError(date, onDateChange);\n else if (!isValidDateString(date)) throwInvalidDaterror(date);\n }\n\n // validate time-only cases\n\n if (getIsTime(props)) {\n const { time, onTimeChange } = props;\n if (typeof time !== 'string' || typeof onTimeChange !== 'function') throwUncontrolledTimeError(time, onTimeChange);\n else if (!isValidTimeString(time)) throwInvalidTimerror(time);\n }\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport type { DSControlledDateTimePickerT } from '../propTypes';\nimport {\n dateTimeToDate,\n isValidDateString,\n dateTimeToTime,\n isValidTimeString,\n deconstructValuesFromDateString,\n} from '../utils/stringHelpers';\nimport { convertToPositiveNumberIfPossible } from '../utils/numberHelpers';\nimport { getIsDateTime, getIsDate, getIsTime } from '../utils/typeGuards';\nconst PREPEND = `ControlledDateTimePicker:\n Invalid configuration detected::\n \n `;\nconst NOT_A_DEFECT = '';\n// '\\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';\nconst INLINE_RECEIVED_PREPEND = `\n\n Received:`;\nconst throwInvalidDateTimeError = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"dateTime\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidDaterror = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"date\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidTimerror = (invalidValue: string) => {\n throw new Error(\n `${PREPEND}the \"time\" you are providing is not respecting the format it must respect.${INLINE_RECEIVED_PREPEND}${invalidValue}(${typeof invalidValue})${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledDateError = (date: string, onDateChange: unknown) => {\n throw new Error(\n `${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 date: ${date}(${typeof date})\n onDateChange: (${typeof onDateChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwUncontrolledTimeError = (time: string, onTimeChange: unknown) => {\n throw new Error(\n `${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 time: ${time}(${typeof time})\n onTimeChange: (${typeof onTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\n\nconst throwUncontrolledDateTimeError = (dateTime: string, onDateTimeChange: unknown) => {\n throw new Error(\n `${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 dateTime: ${dateTime}(${typeof dateTime})\n onDateTimeChange: (${typeof onDateTimeChange})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidEmptyPickerStartingMonthError = (emptyPickerStartingMonth: string) => {\n throw new Error(\n `${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 ${emptyPickerStartingMonth}(${typeof emptyPickerStartingMonth})\n ${NOT_A_DEFECT}`,\n );\n};\nconst throwInvalidOnCalendarOpenFocusedDayError = (onCalendarOpenFocusedDay: string) => {\n throw new Error(\n `${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 ${onCalendarOpenFocusedDay}(${typeof onCalendarOpenFocusedDay})\n ${NOT_A_DEFECT}`,\n );\n};\nexport const useValidateProps = (props: DSControlledDateTimePickerT.Props): void => {\n // validate date-related props\n if (getIsDateTime(props) || getIsDate(props)) {\n const { emptyPickerStartingMonth, onCalendarOpenFocusedDay } = props;\n\n // validate generic use-cases\n if (emptyPickerStartingMonth) {\n const { month: stringMonthVal, year: stringYearVal } = deconstructValuesFromDateString(emptyPickerStartingMonth);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || yearNum <= 0 || yearNum > 9999)\n throwInvalidEmptyPickerStartingMonthError(emptyPickerStartingMonth);\n }\n if (onCalendarOpenFocusedDay) {\n const {\n month: stringMonthVal,\n day: stringDayVal,\n year: stringYearVal,\n } = deconstructValuesFromDateString(onCalendarOpenFocusedDay);\n const monthNum = convertToPositiveNumberIfPossible(stringMonthVal);\n const dayNum = convertToPositiveNumberIfPossible(stringDayVal);\n const yearNum = convertToPositiveNumberIfPossible(stringYearVal);\n if (monthNum <= 0 || monthNum >= 13 || dayNum <= 0 || dayNum > 31 || yearNum <= 0 || yearNum > 9999)\n throwInvalidOnCalendarOpenFocusedDayError(onCalendarOpenFocusedDay);\n }\n }\n // validate full datetime cases\n if (getIsDateTime(props)) {\n const { dateTime, onDateTimeChange } = props;\n if (typeof dateTime !== 'string' || typeof onDateTimeChange !== 'function')\n throwUncontrolledDateTimeError(dateTime, onDateTimeChange);\n else if (!isValidDateString(dateTimeToDate(dateTime)) || !isValidTimeString(dateTimeToTime(dateTime)))\n throwInvalidDateTimeError(dateTimeToTime(dateTime));\n }\n\n // validate date-only cases\n if (getIsDate(props)) {\n const { date, onDateChange } = props;\n if (typeof date !== 'string' || typeof onDateChange !== 'function') throwUncontrolledDateError(date, onDateChange);\n else if (!isValidDateString(date)) throwInvalidDaterror(date);\n }\n\n // validate time-only cases\n\n if (getIsTime(props)) {\n const { time, onTimeChange } = props;\n if (typeof time !== 'string' || typeof onTimeChange !== 'function') throwUncontrolledTimeError(time, onTimeChange);\n else if (!isValidTimeString(time)) throwInvalidTimerror(time);\n }\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Pickers/Calendar/useFocusLogic.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState } from 'react';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\n\ninterface UseFocusLogicArgsT {\n currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;\n showCalendar: boolean;\n}\ninterface FocusLogicT {\n focusedDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;\n resetFocusedDayToStartDate: () => void;\n handleFocusMetaDay: (metaDayToFocus: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;\n handleFocusMetaDayByDay: (day: Date) => void;\n}\n\nexport const useFocusLogic = ({ currentDisplayedMonthLogic }: UseFocusLogicArgsT): FocusLogicT => {\n const { daysArray } = currentDisplayedMonthLogic;\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<DSControlledDateTimePickerInternalsT.MetaMonthDay | undefined>(\n () =>\n startFocusedDate\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate))\n : undefined,\n );\n\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n let newFocusedDay;\n if (metadayToFocus)\n newFocusedDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day));\n else if (startFocusedDate)\n newFocusedDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus: DSControlledDateTimePickerInternalsT.MetaMonthDay) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate: Date) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(undefined);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [focusedDay, resetFocusedDayToStartDate, handleFocusMetaDay, handleFocusMetaDayByDay],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useState } from 'react';\nimport { compareTwoDatesDayEquality } from '../../../utils/dateHelpers';\nimport { useGetStartingFocusedDay } from '../../../utils/hooks/useGetStartingFocusedDay';\nimport type { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\n\ninterface UseFocusLogicArgsT {\n currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;\n showCalendar: boolean;\n}\ninterface FocusLogicT {\n focusedDay?: DSControlledDateTimePickerInternalsT.MetaMonthDay;\n resetFocusedDayToStartDate: () => void;\n handleFocusMetaDay: (metaDayToFocus: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;\n handleFocusMetaDayByDay: (day: Date) => void;\n}\n\nexport const useFocusLogic = ({ currentDisplayedMonthLogic }: UseFocusLogicArgsT): FocusLogicT => {\n const { daysArray } = currentDisplayedMonthLogic;\n const { startFocusedDate } = useGetStartingFocusedDay();\n const [metadayToFocus, setMetadayToFocus] = useState<DSControlledDateTimePickerInternalsT.MetaMonthDay | undefined>(\n () =>\n startFocusedDate\n ? daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate))\n : undefined,\n );\n\n // this is required because we have to focus based on the inputs values too,\n // useGetStartingFocusedDay does this already,\n // this \"useMemo\" is here just to trigger it functionally by changing the metadayToFocus state\n // which is required for arrow key navigation in the calendar\n const focusedDay = useMemo(() => {\n let newFocusedDay;\n if (metadayToFocus)\n newFocusedDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, metadayToFocus.day));\n else if (startFocusedDate)\n newFocusedDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, startFocusedDate));\n return newFocusedDay;\n }, [daysArray, startFocusedDate, metadayToFocus]);\n\n const handleFocusMetaDay = useCallback(\n (metaDayToFocus: DSControlledDateTimePickerInternalsT.MetaMonthDay) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) =>\n compareTwoDatesDayEquality(currDay, metaDayToFocus.day),\n );\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const handleFocusMetaDayByDay = useCallback(\n (dayDate: Date) => {\n // if focusedDay is inside current daysArray we set Focused day\n const newFocusedMetaDay = daysArray.find(({ day: currDay }) => compareTwoDatesDayEquality(currDay, dayDate));\n if (focusedDay !== newFocusedMetaDay) setMetadayToFocus(newFocusedMetaDay);\n },\n [daysArray, focusedDay],\n );\n\n const resetFocusedDayToStartDate = useCallback(() => {\n setMetadayToFocus(undefined);\n }, []);\n\n return useMemo(\n () => ({\n focusedDay,\n resetFocusedDayToStartDate,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n }),\n [focusedDay, resetFocusedDayToStartDate, handleFocusMetaDay, handleFocusMetaDayByDay],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,mBAA+C;AAC/C,yBAA2C;AAC3C,sCAAyC;AAelC,MAAM,gBAAgB,CAAC,EAAE,2BAA2B,MAAuC;AAChG,QAAM,EAAE,UAAU,IAAI;AACtB,QAAM,EAAE,iBAAiB,QAAI,0DAAyB;AACtD,QAAM,CAAC,gBAAgB,iBAAiB,QAAI;AAAA,IAC1C,MACE,mBACI,UAAU,KAAK,CAAC,EAAE,KAAK,QAAQ,UAAM,+CAA2B,SAAS,gBAAgB,CAAC,IAC1F;AAAA,EACR;AAMA,QAAM,iBAAa,sBAAQ,MAAM;AAC/B,QAAI;AACJ,QAAI;AACF,sBAAgB,UAAU,KAAK,CAAC,EAAE,KAAK,QAAQ,UAAM,+CAA2B,SAAS,eAAe,GAAG,CAAC;AAAA,aACrG;AACP,sBAAgB,UAAU,KAAK,CAAC,EAAE,KAAK,QAAQ,UAAM,+CAA2B,SAAS,gBAAgB,CAAC;AAC5G,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,kBAAkB,cAAc,CAAC;AAEhD,QAAM,yBAAqB;AAAA,IACzB,CAAC,mBAAsE;AAErE,YAAM,oBAAoB,UAAU;AAAA,QAAK,CAAC,EAAE,KAAK,QAAQ,UACvD,+CAA2B,SAAS,eAAe,GAAG;AAAA,MACxD;AACA,UAAI,eAAe;AAAmB,0BAAkB,iBAAiB;AAAA,IAC3E;AAAA,IACA,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,QAAM,8BAA0B;AAAA,IAC9B,CAAC,YAAkB;AAEjB,YAAM,oBAAoB,UAAU,KAAK,CAAC,EAAE,KAAK,QAAQ,UAAM,+CAA2B,SAAS,OAAO,CAAC;AAC3G,UAAI,eAAe;AAAmB,0BAAkB,iBAAiB;AAAA,IAC3E;AAAA,IACA,CAAC,WAAW,UAAU;AAAA,EACxB;AAEA,QAAM,iCAA6B,0BAAY,MAAM;AACnD,sBAAkB,MAAS;AAAA,EAC7B,GAAG,CAAC,CAAC;AAEL,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,YAAY,4BAA4B,oBAAoB,uBAAuB;AAAA,EACtF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Pickers/Calendar/useKeyboardHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport { useFocusLogic } from './useFocusLogic';\nimport { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\n\ninterface UseKeyboardHandlersArgsT {\n currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;\n focusLogic: ReturnType<typeof useFocusLogic>;\n}\ntype HandleDayOnKeyDownT = (e: React.KeyboardEvent, day: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;\ninterface KeyboardHandlersT {\n handleDayOnKeyDown: HandleDayOnKeyDownT;\n handlePrevYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePrevMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({\n currentDisplayedMonthLogic,\n focusLogic,\n}: UseKeyboardHandlersArgsT): KeyboardHandlersT => {\n const {\n isControllerOnly,\n isWithTimeWheelToo,\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusCalendarPrevMonth,\n trackFocusCalendarNextMonth,\n trackFocusCalendarNextYear,\n trackFocusCalendarPrevYear,\n trackFocusTimewheelCurrMeridiem,\n trackFocusCalendarMetafocusedDay,\n } = useContext(ControlledDateTimePickerContext);\n const {\n focusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n // tryToFocusCurrentlyDataIsFocusedDay\n } = focusLogic;\n const { daysArray, handlePrevMonth, handleNextMonth } = currentDisplayedMonthLogic;\n\n const tryToFocusDayRegion = useCallback(() => {\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay) handleFocusMetaDay(newFocusDay);\n }\n trackFocusCalendarMetafocusedDay();\n }, [daysArray, focusedDay, handleFocusMetaDay, trackFocusCalendarMetafocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n trackFocusCalendarPrevMonth();\n }, [trackFocusCalendarPrevMonth]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) trackFocusTimewheelCurrMeridiem();\n else tryToFocusDayRegion();\n }, [isWithTimeWheelToo, trackFocusTimewheelCurrMeridiem, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleDayOnKeyDown = useCallback(\n (e: React.KeyboardEvent, metaDay: DSControlledDateTimePickerInternalsT.MetaMonthDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n trackFocusCalendarPrevMonth();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n trackFocusCalendarPrevMonth,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarNextMonth();\n } else {\n trackFocusCalendarNextYear();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, trackFocusCalendarNextMonth, trackFocusCalendarNextYear],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) trackFocusTimewheelCurrMeridiem();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n trackFocusCalendarNextMonth();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n trackFocusCalendarNextMonth,\n trackFocusTimewheelCurrMeridiem,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarPrevMonth();\n } else {\n trackFocusCalendarPrevYear();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, trackFocusCalendarPrevMonth, trackFocusCalendarPrevYear],\n );\n const handleNextYearKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarPrevYear();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, trackFocusCalendarPrevYear, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useContext, useCallback } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { sumValuesToDate } from '../../../utils/dateHelpers';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport type { useFocusLogic } from './useFocusLogic';\nimport type { useCurrentDisplayedMonthYearLogic } from './useCurrentDisplayedMonthYearLogic';\n\ninterface UseKeyboardHandlersArgsT {\n currentDisplayedMonthLogic: ReturnType<typeof useCurrentDisplayedMonthYearLogic>;\n focusLogic: ReturnType<typeof useFocusLogic>;\n}\ntype HandleDayOnKeyDownT = (e: React.KeyboardEvent, day: DSControlledDateTimePickerInternalsT.MetaMonthDay) => void;\ninterface KeyboardHandlersT {\n handleDayOnKeyDown: HandleDayOnKeyDownT;\n handlePrevYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePrevMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextMonthKeyDown: (e: React.KeyboardEvent) => void;\n handleNextYearKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({\n currentDisplayedMonthLogic,\n focusLogic,\n}: UseKeyboardHandlersArgsT): KeyboardHandlersT => {\n const {\n isControllerOnly,\n isWithTimeWheelToo,\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusCalendarPrevMonth,\n trackFocusCalendarNextMonth,\n trackFocusCalendarNextYear,\n trackFocusCalendarPrevYear,\n trackFocusTimewheelCurrMeridiem,\n trackFocusCalendarMetafocusedDay,\n } = useContext(ControlledDateTimePickerContext);\n const {\n focusedDay,\n handleFocusMetaDay,\n handleFocusMetaDayByDay,\n // tryToFocusCurrentlyDataIsFocusedDay\n } = focusLogic;\n const { daysArray, handlePrevMonth, handleNextMonth } = currentDisplayedMonthLogic;\n\n const tryToFocusDayRegion = useCallback(() => {\n if (!focusedDay) {\n const newFocusDay = daysArray.find(({ isCurrMonthDay }) => isCurrMonthDay);\n if (newFocusDay) handleFocusMetaDay(newFocusDay);\n }\n trackFocusCalendarMetafocusedDay();\n }, [daysArray, focusedDay, handleFocusMetaDay, trackFocusCalendarMetafocusedDay]);\n\n const onHomeKeyDownInsideCalendar = useCallback(() => {\n trackFocusCalendarPrevMonth();\n }, [trackFocusCalendarPrevMonth]);\n const onEndKeyDownInsideCalendar = useCallback(() => {\n if (isWithTimeWheelToo) trackFocusTimewheelCurrMeridiem();\n else tryToFocusDayRegion();\n }, [isWithTimeWheelToo, trackFocusTimewheelCurrMeridiem, tryToFocusDayRegion]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleDayOnKeyDown = useCallback(\n (e: React.KeyboardEvent, metaDay: DSControlledDateTimePickerInternalsT.MetaMonthDay) => {\n let newFocusedDayDate;\n const { day } = metaDay;\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n\n if (key === 'ArrowUp') newFocusedDayDate = sumValuesToDate(day, { daysToSum: -7 });\n if (key === 'ArrowDown') newFocusedDayDate = sumValuesToDate(day, { daysToSum: 7 });\n if (key === 'ArrowLeft') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: -1 });\n if (metaDay === daysArray[1]) {\n handlePrevMonth();\n }\n }\n if (key === 'ArrowRight') {\n newFocusedDayDate = sumValuesToDate(day, { daysToSum: 1 });\n if (metaDay === daysArray[daysArray.length - 2]) {\n handleNextMonth();\n }\n }\n if (newFocusedDayDate) {\n handleFocusMetaDayByDay(newFocusedDayDate);\n }\n if (key === 'Home') onHomeKeyDownInsideCalendar();\n if (key === 'End') onEndKeyDownInsideCalendar();\n // TAB CYCLE IMPLEMENTATION\n if (key === 'Tab' && !shiftKey && isControllerOnly === false && !isWithTimeWheelToo) {\n // MUST prevent default since this is a custom focus switch\n // NOT preventing the default event will cause unexpected result\n e.preventDefault();\n trackFocusCalendarPrevMonth();\n }\n },\n [\n daysArray,\n handleFocusMetaDayByDay,\n handleNextMonth,\n handlePrevMonth,\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n trackFocusCalendarPrevMonth,\n ],\n );\n const handlePrevYearKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarNextMonth();\n } else {\n trackFocusCalendarNextYear();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, trackFocusCalendarNextMonth, trackFocusCalendarNextYear],\n );\n const handlePrevMonthKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n if (shiftKey) {\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly) {\n e.preventDefault();\n if (isWithTimeWheelToo) trackFocusTimewheelCurrMeridiem();\n else tryToFocusDayRegion();\n }\n } else {\n e.preventDefault();\n trackFocusCalendarNextMonth();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [\n isControllerOnly,\n isWithTimeWheelToo,\n onEndKeyDownInsideCalendar,\n onHomeKeyDownInsideCalendar,\n trackFocusCalendarNextMonth,\n trackFocusTimewheelCurrMeridiem,\n tryToFocusDayRegion,\n ],\n );\n const handleNextMonthKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarPrevMonth();\n } else {\n trackFocusCalendarPrevYear();\n }\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [onEndKeyDownInsideCalendar, onHomeKeyDownInsideCalendar, trackFocusCalendarPrevMonth, trackFocusCalendarPrevYear],\n );\n const handleNextYearKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (key === 'Tab') {\n e.preventDefault();\n if (shiftKey) {\n trackFocusCalendarPrevYear();\n }\n if (!shiftKey) tryToFocusDayRegion();\n }\n if (key === 'Home') {\n onHomeKeyDownInsideCalendar();\n e.preventDefault();\n }\n if (key === 'End') {\n onEndKeyDownInsideCalendar();\n e.preventDefault();\n }\n },\n [tryToFocusDayRegion, trackFocusCalendarPrevYear, onHomeKeyDownInsideCalendar, onEndKeyDownInsideCalendar],\n );\n\n return useMemo(\n () => ({\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n }),\n [\n handleDayOnKeyDown,\n handlePrevYearKeyDown,\n handlePrevMonthKeyDown,\n handleNextMonthKeyDown,\n handleNextYearKeyDown,\n handlePickerIconKeyDown,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Pickers/Calendar/usePopperTriggerLogic.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport type React from 'react';\nimport { useMemo, useCallback, useState, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { useFocusLogic } from './useFocusLogic';\n\ninterface UsePopperTriggerLogic {\n focusLogic: ReturnType<typeof useFocusLogic>;\n showCalendar: boolean;\n setShowCalendar: StateSetter<boolean>;\n}\ninterface PopperTriggerLogicT {\n referenceElement: HTMLButtonElement | null;\n closeCalendar: () => void;\n handleToggleCalendar: () => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport const usePopperTriggerLogic = ({\n focusLogic,\n showCalendar,\n setShowCalendar,\n}: UsePopperTriggerLogic): PopperTriggerLogicT => {\n const { focusedDay, resetFocusedDayToStartDate } = focusLogic;\n const {\n props: { onPickerOpen, onPickerClose },\n pickerButtonRef,\n trackFocusCalendarMetafocusedDay,\n trackFocusCalendarPrevMonth,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n // onOpen we try to focus the day we should focus, if we should focus one\n const handleOnPickerOpen = useCallback(() => {\n onPickerOpen();\n }, [onPickerOpen]);\n const openCalendar = useCallback(() => {\n if (focusedDay) trackFocusCalendarMetafocusedDay();\n else trackFocusCalendarPrevMonth();\n setShowCalendar(true);\n handleOnPickerOpen();\n }, [focusedDay, handleOnPickerOpen, setShowCalendar, trackFocusCalendarMetafocusedDay, trackFocusCalendarPrevMonth]);\n\n const closeCalendar = useCallback(() => {\n setShowCalendar(false);\n onPickerClose();\n resetFocusedDayToStartDate();\n trackFocusPicker();\n }, [setShowCalendar, onPickerClose, resetFocusedDayToStartDate, trackFocusPicker]);\n\n const handleToggleCalendar = useCallback(() => {\n const isOpening = !showCalendar;\n if (isOpening) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendar]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'date-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n return useMemo(\n () => ({\n referenceElement,\n closeCalendar,\n handleSetTriggerRef,\n handleToggleCalendar,\n handleMenuWrapperKeyDown,\n }),\n [closeCalendar, handleMenuWrapperKeyDown, handleSetTriggerRef, handleToggleCalendar, referenceElement],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,mBAA2D;AAC3D,yCAAgD;AAezC,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,MAAkD;AAChD,QAAM,EAAE,YAAY,2BAA2B,IAAI;AACnD,QAAM;AAAA,IACJ,OAAO,EAAE,cAAc,cAAc;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,kEAA+B;AAC9C,QAAM,CAAC,kBAAkB,mBAAmB,QAAI,uBAAmC,IAAI;AAEvF,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,iBAAa;AAAA,EACf,GAAG,CAAC,YAAY,CAAC;AACjB,QAAM,mBAAe,0BAAY,MAAM;AACrC,QAAI;AAAY,uCAAiC;AAAA;AAC5C,kCAA4B;AACjC,oBAAgB,IAAI;AACpB,uBAAmB;AAAA,EACrB,GAAG,CAAC,YAAY,oBAAoB,iBAAiB,kCAAkC,2BAA2B,CAAC;AAEnH,QAAM,oBAAgB,0BAAY,MAAM;AACtC,oBAAgB,KAAK;AACrB,kBAAc;AACd,+BAA2B;AAC3B,qBAAiB;AAAA,EACnB,GAAG,CAAC,iBAAiB,eAAe,4BAA4B,gBAAgB,CAAC;AAEjF,QAAM,2BAAuB,0BAAY,MAAM;AAC7C,UAAM,YAAY,CAAC;AACnB,QAAI;AAAW,mBAAa;AAAA;AACvB,oBAAc;AAAA,EACrB,GAAG,CAAC,eAAe,cAAc,YAAY,CAAC;AAE9C,QAAM,0BAAsB;AAAA,IAC1B,CAAC,WAA8B;AAC7B,sBAAgB,UAAU;AAC1B,0BAAoB,MAAM;AAC1B,UAAI,4BAA4B,iBAAiB,uBAAuB;AAAoB,gBAAQ,MAAM;AAAA,IAC5G;AAAA,IACA,CAAC,oBAAoB,yBAAyB,eAAe;AAAA,EAC/D;AACA,QAAM,+BAA2B;AAAA,IAC/B,CAAC,MAAwC;AACvC,YAAM,EAAE,IAAI,IAAI;AAChB,UAAI,QAAQ,UAAU;AACpB,sBAAc;AACd,yBAAiB;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,eAAe,gBAAgB;AAAA,EAClC;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,eAAe,0BAA0B,qBAAqB,sBAAsB,gBAAgB;AAAA,EACvG;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport React
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport type React from 'react';\nimport { useMemo, useState, useCallback, useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES } from '../../../ControlledDateTimePickerTypes';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { CalendarContext } from '../Calendar/CalendarContext';\nimport { TimeWheelContext } from '../TimeWheel/TimeWheelContext';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nexport interface CalendarWithTimeWheelContextT {\n referenceElement: HTMLButtonElement | null;\n ariaCurrentValueForInputs: string;\n showCalendarWithTimeWheel: boolean;\n closeCalendar: () => void;\n handleToggleCalendarWithTimeWheel: (e: React.MouseEvent<HTMLButtonElement>) => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n isControllerOnly: boolean;\n disabled: boolean;\n}\nexport const useConfigCalendarWithTimeWheelCTX = (): CalendarWithTimeWheelContextT => {\n const {\n pickerButtonRef,\n props: { type, onPickerOpen, onPickerClose, disabled },\n withAnyInputs,\n isWithTimeInputs,\n ariaCurrentValueForInputs,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const { handleToggleCalendar } = useContext(CalendarContext);\n const { handleToggleTimePicker } = useContext(TimeWheelContext);\n const [showCalendarWithTimeWheel, setShowCalendarWithTimeWheel] = useState(false);\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else trackFocusYearInput();\n }\n },\n [isWithTimeInputs, onHomeKeyDown, trackFocusMeridiemInput, trackFocusYearInput, withAnyInputs],\n );\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const openCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(true);\n onPickerOpen();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerOpen]);\n const closeCalendar = useCallback(() => {\n setShowCalendarWithTimeWheel(false);\n onPickerClose();\n setTimeout(() => handleToggleCalendar());\n setTimeout(() => handleToggleTimePicker());\n }, [handleToggleCalendar, handleToggleTimePicker, onPickerClose]);\n\n const handleToggleCalendarWithTimeWheel = useCallback(() => {\n if (!showCalendarWithTimeWheel) openCalendar();\n else closeCalendar();\n }, [closeCalendar, openCalendar, showCalendarWithTimeWheel]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'datetime-picker-icon') newRef?.focus();\n },\n [currFocusDescriber, latestInteractionRegion, pickerButtonRef],\n );\n const handleMenuWrapperKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const { key } = e;\n if (key === 'Escape') {\n closeCalendar();\n trackFocusPicker();\n }\n },\n [closeCalendar, trackFocusPicker],\n );\n\n const isControllerOnly = useMemo(() => type === CONTROLLED_DATE_TIME_PICKER_TYPES.DATE_TIME.CONTROLLER_ONLY, [type]);\n\n return useMemo(\n () => ({\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n }),\n [\n referenceElement,\n showCalendarWithTimeWheel,\n closeCalendar,\n handleToggleCalendarWithTimeWheel,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n handlePickerIconKeyDown,\n isControllerOnly,\n disabled,\n ariaCurrentValueForInputs,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Pickers/TimeWheel/useKeyboardHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\ninterface UseKeyboardHandlersArgs {\n currentDisplayedTimeWheelLogic: ReturnType<typeof useCurrentDisplayedWheelsLogic>;\n}\ninterface KeyboardHandlersT {\n handleCurrHourOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMinutesOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMeridiemOnKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }: UseKeyboardHandlersArgs): KeyboardHandlersT => {\n const { handlePrevHour, handleNextHour, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMeridiem } =\n currentDisplayedTimeWheelLogic;\n const {\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n isWithCalendarToo,\n isControllerOnly,\n\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMinute,\n trackFocusTimewheelCurrMeridiem,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n const onHomeKeyDownInsideTimeWheel = useCallback(() => {\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }, [isWithCalendarToo, trackFocusCalendarPrevMonth, trackFocusTimewheelCurrHour]);\n const onEndKeyDownInsideTimeWheel = useCallback(() => {\n trackFocusTimewheelCurrMeridiem();\n }, [trackFocusTimewheelCurrMeridiem]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) trackFocusTimewheelCurrHour();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n trackFocusTimewheelCurrMeridiem();\n }\n },\n [\n handleNextHour,\n handlePrevHour,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrHour();\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMeridiem();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) trackFocusTimewheelCurrMinute();\n },\n [\n onHomeKeyDownInsideTimeWheel,\n onEndKeyDownInsideTimeWheel,\n handlePrevMinute,\n handleNextMinute,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) trackFocusTimewheelCurrMeridiem();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }\n },\n [\n handleTimeWheelBtnChangeMeridiem,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n\n return useMemo(\n () => ({\n handleCurrHourOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown, handlePickerIconKeyDown],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerInternalsT } from '../../../sharedTypes';\nimport type { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\ninterface UseKeyboardHandlersArgs {\n currentDisplayedTimeWheelLogic: ReturnType<typeof useCurrentDisplayedWheelsLogic>;\n}\ninterface KeyboardHandlersT {\n handleCurrHourOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMinutesOnKeyDown: (e: React.KeyboardEvent) => void;\n handleCurrMeridiemOnKeyDown: (e: React.KeyboardEvent) => void;\n handlePickerIconKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => void;\n}\nexport const useKeyboardHandlers = ({ currentDisplayedTimeWheelLogic }: UseKeyboardHandlersArgs): KeyboardHandlersT => {\n const { handlePrevHour, handleNextHour, handlePrevMinute, handleNextMinute, handleTimeWheelBtnChangeMeridiem } =\n currentDisplayedTimeWheelLogic;\n const {\n withAnyInputs,\n isWithTimeInputs,\n isWithDateInputs,\n isWithCalendarToo,\n isControllerOnly,\n\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMinute,\n trackFocusTimewheelCurrMeridiem,\n trackFocusFirstSegment,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n const onHomeKeyDownInsideTimeWheel = useCallback(() => {\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }, [isWithCalendarToo, trackFocusCalendarPrevMonth, trackFocusTimewheelCurrHour]);\n const onEndKeyDownInsideTimeWheel = useCallback(() => {\n trackFocusTimewheelCurrMeridiem();\n }, [trackFocusTimewheelCurrMeridiem]);\n\n const onHomeKeyDownTriggerIcon = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const handlePickerIconKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown<HTMLButtonElement> = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End'].includes(key)) e.preventDefault();\n if (['Home', 'End'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDownTriggerIcon();\n if (key === 'Backspace' && withAnyInputs) {\n if (isWithTimeInputs) trackFocusMeridiemInput();\n else if (isWithDateInputs) trackFocusYearInput();\n }\n },\n [\n isWithDateInputs,\n isWithTimeInputs,\n onHomeKeyDownTriggerIcon,\n trackFocusMeridiemInput,\n trackFocusYearInput,\n withAnyInputs,\n ],\n );\n\n const handleCurrHourOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerHourChange = false;\n if (key === 'ArrowUp') {\n handlePrevHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextHour(e);\n didTriggerHourChange = true;\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerHourChange) trackFocusTimewheelCurrHour();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && shiftKey && !isWithCalendarToo) {\n e.preventDefault();\n trackFocusTimewheelCurrMeridiem();\n }\n },\n [\n handleNextHour,\n handlePrevHour,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMinutesOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMinuteChange = false;\n if (key === 'ArrowUp') {\n handlePrevMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowDown') {\n handleNextMinute(e);\n didTriggerMinuteChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrHour();\n }\n if (key === 'ArrowRight') {\n trackFocusTimewheelCurrMeridiem();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMinuteChange) trackFocusTimewheelCurrMinute();\n },\n [\n onHomeKeyDownInsideTimeWheel,\n onEndKeyDownInsideTimeWheel,\n handlePrevMinute,\n handleNextMinute,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n const handleCurrMeridiemOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n const { key, shiftKey } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n let didTriggerMeridiemChange = false;\n if (key === 'ArrowUp') {\n handleTimeWheelBtnChangeMeridiem('AM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowDown') {\n handleTimeWheelBtnChangeMeridiem('PM', e);\n didTriggerMeridiemChange = true;\n }\n if (key === 'ArrowLeft') {\n trackFocusTimewheelCurrMinute();\n }\n if (key === 'Home') onHomeKeyDownInsideTimeWheel();\n if (key === 'End') onEndKeyDownInsideTimeWheel();\n\n // ensure the focus is in the correct button after up/down arrow\n if (didTriggerMeridiemChange) trackFocusTimewheelCurrMeridiem();\n\n // TAB CYCLE IMPLEMENTATION\n if (!isControllerOnly)\n if (key === 'Tab' && !shiftKey) {\n e.preventDefault();\n if (isWithCalendarToo) trackFocusCalendarPrevMonth();\n else trackFocusTimewheelCurrHour();\n }\n },\n [\n handleTimeWheelBtnChangeMeridiem,\n isControllerOnly,\n isWithCalendarToo,\n onEndKeyDownInsideTimeWheel,\n onHomeKeyDownInsideTimeWheel,\n trackFocusCalendarPrevMonth,\n trackFocusTimewheelCurrHour,\n trackFocusTimewheelCurrMeridiem,\n trackFocusTimewheelCurrMinute,\n ],\n );\n\n return useMemo(\n () => ({\n handleCurrHourOnKeyDown,\n handleCurrMinutesOnKeyDown,\n handleCurrMeridiemOnKeyDown,\n handlePickerIconKeyDown,\n }),\n [handleCurrHourOnKeyDown, handleCurrMeridiemOnKeyDown, handleCurrMinutesOnKeyDown, handlePickerIconKeyDown],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|