@elliemae/ds-form-date-range-picker 3.70.0-next.7 → 3.70.0-next.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/config/useRangePickerLogic.js +7 -3
- package/dist/cjs/config/useRangePickerLogic.js.map +2 -2
- package/dist/cjs/package.json +1 -4
- package/dist/cjs/parts/ControlledDateRangeCalendar.js +1 -1
- package/dist/cjs/parts/ControlledDateRangeCalendar.js.map +2 -2
- package/dist/cjs/parts/ControlledDateRangeFromDate.js +3 -4
- package/dist/cjs/parts/ControlledDateRangeFromDate.js.map +2 -2
- package/dist/cjs/parts/ControlledDateRangeToDate.js +3 -4
- package/dist/cjs/parts/ControlledDateRangeToDate.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +6 -0
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/cjs/typescript-testing/typescript-date-range-picker-valid.js +10 -0
- package/dist/cjs/typescript-testing/typescript-date-range-picker-valid.js.map +2 -2
- package/dist/esm/config/useRangePickerLogic.js +7 -3
- package/dist/esm/config/useRangePickerLogic.js.map +2 -2
- package/dist/esm/package.json +1 -4
- package/dist/esm/parts/ControlledDateRangeCalendar.js +1 -1
- package/dist/esm/parts/ControlledDateRangeCalendar.js.map +2 -2
- package/dist/esm/parts/ControlledDateRangeFromDate.js +3 -4
- package/dist/esm/parts/ControlledDateRangeFromDate.js.map +2 -2
- package/dist/esm/parts/ControlledDateRangeToDate.js +3 -4
- package/dist/esm/parts/ControlledDateRangeToDate.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +6 -0
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/esm/typescript-testing/typescript-date-range-picker-valid.js +10 -0
- package/dist/esm/typescript-testing/typescript-date-range-picker-valid.js.map +2 -2
- package/dist/types/config/useRangePickerLogic.d.ts +1 -1
- package/dist/types/react-desc-prop-types.d.ts +2 -0
- package/package.json +11 -11
- package/dist/types/tests/date-range-picker.auto-advance.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.axe.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.classes.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.clear-button.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.keyboard-focus.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.manual-delete-values.test.d.ts +0 -1
- package/dist/types/tests/date-range-picker.types-dom.test.d.ts +0 -1
- package/dist/types/typescript-testing/typescript-date-range-picker-valid.d.ts +0 -1
|
@@ -44,7 +44,9 @@ const useRangePickerLogic = ({
|
|
|
44
44
|
onMonthToChange,
|
|
45
45
|
onDayToChange,
|
|
46
46
|
onYearToChange,
|
|
47
|
-
onToDateChange
|
|
47
|
+
onToDateChange,
|
|
48
|
+
onPickerOpen,
|
|
49
|
+
onPickerClose
|
|
48
50
|
}) => {
|
|
49
51
|
const [calendarChangeIsFrom, setCalendarChangeIsFrom] = (0, import_react.useState)(true);
|
|
50
52
|
const [latestChangedDate, setLatestChangedDate] = (0, import_react.useState)(fromDate);
|
|
@@ -109,10 +111,12 @@ const useRangePickerLogic = ({
|
|
|
109
111
|
);
|
|
110
112
|
const onCalendarOpen = (0, import_react.useCallback)(() => {
|
|
111
113
|
setCalendarChangeIsFrom(true);
|
|
112
|
-
|
|
114
|
+
onPickerOpen();
|
|
115
|
+
}, [onPickerOpen]);
|
|
113
116
|
const onCalendarClose = (0, import_react.useCallback)(() => {
|
|
114
117
|
setCalendarChangeIsFrom(true);
|
|
115
|
-
|
|
118
|
+
onPickerClose();
|
|
119
|
+
}, [onPickerClose]);
|
|
116
120
|
const handlePickerDateChange = (0, import_react.useCallback)(
|
|
117
121
|
(changedDay, metaInfo) => {
|
|
118
122
|
const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } = getChangedDayStringValues(changedDay);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/config/useRangePickerLogic.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { useCallback, useState, useMemo, useEffect } from 'react';\nimport { getDayFromDateString } from '@elliemae/ds-form-date-time-picker';\nimport type { ControlledDateRangePickerContextT } from './useControlledDateRangePicker.js';\nimport type { DSControlledDateRangePickerT } from '../react-desc-prop-types.js';\n\nexport const useRangePickerLogic = ({\n fromDate,\n onFromDateChange,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n onToDateChange,\n}: DSControlledDateRangePickerT.InternalProps): ControlledDateRangePickerContextT['rangePickerLogic'] => {\n // the implementation is based on controlled-date-time-picker that is not meant to \"understand\"\n // the \"from\" - \"to\" logic on click, we are \"overloading\" the \"from\" - \"to\" logic here\n // we track wheter we are going to set the \"from\" OR \"to\" controlled date based on this toggle\n const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);\n const [latestChangedDate, setLatestChangedDate] = useState(fromDate);\n useEffect(() => {\n setLatestChangedDate(fromDate);\n }, [fromDate]);\n useEffect(() => {\n setLatestChangedDate(toDate);\n }, [toDate]);\n\n const getChangedDayStringValues = useCallback(\n (changedDay: string) => {\n // based on wheter we are handling a \"from\"/\"to\" change, we calculate some values\n const dateFromString = calendarChangeIsFrom ? changedDay : fromDate;\n const dateFrom = getDayFromDateString(dateFromString);\n const dateToString = calendarChangeIsFrom ? toDate : changedDay;\n const dateTo = getDayFromDateString(dateToString);\n // we force the \"from\" to ALWAYS be before the \"to\" date\n const isToBeforeFrom = !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n const newDateFromString = isToBeforeFrom ? dateToString : dateFromString;\n const forcingFromDatePick = isToBeforeFrom ? !calendarChangeIsFrom : false;\n const newDateToString = isToBeforeFrom ? dateFromString : dateToString;\n const forcingToDatePick = isToBeforeFrom ? calendarChangeIsFrom : false;\n\n // next change should be based on\n // the force pick next interactions\n // toggle between from/to if we didn't force any pick\n let nextToggleStateIsFrom = !calendarChangeIsFrom;\n if (forcingFromDatePick) nextToggleStateIsFrom = false;\n if (forcingToDatePick) nextToggleStateIsFrom = true;\n\n return {\n newDateFromString,\n forcingFromDatePick,\n newDateToString,\n forcingToDatePick,\n isToBeforeFrom,\n nextToggleStateIsFrom,\n currentClickCountAsFrom: !nextToggleStateIsFrom,\n };\n },\n [fromDate, calendarChangeIsFrom, toDate],\n );\n const handlePickerMonthDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerMonthDateChange'] =\n useCallback(\n (newMonth, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onMonthFromChange(newMonth, e, metaInfo);\n else onMonthToChange(newMonth, e, metaInfo);\n },\n [getChangedDayStringValues, onMonthFromChange, onMonthToChange],\n );\n const handlePickerDayDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDayDateChange'] =\n useCallback(\n (newDay, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onDayFromChange(newDay, e, metaInfo);\n else onDayToChange(newDay, e, metaInfo);\n },\n [getChangedDayStringValues, onDayFromChange, onDayToChange],\n );\n const handlePickerYearDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerYearDateChange'] =\n useCallback(\n (newYear, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onYearFromChange(newYear, e, metaInfo);\n else onYearToChange(newYear, e, metaInfo);\n },\n [getChangedDayStringValues, onYearFromChange, onYearToChange],\n );\n\n // every time the calendar opens/closes, we assume first click is \"from\"\n const onCalendarOpen: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarOpen'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const onCalendarClose: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarClose'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const handlePickerDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDateChange'] =\n useCallback(\n (changedDay, metaInfo) => {\n const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } =\n getChangedDayStringValues(changedDay);\n\n // every \"change\" on the picker range we calculate it as a new \"onChange\" for both values\n // and we pass over the correct \"new\" from/to value\n onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n\n // and we notify what the next change type should be\n setCalendarChangeIsFrom(nextToggleStateIsFrom);\n },\n [getChangedDayStringValues, onFromDateChange, onToDateChange],\n );\n\n const getIsStartRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsStartRangeDay'] = useCallback(\n (dayString) => dayString === fromDate,\n [fromDate],\n );\n const getIsDayInRange: ControlledDateRangePickerContextT['rangePickerLogic']['getIsDayInRange'] = useCallback(\n (dayString) => {\n const dayFrom = getDayFromDateString(fromDate);\n const dayTo = getDayFromDateString(toDate);\n if (!dayFrom || !dayTo || !dayString) return false;\n const newDayTime = getDayFromDateString(dayString)?.getTime();\n return !!newDayTime && newDayTime <= dayTo.getTime() && newDayTime >= dayFrom.getTime();\n },\n [fromDate, toDate],\n );\n const getIsEndRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsEndRangeDay'] = useCallback(\n (dayString) => dayString === toDate,\n [toDate],\n );\n\n const getIsToBeforeFrom = useCallback((fromString: string, toString: string) => {\n const dateFrom = getDayFromDateString(fromString);\n const dateTo = getDayFromDateString(toString);\n return !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n }, []);\n const handleFromDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleFromDateChange'] =\n useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);\n onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'from', isIncorrectOrder });\n },\n [getIsToBeforeFrom, onFromDateChange, toDate],\n );\n const handleToDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleToDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);\n onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'to', isIncorrectOrder });\n },\n [fromDate, getIsToBeforeFrom, onToDateChange],\n );\n\n return useMemo(\n () => ({\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n }),\n [\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA0D;AAC1D,sCAAqC;AAI9B,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyG;AAIvG,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,uBAAS,IAAI;AACrE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,uBAAS,QAAQ;AACnE,8BAAU,MAAM;AACd,yBAAqB,QAAQ;AAAA,EAC/B,GAAG,CAAC,QAAQ,CAAC;AACb,8BAAU,MAAM;AACd,yBAAqB,MAAM;AAAA,EAC7B,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,gCAA4B;AAAA,IAChC,CAAC,eAAuB;AAEtB,YAAM,iBAAiB,uBAAuB,aAAa;AAC3D,YAAM,eAAW,sDAAqB,cAAc;AACpD,YAAM,eAAe,uBAAuB,SAAS;AACrD,YAAM,aAAS,sDAAqB,YAAY;AAEhD,YAAM,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,QAAQ,QAAQ,IAAI,UAAU,QAAQ;AACvF,YAAM,oBAAoB,iBAAiB,eAAe;AAC1D,YAAM,sBAAsB,iBAAiB,CAAC,uBAAuB;AACrE,YAAM,kBAAkB,iBAAiB,iBAAiB;AAC1D,YAAM,oBAAoB,iBAAiB,uBAAuB;AAKlE,UAAI,wBAAwB,CAAC;AAC7B,UAAI,oBAAqB,yBAAwB;AACjD,UAAI,kBAAmB,yBAAwB;AAE/C,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,yBAAyB,CAAC;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,CAAC,UAAU,sBAAsB,MAAM;AAAA,EACzC;AACA,QAAM,kCACJ;AAAA,IACE,CAAC,UAAU,GAAG,aAAa;AACzB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,mBAAkB,UAAU,GAAG,QAAQ;AAAA,UAC/D,iBAAgB,UAAU,GAAG,QAAQ;AAAA,IAC5C;AAAA,IACA,CAAC,2BAA2B,mBAAmB,eAAe;AAAA,EAChE;AACF,QAAM,gCACJ;AAAA,IACE,CAAC,QAAQ,GAAG,aAAa;AACvB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,iBAAgB,QAAQ,GAAG,QAAQ;AAAA,UAC3D,eAAc,QAAQ,GAAG,QAAQ;AAAA,IACxC;AAAA,IACA,CAAC,2BAA2B,iBAAiB,aAAa;AAAA,EAC5D;AACF,QAAM,iCACJ;AAAA,IACE,CAAC,SAAS,GAAG,aAAa;AACxB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,kBAAiB,SAAS,GAAG,QAAQ;AAAA,UAC7D,gBAAe,SAAS,GAAG,QAAQ;AAAA,IAC1C;AAAA,IACA,CAAC,2BAA2B,kBAAkB,cAAc;AAAA,EAC9D;AAGF,QAAM,qBAA0F,0BAAY,MAAM;AAChH,4BAAwB,IAAI;AAAA,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { useCallback, useState, useMemo, useEffect } from 'react';\nimport { getDayFromDateString } from '@elliemae/ds-form-date-time-picker';\nimport type { ControlledDateRangePickerContextT } from './useControlledDateRangePicker.js';\nimport type { DSControlledDateRangePickerT } from '../react-desc-prop-types.js';\n\nexport const useRangePickerLogic = ({\n fromDate,\n onFromDateChange,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n onToDateChange,\n onPickerOpen,\n onPickerClose,\n}: DSControlledDateRangePickerT.InternalProps): ControlledDateRangePickerContextT['rangePickerLogic'] => {\n // the implementation is based on controlled-date-time-picker that is not meant to \"understand\"\n // the \"from\" - \"to\" logic on click, we are \"overloading\" the \"from\" - \"to\" logic here\n // we track wheter we are going to set the \"from\" OR \"to\" controlled date based on this toggle\n const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);\n const [latestChangedDate, setLatestChangedDate] = useState(fromDate);\n useEffect(() => {\n setLatestChangedDate(fromDate);\n }, [fromDate]);\n useEffect(() => {\n setLatestChangedDate(toDate);\n }, [toDate]);\n\n const getChangedDayStringValues = useCallback(\n (changedDay: string) => {\n // based on wheter we are handling a \"from\"/\"to\" change, we calculate some values\n const dateFromString = calendarChangeIsFrom ? changedDay : fromDate;\n const dateFrom = getDayFromDateString(dateFromString);\n const dateToString = calendarChangeIsFrom ? toDate : changedDay;\n const dateTo = getDayFromDateString(dateToString);\n // we force the \"from\" to ALWAYS be before the \"to\" date\n const isToBeforeFrom = !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n const newDateFromString = isToBeforeFrom ? dateToString : dateFromString;\n const forcingFromDatePick = isToBeforeFrom ? !calendarChangeIsFrom : false;\n const newDateToString = isToBeforeFrom ? dateFromString : dateToString;\n const forcingToDatePick = isToBeforeFrom ? calendarChangeIsFrom : false;\n\n // next change should be based on\n // the force pick next interactions\n // toggle between from/to if we didn't force any pick\n let nextToggleStateIsFrom = !calendarChangeIsFrom;\n if (forcingFromDatePick) nextToggleStateIsFrom = false;\n if (forcingToDatePick) nextToggleStateIsFrom = true;\n\n return {\n newDateFromString,\n forcingFromDatePick,\n newDateToString,\n forcingToDatePick,\n isToBeforeFrom,\n nextToggleStateIsFrom,\n currentClickCountAsFrom: !nextToggleStateIsFrom,\n };\n },\n [fromDate, calendarChangeIsFrom, toDate],\n );\n const handlePickerMonthDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerMonthDateChange'] =\n useCallback(\n (newMonth, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onMonthFromChange(newMonth, e, metaInfo);\n else onMonthToChange(newMonth, e, metaInfo);\n },\n [getChangedDayStringValues, onMonthFromChange, onMonthToChange],\n );\n const handlePickerDayDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDayDateChange'] =\n useCallback(\n (newDay, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onDayFromChange(newDay, e, metaInfo);\n else onDayToChange(newDay, e, metaInfo);\n },\n [getChangedDayStringValues, onDayFromChange, onDayToChange],\n );\n const handlePickerYearDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerYearDateChange'] =\n useCallback(\n (newYear, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onYearFromChange(newYear, e, metaInfo);\n else onYearToChange(newYear, e, metaInfo);\n },\n [getChangedDayStringValues, onYearFromChange, onYearToChange],\n );\n\n // every time the calendar opens/closes, we assume first click is \"from\"\n const onCalendarOpen: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarOpen'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n onPickerOpen();\n }, [onPickerOpen]);\n const onCalendarClose: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarClose'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n onPickerClose();\n }, [onPickerClose]);\n const handlePickerDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDateChange'] =\n useCallback(\n (changedDay, metaInfo) => {\n const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } =\n getChangedDayStringValues(changedDay);\n\n // every \"change\" on the picker range we calculate it as a new \"onChange\" for both values\n // and we pass over the correct \"new\" from/to value\n onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n\n // and we notify what the next change type should be\n setCalendarChangeIsFrom(nextToggleStateIsFrom);\n },\n [getChangedDayStringValues, onFromDateChange, onToDateChange],\n );\n\n const getIsStartRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsStartRangeDay'] = useCallback(\n (dayString) => dayString === fromDate,\n [fromDate],\n );\n const getIsDayInRange: ControlledDateRangePickerContextT['rangePickerLogic']['getIsDayInRange'] = useCallback(\n (dayString) => {\n const dayFrom = getDayFromDateString(fromDate);\n const dayTo = getDayFromDateString(toDate);\n if (!dayFrom || !dayTo || !dayString) return false;\n const newDayTime = getDayFromDateString(dayString)?.getTime();\n return !!newDayTime && newDayTime <= dayTo.getTime() && newDayTime >= dayFrom.getTime();\n },\n [fromDate, toDate],\n );\n const getIsEndRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsEndRangeDay'] = useCallback(\n (dayString) => dayString === toDate,\n [toDate],\n );\n\n const getIsToBeforeFrom = useCallback((fromString: string, toString: string) => {\n const dateFrom = getDayFromDateString(fromString);\n const dateTo = getDayFromDateString(toString);\n return !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n }, []);\n const handleFromDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleFromDateChange'] =\n useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);\n onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'from', isIncorrectOrder });\n },\n [getIsToBeforeFrom, onFromDateChange, toDate],\n );\n const handleToDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleToDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);\n onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'to', isIncorrectOrder });\n },\n [fromDate, getIsToBeforeFrom, onToDateChange],\n );\n\n return useMemo(\n () => ({\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n }),\n [\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAA0D;AAC1D,sCAAqC;AAI9B,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyG;AAIvG,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,uBAAS,IAAI;AACrE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,uBAAS,QAAQ;AACnE,8BAAU,MAAM;AACd,yBAAqB,QAAQ;AAAA,EAC/B,GAAG,CAAC,QAAQ,CAAC;AACb,8BAAU,MAAM;AACd,yBAAqB,MAAM;AAAA,EAC7B,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,gCAA4B;AAAA,IAChC,CAAC,eAAuB;AAEtB,YAAM,iBAAiB,uBAAuB,aAAa;AAC3D,YAAM,eAAW,sDAAqB,cAAc;AACpD,YAAM,eAAe,uBAAuB,SAAS;AACrD,YAAM,aAAS,sDAAqB,YAAY;AAEhD,YAAM,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,QAAQ,QAAQ,IAAI,UAAU,QAAQ;AACvF,YAAM,oBAAoB,iBAAiB,eAAe;AAC1D,YAAM,sBAAsB,iBAAiB,CAAC,uBAAuB;AACrE,YAAM,kBAAkB,iBAAiB,iBAAiB;AAC1D,YAAM,oBAAoB,iBAAiB,uBAAuB;AAKlE,UAAI,wBAAwB,CAAC;AAC7B,UAAI,oBAAqB,yBAAwB;AACjD,UAAI,kBAAmB,yBAAwB;AAE/C,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,yBAAyB,CAAC;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,CAAC,UAAU,sBAAsB,MAAM;AAAA,EACzC;AACA,QAAM,kCACJ;AAAA,IACE,CAAC,UAAU,GAAG,aAAa;AACzB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,mBAAkB,UAAU,GAAG,QAAQ;AAAA,UAC/D,iBAAgB,UAAU,GAAG,QAAQ;AAAA,IAC5C;AAAA,IACA,CAAC,2BAA2B,mBAAmB,eAAe;AAAA,EAChE;AACF,QAAM,gCACJ;AAAA,IACE,CAAC,QAAQ,GAAG,aAAa;AACvB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,iBAAgB,QAAQ,GAAG,QAAQ;AAAA,UAC3D,eAAc,QAAQ,GAAG,QAAQ;AAAA,IACxC;AAAA,IACA,CAAC,2BAA2B,iBAAiB,aAAa;AAAA,EAC5D;AACF,QAAM,iCACJ;AAAA,IACE,CAAC,SAAS,GAAG,aAAa;AACxB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,kBAAiB,SAAS,GAAG,QAAQ;AAAA,UAC7D,gBAAe,SAAS,GAAG,QAAQ;AAAA,IAC1C;AAAA,IACA,CAAC,2BAA2B,kBAAkB,cAAc;AAAA,EAC9D;AAGF,QAAM,qBAA0F,0BAAY,MAAM;AAChH,4BAAwB,IAAI;AAC5B,iBAAa;AAAA,EACf,GAAG,CAAC,YAAY,CAAC;AACjB,QAAM,sBAA4F,0BAAY,MAAM;AAClH,4BAAwB,IAAI;AAC5B,kBAAc;AAAA,EAChB,GAAG,CAAC,aAAa,CAAC;AAClB,QAAM,6BACJ;AAAA,IACE,CAAC,YAAY,aAAa;AACxB,YAAM,EAAE,mBAAmB,iBAAiB,uBAAuB,eAAe,IAChF,0BAA0B,UAAU;AAItC,uBAAiB,mBAAmB,EAAE,GAAG,UAAU,wBAAwB,eAAe,CAAC;AAC3F,qBAAe,iBAAiB,EAAE,GAAG,UAAU,wBAAwB,eAAe,CAAC;AAGvF,8BAAwB,qBAAqB;AAAA,IAC/C;AAAA,IACA,CAAC,2BAA2B,kBAAkB,cAAc;AAAA,EAC9D;AAEF,QAAM,yBAAkG;AAAA,IACtG,CAAC,cAAc,cAAc;AAAA,IAC7B,CAAC,QAAQ;AAAA,EACX;AACA,QAAM,sBAA4F;AAAA,IAChG,CAAC,cAAc;AACb,YAAM,cAAU,sDAAqB,QAAQ;AAC7C,YAAM,YAAQ,sDAAqB,MAAM;AACzC,UAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAW,QAAO;AAC7C,YAAM,iBAAa,sDAAqB,SAAS,GAAG,QAAQ;AAC5D,aAAO,CAAC,CAAC,cAAc,cAAc,MAAM,QAAQ,KAAK,cAAc,QAAQ,QAAQ;AAAA,IACxF;AAAA,IACA,CAAC,UAAU,MAAM;AAAA,EACnB;AACA,QAAM,uBAA8F;AAAA,IAClG,CAAC,cAAc,cAAc;AAAA,IAC7B,CAAC,MAAM;AAAA,EACT;AAEA,QAAM,wBAAoB,0BAAY,CAAC,YAAoB,aAAqB;AAC9E,UAAM,eAAW,sDAAqB,UAAU;AAChD,UAAM,aAAS,sDAAqB,QAAQ;AAC5C,WAAO,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,QAAQ,QAAQ,IAAI,UAAU,QAAQ;AAAA,EACzE,GAAG,CAAC,CAAC;AACL,QAAM,2BACJ;AAAA,IACE,CAAC,QAAQ,aAAa;AACpB,YAAM,mBAAmB,kBAAkB,QAAQ,MAAM;AACzD,uBAAiB,QAAQ,EAAE,GAAG,UAAU,qBAAqB,QAAQ,iBAAiB,CAAC;AAAA,IACzF;AAAA,IACA,CAAC,mBAAmB,kBAAkB,MAAM;AAAA,EAC9C;AACF,QAAM,yBAAkG;AAAA,IACtG,CAAC,QAAQ,aAAa;AACpB,YAAM,mBAAmB,kBAAkB,UAAU,MAAM;AAC3D,qBAAe,QAAQ,EAAE,GAAG,UAAU,qBAAqB,MAAM,iBAAiB,CAAC;AAAA,IACrF;AAAA,IACA,CAAC,UAAU,mBAAmB,cAAc;AAAA,EAC9C;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/package.json
CHANGED
|
@@ -127,7 +127,7 @@ const ControlledDateRangeCalendar = () => {
|
|
|
127
127
|
getIsOutOfRangeDay,
|
|
128
128
|
emptyPickerStartingMonth,
|
|
129
129
|
onCalendarOpenFocusedDay,
|
|
130
|
-
preventCloseOnSelection:
|
|
130
|
+
preventCloseOnSelection: calendarChangeIsFrom,
|
|
131
131
|
hasError,
|
|
132
132
|
pickerFooterMsg,
|
|
133
133
|
autoFocus,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/parts/ControlledDateRangeCalendar.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useContext } from 'react';\nimport {\n CONTROLLED_DATE_TIME_PICKER_TYPES,\n DSControlledDateTimePicker,\n type DSControlledDateTimePickerT,\n getAriaDayFromDateString,\n} from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeCalendar = (): JSX.Element => {\n const {\n instanceUID,\n props: {\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n pickerFooterMsg,\n fromDate,\n toDate,\n disabled,\n readOnly,\n applyAriaDisabled,\n lastElementRef,\n },\n rangePickerLogic: {\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n },\n isControllerOnly,\n } = useContext(ControlledDateRangePickerContext);\n\n const nextInteractionDescriptionId = `${instanceUID}-next-interaction-explanation`;\n const nextInteractionDescription = calendarChangeIsFrom\n ? 'Select a start date. If later than the current end date, the dates will swap automatically.'\n : 'Select an end date. If earlier than the current start date, the dates will swap automatically.';\n\n const handleCalendarDayA11ySlotsArgs = React.useCallback(\n ({\n isDayInRangeImproper,\n isDisabled,\n isOutOfRange,\n metaDay,\n }: DSControlledDateTimePickerT.CalendarDaySlotArguments) => {\n const rangeProps = isDayInRangeImproper\n ? {\n 'aria-pressed': true as const,\n 'aria-label': `${getAriaDayFromDateString(metaDay.dayAsString)}, range from ${getAriaDayFromDateString(fromDate)} to ${getAriaDayFromDateString(toDate)} selected.`,\n }\n : {};\n const isActivatable = !isDisabled && !isOutOfRange;\n return { ...rangeProps, ...(isActivatable && { 'aria-describedby': nextInteractionDescriptionId }) };\n },\n [fromDate, toDate, nextInteractionDescriptionId],\n );\n\n return (\n <>\n <span\n id={nextInteractionDescriptionId}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }}\n >\n {nextInteractionDescription}\n </span>\n <DSControlledDateTimePicker\n dsControlleddatetimepickerCalendarDay={handleCalendarDayA11ySlotsArgs}\n type={\n isControllerOnly\n ? CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY\n : CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER\n }\n date={latestChangedDate}\n onDateChange={handlePickerDateChange}\n onMonthChange={handlePickerMonthDateChange}\n onDayChange={handlePickerDayDateChange}\n onYearChange={handlePickerYearDateChange}\n getIsStartRangeDay={getIsStartRangeDay}\n getIsDayInRange={getIsDayInRange}\n getIsEndRangeDay={getIsEndRangeDay}\n onPickerOpen={onCalendarOpen}\n onPickerClose={onCalendarClose}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n emptyPickerStartingMonth={emptyPickerStartingMonth}\n onCalendarOpenFocusedDay={onCalendarOpenFocusedDay}\n preventCloseOnSelection\n hasError={hasError}\n pickerFooterMsg={pickerFooterMsg}\n autoFocus={autoFocus}\n fromDate={fromDate}\n toDate={toDate}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n lastElementRef={lastElementRef}\n />\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqEnB;AArEJ,mBAAkC;AAClC,sCAKO;AACP,0CAAiD;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,oEAAgC;AAE/C,QAAM,+BAA+B,GAAG,WAAW;AACnD,QAAM,6BAA6B,uBAC/B,gGACA;AAEJ,QAAM,iCAAiC,aAAAA,QAAM;AAAA,IAC3C,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAA4D;AAC1D,YAAM,aAAa,uBACf;AAAA,QACE,gBAAgB;AAAA,QAChB,cAAc,OAAG,0DAAyB,QAAQ,WAAW,CAAC,oBAAgB,0DAAyB,QAAQ,CAAC,WAAO,0DAAyB,MAAM,CAAC;AAAA,MACzJ,IACA,CAAC;AACL,YAAM,gBAAgB,CAAC,cAAc,CAAC;AACtC,aAAO,EAAE,GAAG,YAAY,GAAI,iBAAiB,EAAE,oBAAoB,6BAA6B,EAAG;AAAA,IACrG;AAAA,IACA,CAAC,UAAU,QAAQ,4BAA4B;AAAA,EACjD;AAEA,SACE,4EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,uCAAuC;AAAA,QACvC,MACE,mBACI,kEAAkC,KAAK,kBACvC,kEAAkC,KAAK;AAAA,QAE7C,MAAM;AAAA,QACN,cAAc;AAAA,QACd,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, { useContext } from 'react';\nimport {\n CONTROLLED_DATE_TIME_PICKER_TYPES,\n DSControlledDateTimePicker,\n type DSControlledDateTimePickerT,\n getAriaDayFromDateString,\n} from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeCalendar = (): JSX.Element => {\n const {\n instanceUID,\n props: {\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n pickerFooterMsg,\n fromDate,\n toDate,\n disabled,\n readOnly,\n applyAriaDisabled,\n lastElementRef,\n },\n rangePickerLogic: {\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n },\n isControllerOnly,\n } = useContext(ControlledDateRangePickerContext);\n\n const nextInteractionDescriptionId = `${instanceUID}-next-interaction-explanation`;\n const nextInteractionDescription = calendarChangeIsFrom\n ? 'Select a start date. If later than the current end date, the dates will swap automatically.'\n : 'Select an end date. If earlier than the current start date, the dates will swap automatically.';\n\n const handleCalendarDayA11ySlotsArgs = React.useCallback(\n ({\n isDayInRangeImproper,\n isDisabled,\n isOutOfRange,\n metaDay,\n }: DSControlledDateTimePickerT.CalendarDaySlotArguments) => {\n const rangeProps = isDayInRangeImproper\n ? {\n 'aria-pressed': true as const,\n 'aria-label': `${getAriaDayFromDateString(metaDay.dayAsString)}, range from ${getAriaDayFromDateString(fromDate)} to ${getAriaDayFromDateString(toDate)} selected.`,\n }\n : {};\n const isActivatable = !isDisabled && !isOutOfRange;\n return { ...rangeProps, ...(isActivatable && { 'aria-describedby': nextInteractionDescriptionId }) };\n },\n [fromDate, toDate, nextInteractionDescriptionId],\n );\n\n return (\n <>\n <span\n id={nextInteractionDescriptionId}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }}\n >\n {nextInteractionDescription}\n </span>\n <DSControlledDateTimePicker\n dsControlleddatetimepickerCalendarDay={handleCalendarDayA11ySlotsArgs}\n type={\n isControllerOnly\n ? CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY\n : CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER\n }\n date={latestChangedDate}\n onDateChange={handlePickerDateChange}\n onMonthChange={handlePickerMonthDateChange}\n onDayChange={handlePickerDayDateChange}\n onYearChange={handlePickerYearDateChange}\n getIsStartRangeDay={getIsStartRangeDay}\n getIsDayInRange={getIsDayInRange}\n getIsEndRangeDay={getIsEndRangeDay}\n onPickerOpen={onCalendarOpen}\n onPickerClose={onCalendarClose}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n emptyPickerStartingMonth={emptyPickerStartingMonth}\n onCalendarOpenFocusedDay={onCalendarOpenFocusedDay}\n /*\n * PUI: keep the calendar open while the range is incomplete (the \"from\" pick),\n * and let it close on the pick that completes the range (the \"to\" pick), returning\n * focus to the trigger button. `calendarChangeIsFrom` is true while the next pick\n * is the start date and false once the end date is being selected.\n * PUI-15572\n */\n preventCloseOnSelection={calendarChangeIsFrom}\n hasError={hasError}\n pickerFooterMsg={pickerFooterMsg}\n autoFocus={autoFocus}\n fromDate={fromDate}\n toDate={toDate}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n lastElementRef={lastElementRef}\n />\n </>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADqEnB;AArEJ,mBAAkC;AAClC,sCAKO;AACP,0CAAiD;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF,QAAI,yBAAW,oEAAgC;AAE/C,QAAM,+BAA+B,GAAG,WAAW;AACnD,QAAM,6BAA6B,uBAC/B,gGACA;AAEJ,QAAM,iCAAiC,aAAAA,QAAM;AAAA,IAC3C,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAA4D;AAC1D,YAAM,aAAa,uBACf;AAAA,QACE,gBAAgB;AAAA,QAChB,cAAc,OAAG,0DAAyB,QAAQ,WAAW,CAAC,oBAAgB,0DAAyB,QAAQ,CAAC,WAAO,0DAAyB,MAAM,CAAC;AAAA,MACzJ,IACA,CAAC;AACL,YAAM,gBAAgB,CAAC,cAAc,CAAC;AACtC,aAAO,EAAE,GAAG,YAAY,GAAI,iBAAiB,EAAE,oBAAoB,6BAA6B,EAAG;AAAA,IACrG;AAAA,IACA,CAAC,UAAU,QAAQ,4BAA4B;AAAA,EACjD;AAEA,SACE,4EACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,uCAAuC;AAAA,QACvC,MACE,mBACI,kEAAkC,KAAK,kBACvC,kEAAkC,KAAK;AAAA,QAE7C,MAAM;AAAA,QACN,cAAc;AAAA,QACd,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAQA,yBAAyB;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -77,10 +77,9 @@ const ControlledDateRangeFromDate = () => {
|
|
|
77
77
|
applyAriaDisabled,
|
|
78
78
|
...dateTimePickerFromProps,
|
|
79
79
|
type: import_ds_form_date_time_picker.CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
80
|
+
dsControlleddatetimepickerTimePickerMonthInput: { "aria-label": "Start date month" },
|
|
81
|
+
dsControlleddatetimepickerTimePickerDayInput: { "aria-label": "Start date day" },
|
|
82
|
+
dsControlleddatetimepickerTimePickerYearInput: { "aria-label": "Start date year" }
|
|
84
83
|
}
|
|
85
84
|
);
|
|
86
85
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/parts/ControlledDateRangeFromDate.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeFromDate = (): JSX.Element => {\n const {\n props: {\n fromDate,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n innerRef,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerFromProps,\n },\n rangePickerLogic: { handleFromDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={fromDate}\n onDateChange={handleFromDateChange}\n onMonthChange={onMonthFromChange}\n onDayChange={onDayFromChange}\n onYearChange={onYearFromChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n autoFocus={autoFocus}\n innerRef={innerRef}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerFromProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0BnB;AA1BJ,mBAAkC;AAClC,sCAA8E;AAC9E,0CAAiD;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,qBAAqB;AAAA,EAC3C,QAAI,yBAAW,oEAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kEAAkC,KAAK;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeFromDate = (): JSX.Element => {\n const {\n props: {\n fromDate,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n innerRef,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerFromProps,\n },\n rangePickerLogic: { handleFromDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={fromDate}\n onDateChange={handleFromDateChange}\n onMonthChange={onMonthFromChange}\n onDayChange={onDayFromChange}\n onYearChange={onYearFromChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n autoFocus={autoFocus}\n innerRef={innerRef}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerFromProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n // Name each spinbutton with the \"Start date\" context instead of wrapping the inputs in a\n // named role=\"group\". A nested named group collides with the DSFormLayoutBlockItem fieldset\n // legend that announces the feedback/validation message (PUI-17322 kept 1.3.1 via naming).\n dsControlleddatetimepickerTimePickerMonthInput={{ 'aria-label': 'Start date month' }}\n dsControlleddatetimepickerTimePickerDayInput={{ 'aria-label': 'Start date day' }}\n dsControlleddatetimepickerTimePickerYearInput={{ 'aria-label': 'Start date year' }}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0BnB;AA1BJ,mBAAkC;AAClC,sCAA8E;AAC9E,0CAAiD;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,qBAAqB;AAAA,EAC3C,QAAI,yBAAW,oEAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kEAAkC,KAAK;AAAA,MAI7C,gDAAgD,EAAE,cAAc,mBAAmB;AAAA,MACnF,8CAA8C,EAAE,cAAc,iBAAiB;AAAA,MAC/E,+CAA+C,EAAE,cAAc,kBAAkB;AAAA;AAAA,EACnF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -73,10 +73,9 @@ const ControlledDateRangeToDate = () => {
|
|
|
73
73
|
applyAriaDisabled,
|
|
74
74
|
...dateTimePickerToProps,
|
|
75
75
|
type: import_ds_form_date_time_picker.CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
76
|
+
dsControlleddatetimepickerTimePickerMonthInput: { "aria-label": "End date month" },
|
|
77
|
+
dsControlleddatetimepickerTimePickerDayInput: { "aria-label": "End date day" },
|
|
78
|
+
dsControlleddatetimepickerTimePickerYearInput: { "aria-label": "End date year" }
|
|
80
79
|
}
|
|
81
80
|
);
|
|
82
81
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/parts/ControlledDateRangeToDate.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeToDate = (): JSX.Element => {\n const {\n props: {\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerToProps,\n },\n rangePickerLogic: { handleToDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={toDate}\n onDateChange={handleToDateChange}\n onMonthChange={onMonthToChange}\n onDayChange={onDayToChange}\n onYearChange={onYearToChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerToProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwBnB;AAxBJ,mBAAkC;AAClC,sCAA8E;AAC9E,0CAAiD;AAE1C,MAAM,4BAA4B,MAAmB;AAC1D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,mBAAmB;AAAA,EACzC,QAAI,yBAAW,oEAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kEAAkC,KAAK;AAAA,
|
|
4
|
+
"sourcesContent": ["import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeToDate = (): JSX.Element => {\n const {\n props: {\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerToProps,\n },\n rangePickerLogic: { handleToDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={toDate}\n onDateChange={handleToDateChange}\n onMonthChange={onMonthToChange}\n onDayChange={onDayToChange}\n onYearChange={onYearToChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerToProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n // Name each spinbutton with the \"End date\" context instead of wrapping the inputs in a\n // named role=\"group\". A nested named group collides with the DSFormLayoutBlockItem fieldset\n // legend that announces the feedback/validation message (PUI-17322 kept 1.3.1 via naming).\n dsControlleddatetimepickerTimePickerMonthInput={{ 'aria-label': 'End date month' }}\n dsControlleddatetimepickerTimePickerDayInput={{ 'aria-label': 'End date day' }}\n dsControlleddatetimepickerTimePickerYearInput={{ 'aria-label': 'End date year' }}\n />\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwBnB;AAxBJ,mBAAkC;AAClC,sCAA8E;AAC9E,0CAAiD;AAE1C,MAAM,4BAA4B,MAAmB;AAC1D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,mBAAmB;AAAA,EACzC,QAAI,yBAAW,oEAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kEAAkC,KAAK;AAAA,MAI7C,gDAAgD,EAAE,cAAc,iBAAiB;AAAA,MACjF,8CAA8C,EAAE,cAAc,eAAe;AAAA,MAC7E,+CAA+C,EAAE,cAAc,gBAAgB;AAAA;AAAA,EACjF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -52,6 +52,8 @@ const defaultProps = {
|
|
|
52
52
|
onMonthToChange: noop,
|
|
53
53
|
onDayToChange: noop,
|
|
54
54
|
onYearToChange: noop,
|
|
55
|
+
onPickerOpen: noop,
|
|
56
|
+
onPickerClose: noop,
|
|
55
57
|
getIsDisabledDay: defaultReturnFalse,
|
|
56
58
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
57
59
|
hasError: false,
|
|
@@ -85,6 +87,10 @@ const DSControlledDateRangePickerPropTypes = {
|
|
|
85
87
|
}).signature("(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )"),
|
|
86
88
|
onYearToChange: import_ds_props_helpers.PropTypes.func.description('function to react to "to" year changing').defaultValue(() => {
|
|
87
89
|
}).signature("(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )"),
|
|
90
|
+
onPickerOpen: import_ds_props_helpers.PropTypes.func.description("function to react to the calendar context menu being opened").defaultValue(() => {
|
|
91
|
+
}).signature("(() => void)"),
|
|
92
|
+
onPickerClose: import_ds_props_helpers.PropTypes.func.description("function to react to the calendar context menu being closed").defaultValue(() => {
|
|
93
|
+
}).signature("(() => void)"),
|
|
88
94
|
getIsDisabledDay: import_ds_props_helpers.PropTypes.func.description('function used to mark day as "disable"').defaultValue(() => false).signature("(( day: string ) => boolean )"),
|
|
89
95
|
getIsOutOfRangeDay: import_ds_props_helpers.PropTypes.func.description('function used to mark day as "out of range"').defaultValue(() => false).signature("(( day: string ) => boolean )"),
|
|
90
96
|
pickerFooterMsg: import_ds_props_helpers.PropTypes.string.description(""),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react-desc-prop-types.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerSlotPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport type { ValidationMap, GlobalAttributesT, DSPropTypesSchema, XstyledProps } from '@elliemae/ds-props-helpers';\nimport { type DSControlledDateTimePickerT } from '@elliemae/ds-form-date-time-picker';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSControlledDateRangePickerName, DSControlledDateRangePickerSlots } from './exported-related/theming.js';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\n\nconst defaultReturnFalse = (): boolean => false;\n\nexport declare namespace DSControlledDateRangePickerT {\n export interface RangePickerMetaInfoT extends DSControlledDateTimePickerT.InternalInputsChangeMetaInfo {\n rangeDateChangeType?: 'from' | 'to';\n automaticSwitchedDates?: boolean;\n isIncorrectOrder?: boolean;\n }\n\n export type RangeOnDateChange = (val: string, metaInfo: RangePickerMetaInfoT) => void;\n\n export type AppOnInputChange = DSControlledDateTimePickerT.AppOnInputChange;\n\n export type ControlledDateRangeType =\n 'full-date-range' | 'date-range-picker-controller-only' | 'date-range-picker' | 'date-range-inputs';\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n type: ControlledDateRangeType;\n fromDate: string;\n onFromDateChange: RangeOnDateChange;\n onMonthFromChange: AppOnInputChange;\n onDayFromChange: AppOnInputChange;\n onYearFromChange: AppOnInputChange;\n hasError: boolean;\n pickerFooterMsg: string;\n\n toDate: string;\n onToDateChange: RangeOnDateChange;\n onMonthToChange: AppOnInputChange;\n onDayToChange: AppOnInputChange;\n onYearToChange: AppOnInputChange;\n\n onPickerOpen: TypescriptHelpersT.VoidGenericFunc;\n onPickerClose: TypescriptHelpersT.VoidGenericFunc;\n\n isClearable: boolean;\n getIsDisabledDay: (day: string) => boolean;\n getIsOutOfRangeDay: (day: string) => boolean;\n autoFocus: boolean;\n readOnly: boolean;\n }\n\n export interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<\n typeof DSControlledDateRangePickerName,\n typeof DSControlledDateRangePickerSlots\n > {\n emptyPickerStartingMonth?: string;\n onCalendarOpenFocusedDay?: string;\n innerRef?:\n | React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>\n | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);\n lastElementRef?: React.MutableRefObject<HTMLElement | null>;\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n applyAriaDisabled?: boolean;\n dateTimePickerFromProps?: Partial<DSControlledDateTimePickerT.Props>;\n dateTimePickerToProps?: Partial<DSControlledDateTimePickerT.Props>;\n }\n\n export interface Props\n extends\n Partial<DefaultProps>,\n Omit<GlobalAttributesT<HTMLDivElement>, keyof DefaultProps | keyof OptionalProps>,\n OptionalProps,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends\n DefaultProps,\n Omit<GlobalAttributesT<HTMLDivElement>, keyof DefaultProps | keyof OptionalProps>,\n Omit<OptionalProps, `dsControlleddaterangepicker${Capitalize<string>}`>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultProps: DSControlledDateRangePickerT.DefaultProps = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\n\nexport const DSControlledDateRangePickerPropTypes: DSPropTypesSchema<DSControlledDateRangePickerT.Props> = {\n ...getPropsPerSlotPropTypes(DSControlledDateRangePickerName, DSControlledDateRangePickerSlots),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n type: PropTypes.oneOf([\n 'full-date-range',\n 'date-range-picker-controller-only',\n 'date-range-picker',\n 'date-range-inputs',\n ])\n .description('Type of date range form control to use')\n .defaultValue('full-date-range'),\n fromDate: PropTypes.string.description(`strictly formatted string representing user's selected \"from\" date`)\n .isRequired,\n onFromDateChange: PropTypes.func\n .description('function to react to \"from\" date changing')\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )').isRequired,\n onMonthFromChange: PropTypes.func\n .description('function to react to \"from\" month changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onDayFromChange: PropTypes.func\n .description('function to react to \"from\" day changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onYearFromChange: PropTypes.func\n .description('function to react to \"from\" year changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n toDate: PropTypes.string.description(`strictly formatted string representing user's selected \"to\" date`).isRequired,\n onToDateChange: PropTypes.func\n .description('function to react to \"to\" date changing')\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )').isRequired,\n onMonthToChange: PropTypes.func\n .description('function to react to \"to\" month changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onDayToChange: PropTypes.func\n .description('function to react to \"to\" day changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onYearToChange: PropTypes.func\n .description('function to react to \"to\" year changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onPickerOpen: PropTypes.func\n .description('function to react to the calendar context menu being opened')\n .defaultValue(() => {})\n .signature('(() => void)'),\n onPickerClose: PropTypes.func\n .description('function to react to the calendar context menu being closed')\n .defaultValue(() => {})\n .signature('(() => void)'),\n getIsDisabledDay: PropTypes.func\n .description('function used to mark day as \"disable\"')\n .defaultValue(() => false)\n .signature('(( day: string ) => boolean )'),\n getIsOutOfRangeDay: PropTypes.func\n .description('function used to mark day as \"out of range\"')\n .defaultValue(() => false)\n .signature('(( day: string ) => boolean )'),\n pickerFooterMsg: PropTypes.string.description(''),\n hasError: PropTypes.bool\n .description('boolean indicating wheter the selected range is to be marked as wrong')\n .defaultValue(false),\n isClearable: PropTypes.bool\n .description('boolean to optionally activate \"clearable\" icons in the inputs')\n .defaultValue(false),\n autoFocus: PropTypes.bool\n .description('boolean to auto-focus the \"from\" date month on render as per html auto-focus propriety')\n .defaultValue(false),\n emptyPickerStartingMonth: PropTypes.string.description(\n 'strictly formatted string representing the starting month to be displayed when calendar context menu is invoked without any selected dates',\n ),\n onCalendarOpenFocusedDay: PropTypes.string.description(\n 'strictly formatted string representing the day to be focused when calendar context menu is invoked without any selected dates',\n ),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n '\"from\" month input html node reference',\n ),\n lastElementRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n 'ref for the last focusable element in the component based on its configuration, used for focus management in focus trap logic',\n ),\n tabIndex: PropTypes.string.description('tabIndex to be applied to the \"from\" month input'),\n readOnly: PropTypes.bool\n .description('Makes the component non-editable while remaining accessible')\n .defaultValue(false),\n applyAriaDisabled: PropTypes.bool.description(\n 'Whether to apply disabled styling and announce as disabled in SR. CAN STILL RECEIVE FOCUS. PREVENTS ONLY MAIN ACTION.',\n ),\n dateTimePickerFromProps: PropTypes.object.description('props to pass to the \"from\" date picker'),\n dateTimePickerToProps: PropTypes.object.description('props to pass to the \"to\" date picker'),\n};\n\nexport const DSControlledDateRangePickerPropTypesWithSchema =\n DSControlledDateRangePickerPropTypes as unknown as ValidationMap<DSControlledDateRangePickerT.Props>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -64,6 +64,8 @@ const testCompleteDefaults = {
|
|
|
64
64
|
onMonthToChange: noop,
|
|
65
65
|
onDayToChange: noop,
|
|
66
66
|
onYearToChange: noop,
|
|
67
|
+
onPickerOpen: noop,
|
|
68
|
+
onPickerClose: noop,
|
|
67
69
|
getIsDisabledDay: defaultReturnFalse,
|
|
68
70
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
69
71
|
hasError: false,
|
|
@@ -92,6 +94,8 @@ const testExplicitDefinition = {
|
|
|
92
94
|
onMonthToChange: noop,
|
|
93
95
|
onDayToChange: noop,
|
|
94
96
|
onYearToChange: noop,
|
|
97
|
+
onPickerOpen: noop,
|
|
98
|
+
onPickerClose: noop,
|
|
95
99
|
getIsDisabledDay: defaultReturnFalse,
|
|
96
100
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
97
101
|
hasError: false,
|
|
@@ -115,6 +119,8 @@ const testInferedTypeCompatibility = {
|
|
|
115
119
|
onMonthToChange: noop,
|
|
116
120
|
onDayToChange: noop,
|
|
117
121
|
onYearToChange: noop,
|
|
122
|
+
onPickerOpen: noop,
|
|
123
|
+
onPickerClose: noop,
|
|
118
124
|
getIsDisabledDay: defaultReturnFalse,
|
|
119
125
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
120
126
|
hasError: false,
|
|
@@ -138,6 +144,8 @@ const testDefinitionAsConst = {
|
|
|
138
144
|
onMonthToChange: noop,
|
|
139
145
|
onDayToChange: noop,
|
|
140
146
|
onYearToChange: noop,
|
|
147
|
+
onPickerOpen: noop,
|
|
148
|
+
onPickerClose: noop,
|
|
141
149
|
getIsDisabledDay: defaultReturnFalse,
|
|
142
150
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
143
151
|
hasError: false,
|
|
@@ -167,6 +175,8 @@ const ExampleUsageComponent = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)
|
|
|
167
175
|
onMonthToChange: noop,
|
|
168
176
|
onDayToChange: noop,
|
|
169
177
|
onYearToChange: noop,
|
|
178
|
+
onPickerOpen: noop,
|
|
179
|
+
onPickerClose: noop,
|
|
170
180
|
getIsDisabledDay: defaultReturnFalse,
|
|
171
181
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
172
182
|
hasError: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/typescript-testing/typescript-date-range-picker-valid.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport React from 'react';\nimport { DSControlledDateRangePicker } from '../index.js';\nimport type { DSControlledDateRangePickerT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype ComponentPropsForApp = DSControlledDateRangePickerT.Props;\ntype ComponentPropsInternals = DSControlledDateRangePickerT.InternalProps;\ntype ComponentPropsDefaultProps = DSControlledDateRangePickerT.DefaultProps;\ntype ComponentPropsOptionalProps = DSControlledDateRangePickerT.OptionalProps;\n\nconst ref = React.createRef() as React.MutableRefObject<HTMLInputElement>;\nconst noop = (): void => {};\nconst defaultReturnFalse = (): boolean => false;\n\nconst testOptionalProps: ComponentPropsOptionalProps = {\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaults: Partial<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onMonthFromChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n\n hasError: false,\n isClearable: false,\n};\nconst testProps: ComponentPropsForApp = {\n ...testOptionalProps,\n ...testPartialDefaults,\n};\nconst testPropsAsSyntax = {\n ...testOptionalProps,\n ...testPartialDefaults,\n} as ComponentPropsForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaults: Required<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\nconst testInternalProps: ComponentPropsInternals = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n};\nconst testInternalPropsAsSyntax = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n} as ComponentPropsInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinition: ComponentPropsForApp = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibility = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as ComponentPropsForApp;\n\nconst testDefinitionAsConst = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as const;\n\nconst ExampleUsageComponent = () => (\n <>\n {/* works with explicitly casted props, all syntaxes */}\n <DSControlledDateRangePicker {...testExplicitDefinition} />\n <DSControlledDateRangePicker {...testInferedTypeCompatibility} />\n <DSControlledDateRangePicker {...testDefinitionAsConst} />\n {/* works with inline values */}\n <DSControlledDateRangePicker\n type=\"full-date-range\"\n fromDate=\"\"\n onFromDateChange={noop}\n onMonthFromChange={noop}\n onDayFromChange={noop}\n onYearFromChange={noop}\n pickerFooterMsg=\"\"\n toDate=\"\"\n onToDateChange={noop}\n onMonthToChange={noop}\n onDayToChange={noop}\n onYearToChange={noop}\n getIsDisabledDay={defaultReturnFalse}\n getIsOutOfRangeDay={defaultReturnFalse}\n hasError={false}\n isClearable={false}\n autoFocus={false}\n emptyPickerStartingMonth=\"12/__/2000\"\n onCalendarOpenFocusedDay=\"12/27/2000\"\n tabIndex={0}\n innerRef={ref}\n />\n </>\n);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport React from 'react';\nimport { DSControlledDateRangePicker } from '../index.js';\nimport type { DSControlledDateRangePickerT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype ComponentPropsForApp = DSControlledDateRangePickerT.Props;\ntype ComponentPropsInternals = DSControlledDateRangePickerT.InternalProps;\ntype ComponentPropsDefaultProps = DSControlledDateRangePickerT.DefaultProps;\ntype ComponentPropsOptionalProps = DSControlledDateRangePickerT.OptionalProps;\n\nconst ref = React.createRef() as React.MutableRefObject<HTMLInputElement>;\nconst noop = (): void => {};\nconst defaultReturnFalse = (): boolean => false;\n\nconst testOptionalProps: ComponentPropsOptionalProps = {\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaults: Partial<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onMonthFromChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n\n hasError: false,\n isClearable: false,\n};\nconst testProps: ComponentPropsForApp = {\n ...testOptionalProps,\n ...testPartialDefaults,\n};\nconst testPropsAsSyntax = {\n ...testOptionalProps,\n ...testPartialDefaults,\n} as ComponentPropsForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaults: Required<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\nconst testInternalProps: ComponentPropsInternals = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n};\nconst testInternalPropsAsSyntax = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n} as ComponentPropsInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinition: ComponentPropsForApp = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibility = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as ComponentPropsForApp;\n\nconst testDefinitionAsConst = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as const;\n\nconst ExampleUsageComponent = () => (\n <>\n {/* works with explicitly casted props, all syntaxes */}\n <DSControlledDateRangePicker {...testExplicitDefinition} />\n <DSControlledDateRangePicker {...testInferedTypeCompatibility} />\n <DSControlledDateRangePicker {...testDefinitionAsConst} />\n {/* works with inline values */}\n <DSControlledDateRangePicker\n type=\"full-date-range\"\n fromDate=\"\"\n onFromDateChange={noop}\n onMonthFromChange={noop}\n onDayFromChange={noop}\n onYearFromChange={noop}\n pickerFooterMsg=\"\"\n toDate=\"\"\n onToDateChange={noop}\n onMonthToChange={noop}\n onDayToChange={noop}\n onYearToChange={noop}\n onPickerOpen={noop}\n onPickerClose={noop}\n getIsDisabledDay={defaultReturnFalse}\n getIsOutOfRangeDay={defaultReturnFalse}\n hasError={false}\n isClearable={false}\n autoFocus={false}\n emptyPickerStartingMonth=\"12/__/2000\"\n onCalendarOpenFocusedDay=\"12/27/2000\"\n tabIndex={0}\n innerRef={ref}\n />\n </>\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -11,7 +11,9 @@ const useRangePickerLogic = ({
|
|
|
11
11
|
onMonthToChange,
|
|
12
12
|
onDayToChange,
|
|
13
13
|
onYearToChange,
|
|
14
|
-
onToDateChange
|
|
14
|
+
onToDateChange,
|
|
15
|
+
onPickerOpen,
|
|
16
|
+
onPickerClose
|
|
15
17
|
}) => {
|
|
16
18
|
const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);
|
|
17
19
|
const [latestChangedDate, setLatestChangedDate] = useState(fromDate);
|
|
@@ -76,10 +78,12 @@ const useRangePickerLogic = ({
|
|
|
76
78
|
);
|
|
77
79
|
const onCalendarOpen = useCallback(() => {
|
|
78
80
|
setCalendarChangeIsFrom(true);
|
|
79
|
-
|
|
81
|
+
onPickerOpen();
|
|
82
|
+
}, [onPickerOpen]);
|
|
80
83
|
const onCalendarClose = useCallback(() => {
|
|
81
84
|
setCalendarChangeIsFrom(true);
|
|
82
|
-
|
|
85
|
+
onPickerClose();
|
|
86
|
+
}, [onPickerClose]);
|
|
83
87
|
const handlePickerDateChange = useCallback(
|
|
84
88
|
(changedDay, metaInfo) => {
|
|
85
89
|
const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } = getChangedDayStringValues(changedDay);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/useRangePickerLogic.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { useCallback, useState, useMemo, useEffect } from 'react';\nimport { getDayFromDateString } from '@elliemae/ds-form-date-time-picker';\nimport type { ControlledDateRangePickerContextT } from './useControlledDateRangePicker.js';\nimport type { DSControlledDateRangePickerT } from '../react-desc-prop-types.js';\n\nexport const useRangePickerLogic = ({\n fromDate,\n onFromDateChange,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n onToDateChange,\n}: DSControlledDateRangePickerT.InternalProps): ControlledDateRangePickerContextT['rangePickerLogic'] => {\n // the implementation is based on controlled-date-time-picker that is not meant to \"understand\"\n // the \"from\" - \"to\" logic on click, we are \"overloading\" the \"from\" - \"to\" logic here\n // we track wheter we are going to set the \"from\" OR \"to\" controlled date based on this toggle\n const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);\n const [latestChangedDate, setLatestChangedDate] = useState(fromDate);\n useEffect(() => {\n setLatestChangedDate(fromDate);\n }, [fromDate]);\n useEffect(() => {\n setLatestChangedDate(toDate);\n }, [toDate]);\n\n const getChangedDayStringValues = useCallback(\n (changedDay: string) => {\n // based on wheter we are handling a \"from\"/\"to\" change, we calculate some values\n const dateFromString = calendarChangeIsFrom ? changedDay : fromDate;\n const dateFrom = getDayFromDateString(dateFromString);\n const dateToString = calendarChangeIsFrom ? toDate : changedDay;\n const dateTo = getDayFromDateString(dateToString);\n // we force the \"from\" to ALWAYS be before the \"to\" date\n const isToBeforeFrom = !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n const newDateFromString = isToBeforeFrom ? dateToString : dateFromString;\n const forcingFromDatePick = isToBeforeFrom ? !calendarChangeIsFrom : false;\n const newDateToString = isToBeforeFrom ? dateFromString : dateToString;\n const forcingToDatePick = isToBeforeFrom ? calendarChangeIsFrom : false;\n\n // next change should be based on\n // the force pick next interactions\n // toggle between from/to if we didn't force any pick\n let nextToggleStateIsFrom = !calendarChangeIsFrom;\n if (forcingFromDatePick) nextToggleStateIsFrom = false;\n if (forcingToDatePick) nextToggleStateIsFrom = true;\n\n return {\n newDateFromString,\n forcingFromDatePick,\n newDateToString,\n forcingToDatePick,\n isToBeforeFrom,\n nextToggleStateIsFrom,\n currentClickCountAsFrom: !nextToggleStateIsFrom,\n };\n },\n [fromDate, calendarChangeIsFrom, toDate],\n );\n const handlePickerMonthDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerMonthDateChange'] =\n useCallback(\n (newMonth, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onMonthFromChange(newMonth, e, metaInfo);\n else onMonthToChange(newMonth, e, metaInfo);\n },\n [getChangedDayStringValues, onMonthFromChange, onMonthToChange],\n );\n const handlePickerDayDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDayDateChange'] =\n useCallback(\n (newDay, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onDayFromChange(newDay, e, metaInfo);\n else onDayToChange(newDay, e, metaInfo);\n },\n [getChangedDayStringValues, onDayFromChange, onDayToChange],\n );\n const handlePickerYearDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerYearDateChange'] =\n useCallback(\n (newYear, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onYearFromChange(newYear, e, metaInfo);\n else onYearToChange(newYear, e, metaInfo);\n },\n [getChangedDayStringValues, onYearFromChange, onYearToChange],\n );\n\n // every time the calendar opens/closes, we assume first click is \"from\"\n const onCalendarOpen: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarOpen'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const onCalendarClose: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarClose'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n }, []);\n const handlePickerDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDateChange'] =\n useCallback(\n (changedDay, metaInfo) => {\n const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } =\n getChangedDayStringValues(changedDay);\n\n // every \"change\" on the picker range we calculate it as a new \"onChange\" for both values\n // and we pass over the correct \"new\" from/to value\n onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n\n // and we notify what the next change type should be\n setCalendarChangeIsFrom(nextToggleStateIsFrom);\n },\n [getChangedDayStringValues, onFromDateChange, onToDateChange],\n );\n\n const getIsStartRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsStartRangeDay'] = useCallback(\n (dayString) => dayString === fromDate,\n [fromDate],\n );\n const getIsDayInRange: ControlledDateRangePickerContextT['rangePickerLogic']['getIsDayInRange'] = useCallback(\n (dayString) => {\n const dayFrom = getDayFromDateString(fromDate);\n const dayTo = getDayFromDateString(toDate);\n if (!dayFrom || !dayTo || !dayString) return false;\n const newDayTime = getDayFromDateString(dayString)?.getTime();\n return !!newDayTime && newDayTime <= dayTo.getTime() && newDayTime >= dayFrom.getTime();\n },\n [fromDate, toDate],\n );\n const getIsEndRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsEndRangeDay'] = useCallback(\n (dayString) => dayString === toDate,\n [toDate],\n );\n\n const getIsToBeforeFrom = useCallback((fromString: string, toString: string) => {\n const dateFrom = getDayFromDateString(fromString);\n const dateTo = getDayFromDateString(toString);\n return !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n }, []);\n const handleFromDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleFromDateChange'] =\n useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);\n onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'from', isIncorrectOrder });\n },\n [getIsToBeforeFrom, onFromDateChange, toDate],\n );\n const handleToDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleToDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);\n onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'to', isIncorrectOrder });\n },\n [fromDate, getIsToBeforeFrom, onToDateChange],\n );\n\n return useMemo(\n () => ({\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n }),\n [\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n ],\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACEvB,SAAS,aAAa,UAAU,SAAS,iBAAiB;AAC1D,SAAS,4BAA4B;AAI9B,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAyG;AAIvG,QAAM,CAAC,sBAAsB,uBAAuB,IAAI,SAAS,IAAI;AACrE,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,QAAQ;AACnE,YAAU,MAAM;AACd,yBAAqB,QAAQ;AAAA,EAC/B,GAAG,CAAC,QAAQ,CAAC;AACb,YAAU,MAAM;AACd,yBAAqB,MAAM;AAAA,EAC7B,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,4BAA4B;AAAA,IAChC,CAAC,eAAuB;AAEtB,YAAM,iBAAiB,uBAAuB,aAAa;AAC3D,YAAM,WAAW,qBAAqB,cAAc;AACpD,YAAM,eAAe,uBAAuB,SAAS;AACrD,YAAM,SAAS,qBAAqB,YAAY;AAEhD,YAAM,iBAAiB,CAAC,CAAC,UAAU,CAAC,CAAC,YAAY,QAAQ,QAAQ,IAAI,UAAU,QAAQ;AACvF,YAAM,oBAAoB,iBAAiB,eAAe;AAC1D,YAAM,sBAAsB,iBAAiB,CAAC,uBAAuB;AACrE,YAAM,kBAAkB,iBAAiB,iBAAiB;AAC1D,YAAM,oBAAoB,iBAAiB,uBAAuB;AAKlE,UAAI,wBAAwB,CAAC;AAC7B,UAAI,oBAAqB,yBAAwB;AACjD,UAAI,kBAAmB,yBAAwB;AAE/C,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,yBAAyB,CAAC;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,CAAC,UAAU,sBAAsB,MAAM;AAAA,EACzC;AACA,QAAM,8BACJ;AAAA,IACE,CAAC,UAAU,GAAG,aAAa;AACzB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,mBAAkB,UAAU,GAAG,QAAQ;AAAA,UAC/D,iBAAgB,UAAU,GAAG,QAAQ;AAAA,IAC5C;AAAA,IACA,CAAC,2BAA2B,mBAAmB,eAAe;AAAA,EAChE;AACF,QAAM,4BACJ;AAAA,IACE,CAAC,QAAQ,GAAG,aAAa;AACvB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,iBAAgB,QAAQ,GAAG,QAAQ;AAAA,UAC3D,eAAc,QAAQ,GAAG,QAAQ;AAAA,IACxC;AAAA,IACA,CAAC,2BAA2B,iBAAiB,aAAa;AAAA,EAC5D;AACF,QAAM,6BACJ;AAAA,IACE,CAAC,SAAS,GAAG,aAAa;AACxB,YAAM,EAAE,gBAAgB,GAAG,IAAI;AAC/B,YAAM,EAAE,wBAAwB,IAAI,0BAA0B,aAAa;AAC3E,UAAI,wBAAyB,kBAAiB,SAAS,GAAG,QAAQ;AAAA,UAC7D,gBAAe,SAAS,GAAG,QAAQ;AAAA,IAC1C;AAAA,IACA,CAAC,2BAA2B,kBAAkB,cAAc;AAAA,EAC9D;AAGF,QAAM,iBAA0F,YAAY,MAAM;AAChH,4BAAwB,IAAI;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport { useCallback, useState, useMemo, useEffect } from 'react';\nimport { getDayFromDateString } from '@elliemae/ds-form-date-time-picker';\nimport type { ControlledDateRangePickerContextT } from './useControlledDateRangePicker.js';\nimport type { DSControlledDateRangePickerT } from '../react-desc-prop-types.js';\n\nexport const useRangePickerLogic = ({\n fromDate,\n onFromDateChange,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n onToDateChange,\n onPickerOpen,\n onPickerClose,\n}: DSControlledDateRangePickerT.InternalProps): ControlledDateRangePickerContextT['rangePickerLogic'] => {\n // the implementation is based on controlled-date-time-picker that is not meant to \"understand\"\n // the \"from\" - \"to\" logic on click, we are \"overloading\" the \"from\" - \"to\" logic here\n // we track wheter we are going to set the \"from\" OR \"to\" controlled date based on this toggle\n const [calendarChangeIsFrom, setCalendarChangeIsFrom] = useState(true);\n const [latestChangedDate, setLatestChangedDate] = useState(fromDate);\n useEffect(() => {\n setLatestChangedDate(fromDate);\n }, [fromDate]);\n useEffect(() => {\n setLatestChangedDate(toDate);\n }, [toDate]);\n\n const getChangedDayStringValues = useCallback(\n (changedDay: string) => {\n // based on wheter we are handling a \"from\"/\"to\" change, we calculate some values\n const dateFromString = calendarChangeIsFrom ? changedDay : fromDate;\n const dateFrom = getDayFromDateString(dateFromString);\n const dateToString = calendarChangeIsFrom ? toDate : changedDay;\n const dateTo = getDayFromDateString(dateToString);\n // we force the \"from\" to ALWAYS be before the \"to\" date\n const isToBeforeFrom = !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n const newDateFromString = isToBeforeFrom ? dateToString : dateFromString;\n const forcingFromDatePick = isToBeforeFrom ? !calendarChangeIsFrom : false;\n const newDateToString = isToBeforeFrom ? dateFromString : dateToString;\n const forcingToDatePick = isToBeforeFrom ? calendarChangeIsFrom : false;\n\n // next change should be based on\n // the force pick next interactions\n // toggle between from/to if we didn't force any pick\n let nextToggleStateIsFrom = !calendarChangeIsFrom;\n if (forcingFromDatePick) nextToggleStateIsFrom = false;\n if (forcingToDatePick) nextToggleStateIsFrom = true;\n\n return {\n newDateFromString,\n forcingFromDatePick,\n newDateToString,\n forcingToDatePick,\n isToBeforeFrom,\n nextToggleStateIsFrom,\n currentClickCountAsFrom: !nextToggleStateIsFrom,\n };\n },\n [fromDate, calendarChangeIsFrom, toDate],\n );\n const handlePickerMonthDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerMonthDateChange'] =\n useCallback(\n (newMonth, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onMonthFromChange(newMonth, e, metaInfo);\n else onMonthToChange(newMonth, e, metaInfo);\n },\n [getChangedDayStringValues, onMonthFromChange, onMonthToChange],\n );\n const handlePickerDayDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDayDateChange'] =\n useCallback(\n (newDay, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onDayFromChange(newDay, e, metaInfo);\n else onDayToChange(newDay, e, metaInfo);\n },\n [getChangedDayStringValues, onDayFromChange, onDayToChange],\n );\n const handlePickerYearDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerYearDateChange'] =\n useCallback(\n (newYear, e, metaInfo) => {\n const { newDateString = '' } = metaInfo;\n const { currentClickCountAsFrom } = getChangedDayStringValues(newDateString);\n if (currentClickCountAsFrom) onYearFromChange(newYear, e, metaInfo);\n else onYearToChange(newYear, e, metaInfo);\n },\n [getChangedDayStringValues, onYearFromChange, onYearToChange],\n );\n\n // every time the calendar opens/closes, we assume first click is \"from\"\n const onCalendarOpen: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarOpen'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n onPickerOpen();\n }, [onPickerOpen]);\n const onCalendarClose: ControlledDateRangePickerContextT['rangePickerLogic']['onCalendarClose'] = useCallback(() => {\n setCalendarChangeIsFrom(true);\n onPickerClose();\n }, [onPickerClose]);\n const handlePickerDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handlePickerDateChange'] =\n useCallback(\n (changedDay, metaInfo) => {\n const { newDateFromString, newDateToString, nextToggleStateIsFrom, isToBeforeFrom } =\n getChangedDayStringValues(changedDay);\n\n // every \"change\" on the picker range we calculate it as a new \"onChange\" for both values\n // and we pass over the correct \"new\" from/to value\n onFromDateChange(newDateFromString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n onToDateChange(newDateToString, { ...metaInfo, automaticSwitchedDates: isToBeforeFrom });\n\n // and we notify what the next change type should be\n setCalendarChangeIsFrom(nextToggleStateIsFrom);\n },\n [getChangedDayStringValues, onFromDateChange, onToDateChange],\n );\n\n const getIsStartRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsStartRangeDay'] = useCallback(\n (dayString) => dayString === fromDate,\n [fromDate],\n );\n const getIsDayInRange: ControlledDateRangePickerContextT['rangePickerLogic']['getIsDayInRange'] = useCallback(\n (dayString) => {\n const dayFrom = getDayFromDateString(fromDate);\n const dayTo = getDayFromDateString(toDate);\n if (!dayFrom || !dayTo || !dayString) return false;\n const newDayTime = getDayFromDateString(dayString)?.getTime();\n return !!newDayTime && newDayTime <= dayTo.getTime() && newDayTime >= dayFrom.getTime();\n },\n [fromDate, toDate],\n );\n const getIsEndRangeDay: ControlledDateRangePickerContextT['rangePickerLogic']['getIsEndRangeDay'] = useCallback(\n (dayString) => dayString === toDate,\n [toDate],\n );\n\n const getIsToBeforeFrom = useCallback((fromString: string, toString: string) => {\n const dateFrom = getDayFromDateString(fromString);\n const dateTo = getDayFromDateString(toString);\n return !!dateTo && !!dateFrom && dateTo?.getTime() < dateFrom?.getTime();\n }, []);\n const handleFromDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleFromDateChange'] =\n useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(newVal, toDate);\n onFromDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'from', isIncorrectOrder });\n },\n [getIsToBeforeFrom, onFromDateChange, toDate],\n );\n const handleToDateChange: ControlledDateRangePickerContextT['rangePickerLogic']['handleToDateChange'] = useCallback(\n (newVal, metaInfo) => {\n const isIncorrectOrder = getIsToBeforeFrom(fromDate, newVal);\n onToDateChange(newVal, { ...metaInfo, rangeDateChangeType: 'to', isIncorrectOrder });\n },\n [fromDate, getIsToBeforeFrom, onToDateChange],\n );\n\n return useMemo(\n () => ({\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n }),\n [\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handleFromDateChange,\n handleToDateChange,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n ],\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/package.json
CHANGED
|
@@ -98,7 +98,7 @@ const ControlledDateRangeCalendar = () => {
|
|
|
98
98
|
getIsOutOfRangeDay,
|
|
99
99
|
emptyPickerStartingMonth,
|
|
100
100
|
onCalendarOpenFocusedDay,
|
|
101
|
-
preventCloseOnSelection:
|
|
101
|
+
preventCloseOnSelection: calendarChangeIsFrom,
|
|
102
102
|
hasError,
|
|
103
103
|
pickerFooterMsg,
|
|
104
104
|
autoFocus,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/ControlledDateRangeCalendar.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport {\n CONTROLLED_DATE_TIME_PICKER_TYPES,\n DSControlledDateTimePicker,\n type DSControlledDateTimePickerT,\n getAriaDayFromDateString,\n} from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeCalendar = (): JSX.Element => {\n const {\n instanceUID,\n props: {\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n pickerFooterMsg,\n fromDate,\n toDate,\n disabled,\n readOnly,\n applyAriaDisabled,\n lastElementRef,\n },\n rangePickerLogic: {\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n },\n isControllerOnly,\n } = useContext(ControlledDateRangePickerContext);\n\n const nextInteractionDescriptionId = `${instanceUID}-next-interaction-explanation`;\n const nextInteractionDescription = calendarChangeIsFrom\n ? 'Select a start date. If later than the current end date, the dates will swap automatically.'\n : 'Select an end date. If earlier than the current start date, the dates will swap automatically.';\n\n const handleCalendarDayA11ySlotsArgs = React.useCallback(\n ({\n isDayInRangeImproper,\n isDisabled,\n isOutOfRange,\n metaDay,\n }: DSControlledDateTimePickerT.CalendarDaySlotArguments) => {\n const rangeProps = isDayInRangeImproper\n ? {\n 'aria-pressed': true as const,\n 'aria-label': `${getAriaDayFromDateString(metaDay.dayAsString)}, range from ${getAriaDayFromDateString(fromDate)} to ${getAriaDayFromDateString(toDate)} selected.`,\n }\n : {};\n const isActivatable = !isDisabled && !isOutOfRange;\n return { ...rangeProps, ...(isActivatable && { 'aria-describedby': nextInteractionDescriptionId }) };\n },\n [fromDate, toDate, nextInteractionDescriptionId],\n );\n\n return (\n <>\n <span\n id={nextInteractionDescriptionId}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }}\n >\n {nextInteractionDescription}\n </span>\n <DSControlledDateTimePicker\n dsControlleddatetimepickerCalendarDay={handleCalendarDayA11ySlotsArgs}\n type={\n isControllerOnly\n ? CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY\n : CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER\n }\n date={latestChangedDate}\n onDateChange={handlePickerDateChange}\n onMonthChange={handlePickerMonthDateChange}\n onDayChange={handlePickerDayDateChange}\n onYearChange={handlePickerYearDateChange}\n getIsStartRangeDay={getIsStartRangeDay}\n getIsDayInRange={getIsDayInRange}\n getIsEndRangeDay={getIsEndRangeDay}\n onPickerOpen={onCalendarOpen}\n onPickerClose={onCalendarClose}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n emptyPickerStartingMonth={emptyPickerStartingMonth}\n onCalendarOpenFocusedDay={onCalendarOpenFocusedDay}\n preventCloseOnSelection\n hasError={hasError}\n pickerFooterMsg={pickerFooterMsg}\n autoFocus={autoFocus}\n fromDate={fromDate}\n toDate={toDate}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n lastElementRef={lastElementRef}\n />\n </>\n );\n};\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACqEnB,mBACE,KADF;AArEJ,OAAOA,UAAS,kBAAkB;AAClC;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AACP,SAAS,wCAAwC;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF,IAAI,WAAW,gCAAgC;AAE/C,QAAM,+BAA+B,GAAG,WAAW;AACnD,QAAM,6BAA6B,uBAC/B,gGACA;AAEJ,QAAM,iCAAiCA,OAAM;AAAA,IAC3C,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAA4D;AAC1D,YAAM,aAAa,uBACf;AAAA,QACE,gBAAgB;AAAA,QAChB,cAAc,GAAG,yBAAyB,QAAQ,WAAW,CAAC,gBAAgB,yBAAyB,QAAQ,CAAC,OAAO,yBAAyB,MAAM,CAAC;AAAA,MACzJ,IACA,CAAC;AACL,YAAM,gBAAgB,CAAC,cAAc,CAAC;AACtC,aAAO,EAAE,GAAG,YAAY,GAAI,iBAAiB,EAAE,oBAAoB,6BAA6B,EAAG;AAAA,IACrG;AAAA,IACA,CAAC,UAAU,QAAQ,4BAA4B;AAAA,EACjD;AAEA,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,uCAAuC;AAAA,QACvC,MACE,mBACI,kCAAkC,KAAK,kBACvC,kCAAkC,KAAK;AAAA,QAE7C,MAAM;AAAA,QACN,cAAc;AAAA,QACd,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport {\n CONTROLLED_DATE_TIME_PICKER_TYPES,\n DSControlledDateTimePicker,\n type DSControlledDateTimePickerT,\n getAriaDayFromDateString,\n} from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeCalendar = (): JSX.Element => {\n const {\n instanceUID,\n props: {\n emptyPickerStartingMonth,\n onCalendarOpenFocusedDay,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n pickerFooterMsg,\n fromDate,\n toDate,\n disabled,\n readOnly,\n applyAriaDisabled,\n lastElementRef,\n },\n rangePickerLogic: {\n calendarChangeIsFrom,\n latestChangedDate,\n onCalendarOpen,\n onCalendarClose,\n handlePickerDateChange,\n handlePickerMonthDateChange,\n handlePickerDayDateChange,\n handlePickerYearDateChange,\n getIsStartRangeDay,\n getIsDayInRange,\n getIsEndRangeDay,\n },\n isControllerOnly,\n } = useContext(ControlledDateRangePickerContext);\n\n const nextInteractionDescriptionId = `${instanceUID}-next-interaction-explanation`;\n const nextInteractionDescription = calendarChangeIsFrom\n ? 'Select a start date. If later than the current end date, the dates will swap automatically.'\n : 'Select an end date. If earlier than the current start date, the dates will swap automatically.';\n\n const handleCalendarDayA11ySlotsArgs = React.useCallback(\n ({\n isDayInRangeImproper,\n isDisabled,\n isOutOfRange,\n metaDay,\n }: DSControlledDateTimePickerT.CalendarDaySlotArguments) => {\n const rangeProps = isDayInRangeImproper\n ? {\n 'aria-pressed': true as const,\n 'aria-label': `${getAriaDayFromDateString(metaDay.dayAsString)}, range from ${getAriaDayFromDateString(fromDate)} to ${getAriaDayFromDateString(toDate)} selected.`,\n }\n : {};\n const isActivatable = !isDisabled && !isOutOfRange;\n return { ...rangeProps, ...(isActivatable && { 'aria-describedby': nextInteractionDescriptionId }) };\n },\n [fromDate, toDate, nextInteractionDescriptionId],\n );\n\n return (\n <>\n <span\n id={nextInteractionDescriptionId}\n style={{\n position: 'absolute',\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }}\n >\n {nextInteractionDescription}\n </span>\n <DSControlledDateTimePicker\n dsControlleddatetimepickerCalendarDay={handleCalendarDayA11ySlotsArgs}\n type={\n isControllerOnly\n ? CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.CONTROLLER_ONLY\n : CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.PICKER\n }\n date={latestChangedDate}\n onDateChange={handlePickerDateChange}\n onMonthChange={handlePickerMonthDateChange}\n onDayChange={handlePickerDayDateChange}\n onYearChange={handlePickerYearDateChange}\n getIsStartRangeDay={getIsStartRangeDay}\n getIsDayInRange={getIsDayInRange}\n getIsEndRangeDay={getIsEndRangeDay}\n onPickerOpen={onCalendarOpen}\n onPickerClose={onCalendarClose}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n emptyPickerStartingMonth={emptyPickerStartingMonth}\n onCalendarOpenFocusedDay={onCalendarOpenFocusedDay}\n /*\n * PUI: keep the calendar open while the range is incomplete (the \"from\" pick),\n * and let it close on the pick that completes the range (the \"to\" pick), returning\n * focus to the trigger button. `calendarChangeIsFrom` is true while the next pick\n * is the start date and false once the end date is being selected.\n * PUI-15572\n */\n preventCloseOnSelection={calendarChangeIsFrom}\n hasError={hasError}\n pickerFooterMsg={pickerFooterMsg}\n autoFocus={autoFocus}\n fromDate={fromDate}\n toDate={toDate}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n lastElementRef={lastElementRef}\n />\n </>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACqEnB,mBACE,KADF;AArEJ,OAAOA,UAAS,kBAAkB;AAClC;AAAA,EACE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AACP,SAAS,wCAAwC;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ;AAAA,IACA,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,EACF,IAAI,WAAW,gCAAgC;AAE/C,QAAM,+BAA+B,GAAG,WAAW;AACnD,QAAM,6BAA6B,uBAC/B,gGACA;AAEJ,QAAM,iCAAiCA,OAAM;AAAA,IAC3C,CAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,MAA4D;AAC1D,YAAM,aAAa,uBACf;AAAA,QACE,gBAAgB;AAAA,QAChB,cAAc,GAAG,yBAAyB,QAAQ,WAAW,CAAC,gBAAgB,yBAAyB,QAAQ,CAAC,OAAO,yBAAyB,MAAM,CAAC;AAAA,MACzJ,IACA,CAAC;AACL,YAAM,gBAAgB,CAAC,cAAc,CAAC;AACtC,aAAO,EAAE,GAAG,YAAY,GAAI,iBAAiB,EAAE,oBAAoB,6BAA6B,EAAG;AAAA,IACrG;AAAA,IACA,CAAC,UAAU,QAAQ,4BAA4B;AAAA,EACjD;AAEA,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI;AAAA,QACJ,OAAO;AAAA,UACL,UAAU;AAAA,UACV,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,MAAM;AAAA,UACN,YAAY;AAAA,UACZ,aAAa;AAAA,QACf;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,uCAAuC;AAAA,QACvC,MACE,mBACI,kCAAkC,KAAK,kBACvC,kCAAkC,KAAK;AAAA,QAE7C,MAAM;AAAA,QACN,cAAc;AAAA,QACd,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd,eAAe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QAQA,yBAAyB;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -44,10 +44,9 @@ const ControlledDateRangeFromDate = () => {
|
|
|
44
44
|
applyAriaDisabled,
|
|
45
45
|
...dateTimePickerFromProps,
|
|
46
46
|
type: CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
47
|
+
dsControlleddatetimepickerTimePickerMonthInput: { "aria-label": "Start date month" },
|
|
48
|
+
dsControlleddatetimepickerTimePickerDayInput: { "aria-label": "Start date day" },
|
|
49
|
+
dsControlleddatetimepickerTimePickerYearInput: { "aria-label": "Start date year" }
|
|
51
50
|
}
|
|
52
51
|
);
|
|
53
52
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/ControlledDateRangeFromDate.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeFromDate = (): JSX.Element => {\n const {\n props: {\n fromDate,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n innerRef,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerFromProps,\n },\n rangePickerLogic: { handleFromDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={fromDate}\n onDateChange={handleFromDateChange}\n onMonthChange={onMonthFromChange}\n onDayChange={onDayFromChange}\n onYearChange={onYearFromChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n autoFocus={autoFocus}\n innerRef={innerRef}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerFromProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;AC0BnB;AA1BJ,SAAgB,kBAAkB;AAClC,SAAS,mCAAmC,kCAAkC;AAC9E,SAAS,wCAAwC;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,qBAAqB;AAAA,EAC3C,IAAI,WAAW,gCAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kCAAkC,KAAK;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeFromDate = (): JSX.Element => {\n const {\n props: {\n fromDate,\n onMonthFromChange,\n onDayFromChange,\n onYearFromChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n autoFocus,\n innerRef,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerFromProps,\n },\n rangePickerLogic: { handleFromDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={fromDate}\n onDateChange={handleFromDateChange}\n onMonthChange={onMonthFromChange}\n onDayChange={onDayFromChange}\n onYearChange={onYearFromChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n autoFocus={autoFocus}\n innerRef={innerRef}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerFromProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n // Name each spinbutton with the \"Start date\" context instead of wrapping the inputs in a\n // named role=\"group\". A nested named group collides with the DSFormLayoutBlockItem fieldset\n // legend that announces the feedback/validation message (PUI-17322 kept 1.3.1 via naming).\n dsControlleddatetimepickerTimePickerMonthInput={{ 'aria-label': 'Start date month' }}\n dsControlleddatetimepickerTimePickerDayInput={{ 'aria-label': 'Start date day' }}\n dsControlleddatetimepickerTimePickerYearInput={{ 'aria-label': 'Start date year' }}\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;AC0BnB;AA1BJ,SAAgB,kBAAkB;AAClC,SAAS,mCAAmC,kCAAkC;AAC9E,SAAS,wCAAwC;AAE1C,MAAM,8BAA8B,MAAmB;AAC5D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,qBAAqB;AAAA,EAC3C,IAAI,WAAW,gCAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kCAAkC,KAAK;AAAA,MAI7C,gDAAgD,EAAE,cAAc,mBAAmB;AAAA,MACnF,8CAA8C,EAAE,cAAc,iBAAiB;AAAA,MAC/E,+CAA+C,EAAE,cAAc,kBAAkB;AAAA;AAAA,EACnF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -40,10 +40,9 @@ const ControlledDateRangeToDate = () => {
|
|
|
40
40
|
applyAriaDisabled,
|
|
41
41
|
...dateTimePickerToProps,
|
|
42
42
|
type: CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
43
|
+
dsControlleddatetimepickerTimePickerMonthInput: { "aria-label": "End date month" },
|
|
44
|
+
dsControlleddatetimepickerTimePickerDayInput: { "aria-label": "End date day" },
|
|
45
|
+
dsControlleddatetimepickerTimePickerYearInput: { "aria-label": "End date year" }
|
|
47
46
|
}
|
|
48
47
|
);
|
|
49
48
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/ControlledDateRangeToDate.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeToDate = (): JSX.Element => {\n const {\n props: {\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerToProps,\n },\n rangePickerLogic: { handleToDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={toDate}\n onDateChange={handleToDateChange}\n onMonthChange={onMonthToChange}\n onDayChange={onDayToChange}\n onYearChange={onYearToChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerToProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACwBnB;AAxBJ,SAAgB,kBAAkB;AAClC,SAAS,mCAAmC,kCAAkC;AAC9E,SAAS,wCAAwC;AAE1C,MAAM,4BAA4B,MAAmB;AAC1D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,mBAAmB;AAAA,EACzC,IAAI,WAAW,gCAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kCAAkC,KAAK;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext } from 'react';\nimport { CONTROLLED_DATE_TIME_PICKER_TYPES, DSControlledDateTimePicker } from '@elliemae/ds-form-date-time-picker';\nimport { ControlledDateRangePickerContext } from '../ControlledDateRangePickerCTX.js';\n\nexport const ControlledDateRangeToDate = (): JSX.Element => {\n const {\n props: {\n toDate,\n onMonthToChange,\n onDayToChange,\n onYearToChange,\n isClearable,\n getIsDisabledDay,\n getIsOutOfRangeDay,\n hasError,\n tabIndex,\n disabled,\n readOnly,\n applyAriaDisabled,\n dateTimePickerToProps,\n },\n rangePickerLogic: { handleToDateChange },\n } = useContext(ControlledDateRangePickerContext);\n return (\n <DSControlledDateTimePicker\n date={toDate}\n onDateChange={handleToDateChange}\n onMonthChange={onMonthToChange}\n onDayChange={onDayToChange}\n onYearChange={onYearToChange}\n isClearable={isClearable}\n getIsDisabledDay={getIsDisabledDay}\n getIsOutOfRangeDay={getIsOutOfRangeDay}\n hasError={hasError}\n tabIndex={tabIndex}\n disabled={disabled}\n readOnly={readOnly}\n applyAriaDisabled={applyAriaDisabled}\n {...dateTimePickerToProps}\n type={CONTROLLED_DATE_TIME_PICKER_TYPES.DATE.INPUTS}\n // Name each spinbutton with the \"End date\" context instead of wrapping the inputs in a\n // named role=\"group\". A nested named group collides with the DSFormLayoutBlockItem fieldset\n // legend that announces the feedback/validation message (PUI-17322 kept 1.3.1 via naming).\n dsControlleddatetimepickerTimePickerMonthInput={{ 'aria-label': 'End date month' }}\n dsControlleddatetimepickerTimePickerDayInput={{ 'aria-label': 'End date day' }}\n dsControlleddatetimepickerTimePickerYearInput={{ 'aria-label': 'End date year' }}\n />\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACwBnB;AAxBJ,SAAgB,kBAAkB;AAClC,SAAS,mCAAmC,kCAAkC;AAC9E,SAAS,wCAAwC;AAE1C,MAAM,4BAA4B,MAAmB;AAC1D,QAAM;AAAA,IACJ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,kBAAkB,EAAE,mBAAmB;AAAA,EACzC,IAAI,WAAW,gCAAgC;AAC/C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd,eAAe;AAAA,MACf,aAAa;AAAA,MACb,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MACJ,MAAM,kCAAkC,KAAK;AAAA,MAI7C,gDAAgD,EAAE,cAAc,iBAAiB;AAAA,MACjF,8CAA8C,EAAE,cAAc,eAAe;AAAA,MAC7E,+CAA+C,EAAE,cAAc,gBAAgB;AAAA;AAAA,EACjF;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -22,6 +22,8 @@ const defaultProps = {
|
|
|
22
22
|
onMonthToChange: noop,
|
|
23
23
|
onDayToChange: noop,
|
|
24
24
|
onYearToChange: noop,
|
|
25
|
+
onPickerOpen: noop,
|
|
26
|
+
onPickerClose: noop,
|
|
25
27
|
getIsDisabledDay: defaultReturnFalse,
|
|
26
28
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
27
29
|
hasError: false,
|
|
@@ -55,6 +57,10 @@ const DSControlledDateRangePickerPropTypes = {
|
|
|
55
57
|
}).signature("(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )"),
|
|
56
58
|
onYearToChange: PropTypes.func.description('function to react to "to" year changing').defaultValue(() => {
|
|
57
59
|
}).signature("(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )"),
|
|
60
|
+
onPickerOpen: PropTypes.func.description("function to react to the calendar context menu being opened").defaultValue(() => {
|
|
61
|
+
}).signature("(() => void)"),
|
|
62
|
+
onPickerClose: PropTypes.func.description("function to react to the calendar context menu being closed").defaultValue(() => {
|
|
63
|
+
}).signature("(() => void)"),
|
|
58
64
|
getIsDisabledDay: PropTypes.func.description('function used to mark day as "disable"').defaultValue(() => false).signature("(( day: string ) => boolean )"),
|
|
59
65
|
getIsOutOfRangeDay: PropTypes.func.description('function used to mark day as "out of range"').defaultValue(() => false).signature("(( day: string ) => boolean )"),
|
|
60
66
|
pickerFooterMsg: PropTypes.string.description(""),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/react-desc-prop-types.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport {\n PropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n getPropsPerSlotPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport type { ValidationMap, GlobalAttributesT, DSPropTypesSchema, XstyledProps } from '@elliemae/ds-props-helpers';\nimport { type DSControlledDateTimePickerT } from '@elliemae/ds-form-date-time-picker';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { DSControlledDateRangePickerName, DSControlledDateRangePickerSlots } from './exported-related/theming.js';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\n\nconst defaultReturnFalse = (): boolean => false;\n\nexport declare namespace DSControlledDateRangePickerT {\n export interface RangePickerMetaInfoT extends DSControlledDateTimePickerT.InternalInputsChangeMetaInfo {\n rangeDateChangeType?: 'from' | 'to';\n automaticSwitchedDates?: boolean;\n isIncorrectOrder?: boolean;\n }\n\n export type RangeOnDateChange = (val: string, metaInfo: RangePickerMetaInfoT) => void;\n\n export type AppOnInputChange = DSControlledDateTimePickerT.AppOnInputChange;\n\n export type ControlledDateRangeType =\n 'full-date-range' | 'date-range-picker-controller-only' | 'date-range-picker' | 'date-range-inputs';\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n type: ControlledDateRangeType;\n fromDate: string;\n onFromDateChange: RangeOnDateChange;\n onMonthFromChange: AppOnInputChange;\n onDayFromChange: AppOnInputChange;\n onYearFromChange: AppOnInputChange;\n hasError: boolean;\n pickerFooterMsg: string;\n\n toDate: string;\n onToDateChange: RangeOnDateChange;\n onMonthToChange: AppOnInputChange;\n onDayToChange: AppOnInputChange;\n onYearToChange: AppOnInputChange;\n\n onPickerOpen: TypescriptHelpersT.VoidGenericFunc;\n onPickerClose: TypescriptHelpersT.VoidGenericFunc;\n\n isClearable: boolean;\n getIsDisabledDay: (day: string) => boolean;\n getIsOutOfRangeDay: (day: string) => boolean;\n autoFocus: boolean;\n readOnly: boolean;\n }\n\n export interface OptionalProps extends TypescriptHelpersT.PropsForGlobalOnSlots<\n typeof DSControlledDateRangePickerName,\n typeof DSControlledDateRangePickerSlots\n > {\n emptyPickerStartingMonth?: string;\n onCalendarOpenFocusedDay?: string;\n innerRef?:\n | React.MutableRefObject<HTMLInputElement | HTMLButtonElement | null>\n | ((ref: HTMLInputElement | HTMLButtonElement | null) => void);\n lastElementRef?: React.MutableRefObject<HTMLElement | null>;\n tabIndex?: TypescriptHelpersT.WCAGTabIndex;\n applyAriaDisabled?: boolean;\n dateTimePickerFromProps?: Partial<DSControlledDateTimePickerT.Props>;\n dateTimePickerToProps?: Partial<DSControlledDateTimePickerT.Props>;\n }\n\n export interface Props\n extends\n Partial<DefaultProps>,\n Omit<GlobalAttributesT<HTMLDivElement>, keyof DefaultProps | keyof OptionalProps>,\n OptionalProps,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends\n DefaultProps,\n Omit<GlobalAttributesT<HTMLDivElement>, keyof DefaultProps | keyof OptionalProps>,\n Omit<OptionalProps, `dsControlleddaterangepicker${Capitalize<string>}`>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultProps: DSControlledDateRangePickerT.DefaultProps = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\n\nexport const DSControlledDateRangePickerPropTypes: DSPropTypesSchema<DSControlledDateRangePickerT.Props> = {\n ...getPropsPerSlotPropTypes(DSControlledDateRangePickerName, DSControlledDateRangePickerSlots),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n type: PropTypes.oneOf([\n 'full-date-range',\n 'date-range-picker-controller-only',\n 'date-range-picker',\n 'date-range-inputs',\n ])\n .description('Type of date range form control to use')\n .defaultValue('full-date-range'),\n fromDate: PropTypes.string.description(`strictly formatted string representing user's selected \"from\" date`)\n .isRequired,\n onFromDateChange: PropTypes.func\n .description('function to react to \"from\" date changing')\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )').isRequired,\n onMonthFromChange: PropTypes.func\n .description('function to react to \"from\" month changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onDayFromChange: PropTypes.func\n .description('function to react to \"from\" day changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onYearFromChange: PropTypes.func\n .description('function to react to \"from\" year changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n toDate: PropTypes.string.description(`strictly formatted string representing user's selected \"to\" date`).isRequired,\n onToDateChange: PropTypes.func\n .description('function to react to \"to\" date changing')\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )').isRequired,\n onMonthToChange: PropTypes.func\n .description('function to react to \"to\" month changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onDayToChange: PropTypes.func\n .description('function to react to \"to\" day changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onYearToChange: PropTypes.func\n .description('function to react to \"to\" year changing')\n .defaultValue(() => {})\n .signature('(( newVal: string, e: React.SyntheticEvent, metaInfo: Record<string,unknown> ) => void )'),\n onPickerOpen: PropTypes.func\n .description('function to react to the calendar context menu being opened')\n .defaultValue(() => {})\n .signature('(() => void)'),\n onPickerClose: PropTypes.func\n .description('function to react to the calendar context menu being closed')\n .defaultValue(() => {})\n .signature('(() => void)'),\n getIsDisabledDay: PropTypes.func\n .description('function used to mark day as \"disable\"')\n .defaultValue(() => false)\n .signature('(( day: string ) => boolean )'),\n getIsOutOfRangeDay: PropTypes.func\n .description('function used to mark day as \"out of range\"')\n .defaultValue(() => false)\n .signature('(( day: string ) => boolean )'),\n pickerFooterMsg: PropTypes.string.description(''),\n hasError: PropTypes.bool\n .description('boolean indicating wheter the selected range is to be marked as wrong')\n .defaultValue(false),\n isClearable: PropTypes.bool\n .description('boolean to optionally activate \"clearable\" icons in the inputs')\n .defaultValue(false),\n autoFocus: PropTypes.bool\n .description('boolean to auto-focus the \"from\" date month on render as per html auto-focus propriety')\n .defaultValue(false),\n emptyPickerStartingMonth: PropTypes.string.description(\n 'strictly formatted string representing the starting month to be displayed when calendar context menu is invoked without any selected dates',\n ),\n onCalendarOpenFocusedDay: PropTypes.string.description(\n 'strictly formatted string representing the day to be focused when calendar context menu is invoked without any selected dates',\n ),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n '\"from\" month input html node reference',\n ),\n lastElementRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).description(\n 'ref for the last focusable element in the component based on its configuration, used for focus management in focus trap logic',\n ),\n tabIndex: PropTypes.string.description('tabIndex to be applied to the \"from\" month input'),\n readOnly: PropTypes.bool\n .description('Makes the component non-editable while remaining accessible')\n .defaultValue(false),\n applyAriaDisabled: PropTypes.bool.description(\n 'Whether to apply disabled styling and announce as disabled in SR. CAN STILL RECEIVE FOCUS. PREVENTS ONLY MAIN ACTION.',\n ),\n dateTimePickerFromProps: PropTypes.object.description('props to pass to the \"from\" date picker'),\n dateTimePickerToProps: PropTypes.object.description('props to pass to the \"to\" date picker'),\n};\n\nexport const DSControlledDateRangePickerPropTypesWithSchema =\n DSControlledDateRangePickerPropTypes as unknown as ValidationMap<DSControlledDateRangePickerT.Props>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -41,6 +41,8 @@ const testCompleteDefaults = {
|
|
|
41
41
|
onMonthToChange: noop,
|
|
42
42
|
onDayToChange: noop,
|
|
43
43
|
onYearToChange: noop,
|
|
44
|
+
onPickerOpen: noop,
|
|
45
|
+
onPickerClose: noop,
|
|
44
46
|
getIsDisabledDay: defaultReturnFalse,
|
|
45
47
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
46
48
|
hasError: false,
|
|
@@ -69,6 +71,8 @@ const testExplicitDefinition = {
|
|
|
69
71
|
onMonthToChange: noop,
|
|
70
72
|
onDayToChange: noop,
|
|
71
73
|
onYearToChange: noop,
|
|
74
|
+
onPickerOpen: noop,
|
|
75
|
+
onPickerClose: noop,
|
|
72
76
|
getIsDisabledDay: defaultReturnFalse,
|
|
73
77
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
74
78
|
hasError: false,
|
|
@@ -92,6 +96,8 @@ const testInferedTypeCompatibility = {
|
|
|
92
96
|
onMonthToChange: noop,
|
|
93
97
|
onDayToChange: noop,
|
|
94
98
|
onYearToChange: noop,
|
|
99
|
+
onPickerOpen: noop,
|
|
100
|
+
onPickerClose: noop,
|
|
95
101
|
getIsDisabledDay: defaultReturnFalse,
|
|
96
102
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
97
103
|
hasError: false,
|
|
@@ -115,6 +121,8 @@ const testDefinitionAsConst = {
|
|
|
115
121
|
onMonthToChange: noop,
|
|
116
122
|
onDayToChange: noop,
|
|
117
123
|
onYearToChange: noop,
|
|
124
|
+
onPickerOpen: noop,
|
|
125
|
+
onPickerClose: noop,
|
|
118
126
|
getIsDisabledDay: defaultReturnFalse,
|
|
119
127
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
120
128
|
hasError: false,
|
|
@@ -144,6 +152,8 @@ const ExampleUsageComponent = () => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
|
144
152
|
onMonthToChange: noop,
|
|
145
153
|
onDayToChange: noop,
|
|
146
154
|
onYearToChange: noop,
|
|
155
|
+
onPickerOpen: noop,
|
|
156
|
+
onPickerClose: noop,
|
|
147
157
|
getIsDisabledDay: defaultReturnFalse,
|
|
148
158
|
getIsOutOfRangeDay: defaultReturnFalse,
|
|
149
159
|
hasError: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/typescript-testing/typescript-date-range-picker-valid.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport React from 'react';\nimport { DSControlledDateRangePicker } from '../index.js';\nimport type { DSControlledDateRangePickerT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype ComponentPropsForApp = DSControlledDateRangePickerT.Props;\ntype ComponentPropsInternals = DSControlledDateRangePickerT.InternalProps;\ntype ComponentPropsDefaultProps = DSControlledDateRangePickerT.DefaultProps;\ntype ComponentPropsOptionalProps = DSControlledDateRangePickerT.OptionalProps;\n\nconst ref = React.createRef() as React.MutableRefObject<HTMLInputElement>;\nconst noop = (): void => {};\nconst defaultReturnFalse = (): boolean => false;\n\nconst testOptionalProps: ComponentPropsOptionalProps = {\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaults: Partial<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onMonthFromChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n\n hasError: false,\n isClearable: false,\n};\nconst testProps: ComponentPropsForApp = {\n ...testOptionalProps,\n ...testPartialDefaults,\n};\nconst testPropsAsSyntax = {\n ...testOptionalProps,\n ...testPartialDefaults,\n} as ComponentPropsForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaults: Required<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\nconst testInternalProps: ComponentPropsInternals = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n};\nconst testInternalPropsAsSyntax = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n} as ComponentPropsInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinition: ComponentPropsForApp = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibility = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as ComponentPropsForApp;\n\nconst testDefinitionAsConst = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as const;\n\nconst ExampleUsageComponent = () => (\n <>\n {/* works with explicitly casted props, all syntaxes */}\n <DSControlledDateRangePicker {...testExplicitDefinition} />\n <DSControlledDateRangePicker {...testInferedTypeCompatibility} />\n <DSControlledDateRangePicker {...testDefinitionAsConst} />\n {/* works with inline values */}\n <DSControlledDateRangePicker\n type=\"full-date-range\"\n fromDate=\"\"\n onFromDateChange={noop}\n onMonthFromChange={noop}\n onDayFromChange={noop}\n onYearFromChange={noop}\n pickerFooterMsg=\"\"\n toDate=\"\"\n onToDateChange={noop}\n onMonthToChange={noop}\n onDayToChange={noop}\n onYearToChange={noop}\n getIsDisabledDay={defaultReturnFalse}\n getIsOutOfRangeDay={defaultReturnFalse}\n hasError={false}\n isClearable={false}\n autoFocus={false}\n emptyPickerStartingMonth=\"12/__/2000\"\n onCalendarOpenFocusedDay=\"12/27/2000\"\n tabIndex={0}\n innerRef={ref}\n />\n </>\n);\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport React from 'react';\nimport { DSControlledDateRangePicker } from '../index.js';\nimport type { DSControlledDateRangePickerT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype ComponentPropsForApp = DSControlledDateRangePickerT.Props;\ntype ComponentPropsInternals = DSControlledDateRangePickerT.InternalProps;\ntype ComponentPropsDefaultProps = DSControlledDateRangePickerT.DefaultProps;\ntype ComponentPropsOptionalProps = DSControlledDateRangePickerT.OptionalProps;\n\nconst ref = React.createRef() as React.MutableRefObject<HTMLInputElement>;\nconst noop = (): void => {};\nconst defaultReturnFalse = (): boolean => false;\n\nconst testOptionalProps: ComponentPropsOptionalProps = {\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaults: Partial<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onMonthFromChange: noop,\n getIsDisabledDay: defaultReturnFalse,\n\n hasError: false,\n isClearable: false,\n};\nconst testProps: ComponentPropsForApp = {\n ...testOptionalProps,\n ...testPartialDefaults,\n};\nconst testPropsAsSyntax = {\n ...testOptionalProps,\n ...testPartialDefaults,\n} as ComponentPropsForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaults: Required<ComponentPropsDefaultProps> = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n readOnly: false,\n};\nconst testInternalProps: ComponentPropsInternals = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n};\nconst testInternalPropsAsSyntax = {\n ...testOptionalProps,\n ...testCompleteDefaults,\n} as ComponentPropsInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinition: ComponentPropsForApp = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibility = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as ComponentPropsForApp;\n\nconst testDefinitionAsConst = {\n type: 'full-date-range',\n fromDate: '',\n onFromDateChange: noop,\n onMonthFromChange: noop,\n onDayFromChange: noop,\n onYearFromChange: noop,\n pickerFooterMsg: '',\n toDate: '',\n onToDateChange: noop,\n onMonthToChange: noop,\n onDayToChange: noop,\n onYearToChange: noop,\n onPickerOpen: noop,\n onPickerClose: noop,\n getIsDisabledDay: defaultReturnFalse,\n getIsOutOfRangeDay: defaultReturnFalse,\n hasError: false,\n isClearable: false,\n autoFocus: false,\n emptyPickerStartingMonth: '12/__/2000',\n onCalendarOpenFocusedDay: '12/27/2000',\n tabIndex: 0,\n innerRef: ref,\n} as const;\n\nconst ExampleUsageComponent = () => (\n <>\n {/* works with explicitly casted props, all syntaxes */}\n <DSControlledDateRangePicker {...testExplicitDefinition} />\n <DSControlledDateRangePicker {...testInferedTypeCompatibility} />\n <DSControlledDateRangePicker {...testDefinitionAsConst} />\n {/* works with inline values */}\n <DSControlledDateRangePicker\n type=\"full-date-range\"\n fromDate=\"\"\n onFromDateChange={noop}\n onMonthFromChange={noop}\n onDayFromChange={noop}\n onYearFromChange={noop}\n pickerFooterMsg=\"\"\n toDate=\"\"\n onToDateChange={noop}\n onMonthToChange={noop}\n onDayToChange={noop}\n onYearToChange={noop}\n onPickerOpen={noop}\n onPickerClose={noop}\n getIsDisabledDay={defaultReturnFalse}\n getIsOutOfRangeDay={defaultReturnFalse}\n hasError={false}\n isClearable={false}\n autoFocus={false}\n emptyPickerStartingMonth=\"12/__/2000\"\n onCalendarOpenFocusedDay=\"12/27/2000\"\n tabIndex={0}\n innerRef={ref}\n />\n </>\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ControlledDateRangePickerContextT } from './useControlledDateRangePicker.js';
|
|
2
2
|
import type { DSControlledDateRangePickerT } from '../react-desc-prop-types.js';
|
|
3
|
-
export declare const useRangePickerLogic: ({ fromDate, onFromDateChange, onMonthFromChange, onDayFromChange, onYearFromChange, toDate, onMonthToChange, onDayToChange, onYearToChange, onToDateChange, }: DSControlledDateRangePickerT.InternalProps) => ControlledDateRangePickerContextT["rangePickerLogic"];
|
|
3
|
+
export declare const useRangePickerLogic: ({ fromDate, onFromDateChange, onMonthFromChange, onDayFromChange, onYearFromChange, toDate, onMonthToChange, onDayToChange, onYearToChange, onToDateChange, onPickerOpen, onPickerClose, }: DSControlledDateRangePickerT.InternalProps) => ControlledDateRangePickerContextT["rangePickerLogic"];
|
|
@@ -27,6 +27,8 @@ export declare namespace DSControlledDateRangePickerT {
|
|
|
27
27
|
onMonthToChange: AppOnInputChange;
|
|
28
28
|
onDayToChange: AppOnInputChange;
|
|
29
29
|
onYearToChange: AppOnInputChange;
|
|
30
|
+
onPickerOpen: TypescriptHelpersT.VoidGenericFunc;
|
|
31
|
+
onPickerClose: TypescriptHelpersT.VoidGenericFunc;
|
|
30
32
|
isClearable: boolean;
|
|
31
33
|
getIsDisabledDay: (day: string) => boolean;
|
|
32
34
|
getIsOutOfRangeDay: (day: string) => boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-form-date-range-picker",
|
|
3
|
-
"version": "3.70.0-next.
|
|
3
|
+
"version": "3.70.0-next.70",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Controlled Form Date Range Picker",
|
|
6
6
|
"files": [
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
],
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "https://
|
|
25
|
+
"url": "https://github.com/intcx/PLATFORM-UI.dimsum.git"
|
|
26
26
|
},
|
|
27
27
|
"engines": {
|
|
28
28
|
"pnpm": ">=9",
|
|
@@ -37,24 +37,24 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"uid": "^2.0.2",
|
|
40
|
-
"@elliemae/ds-form-date-time-picker": "3.70.0-next.
|
|
41
|
-
"@elliemae/ds-
|
|
42
|
-
"@elliemae/ds-
|
|
43
|
-
"@elliemae/ds-
|
|
40
|
+
"@elliemae/ds-form-date-time-picker": "3.70.0-next.70",
|
|
41
|
+
"@elliemae/ds-props-helpers": "3.70.0-next.70",
|
|
42
|
+
"@elliemae/ds-system": "3.70.0-next.70",
|
|
43
|
+
"@elliemae/ds-typescript-helpers": "3.70.0-next.70"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@elliemae/pui-theme": "~2.13.0",
|
|
47
47
|
"jest": "^30.0.0",
|
|
48
|
-
"styled-components": "~5.3.
|
|
48
|
+
"styled-components": "~5.3.11",
|
|
49
49
|
"styled-system": "^5.1.5",
|
|
50
|
-
"@elliemae/ds-monorepo-devops": "3.70.0-next.
|
|
51
|
-
"@elliemae/ds-test-utils": "3.70.0-next.
|
|
50
|
+
"@elliemae/ds-monorepo-devops": "3.70.0-next.70",
|
|
51
|
+
"@elliemae/ds-test-utils": "3.70.0-next.70"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"@elliemae/pui-theme": "~2.13.0",
|
|
55
55
|
"react": "^18.3.1",
|
|
56
56
|
"react-dom": "^18.3.1",
|
|
57
|
-
"styled-components": "~5.3.
|
|
57
|
+
"styled-components": "~5.3.11",
|
|
58
58
|
"styled-system": "^5.1.5"
|
|
59
59
|
},
|
|
60
60
|
"publishConfig": {
|
|
@@ -70,4 +70,4 @@
|
|
|
70
70
|
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
|
71
71
|
"checkDeps": "npx -yes ../../util/ds-codemods check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
72
72
|
}
|
|
73
|
-
}
|
|
73
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|