@elliemae/ds-form-date-time-picker 3.3.1-rc.0 → 3.3.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/esm/ControlledDateTimePicker.js +0 -1
- package/dist/esm/ControlledDateTimePicker.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerCTX.js +0 -1
- package/dist/esm/ControlledDateTimePickerCTX.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerDatatestid.js +0 -1
- package/dist/esm/ControlledDateTimePickerDatatestid.js.map +1 -1
- package/dist/esm/ControlledDateTimePickerTypes.js +0 -1
- package/dist/esm/ControlledDateTimePickerTypes.js.map +1 -1
- package/dist/esm/config/useChangeHandlers.js +0 -1
- package/dist/esm/config/useChangeHandlers.js.map +1 -1
- package/dist/esm/config/useControlledDateTimePicker.js +0 -1
- package/dist/esm/config/useControlledDateTimePicker.js.map +1 -1
- package/dist/esm/config/useFocusTracker.js +0 -1
- package/dist/esm/config/useFocusTracker.js.map +1 -1
- package/dist/esm/config/useGetDestructuredValues.js +0 -1
- package/dist/esm/config/useGetDestructuredValues.js.map +1 -1
- package/dist/esm/config/useGetFlags.js +0 -1
- package/dist/esm/config/useGetFlags.js.map +1 -1
- package/dist/esm/config/useGetPropsBasedOnType.js +0 -1
- package/dist/esm/config/useGetPropsBasedOnType.js.map +1 -1
- package/dist/esm/config/useGetPropsWithDefault.js +0 -1
- package/dist/esm/config/useGetPropsWithDefault.js.map +1 -1
- package/dist/esm/config/useGetReferences.js +0 -1
- package/dist/esm/config/useGetReferences.js.map +1 -1
- package/dist/esm/config/useGlobalKeyHandlers.js +0 -1
- package/dist/esm/config/useGlobalKeyHandlers.js.map +1 -1
- package/dist/esm/config/useRelevantValueFromProps.js +0 -1
- package/dist/esm/config/useRelevantValueFromProps.js.map +1 -1
- package/dist/esm/config/useValidateProps.js +0 -1
- package/dist/esm/config/useValidateProps.js.map +1 -1
- package/dist/esm/exported-related/theming.js +0 -1
- package/dist/esm/exported-related/theming.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/parts/ClearButton/ClearButton.js +0 -1
- package/dist/esm/parts/ClearButton/ClearButton.js.map +1 -1
- package/dist/esm/parts/ClearButton/useClearButton.js +0 -1
- package/dist/esm/parts/ClearButton/useClearButton.js.map +1 -1
- package/dist/esm/parts/ControlledDateTimePickerContent.js +0 -1
- package/dist/esm/parts/ControlledDateTimePickerContent.js.map +1 -1
- package/dist/esm/parts/DateInputs/DDInput.js +0 -1
- package/dist/esm/parts/DateInputs/DDInput.js.map +1 -1
- package/dist/esm/parts/DateInputs/DateInputs.js +0 -1
- package/dist/esm/parts/DateInputs/DateInputs.js.map +1 -1
- package/dist/esm/parts/DateInputs/MMInput.js +0 -1
- package/dist/esm/parts/DateInputs/MMInput.js.map +1 -1
- package/dist/esm/parts/DateInputs/YYYYInput.js +0 -1
- package/dist/esm/parts/DateInputs/YYYYInput.js.map +1 -1
- package/dist/esm/parts/DateInputs/useDateInputs.js +0 -1
- package/dist/esm/parts/DateInputs/useDateInputs.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Calendar.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/Calendar.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarBody.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContent.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContext.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarContext.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarDaysList.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarHead.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarMonthDays.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWeekDays.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/CalendarWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Day.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/Day.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/Styleds.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/useConfigCalendarCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/useFocusLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js +0 -1
- package/dist/esm/parts/Pickers/Calendar/usePopperTriggerLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContent.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelContext.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +0 -1
- package/dist/esm/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/PickersIcons.js +0 -1
- package/dist/esm/parts/Pickers/PickersIcons.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/HoursList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/MeridiemList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/MinutesList.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/Styleds.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/Styleds.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheel.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContent.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContext.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelContext.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelFooter.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/TimeWheelWrapper.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/useConfigTimePickerCTX.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/useKeyboardHandlers.js.map +1 -1
- package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +0 -1
- package/dist/esm/parts/Pickers/TimeWheel/usePopperTriggerLogic.js.map +1 -1
- package/dist/esm/parts/Styleds.js +0 -1
- package/dist/esm/parts/Styleds.js.map +1 -1
- package/dist/esm/parts/TimeInputs/HHInput.js +0 -1
- package/dist/esm/parts/TimeInputs/HHInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/MeridiemInput.js +0 -1
- package/dist/esm/parts/TimeInputs/MeridiemInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/MinutesInput.js +0 -1
- package/dist/esm/parts/TimeInputs/MinutesInput.js.map +1 -1
- package/dist/esm/parts/TimeInputs/TimeInputs.js +0 -1
- package/dist/esm/parts/TimeInputs/TimeInputs.js.map +1 -1
- package/dist/esm/parts/TimeInputs/useTimeInputs.js +0 -1
- package/dist/esm/parts/TimeInputs/useTimeInputs.js.map +1 -1
- package/dist/esm/parts/config.js +0 -1
- package/dist/esm/parts/config.js.map +1 -1
- package/dist/esm/propTypes.js +0 -1
- package/dist/esm/propTypes.js.map +1 -1
- package/dist/esm/sharedTypes.js +0 -1
- package/dist/esm/sharedTypes.js.map +1 -1
- package/dist/esm/utils/constants.js +0 -1
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/dateHelpers.js +0 -1
- package/dist/esm/utils/dateHelpers.js.map +1 -1
- package/dist/esm/utils/dateTimeHelpers.js +0 -1
- package/dist/esm/utils/dateTimeHelpers.js.map +1 -1
- package/dist/esm/utils/hooks/useGetDayFromDateString.js +0 -1
- package/dist/esm/utils/hooks/useGetDayFromDateString.js.map +1 -1
- package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js +0 -1
- package/dist/esm/utils/hooks/useGetMonthYearFromDateStringOrEmptyStartingMonth.js.map +1 -1
- package/dist/esm/utils/hooks/useGetStartingFocusedDay.js +0 -1
- package/dist/esm/utils/hooks/useGetStartingFocusedDay.js.map +1 -1
- package/dist/esm/utils/hooks/useOnClickOutside.js +0 -1
- package/dist/esm/utils/hooks/useOnClickOutside.js.map +1 -1
- package/dist/esm/utils/numberHelpers.js +0 -1
- package/dist/esm/utils/numberHelpers.js.map +1 -1
- package/dist/esm/utils/stringHelpers.js +0 -1
- package/dist/esm/utils/stringHelpers.js.map +1 -1
- package/dist/esm/utils/timeHelpers.js +0 -1
- package/dist/esm/utils/timeHelpers.js.map +1 -1
- package/dist/esm/utils/typeGuards.js +0 -1
- package/dist/esm/utils/typeGuards.js.map +1 -1
- package/package.json +8 -8
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelIconTrigger.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { BUTTON_SIZES } from '@elliemae/ds-button';\nimport { RecentDocuments } from '@elliemae/ds-icons';\nimport { TimeWheelContext } from './TimeWheelContext';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { StyledIconTriggerButton } from './Styleds';\n\n// we memoize the Icon for maximum optimization\n// this is particularly useful due to how usePopper needs to check the references\n// since references are saved in a immutable way, we make sure to shortcircuit useless-re-renders\nexport const TimeWheelIconTrigger = (): JSX.Element => {\n const { handleSetTriggerRef, handleToggleTimePicker, handlePickerIconKeyDown } = useContext(TimeWheelContext);\n const {\n props: { disabled },\n ariaCurrentValueForInputs,\n } = useContext(ControlledDateTimePickerContext);\n return useMemo(\n () => (\n <StyledIconTriggerButton\n aria-label={`time picker context menu trigger, ${ariaCurrentValueForInputs}`}\n buttonType=\"icon\"\n size={BUTTON_SIZES.M}\n innerRef={handleSetTriggerRef}\n onClick={handleToggleTimePicker}\n onKeyDown={handlePickerIconKeyDown}\n data-testid={ControlledDateTimePickerDatatestid.PICKER_ICONS.TIMEWHEEL}\n disabled={disabled}\n type=\"button\"\n >\n <RecentDocuments />\n </StyledIconTriggerButton>\n ),\n [ariaCurrentValueForInputs, disabled, handlePickerIconKeyDown, handleSetTriggerRef, handleToggleTimePicker],\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AAKO,MAAM,uBAAuB,MAAmB;AACrD,QAAM,EAAE,qBAAqB,wBAAwB,4BAA4B,WAAW,gBAAgB;AAC5G,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT;AAAA,MACE,WAAW,+BAA+B;AAC9C,SAAO,QACL,MACE,qCAAC;AAAA,IACC,cAAY,qCAAqC;AAAA,IACjD,YAAW;AAAA,IACX,MAAM,aAAa;AAAA,IACnB,UAAU;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,eAAa,mCAAmC,aAAa;AAAA,IAC7D;AAAA,IACA,MAAK;AAAA,KAEL,qCAAC,qBAAgB,CACnB,GAEF,CAAC,2BAA2B,UAAU,yBAAyB,qBAAqB,sBAAsB,CAC5G;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/TimeWheelWrapper.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { ControlledDateTimePickerDatatestid } from '../../../ControlledDateTimePickerDatatestid';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport { TimeWheelContent } from './TimeWheelContent';\nimport { TimeWheelContext } from './TimeWheelContext';\n\nexport const TimeWheelWrapper = (): JSX.Element => {\n const { referenceElement, closeTimePicker } = useContext(TimeWheelContext);\n const { isControllerOnly } = useContext(ControlledDateTimePickerContext);\n if (isControllerOnly) return <TimeWheelContent />;\n return (\n <DSPopperJS\n showPopover\n data-testid={ControlledDateTimePickerDatatestid.CONTEXTUAL_MENU.TIMEWHEEL}\n referenceElement={referenceElement}\n withoutArrow\n onClickOutside={closeTimePicker}\n >\n <TimeWheelContent />\n </DSPopperJS>\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,kBAAkB,oBAAoB,WAAW,gBAAgB;AACzE,QAAM,EAAE,qBAAqB,WAAW,+BAA+B;AACvE,MAAI;AAAkB,WAAO,qCAAC,sBAAiB;AAC/C,SACE,qCAAC;AAAA,IACC,aAAW;AAAA,IACX,eAAa,mCAAmC,gBAAgB;AAAA,IAChE;AAAA,IACA,cAAY;AAAA,IACZ,gBAAgB;AAAA,KAEhB,qCAAC,sBAAiB,CACpB;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useConfigTimePickerCTX.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo } from 'react';\nimport { usePopperTriggerLogic } from './usePopperTriggerLogic';\nimport { useCurrentDisplayedWheelsLogic } from './useCurrentDisplayedWheelsLogic';\nimport { useKeyboardHandlers } from './useKeyboardHandlers';\n\nexport type TimeWheelContextT = ReturnType<typeof useCurrentDisplayedWheelsLogic> &\n ReturnType<typeof usePopperTriggerLogic> &\n ReturnType<typeof useKeyboardHandlers>;\n\nexport const useConfigTimePickerCTX = (): TimeWheelContextT => {\n const currentDisplayedTimeWheelLogic = useCurrentDisplayedWheelsLogic();\n const popperLogic = usePopperTriggerLogic();\n const keyboardHandlers = useKeyboardHandlers({ currentDisplayedTimeWheelLogic });\n\n return useMemo(\n () => ({\n ...currentDisplayedTimeWheelLogic,\n ...popperLogic,\n ...keyboardHandlers,\n }),\n [currentDisplayedTimeWheelLogic, popperLogic, keyboardHandlers],\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACEA;AACA;AACA;AACA;AAMO,MAAM,yBAAyB,MAAyB;AAC7D,QAAM,iCAAiC,+BAA+B;AACtE,QAAM,cAAc,sBAAsB;AAC1C,QAAM,mBAAmB,oBAAoB,EAAE,+BAA+B,CAAC;AAE/E,SAAO,QACL,MAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL,IACA,CAAC,gCAAgC,aAAa,gBAAgB,CAChE;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useMemo, useCallback, useContext } from 'react';\nimport { useTimeInputs } from '../../TimeInputs/useTimeInputs';\nimport { convertToPositiveNumberIfPossible } from '../../../utils/numberHelpers';\nimport { prependStringWithPlaceHolders, deconstructValuesFromTimeString } from '../../../utils/stringHelpers';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\nimport type { DSControlledDateTimePickerT } from '../../../propTypes';\n\nconst totalHoursList = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];\nconst hoursInterval = 1; // using this just to unify the logic between how hours and minutes are handled\nconst hoursStartPositionOffset = 1; // if array start from 01, this is 1, if start from 02, it's 2 ...\n\nconst getTotalMinuteListWithStep = (step = 1) => {\n const length = Math.ceil(60 / step);\n return new Array(length).fill('_').map((_v, i) => prependStringWithPlaceHolders(`${i * step}`, 2));\n};\ninterface UseCurrentDisplayedWheelsLogic {\n currHourNum: number;\n visibleHours: (string | null)[];\n handlePrevHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleNextHour: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeHours: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n currMinuteNum: number;\n visibleMinutes: (string | null)[];\n handlePrevMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleNextMinute: (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeMinutes: (newVal: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => void;\n handleTimeWheelBtnChangeMeridiem: (\n newMeridiem: string,\n e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent,\n ) => void;\n currMeridiem: string;\n}\nexport const useCurrentDisplayedWheelsLogic = (): UseCurrentDisplayedWheelsLogic => {\n const { minutesInterval, onTimeWheelOpenStartingTime, hours, minutes, meridiem } = useContext(\n ControlledDateTimePickerContext,\n );\n const { handleChangeHours, handleChangeMinutes, handleChangeMeridiem } = useTimeInputs();\n const { startingHours, startingMinutes, startingMeridiem } = useMemo(() => {\n const startingVals = deconstructValuesFromTimeString(onTimeWheelOpenStartingTime);\n return {\n startingHours: startingVals.hours,\n startingMinutes: startingVals.minutes,\n startingMeridiem: startingVals.meridiem,\n };\n }, [onTimeWheelOpenStartingTime]);\n\n const currHourNum = useMemo(() => {\n const hoursAsNum = convertToPositiveNumberIfPossible(hours);\n if (hours && hoursAsNum !== -1) {\n return hoursAsNum;\n }\n const startingHoursAsNum = convertToPositiveNumberIfPossible(startingHours);\n if (startingHoursAsNum === -1) return 1;\n return startingHoursAsNum;\n }, [hours, startingHours]);\n\n const currMinuteNum = useMemo(() => {\n const minutesAsNum = convertToPositiveNumberIfPossible(minutes);\n if (minutes && minutesAsNum !== -1) {\n return minutesAsNum;\n }\n const startingMinutesAsNum = convertToPositiveNumberIfPossible(startingMinutes);\n if (startingMinutesAsNum === -1) return 0;\n return startingMinutesAsNum;\n }, [minutes, startingMinutes]);\n\n const currMeridiem = useMemo(() => {\n if (meridiem !== '') return meridiem;\n if (startingMeridiem !== '') return startingMeridiem;\n return 'AM';\n }, [meridiem, startingMeridiem]);\n\n const totalMinutesList = useMemo(() => getTotalMinuteListWithStep(minutesInterval), [minutesInterval]);\n const currMinuteIndex = useMemo(() => Math.floor(currMinuteNum / minutesInterval), [currMinuteNum, minutesInterval]);\n const currHoursIndex = useMemo(\n () => Math.floor(currHourNum / hoursInterval) - hoursStartPositionOffset,\n [currHourNum],\n );\n\n const visibleHours = useMemo(() => {\n const newHours = [];\n if (currHoursIndex >= 1) newHours.push(totalHoursList[currHoursIndex - 1]);\n else newHours.push(null);\n newHours.push(totalHoursList[currHoursIndex]);\n if (currHoursIndex <= 11) newHours.push(totalHoursList[currHoursIndex + 1]);\n else newHours.push(null);\n\n return newHours;\n }, [currHoursIndex]);\n const visibleMinutes = useMemo(() => {\n const newMinutes = [];\n\n if (currMinuteIndex >= 1) newMinutes.push(totalMinutesList[currMinuteIndex - 1]);\n else newMinutes.push(null);\n newMinutes.push(totalMinutesList[currMinuteIndex]);\n if (currMinuteIndex < totalMinutesList.length) newMinutes.push(totalMinutesList[currMinuteIndex + 1]);\n else newMinutes.push(null);\n return newMinutes;\n }, [currMinuteIndex, totalMinutesList]);\n\n const handleTimeWheelBtnChangeHours = useCallback(\n (newHours: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeHours(newHours, e);\n },\n [handleChangeHours],\n );\n const handleChangeCurrHour = useCallback(\n (offset: number, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n const newH = currHourNum + offset;\n if (newH > 0 && newH <= 12) handleChangeHours(prependStringWithPlaceHolders(`${newH}`, 2), e);\n },\n [currHourNum, handleChangeHours],\n );\n const handlePrevHour = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrHour(-1, e);\n },\n [handleChangeCurrHour],\n );\n const handleNextHour = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrHour(1, e);\n },\n [handleChangeCurrHour],\n );\n\n const handleTimeWheelBtnChangeMinutes = useCallback(\n (newMinutes: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeMinutes(newMinutes, e);\n },\n [handleChangeMinutes],\n );\n const handleChangeCurrMinute = useCallback(\n (offset: number, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n const newM = currMinuteNum + offset;\n if (newM >= 0 && newM <= 59) handleChangeMinutes(prependStringWithPlaceHolders(`${newM}`, 2), e);\n },\n [currMinuteNum, handleChangeMinutes],\n );\n const handlePrevMinute = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrMinute(-minutesInterval, e);\n },\n [handleChangeCurrMinute, minutesInterval],\n );\n const handleNextMinute = useCallback(\n (e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeCurrMinute(minutesInterval, e);\n },\n [handleChangeCurrMinute, minutesInterval],\n );\n\n const handleTimeWheelBtnChangeMeridiem = useCallback(\n (newMeridiem: string, e: DSControlledDateTimePickerT.OnInternalValuesChangeEvent) => {\n handleChangeMeridiem(newMeridiem, e);\n },\n [handleChangeMeridiem],\n );\n\n return useMemo(\n () => ({\n currHourNum,\n visibleHours,\n handlePrevHour,\n handleNextHour,\n handleTimeWheelBtnChangeHours,\n currMinuteNum,\n visibleMinutes,\n handlePrevMinute,\n handleNextMinute,\n handleTimeWheelBtnChangeMinutes,\n handleTimeWheelBtnChangeMeridiem,\n currMeridiem,\n }),\n [\n currHourNum,\n currMinuteNum,\n currMeridiem,\n handleNextHour,\n handleNextMinute,\n handlePrevHour,\n handlePrevMinute,\n handleTimeWheelBtnChangeHours,\n handleTimeWheelBtnChangeMeridiem,\n handleTimeWheelBtnChangeMinutes,\n visibleHours,\n visibleMinutes,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/useKeyboardHandlers.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACIA;AACA;AAYO,MAAM,sBAAsB,CAAC,EAAE,qCAAiF;AACrH,QAAM,EAAE,gBAAgB,gBAAgB,kBAAkB,kBAAkB,qCAC1E;AACF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,QAAM,+BAA+B,YAAY,MAAM;AACrD,QAAI;AAAmB,kCAA4B;AAAA;AAC9C,kCAA4B;AAAA,EACnC,GAAG,CAAC,mBAAmB,6BAA6B,2BAA2B,CAAC;AAChF,QAAM,8BAA8B,YAAY,MAAM;AACpD,oCAAgC;AAAA,EAClC,GAAG,CAAC,+BAA+B,CAAC;AAEpC,QAAM,2BAA2B,YAAY,MAAM;AACjD,2BAAuB;AAAA,EACzB,GAAG,CAAC,sBAAsB,CAAC;AAC3B,QAAM,0BAA6F,YACjG,CAAC,MAA2B;AAC1B,UAAM,EAAE,QAAQ;AAChB,QAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,QAAE,eAAe;AACpD,QAAI,CAAC,QAAQ,KAAK,EAAE,SAAS,GAAG;AAAG,QAAE,gBAAgB;AACrD,QAAI,QAAQ;AAAQ,+BAAyB;AAC7C,QAAI,QAAQ,eAAe,eAAe;AACxC,UAAI;AAAkB,gCAAwB;AAAA,eACrC;AAAkB,4BAAoB;AAAA,IACjD;AAAA,EACF,GACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,QAAM,0BAA0B,YAC9B,CAAC,MAA2B;AAC1B,UAAM,EAAE,KAAK,aAAa;AAC1B,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,eAAe;AACvG,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,gBAAgB;AACxG,QAAI,uBAAuB;AAC3B,QAAI,QAAQ,WAAW;AACrB,qBAAe,CAAC;AAChB,6BAAuB;AAAA,IACzB;AACA,QAAI,QAAQ,aAAa;AACvB,qBAAe,CAAC;AAChB,6BAAuB;AAAA,IACzB;AACA,QAAI,QAAQ,cAAc;AACxB,oCAA8B;AAAA,IAChC;AACA,QAAI,QAAQ;AAAQ,mCAA6B;AACjD,QAAI,QAAQ;AAAO,kCAA4B;AAG/C,QAAI;AAAsB,kCAA4B;AAGtD,QAAI,CAAC;AACH,UAAI,QAAQ,SAAS,YAAY,CAAC,mBAAmB;AACnD,UAAE,eAAe;AACjB,wCAAgC;AAAA,MAClC;AAAA;AAAA,EACJ,GACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACA,QAAM,6BAA6B,YACjC,CAAC,MAA2B;AAC1B,UAAM,EAAE,QAAQ;AAChB,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,eAAe;AACvG,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,gBAAgB;AACxG,QAAI,yBAAyB;AAC7B,QAAI,QAAQ,WAAW;AACrB,uBAAiB,CAAC;AAClB,+BAAyB;AAAA,IAC3B;AACA,QAAI,QAAQ,aAAa;AACvB,uBAAiB,CAAC;AAClB,+BAAyB;AAAA,IAC3B;AACA,QAAI,QAAQ,aAAa;AACvB,kCAA4B;AAAA,IAC9B;AACA,QAAI,QAAQ,cAAc;AACxB,sCAAgC;AAAA,IAClC;AACA,QAAI,QAAQ;AAAQ,mCAA6B;AACjD,QAAI,QAAQ;AAAO,kCAA4B;AAE/C,QAAI;AAAwB,oCAA8B;AAAA,EAC5D,GACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACA,QAAM,8BAA8B,YAClC,CAAC,MAA2B;AAC1B,UAAM,EAAE,KAAK,aAAa;AAC1B,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,eAAe;AACvG,QAAI,CAAC,QAAQ,OAAO,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,QAAE,gBAAgB;AACxG,QAAI,2BAA2B;AAC/B,QAAI,QAAQ,WAAW;AACrB,uCAAiC,MAAM,CAAC;AACxC,iCAA2B;AAAA,IAC7B;AACA,QAAI,QAAQ,aAAa;AACvB,uCAAiC,MAAM,CAAC;AACxC,iCAA2B;AAAA,IAC7B;AACA,QAAI,QAAQ,aAAa;AACvB,oCAA8B;AAAA,IAChC;AACA,QAAI,QAAQ;AAAQ,mCAA6B;AACjD,QAAI,QAAQ;AAAO,kCAA4B;AAG/C,QAAI;AAA0B,sCAAgC;AAG9D,QAAI,CAAC;AACH,UAAI,QAAQ,SAAS,CAAC,UAAU;AAC9B,UAAE,eAAe;AACjB,YAAI;AAAmB,sCAA4B;AAAA;AAC9C,sCAA4B;AAAA,MACnC;AAAA;AAAA,EACJ,GACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA,CAAC,yBAAyB,6BAA6B,4BAA4B,uBAAuB,CAC5G;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Pickers/TimeWheel/usePopperTriggerLogic.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useState, useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../../ControlledDateTimePickerCTX';\n\ninterface PopperTriggerLogicT {\n referenceElement: HTMLButtonElement | null;\n showTimePicker: boolean;\n closeTimePicker: () => void;\n setShowTimePicker: StateSetter<boolean>;\n handleToggleTimePicker: () => void;\n handleSetTriggerRef: (instance: HTMLButtonElement) => void;\n handleMenuWrapperKeyDown: (e: React.KeyboardEvent<HTMLElement>) => void;\n}\nexport const usePopperTriggerLogic = (): PopperTriggerLogicT => {\n const {\n pickerButtonRef,\n props: { onPickerClose, onPickerOpen },\n isWithCalendarToo,\n trackFocusTimewheelCurrHour,\n trackFocusPicker,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n const [showTimePicker, setShowTimePicker] = useState(false);\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement | null>(null);\n const closeTimePicker = useCallback(() => {\n setShowTimePicker(false);\n onPickerClose();\n }, [onPickerClose]);\n const handleToggleTimePicker = useCallback(() => {\n setShowTimePicker((oldShowCalendar) => {\n if (!oldShowCalendar) {\n onPickerOpen();\n if (!isWithCalendarToo) trackFocusTimewheelCurrHour();\n } else onPickerClose();\n return !oldShowCalendar;\n });\n }, [isWithCalendarToo, onPickerClose, onPickerOpen, trackFocusTimewheelCurrHour]);\n\n const handleSetTriggerRef = useCallback(\n (newRef: HTMLButtonElement) => {\n pickerButtonRef.current = newRef;\n setReferenceElement(newRef);\n\n if (latestInteractionRegion === 'picker-icon' && currFocusDescriber === 'time-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 closeTimePicker();\n trackFocusPicker();\n }\n },\n [closeTimePicker, trackFocusPicker],\n );\n return useMemo(\n () => ({\n referenceElement,\n showTimePicker,\n setShowTimePicker,\n handleToggleTimePicker,\n handleSetTriggerRef,\n handleMenuWrapperKeyDown,\n closeTimePicker,\n }),\n [\n closeTimePicker,\n handleMenuWrapperKeyDown,\n handleSetTriggerRef,\n handleToggleTimePicker,\n referenceElement,\n showTimePicker,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAWO,MAAM,wBAAwB,MAA2B;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO,EAAE,eAAe;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,QAAM,CAAC,gBAAgB,qBAAqB,SAAS,KAAK;AAC1D,QAAM,CAAC,kBAAkB,uBAAuB,SAAmC,IAAI;AACvF,QAAM,kBAAkB,YAAY,MAAM;AACxC,sBAAkB,KAAK;AACvB,kBAAc;AAAA,EAChB,GAAG,CAAC,aAAa,CAAC;AAClB,QAAM,yBAAyB,YAAY,MAAM;AAC/C,sBAAkB,CAAC,oBAAoB;AACrC,UAAI,CAAC,iBAAiB;AACpB,qBAAa;AACb,YAAI,CAAC;AAAmB,sCAA4B;AAAA,MACtD;AAAO,sBAAc;AACrB,aAAO,CAAC;AAAA,IACV,CAAC;AAAA,EACH,GAAG,CAAC,mBAAmB,eAAe,cAAc,2BAA2B,CAAC;AAEhF,QAAM,sBAAsB,YAC1B,CAAC,WAA8B;AAC7B,oBAAgB,UAAU;AAC1B,wBAAoB,MAAM;AAE1B,QAAI,4BAA4B,iBAAiB,uBAAuB;AAAoB,cAAQ,MAAM;AAAA,EAC5G,GACA,CAAC,oBAAoB,yBAAyB,eAAe,CAC/D;AACA,QAAM,2BAA2B,YAC/B,CAAC,MAAwC;AACvC,UAAM,EAAE,QAAQ;AAChB,QAAI,QAAQ,UAAU;AACpB,sBAAgB;AAChB,uBAAiB;AAAA,IACnB;AAAA,EACF,GACA,CAAC,iBAAiB,gBAAgB,CACpC;AACA,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/Styleds.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { styled, sizing, layout, space } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSControlledDateTimePickerName, DSControlledDateTimePickerSlots } from '../exported-related/theming';\n\nconst ResettedInput = styled('input', { name: DSControlledDateTimePickerName, slot: DSControlledDateTimePickerSlots.INPUT })`\n border: none;\n box-shadow: none;\n background: none;\n text-align: center;\n height: 100%;\n display: flex;\n align-items: center;\n :focus {\n outline: none;\n }\n padding-top: 2px;\n`;\n\nexport const StyledSeparator = styled(Grid)`\n padding-top: 2px;\n margin: auto;\n`;\n\nexport const StyledColonSeparator = styled(Grid)`\n padding-bottom: 1px;\n margin: auto;\n`;\n\nexport const Styled2DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledMin4DigitsInput = styled(ResettedInput)`\n width: 100%;\n height: 100%;\n ${({ disabled }) => (disabled ? `color: #616b7f;` : ``)}\n`;\n\nexport const StyledInputsWrapperGrid = styled(Grid, { name: DSControlledDateTimePickerName, slot: DSControlledDateTimePickerSlots.CONTAINER })`\n width: max-content;\n align-items: center;\n background-color: white;\n ${({ isControllerOnly }) =>\n isControllerOnly\n ? ``\n : `\n height: 28px; \n border-width: 1px;\n border-style: solid;\n `}\n\n border-color: ${({ theme, hasError, disabled }) => {\n if (hasError) return theme.colors.danger[900];\n if (disabled) return theme.colors.neutral[400];\n return theme.colors.neutral[200];\n }};\n\n border-radius: 2px;\n padding-left: ${({ justPicker }) => (justPicker ? '0' : '2px')};\n padding-right: ${({ withAnyPicker }) => (withAnyPicker ? '' : '0')};\n position: relative;\n ${({ theme, disabled }) => (disabled ? `background-color: ${theme.colors.neutral[100]};` : ``)}\n\n ${sizing}\n ${space}\n ${layout}\n`;\n\nexport const StyledDateInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 48px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledTimeInputsWrapperGrid = styled.div`\n display: grid;\n grid-template-columns: 24px min-content 24px min-content 24px min-content 24px;\n grid-template-rows: min-content;\n padding: 6px 0;\n gap: 0px 0px;\n align-items: center;\n input,\n p {\n margin: 0;\n }\n`;\n\nexport const StyledPickersIconsWrapperGrid = styled(Grid)<{ isControllerOnly: boolean }>`\n position: relative;\n ${({ isControllerOnly }) => (isControllerOnly ? `` : `height: 26px;`)}\n :before {\n content: '';\n position: absolute;\n top: 0px;\n left: -1px;\n width: 100%;\n height: 100%;\n border-radius: 2px;\n ${({ theme, isControllerOnly, hasError }) =>\n isControllerOnly\n ? ``\n : `\n border-left: 1px solid ${hasError ? theme.colors.danger[900] : theme.colors.neutral[200]}\n `}\n }\n`;\n\nexport const StyledFocusWithIn = styled(Grid)`\n position: relative;\n &:focus-within {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: -5px;\n left: -2px;\n width: calc(100% + 4px);\n height: calc(100% + 10px);\n border: 2px solid ${({ theme }) => theme.colors.brand[700]};\n border-radius: 2px;\n pointer-events: none;\n }\n }\n`;\n\nexport const StyledClearButton = styled(DSButtonV2, { DSControlledDateTimePickerName: DSControlledDateTimePickerName, slot: DSControlledDateTimePickerSlots.CLEAR_BUTTON })`\n height: 26px;\n position: relative;\n visibility: ${({ shouldDisplay }) => (shouldDisplay ? 'visible' : 'hidden')};\n &:focus {\n &:after {\n z-index: 1;\n }\n }\n`;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AAEA,MAAM,gBAAgB,OAAO,SAAS,EAAE,MAAM,gCAAgC,MAAM,gCAAgC,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcpH,MAAM,kBAAkB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKnC,MAAM,uBAAuB,OAAO,IAAI;AAAA;AAAA;AAAA;AAKxC,MAAM,qBAAqB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGlD,CAAC,EAAE,eAAgB,WAAW,oBAAoB;AAAA;AAG/C,MAAM,wBAAwB,OAAO,aAAa;AAAA;AAAA;AAAA,IAGrD,CAAC,EAAE,eAAgB,WAAW,oBAAoB;AAAA;AAG/C,MAAM,0BAA0B,OAAO,MAAM,EAAE,MAAM,gCAAgC,MAAM,gCAAgC,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA,IAIzI,CAAC,EAAE,uBACH,mBACI,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMU,CAAC,EAAE,OAAO,UAAU,eAAe;AACjD,MAAI;AAAU,WAAO,MAAM,OAAO,OAAO;AACzC,MAAI;AAAU,WAAO,MAAM,OAAO,QAAQ;AAC1C,SAAO,MAAM,OAAO,QAAQ;AAC9B;AAAA;AAAA;AAAA,kBAGgB,CAAC,EAAE,iBAAkB,aAAa,MAAM;AAAA,mBACvC,CAAC,EAAE,oBAAqB,gBAAgB,KAAK;AAAA;AAAA,IAE5D,CAAC,EAAE,OAAO,eAAgB,WAAW,qBAAqB,MAAM,OAAO,QAAQ,UAAU;AAAA;AAAA,IAEzF;AAAA,IACA;AAAA,IACA;AAAA;AAGG,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,8BAA8B,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa3C,MAAM,gCAAgC,OAAO,IAAI;AAAA;AAAA,IAEpD,CAAC,EAAE,uBAAwB,mBAAmB,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASjD,CAAC,EAAE,OAAO,kBAAkB,eAC5B,mBACI,KACA;AAAA,6BACmB,WAAW,MAAM,OAAO,OAAO,OAAO,MAAM,OAAO,QAAQ;AAAA;AAAA;AAAA;AAKjF,MAAM,oBAAoB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAWlB,CAAC,EAAE,YAAY,MAAM,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrD,MAAM,oBAAoB,OAAO,YAAY,EAAE,gCAAgE,MAAM,gCAAgC,aAAa,CAAC;AAAA;AAAA;AAAA,gBAG1J,CAAC,EAAE,oBAAqB,gBAAgB,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/HHInput.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidHour = (hours: string) => {\n if (hours === '') return false;\n const numberOnly = regExpNumbers.test(hours);\n return hours.length > 2 || hours === '00' || !numberOnly || Number.parseInt(hours, 10) > 12;\n};\ninterface HHInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n autoFocusHourInput: boolean;\n isFocused: boolean;\n}\nexport const HHInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n autoFocusHourInput,\n isFocused,\n }: HHInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidHour(e.target.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n autoFocus={autoFocusHourInput}\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`hours input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.HOUR}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAGA,MAAM,gBAAgB;AACtB,MAAM,gBAAgB,CAAC,UAAkB;AACvC,MAAI,UAAU;AAAI,WAAO;AACzB,QAAM,aAAa,cAAc,KAAK,KAAK;AAC3C,SAAO,MAAM,SAAS,KAAK,UAAU,QAAQ,CAAC,cAAc,OAAO,SAAS,OAAO,EAAE,IAAI;AAC3F;AAcO,MAAM,UAAU,OAAM,KAC3B,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACiC;AACjC,QAAM,mBAAmB,YACvB,CAAC,MAA2C;AAC1C,QAAI,cAAc,EAAE,OAAO,KAAK,GAAG;AACjC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,qCAAC;AAAA,IACC,WAAW;AAAA,IACX,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,iBAAW,UAAU;AACrB,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,qBAAqB;AAAA,IACjC,eAAa,mCAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MeridiemInput.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { Styled2DigitsInput } from '../Styleds';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst validFirstDigits = ['a', 'A', 'p', 'P'];\nconst validSecondDigits = ['m', 'M'];\nconst isInvalidMeridiem = (meridiem: string) => {\n if (meridiem === '') return false;\n const [firstDigit, secondDigit] = meridiem.split('');\n const isValidFirstDigit = (meridiem.length < 1 && !firstDigit) || validFirstDigits.includes(firstDigit);\n const isValidSecondDigit = !secondDigit || validSecondDigits.includes(secondDigit);\n return meridiem.length > 2 || !isValidFirstDigit || !isValidSecondDigit;\n};\n\ninterface MeridiemInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n}\nexport const MeridiemInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n }: MeridiemInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMeridiem(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`meridiem input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MERIDIEM}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAGA,MAAM,mBAAmB,CAAC,KAAK,KAAK,KAAK,GAAG;AAC5C,MAAM,oBAAoB,CAAC,KAAK,GAAG;AACnC,MAAM,oBAAoB,CAAC,aAAqB;AAC9C,MAAI,aAAa;AAAI,WAAO;AAC5B,QAAM,CAAC,YAAY,eAAe,SAAS,MAAM,EAAE;AACnD,QAAM,oBAAqB,SAAS,SAAS,KAAK,CAAC,cAAe,iBAAiB,SAAS,UAAU;AACtG,QAAM,qBAAqB,CAAC,eAAe,kBAAkB,SAAS,WAAW;AACjF,SAAO,SAAS,SAAS,KAAK,CAAC,qBAAqB,CAAC;AACvD;AAcO,MAAM,gBAAgB,OAAM,KACjC,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACuC;AACvC,QAAM,mBAAmB,YACvB,CAAC,MAA2C;AAC1C,QAAI,kBAAkB,GAAG,QAAQ,KAAK,GAAG;AACvC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,qCAAC;AAAA,IACC,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,iBAAW,UAAU;AACrB,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,wBAAwB;AAAA,IACpC,eAAa,mCAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/MinutesInput.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback } from 'react';\nimport { ControlledDateTimePickerDatatestid } from '../../ControlledDateTimePickerDatatestid';\nimport { Styled2DigitsInput } from '../Styleds';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\n\nconst regExpNumbers = /^[0-9]+$/;\nconst isInvalidMinute = (minutes: string) => {\n if (minutes === '') return false;\n const numberOnly = regExpNumbers.test(minutes);\n return minutes.length > 2 || !numberOnly || Number.parseInt(minutes, 10) > 60;\n};\ninterface MinutesInputsPropsT {\n onChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n value: string;\n disabled: boolean;\n contextRef: React.MutableRefObject<HTMLInputElement | null>;\n placeholder: string;\n ariaCurrentValueForInputs: string;\n isFocused: boolean;\n}\nexport const MinutesInput = React.memo(\n ({\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n value,\n disabled,\n placeholder,\n ariaCurrentValueForInputs,\n contextRef,\n isFocused,\n }: MinutesInputsPropsT): JSX.Element => {\n const validateOnChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isInvalidMinute(e?.target?.value)) {\n e.preventDefault();\n return;\n }\n onChange(e);\n },\n [onChange],\n );\n return (\n <Styled2DigitsInput\n onChange={validateOnChange}\n onBlur={onBlur}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n value={value}\n ref={(DomElem: HTMLInputElement) => {\n contextRef.current = DomElem;\n if (isFocused) DomElem?.focus?.();\n }}\n placeholder={placeholder}\n aria-label={`minutes input field ${ariaCurrentValueForInputs}`}\n data-testid={ControlledDateTimePickerDatatestid.TIME_INPUTS.MINUTE}\n disabled={disabled}\n aria-disabled={disabled}\n />\n );\n },\n);\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAGA,MAAM,gBAAgB;AACtB,MAAM,kBAAkB,CAAC,YAAoB;AAC3C,MAAI,YAAY;AAAI,WAAO;AAC3B,QAAM,aAAa,cAAc,KAAK,OAAO;AAC7C,SAAO,QAAQ,SAAS,KAAK,CAAC,cAAc,OAAO,SAAS,SAAS,EAAE,IAAI;AAC7E;AAaO,MAAM,eAAe,OAAM,KAChC,CAAC;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACsC;AACtC,QAAM,mBAAmB,YACvB,CAAC,MAA2C;AAC1C,QAAI,gBAAgB,GAAG,QAAQ,KAAK,GAAG;AACrC,QAAE,eAAe;AACjB;AAAA,IACF;AACA,aAAS,CAAC;AAAA,EACZ,GACA,CAAC,QAAQ,CACX;AACA,SACE,qCAAC;AAAA,IACC,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,KAAK,CAAC,YAA8B;AAClC,iBAAW,UAAU;AACrB,UAAI;AAAW,iBAAS,QAAQ;AAAA,IAClC;AAAA,IACA;AAAA,IACA,cAAY,uBAAuB;AAAA,IACnC,eAAa,mCAAmC,YAAY;AAAA,IAC5D;AAAA,IACA,iBAAe;AAAA,GACjB;AAEJ,CACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/TimeInputs.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { HHInput } from './HHInput';\nimport { MinutesInput } from './MinutesInput';\n// import { SSInput } from './SSInput';\nimport { MeridiemInput } from './MeridiemInput';\nimport { useTimeInputs } from './useTimeInputs';\nimport { fixedValues } from '../config';\nimport { StyledColonSeparator, StyledSeparator, StyledFocusWithIn } from '../Styleds';\n\nexport const TimeInputs = (): JSX.Element => {\n const {\n autoFocusHourInput,\n disabled,\n onHoursChange,\n onMinutesChange,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursFocus,\n onMeridiemFocus,\n onMinutesFocus,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n } = useTimeInputs();\n\n // we do this here so HHInput,MinutesInput, MeridiemInput can be pure components memoized via React.memo\n const {\n hours,\n minutes,\n meridiem,\n hourInputRef,\n minutesInputRef,\n meridiemInputRef,\n ariaCurrentValueForInputs,\n latestInteractionRegion,\n currFocusDescriber,\n } = useContext(ControlledDateTimePickerContext);\n return (\n <Grid\n cols={[\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n fixedValues.separatorWidth,\n fixedValues.smallInputWidth,\n ]}\n >\n <StyledFocusWithIn>\n <HHInput\n value={hours}\n onChange={onHoursChange}\n onBlur={onHoursBlur}\n onFocus={onHoursFocus}\n onKeyDown={onHoursKeyDown}\n contextRef={hourInputRef}\n placeholder=\"HH\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n autoFocusHourInput={autoFocusHourInput}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'hour-input'}\n />\n </StyledFocusWithIn>\n <StyledColonSeparator alignItems=\"center\">:</StyledColonSeparator>\n <StyledFocusWithIn>\n <MinutesInput\n value={minutes}\n onChange={onMinutesChange}\n onBlur={onMinutesBlur}\n onFocus={onMinutesFocus}\n onKeyDown={onMinutesKeyDown}\n contextRef={minutesInputRef}\n placeholder=\"MM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'minute-input'}\n />\n </StyledFocusWithIn>\n <StyledSeparator> </StyledSeparator>\n <StyledFocusWithIn>\n <MeridiemInput\n value={meridiem}\n onChange={onMeridiemChange}\n onBlur={onMeridiemBlur}\n onFocus={onMeridiemFocus}\n onKeyDown={onMeridiemKeyDown}\n contextRef={meridiemInputRef}\n placeholder=\"AM\"\n ariaCurrentValueForInputs={ariaCurrentValueForInputs}\n disabled={disabled}\n isFocused={latestInteractionRegion === 'time-inputs' && currFocusDescriber === 'meridiem-input'}\n />\n </StyledFocusWithIn>\n </Grid>\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEO,MAAM,aAAa,MAAmB;AAC3C,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,cAAc;AAGlB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,WAAW,+BAA+B;AAC9C,SACE,qCAAC;AAAA,IACC,MAAM;AAAA,MACJ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAAA,KAEA,qCAAC,yBACC,qCAAC;AAAA,IACC,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,GACA,qCAAC;AAAA,IAAqB,YAAW;AAAA,KAAS,GAAC,GAC3C,qCAAC,yBACC,qCAAC;AAAA,IACC,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,GACA,qCAAC,uBAAgB,GAAC,GAClB,qCAAC,yBACC,qCAAC;AAAA,IACC,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,WAAW,4BAA4B,iBAAiB,uBAAuB;AAAA,GACjF,CACF,CACF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/TimeInputs/useTimeInputs.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\nimport { useCallback, useMemo, useContext } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { prependStringWithPlaceHolders } from '../../utils/stringHelpers';\nimport type { DSControlledDateTimePickerInternalsT } from '../../sharedTypes';\ninterface UseTimeInputsR {\n autoFocusHourInput: boolean;\n disabled: boolean;\n handleChangeHours: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMinutes: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n handleChangeMeridiem: DSControlledDateTimePickerInternalsT.HandleOnChangeFunc;\n onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc;\n onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc;\n onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc;\n onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown;\n}\nexport const useTimeInputs = (): UseTimeInputsR => {\n const {\n props: { disabled },\n hours,\n minutes,\n meridiem,\n withAnyRightController,\n withAnyPicker,\n withClearBtn,\n isWithDateInputs,\n autoFocusHourInput,\n handleChangeHours,\n handleChangeMinutes,\n handleChangeMeridiem,\n minutesInterval,\n trackFocusFirstSegment,\n trackFocusLastSegment,\n trackFocusHourInput,\n trackFocusMinuteInput,\n trackFocusMeridiemInput,\n trackFocusClearBtn,\n trackFocusPicker,\n trackFocusYearInput,\n } = useContext(ControlledDateTimePickerContext);\n\n const onHomeKeyDown = useCallback(() => {\n trackFocusFirstSegment();\n }, [trackFocusFirstSegment]);\n const onEndKeyDown = useCallback(() => {\n trackFocusLastSegment();\n }, [trackFocusLastSegment]);\n\n const onHoursFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusHourInput();\n }, [trackFocusHourInput]);\n const onHoursChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newHours = e?.target?.value;\n // converts hours 2~9 to 07~09\n if (Number.parseInt(newHours, 10) > 1) newHours = prependStringWithPlaceHolders(newHours, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n },\n [handleChangeHours, trackFocusMinuteInput],\n );\n const onHoursKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const hoursStringConvertedToInteger = Number.parseInt(hours, 10);\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ':'].includes(key)) e.stopPropagation();\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const hoursInteger = Number.isNaN(hoursStringConvertedToInteger) ? 0 : hoursStringConvertedToInteger;\n let newHours;\n if (key === 'ArrowUp') newHours = hoursInteger + 1 <= 12 ? hoursInteger + 1 : hoursInteger;\n else newHours = hoursInteger - 1 > 1 ? hoursInteger - 1 : 1;\n newHours = prependStringWithPlaceHolders(`${newHours}`, 2);\n handleChangeHours(newHours, e);\n }\n if (!Number.isNaN(hoursStringConvertedToInteger) && key === ':') {\n const newHours = prependStringWithPlaceHolders(`${hoursStringConvertedToInteger}`, 2);\n handleChangeHours(newHours, e);\n // auto-advance functionality:\n if (newHours.length === 2) trackFocusMinuteInput();\n }\n // regressive backspace functionality\n if (key === 'Backspace' && hours.length === 0 && isWithDateInputs) {\n trackFocusYearInput();\n }\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n hours,\n isWithDateInputs,\n trackFocusYearInput,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n trackFocusMinuteInput,\n handleChangeHours,\n ],\n );\n const onHoursBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newHours = e?.target?.value;\n if (newHours === '0') handleChangeHours('01', e, { isAutomaticFillTrigger: true });\n else if (newHours.length > 0 && newHours.length < 2)\n handleChangeHours(prependStringWithPlaceHolders(newHours, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeHours],\n );\n\n const onMinutesFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMinuteInput();\n }, [trackFocusMinuteInput]);\n const onMinutesChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMinutes = e?.target?.value;\n // converts minutes 7~9 to 07~09\n if (Number.parseInt(newMinutes, 10) > 6) newMinutes = prependStringWithPlaceHolders(newMinutes, 2);\n handleChangeMinutes(newMinutes, e);\n\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n },\n [handleChangeMinutes, trackFocusMeridiemInput],\n );\n const onMinutesKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n const minutesStringConvertedToInteger = Number.parseInt(minutes, 10);\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown', ' '].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' || key === 'ArrowDown') {\n const minutesInteger = Number.isNaN(minutesStringConvertedToInteger) ? 0 : minutesStringConvertedToInteger;\n let newMinutes;\n if (key === 'ArrowUp')\n newMinutes = minutesInteger + minutesInterval <= 59 ? minutesInteger + minutesInterval : minutesInteger;\n else newMinutes = minutesInteger - minutesInterval > 0 ? minutesInteger - minutesInterval : 0;\n newMinutes = prependStringWithPlaceHolders(`${newMinutes}`, 2);\n handleChangeMinutes(newMinutes, e);\n }\n if (!Number.isNaN(minutesStringConvertedToInteger) && key === ' ') {\n const newMinutes = prependStringWithPlaceHolders(`${minutesStringConvertedToInteger}`, 2);\n handleChangeMinutes(newMinutes, e);\n // auto-advance functionality:\n if (newMinutes.length === 2) trackFocusMeridiemInput();\n }\n // regressive backspace functionality\n if (key === 'Backspace' && minutes?.length === 0) {\n trackFocusHourInput();\n }\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [\n minutes,\n onHomeKeyDown,\n onEndKeyDown,\n trackFocusLastSegment,\n minutesInterval,\n handleChangeMinutes,\n trackFocusMeridiemInput,\n trackFocusHourInput,\n ],\n );\n const onMinutesBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMinutes = e?.target?.value;\n if (newMinutes.length > 0 && newMinutes.length < 2)\n handleChangeMinutes(prependStringWithPlaceHolders(newMinutes, 2), e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMinutes],\n );\n\n const onMeridiemFocus: DSControlledDateTimePickerInternalsT.OnFocusFunc = useCallback(() => {\n trackFocusMeridiemInput();\n }, [trackFocusMeridiemInput]);\n const onMeridiemChange: DSControlledDateTimePickerInternalsT.OnChangeFunc = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n let newMeridiem = e?.target?.value?.toUpperCase?.();\n // if new value is length 1,\n // if previous value was empty, auto-complete\n // if previous value was not empty, set to empty (regressive backspace)\n if (newMeridiem.length === 1)\n if (meridiem === '') newMeridiem = `${newMeridiem}M`;\n else newMeridiem = '';\n handleChangeMeridiem(newMeridiem, e);\n // auto-advance functionality:\n if (newMeridiem.length === 2 && withAnyRightController) {\n if (withClearBtn) trackFocusClearBtn();\n else if (withAnyPicker) trackFocusPicker();\n }\n },\n [\n meridiem,\n handleChangeMeridiem,\n withAnyRightController,\n withClearBtn,\n trackFocusClearBtn,\n withAnyPicker,\n trackFocusPicker,\n ],\n );\n const onMeridiemKeyDown: DSControlledDateTimePickerInternalsT.OnKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const { key, ctrlKey, metaKey } = e;\n\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.preventDefault();\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) e.stopPropagation();\n\n if (key === 'Home') onHomeKeyDown();\n if (key === 'End') onEndKeyDown();\n if (key === 'ArrowUp' && meridiem !== 'AM') handleChangeMeridiem('AM', e);\n if (key === 'ArrowDown' && meridiem !== 'PM') handleChangeMeridiem('PM', e);\n // regressive backspace functionality\n if (key === 'Backspace') {\n if (meridiem?.length === 2) handleChangeMeridiem('', e);\n else trackFocusMinuteInput();\n }\n // focus last fragment on fill with now\n if ((ctrlKey || metaKey) && key === ';') trackFocusLastSegment();\n },\n [onHomeKeyDown, onEndKeyDown, meridiem, handleChangeMeridiem, trackFocusLastSegment, trackFocusMinuteInput],\n );\n const onMeridiemBlur: DSControlledDateTimePickerInternalsT.OnBlurFunc = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n const newMeridiem = e?.target?.value?.toUpperCase?.();\n\n if (newMeridiem.length === 1)\n handleChangeMeridiem(`${newMeridiem}M`, e, {\n isAutomaticFillTrigger: true,\n });\n },\n [handleChangeMeridiem],\n );\n\n return useMemo(\n () => ({\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n }),\n [\n autoFocusHourInput,\n disabled,\n handleChangeHours,\n onHoursFocus,\n onHoursChange,\n handleChangeMinutes,\n onMinutesFocus,\n onMinutesChange,\n handleChangeMeridiem,\n onMeridiemFocus,\n onMeridiemChange,\n onHoursBlur,\n onMinutesBlur,\n onMeridiemBlur,\n onHoursKeyDown,\n onMinutesKeyDown,\n onMeridiemKeyDown,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/parts/config.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/config.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const fixedValues = {\n smallInputWidth: '28px',\n largeInputWidth: '40px',\n separatorWidth: '7px',\n} as const;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,cAAc;AAAA,EACzB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAClB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/propTypes.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/propTypes.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { WeakValidationMap } from 'react';\nimport { PropTypes, globalAttributesPropTypes, xstyledPropTypes } from '@elliemae/ds-utilities';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\nconst defaultReturnFalse = (): false => false;\nexport declare namespace DSControlledDateTimePickerT {\n export type OnInternalValuesChangeEvent =\n | React.ChangeEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLButtonElement>\n | React.KeyboardEvent\n | React.MouseEvent<HTMLInputElement>\n | React.MouseEvent<HTMLButtonElement>;\n export type ControlTypes =\n | 'full-date-time'\n | 'date-time-inputs'\n | 'date-time-picker'\n | 'date-time-picker-controller-only'\n | 'full-date'\n | 'date-inputs'\n | 'date-picker'\n | 'date-picker-controller-only'\n | 'full-time'\n | 'time-inputs'\n | 'time-picker'\n | 'time-picker-controller-only';\n export interface InternalInputsChangeMetaInfo {\n isAutomaticFillTrigger?: boolean;\n isDayPresentInMonth?: boolean;\n isOutOfRangeDay?: boolean;\n isDisabledDay?: boolean;\n isDisabledTime?: boolean;\n suggestedErrorMsg?: string;\n newDateTimeString?: string;\n newDateString?: string;\n newTimeString?: string;\n }\n\n export type OnDateChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnDateTimeChange = (val: string, metaInfo: InternalInputsChangeMetaInfo) => void;\n export type OnInternalInputsChange = (\n val: string,\n e: OnInternalValuesChangeEvent,\n metaInfo?: InternalInputsChangeMetaInfo,\n ) => void;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ DATE CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n export interface DefaultDateProps {\n onMonthChange: OnInternalInputsChange;\n onDayChange: OnInternalInputsChange;\n onYearChange: OnInternalInputsChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledDay: BooleanGetter<string>;\n getIsOutOfRangeDay: BooleanGetter<string>;\n getIsStartRangeDay: BooleanGetter<string>;\n getIsDayInRange: BooleanGetter<string>;\n getIsEndRangeDay: BooleanGetter<string>;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalDatePickerProps {\n emptyPickerStartingMonth?: string;\n onCalendarOpenFocusedDay?: string;\n pickerFooterMsg?: string;\n }\n export interface RequiredDatePickerProps {\n type: 'full-date' | 'date-inputs' | 'date-picker' | 'date-picker-controller-only';\n date: string;\n onDateChange: OnDateChange;\n }\n export type DatePickerProps = OptionalDatePickerProps & Partial<DefaultDateProps> & RequiredDatePickerProps;\n export type InternalDatePickerProps = OptionalDatePickerProps & DefaultDateProps & RequiredDatePickerProps;\n\n /* ------------------------ ------------------ ------------------------*/\n /* ------------------------ TIME CONFIGURATION ------------------------*/\n /* ------------------------ ------------------ ------------------------*/\n\n export interface DefaultTimeProps {\n onHourChange: OnInternalInputsChange;\n onMinuteChange: OnInternalInputsChange;\n onMeridiemChange: OnInternalInputsChange;\n onPickerOpen: NoopishFunc;\n onPickerClose: NoopishFunc;\n getIsDisabledTime: BooleanGetter<string>;\n minutesInterval: number;\n isClearable: boolean;\n disabled: boolean;\n hasError: boolean;\n autoFocus: boolean;\n preventCloseOnSelection: boolean;\n }\n export interface OptionalTimePickerProps {\n pickerFooterMsg?: string;\n onTimeWheelOpenStartingTime?: string;\n }\n export interface RequiredTimePickerProps {\n type: 'full-time' | 'time-inputs' | 'time-picker' | 'time-picker-controller-only';\n time: string;\n onTimeChange: OnTimeChange;\n }\n export type TimePickerProps = OptionalTimePickerProps & Partial<DefaultTimeProps> & RequiredTimePickerProps;\n export type InternalTimePickerProps = OptionalTimePickerProps & DefaultTimeProps & RequiredTimePickerProps;\n\n /* -------------------- ---------------------- ------------------------*/\n /* -------------------- DATETIME CONFIGURATION ------------------------*/\n /* -------------------- ---------------------- ------------------------*/\n\n export type DefaultDateTimeProps = DefaultTimeProps &\n DefaultDateProps & {\n onDateChange: OnDateChange;\n onTimeChange: OnTimeChange;\n };\n export type OptionalDateTimeProps = OptionalTimePickerProps & OptionalDatePickerProps;\n export interface RequiredDateTimeProps {\n type: 'full-date-time' | 'date-time-inputs' | 'date-time-picker' | 'date-time-picker-controller-only';\n dateTime: string;\n onDateTimeChange: OnDateTimeChange;\n }\n\n export type DateTimePickerProps = Partial<DefaultDateTimeProps> & OptionalDateTimeProps & RequiredDateTimeProps;\n export type InternalDateTimePickerProps = DefaultDateTimeProps & OptionalDateTimeProps & RequiredDateTimeProps;\n\n /* ---------------------- ------------------- -------------------------*/\n /* ---------------------- FINAL CONFIGURATION -------------------------*/\n /* ---------------------- ------------------- -------------------------*/\n export type DefaultProps = DefaultDateTimeProps & { type: 'full-date-time' };\n export type Props = DateTimePickerProps | DatePickerProps | TimePickerProps;\n export type InternalProps = InternalDateTimePickerProps | InternalDatePickerProps | InternalTimePickerProps;\n}\n\nexport const defaultProps: DSControlledDateTimePickerT.DefaultProps = {\n type: 'full-date-time',\n onDateChange: noop,\n onMonthChange: noop,\n onDayChange: noop,\n onYearChange: noop,\n onTimeChange: noop,\n onHourChange: noop,\n onMinuteChange: noop,\n onMeridiemChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n getIsStartRangeDay: defaultReturnFalse,\n getIsDayInRange: defaultReturnFalse,\n getIsEndRangeDay: defaultReturnFalse,\n getIsDisabledTime: defaultReturnFalse,\n minutesInterval: 1,\n isClearable: false,\n disabled: false,\n hasError: false,\n autoFocus: false,\n preventCloseOnSelection: false,\n};\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n type: PropTypes.oneOf([\n 'full-date-time',\n 'date-time-inputs',\n 'date-time-picker',\n 'date-time-picker-controller-only',\n 'full-date',\n 'date-inputs',\n 'date-picker',\n 'date-picker-controller-only',\n 'full-time',\n 'time-inputs',\n 'time-picker',\n 'time-picker-controller-only',\n ])\n .description('Type of time form control to use')\n .defaultValue('full-date-time'),\n disabled: PropTypes.bool.description('wheter or not the input is disabled').defaultValue(false),\n isClearable: PropTypes.bool.description('with or without clearable button').defaultValue(false),\n dateTime: PropTypes.string.description('when using date-time types, this is the value of the controller'),\n date: PropTypes.string.description('when using date types, this is the value of the controller'),\n time: PropTypes.string.description('when using time types, this is the value of the controller'),\n onDateChange: PropTypes.func.description('(newDateString, metaInformations) => void'),\n onTimeChange: PropTypes.func.description('(newTimeString, metaInformations) => void'),\n onDateTimeChange: PropTypes.func.description('(newDateTimeString, metaInformations) => void'),\n onMonthChange: PropTypes.func.description('(newMonthString, event, metaInformations) => void'),\n onDayChange: PropTypes.func.description('(newDayString, event, metaInformations) => void'),\n onYearChange: PropTypes.func.description('(newYearString, event, metaInformations) => void'),\n onHourChange: PropTypes.func.description('(newHourString, event, metaInformations) => void'),\n onMinuteChange: PropTypes.func.description('(newMinuteString, event, metaInformations) => void'),\n onMeridiemChange: PropTypes.func.description('(newMeridiemString, event, metaInformations) => void'),\n getIsDisabledDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsOutOfRangeDay: PropTypes.func.description(\n '(dayAsString) => true for marking as disabled, false for marking as valid',\n ),\n getIsDisabledTime: PropTypes.func.description(\n '(timeAsString) => true for marking as disabled, false for marking as valid',\n ),\n emptyPickerStartingMonth: PropTypes.string.description(\n 'which month to start the calendar on open, when value is empty, string following the \"MM/__/YYYY\" pattern',\n ),\n onCalendarOpenFocusedDay: PropTypes.string\n .description('which day to focus on calendar open when value is empty, string following the \"MM/DD/YYYY\" pattern')\n .defaultValue('if value is empty current month, else current month'),\n onTimeWheelOpenStartingTime: PropTypes.string\n .description(\n 'which day to start the timewheel on picker open when value is empty, string following the HH:MM AA\" pattern',\n )\n .defaultValue('01:00 AM'),\n minutesInterval: PropTypes.number\n .description('increments/decrements of minutes in time related controllers interactions')\n .defaultValue('1'),\n 'data-testid': PropTypes.string.description('Unique id for tests.').defaultValue(''),\n} as WeakValidationMap<unknown>;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACEA;AAGA,MAAM,OAAO,MAAY;AAAC;AAC1B,MAAM,qBAAqB,MAAa;AAqIjC,MAAM,eAAyD;AAAA,EACpE,MAAM;AAAA,EACN,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,yBAAyB;AAC3B;AAEO,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,MAAM,UAAU,MAAM;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACE,YAAY,kCAAkC,EAC9C,aAAa,gBAAgB;AAAA,EAChC,UAAU,UAAU,KAAK,YAAY,qCAAqC,EAAE,aAAa,KAAK;AAAA,EAC9F,aAAa,UAAU,KAAK,YAAY,kCAAkC,EAAE,aAAa,KAAK;AAAA,EAC9F,UAAU,UAAU,OAAO,YAAY,iEAAiE;AAAA,EACxG,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,MAAM,UAAU,OAAO,YAAY,4DAA4D;AAAA,EAC/F,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,cAAc,UAAU,KAAK,YAAY,2CAA2C;AAAA,EACpF,kBAAkB,UAAU,KAAK,YAAY,+CAA+C;AAAA,EAC5F,eAAe,UAAU,KAAK,YAAY,mDAAmD;AAAA,EAC7F,aAAa,UAAU,KAAK,YAAY,iDAAiD;AAAA,EACzF,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,cAAc,UAAU,KAAK,YAAY,kDAAkD;AAAA,EAC3F,gBAAgB,UAAU,KAAK,YAAY,oDAAoD;AAAA,EAC/F,kBAAkB,UAAU,KAAK,YAAY,sDAAsD;AAAA,EACnG,kBAAkB,UAAU,KAAK,YAC/B,2EACF;AAAA,EACA,oBAAoB,UAAU,KAAK,YACjC,2EACF;AAAA,EACA,mBAAmB,UAAU,KAAK,YAChC,4EACF;AAAA,EACA,0BAA0B,UAAU,OAAO,YACzC,2GACF;AAAA,EACA,0BAA0B,UAAU,OACjC,YAAY,oGAAoG,EAChH,aAAa,qDAAqD;AAAA,EACrE,6BAA6B,UAAU,OACpC,YACC,6GACF,EACC,aAAa,UAAU;AAAA,EAC1B,iBAAiB,UAAU,OACxB,YAAY,2EAA2E,EACvF,aAAa,GAAG;AAAA,EACnB,eAAe,UAAU,OAAO,YAAY,sBAAsB,EAAE,aAAa,EAAE;AACrF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/sharedTypes.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/utils/constants.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] as const;\n\nexport const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n] as const;\n\nexport const announcableCardinalDays = {\n 1: 'first',\n 2: 'second',\n 3: 'third',\n 4: 'fourth',\n 5: 'fifth',\n 6: 'sixth',\n 7: 'seventh',\n 8: 'eighth',\n 9: 'ninth',\n 10: 'tenth',\n 11: 'eleventh',\n 12: 'twelfth',\n 13: 'thirteenth',\n 14: 'fourteenth',\n 15: 'fifteenth',\n 16: 'sixteenth',\n 17: 'seventeenth',\n 18: 'eighteenth',\n 19: 'ninteenth',\n 20: 'twentieth',\n 21: 'twentie first',\n 22: 'twentie second',\n 23: 'twentie third',\n 24: 'twentie fourth',\n 25: 'twentie fifth',\n 26: 'twentie sixth',\n 27: 'twentie seventh',\n 28: 'twentie eighth',\n 29: 'twentie ninth',\n 30: 'thirtieth',\n 31: 'thirty first',\n} as const;\n\nexport const defaultMetaInfo = { isAutomaticFillTrigger: false };\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAO,MAAM,WAAW,CAAC,UAAU,UAAU,WAAW,aAAa,YAAY,UAAU,UAAU;AAE9F,MAAM,aAAa;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,0BAA0B;AAAA,EACrC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,MAAM,kBAAkB,EAAE,wBAAwB,MAAM;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/utils/dateHelpers.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { createRef } from 'react';\nimport { monthNames } from './constants';\nimport { prependStringWithPlaceHolders, deconstructValuesFromDateString, isIncompleteString } from './stringHelpers';\nimport { convertToPositiveNumberIfPossible } from './numberHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\nimport type { DSControlledDateTimePickerInternalsT } from '../sharedTypes';\n\nexport const getDateValuesFromDate = (day: Date): DateValuesT => ({\n month: day?.getMonth?.() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: day?.getDate?.() as DSControlledDateTimePickerInternalsT.DateDay,\n year: day?.getFullYear?.(),\n});\nexport const getDateStringFromDay = (day: Date): string => {\n const monthFromDay = prependStringWithPlaceHolders(`${day.getMonth() + 1}`, 2); // months from 1-12\n const dayFromDay = prependStringWithPlaceHolders(`${day.getDate()}`, 2);\n const yearFromDay = prependStringWithPlaceHolders(`${day.getFullYear()}`, 4);\n\n return `${monthFromDay}/${dayFromDay}/${yearFromDay}`;\n};\nexport const getTimeStringFromDay = (day: Date): string => {\n const hoursNum = day.getHours();\n const meridiem = hoursNum > 12 ? 'PM' : 'AM';\n const twelveHourFormat = hoursNum > 12 ? hoursNum - 12 : hoursNum;\n const minutesNum = day.getMinutes();\n\n const hoursFromDay = prependStringWithPlaceHolders(`${twelveHourFormat}`, 2);\n const minutesFromDay = prependStringWithPlaceHolders(`${minutesNum}`, 2);\n\n return `${hoursFromDay}:${minutesFromDay} ${meridiem}`;\n};\nexport const getMonthNameByMonthNumber = (monthNumber: number): string => monthNames[monthNumber];\nexport const isSameDateMoment = (dateA: Date, dateB: Date): boolean => dateA?.getTime?.() === dateB?.getTime?.();\n\nexport const compareTwoDatesDayEquality = (dayA: Date, dayB: Date): boolean => {\n const { day: currD, month: currM, year: currY } = getDateValuesFromDate(dayA);\n const { day: focusD, month: focusM, year: focusY } = getDateValuesFromDate(dayB);\n return currD === focusD && currM === focusM && currY === focusY;\n};\n\nexport const getLastDayOfMonth = (month: DSControlledDateTimePickerInternalsT.DateMonth, year: number): Date =>\n new Date(year, month + 1, 0);\nexport const isValidDayForTheMonth = (\n month: DSControlledDateTimePickerInternalsT.DateMonth,\n year: number,\n day: DSControlledDateTimePickerInternalsT.DateDay,\n): boolean => new Date(year, month, day)?.getMonth?.() === month;\nexport const getDayFromDateString = (dateString: string): Date | null => {\n const { month, day, year } = deconstructValuesFromDateString(dateString);\n const monthNum = convertToPositiveNumberIfPossible(month);\n const dayNum = convertToPositiveNumberIfPossible(day) as DSControlledDateTimePickerInternalsT.DateDay | -1;\n const yearNum = convertToPositiveNumberIfPossible(year);\n if (\n monthNum !== -1 &&\n dayNum !== -1 &&\n yearNum !== -1 &&\n isValidDayForTheMonth((monthNum - 1) as DSControlledDateTimePickerInternalsT.DateMonth, yearNum, dayNum)\n )\n return new Date(yearNum, monthNum - 1, dayNum);\n return null;\n};\nexport const isValidDayForTheMonthDateString = (dateString: string): boolean => {\n if (isIncompleteString(dateString)) return true;\n const { month } = deconstructValuesFromDateString(dateString);\n const monthInt = convertToPositiveNumberIfPossible(month);\n if (monthInt === -1) return false;\n const monthDateMonth = (monthInt - 1) as DSControlledDateTimePickerInternalsT.DateMonth;\n return getDayFromDateString(dateString)?.getMonth?.() === monthDateMonth;\n};\n\nexport const getValidationDateStringMetaInfo = (\n dateString: string,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsOutOfRangeDay = (day: string) => false,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\n getIsDisabledDay = (day: string) => false,\n): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => {\n const metaInfo: Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> = {};\n if (!isIncompleteString(dateString)) {\n metaInfo.isDayPresentInMonth = isValidDayForTheMonthDateString(dateString);\n if (!metaInfo.isDayPresentInMonth)\n metaInfo.suggestedErrorMsg = 'The selected day is not part of the selected month';\n const day = getDayFromDateString(dateString);\n if (day) {\n metaInfo.isOutOfRangeDay = getIsOutOfRangeDay(dateString);\n metaInfo.isDisabledDay = getIsDisabledDay(dateString);\n if (metaInfo.isOutOfRangeDay || metaInfo.isDisabledDay)\n metaInfo.suggestedErrorMsg = 'The selected day is not allowed';\n }\n }\n return metaInfo;\n};\n// code adapted from https://github.com/datejs/Datejs/blob/master/src/core.js\nexport const isLeapYear = (year: number): boolean => (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\nexport const getHowManyDaysInMonth = (year: number, month: number): number => {\n const daysPerMonth = [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n return daysPerMonth[month];\n};\n\nexport const dateIsLeapYear = (date: Date): boolean => isLeapYear(date.getFullYear());\n\nexport const dateGetDaysInMonth = (date: Date): number => getHowManyDaysInMonth(date.getFullYear(), date.getMonth());\n\nexport const dateAddMonths = (date: Date, value: number): Date => {\n const copiedDate = new Date(date.getTime());\n const n = copiedDate.getDate();\n copiedDate.setDate(1);\n copiedDate.setMonth(copiedDate.getMonth() + value);\n copiedDate.setDate(Math.min(n, dateGetDaysInMonth(copiedDate)));\n return copiedDate;\n};\nexport const dateAddYear = (date: Date, value: number): Date => dateAddMonths(date, value * 12);\n\ninterface DateValuesT {\n month: DSControlledDateTimePickerInternalsT.DateMonth;\n year: number;\n day?: DSControlledDateTimePickerInternalsT.DateDay;\n}\ninterface DateSumValuesT {\n monthsToSum?: number;\n yearsToSum?: number;\n daysToSum?: number;\n}\n// sumFromDateValues supports negative values to \"subtract\"\nexport const sumFromDateValues = (\n { month, year, day = 1 }: DateValuesT,\n { monthsToSum = 0, yearsToSum = 0, daysToSum = 0 }: DateSumValuesT,\n): DateValuesT => {\n let newDate = new Date(year, month, day);\n if (yearsToSum) newDate = dateAddYear(newDate, yearsToSum);\n\n if (monthsToSum) newDate = dateAddMonths(newDate, monthsToSum);\n\n if (daysToSum) newDate.setDate(newDate.getDate() + daysToSum);\n\n return {\n month: newDate.getMonth() as DSControlledDateTimePickerInternalsT.DateMonth,\n day: newDate.getDate() as DSControlledDateTimePickerInternalsT.DateDay,\n year: newDate.getFullYear(),\n };\n};\nexport const sumValuesToDate = (day: Date, sumValues: DateSumValuesT): Date => {\n const dateAsVals = getDateValuesFromDate(day);\n const { month, year, day: newD } = sumFromDateValues(dateAsVals, sumValues);\n return new Date(year, month, newD);\n};\nexport const subtractYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() - howManyMore);\n return newDate;\n};\nexport const subtractMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() - howManyMore);\n return newDate;\n};\nexport const sumMonths = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setMonth(date.getMonth() + howManyMore);\n return newDate;\n};\nexport const sumYears = (date: Date, howManyMore = 1): Date => {\n const newDate = new Date(date.getTime());\n newDate.setFullYear(date.getFullYear() + howManyMore);\n return newDate;\n};\n\nexport const getDaysInMonth = (month: number, year: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (date.getMonth() === month) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\nexport const getLastXDaysFromPreviousMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = new Date(year, month, 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n date.setDate(date.getDate() - 1);\n days.push(new Date(date));\n }\n return days.reverse();\n};\nexport const getFirstXDaysFromNextMonth = (month: number, year: number, howMany: number): Date[] => {\n const date = sumMonths(new Date(year, month, 1), 1);\n const days: Date[] = [];\n while (days.length !== howMany) {\n days.push(new Date(date));\n date.setDate(date.getDate() + 1);\n }\n return days;\n};\n\nexport const getFiveBySevenCurrentMonthDaysMatrix = (\n month: number,\n year: number,\n): DSControlledDateTimePickerInternalsT.MetaMonthDay[] => {\n const currentMonthDays = getDaysInMonth(month, year).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: false,\n isCurrMonthDay: true,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }));\n const firstDayOfTheMonthWeekDay = currentMonthDays?.[0]?.day?.getDay();\n const previousMonthDaysToPrepend = getLastXDaysFromPreviousMonth(month, year, firstDayOfTheMonthWeekDay).map(\n (day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: true,\n isNextMonthDay: false,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }),\n );\n const lastDayOfTheMonthWeekDay = currentMonthDays?.[currentMonthDays.length - 1]?.day?.getDay();\n const nextMonthDaysToAppend = getFirstXDaysFromNextMonth(month, year, 6 - lastDayOfTheMonthWeekDay).map((day) => ({\n day,\n dayAsString: getDateStringFromDay(day),\n isPrevMonthDay: false,\n isNextMonthDay: true,\n isCurrMonthDay: false,\n isHidden: false,\n dayBtnRef: createRef<HTMLButtonElement>(),\n }));\n\n return [...previousMonthDaysToPrepend, ...currentMonthDays, ...nextMonthDaysToAppend];\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/utils/dateTimeHelpers.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { getValidationDateStringMetaInfo } from './dateHelpers';\nimport { getValidationTimeStringMetaInfo } from './timeHelpers';\nimport type { DSControlledDateTimePickerT } from '../propTypes';\n\ninterface Validators {\n getIsOutOfRangeDay: (day: string) => boolean;\n getIsDisabledDay: (day: string) => boolean;\n getIsDisabledTime: (val: string) => boolean;\n}\nexport const getValidationDateTimeStringMetaInfo = (\n dateString: string,\n timeString: string,\n validators: Validators,\n): Partial<DSControlledDateTimePickerT.InternalInputsChangeMetaInfo> => ({\n ...getValidationDateStringMetaInfo(dateString, validators.getIsOutOfRangeDay, validators.getIsDisabledDay),\n ...getValidationTimeStringMetaInfo(timeString, validators.getIsDisabledTime),\n});\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAQO,MAAM,sCAAsC,CACjD,YACA,YACA,eACuE;AAAA,EACvE,GAAG,gCAAgC,YAAY,WAAW,oBAAoB,WAAW,gBAAgB;AAAA,EACzG,GAAG,gCAAgC,YAAY,WAAW,iBAAiB;AAC7E;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/utils/hooks/useGetDayFromDateString.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useContext, useMemo } from 'react';\nimport { ControlledDateTimePickerContext } from '../../ControlledDateTimePickerCTX';\nimport { getDayFromDateString } from '../dateHelpers';\n\nexport const useGetDayFromDateString = (): Date | null => {\n const { dateStringFromProps } = useContext(ControlledDateTimePickerContext);\n return useMemo(() => getDayFromDateString(dateStringFromProps), [dateStringFromProps]);\n};\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEO,MAAM,0BAA0B,MAAmB;AACxD,QAAM,EAAE,wBAAwB,WAAW,+BAA+B;AAC1E,SAAO,QAAQ,MAAM,qBAAqB,mBAAmB,GAAG,CAAC,mBAAmB,CAAC;AACvF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|