@elliemae/ds-date-range-picker 3.22.0-next.8 → 3.22.0-rc.0
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/DSDateRangePicker.js.map +1 -1
- package/dist/cjs/components/DSDateRangePickerImpl.js.map +1 -1
- package/dist/cjs/components/DatePickerLabel/DatePickerLabel.js.map +1 -1
- package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +1 -1
- package/dist/cjs/components/DayPickerRangeController.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/isMaxDiffSafe.js.map +1 -1
- package/dist/esm/DSDateRangePicker.js.map +1 -1
- package/dist/esm/components/DSDateRangePickerImpl.js.map +1 -1
- package/dist/esm/components/DatePickerLabel/DatePickerLabel.js.map +1 -1
- package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +1 -1
- package/dist/esm/components/DayPickerRangeController.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isMaxDiffSafe.js.map +1 -1
- package/package.json +19 -14
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/DSDateRangePicker.tsx", "
|
|
3
|
+
"sources": ["../../src/DSDateRangePicker.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport moment from 'moment';\nimport 'react-dates/initialize.js';\nimport { DateRangePickerPhrases } from 'react-dates/lib/defaultPhrases.js';\nimport DayPickerRangeController from './components/DayPickerRangeController.js';\nimport DSDateRangePickerImpl, { START_DATE, END_DATE } from './components/DSDateRangePickerImpl.js';\n\nconst DSDateRangePicker = ({\n containerProps = {},\n className = '',\n disabled = false,\n required = false,\n startDateRequired = false,\n endDateRequired = false,\n id,\n hasError = false,\n validationMessage = '',\n readOnly = false,\n screenReaderInputMessage = 'Select date',\n initialVisibleMonth = moment(),\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n reopenPickerOnClearDates = false,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onOutsideClick = () => null,\n transitionDuration = 0,\n verticalSpacing = 0,\n minimumNights = 0,\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n displayFormat = 'L',\n displayFormatDay = 'D',\n phrases = DateRangePickerPhrases,\n startDate,\n endDate,\n startDateId = 'startDateId',\n endDateId = 'endDateId',\n labelFrom = 'From',\n labelTo = 'To',\n enableOutsideDays = true,\n onChangeStartInput = () => null,\n onChangeEndInput = () => null,\n onDatesChange = () => null,\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-range-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName, prefixBlockName } = convertPropToCssClassName('datepicker', className, {\n hasError,\n readOnly,\n disabled,\n id,\n });\n return (\n <div {...containerProps} className={`${prefixBlockName}-range ${cssClassName} ${prefixBlockName}-range`}>\n <DSDateRangePickerImpl\n appendToBody\n disabled={disabled}\n displayFormat={displayFormat}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n endDate={endDate}\n endDateId={endDateId}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={() => (initialVisibleMonth ? moment(initialVisibleMonth) : moment(startDate))}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n labelFrom={labelFrom}\n labelTo={labelTo}\n minimumNights={minimumNights}\n onDatesChange={onDatesChange}\n onChangeStartInput={onChangeStartInput}\n onChangeEndInput={onChangeEndInput}\n onClose={onClose}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n onOutsideClick={onOutsideClick}\n phrases={phrases}\n readOnly={readOnly}\n reopenPickerOnClearDates={reopenPickerOnClearDates}\n required={required}\n startDateRequired={startDateRequired}\n endDateRequired={endDateRequired}\n screenReaderInputMessage={screenReaderInputMessage}\n startDate={startDate}\n startDateId={startDateId}\n transitionDuration={transitionDuration}\n verticalSpacing={verticalSpacing}\n hasError={hasError}\n validationMessage={validationMessage}\n />\n </div>\n );\n};\n\nconst dateRangePickerProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n disabled: PropTypes.bool.description('disable component or not').defaultValue(false),\n required: PropTypes.bool.description('input is required or not').defaultValue(false),\n startDateRequired: PropTypes.bool.description('start date is required or not').defaultValue(false),\n endDateRequired: PropTypes.bool.description('end date is required or not').defaultValue(false),\n id: PropTypes.string.description('components id'),\n hasError: PropTypes.bool.description('set error state').defaultValue(false),\n validationMessage: PropTypes.string.description('validation message'),\n readOnly: PropTypes.bool.description('component is read only or not').description(false),\n screenReaderInputMessage: PropTypes.string\n .description('message to be anounced by screen reader')\n .defaultValue('select date'),\n initialVisibleMonth: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'initial visible month',\n ),\n firstDayOfWeek: PropTypes.number.description('first day of week').defaultValue(0),\n keepOpenOnDateSelect: PropTypes.bool.description('keep picker open when a date is selected').defaultValue(true),\n reopenPickerOnClearDates: PropTypes.bool.description('reopen picker when clearing dates').defaultValue(false),\n hideKeyboardShortcutsPanel: PropTypes.bool.description('hide keyabord shortcut panel or not'),\n onPrevMonthClick: PropTypes.func.description('function executed when clicking on prev month button'),\n onNextMonthClick: PropTypes.func.description('function executed when clicking on next month button'),\n onClose: PropTypes.func.description('function executed when component closes'),\n transitionDuration: PropTypes.number.description('transition duration').defaultValue(0),\n verticalSpacing: PropTypes.number.description('vertical spacing'),\n isDayBlocked: PropTypes.func.description('function that returns each day and disables desired dates'),\n isOutsideRange: PropTypes.func.description('function that returns each day and disables outisde range dates'),\n isDayHighlighted: PropTypes.func.description('function that returns each day and higlights desired dates'),\n minimumNights: PropTypes.number.description('Minimum nights'),\n displayFormat: PropTypes.string.description('display format').defaultValue('L'),\n displayFormatDay: PropTypes.string.description('display format day').defaultValue('D'),\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n }).description('react-dates phrases'),\n startDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'start date value',\n ),\n endDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'end date value',\n ),\n startDateId: PropTypes.string.description('start date id'),\n endDateId: PropTypes.string.description('end date id'),\n labelFrom: PropTypes.string.description('label of start date input'),\n labelTo: PropTypes.string.description('label of end date input'),\n enableOutsideDays: PropTypes.bool.description('enable days outside current month').defaultValue('true'),\n onDatesChange: PropTypes.func.description('function executed when dates change'),\n onChangeStartInput: PropTypes.func.description('function executed when start date input changes'),\n onChangeEndInput: PropTypes.func.description('function executed when end date input changes'),\n onOutsideClick: PropTypes.func.description('function executed when clicking outside component'),\n};\n\nDSDateRangePicker.propTypes = dateRangePickerProps;\nDSDateRangePicker.displayName = 'DSDateRangePicker';\nconst DateRangePickerWithSchema = describe(DSDateRangePicker);\nDateRangePickerWithSchema.propTypes = dateRangePickerProps;\n\nexport { DayPickerRangeController, START_DATE, END_DATE, DateRangePickerWithSchema, DSDateRangePicker };\n\nexport default DSDateRangePicker;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["DayPickerRangeController", "moment", "DSDateRangePickerImpl"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DSDateRangePickerImpl.tsx", "
|
|
3
|
+
"sources": ["../../../src/components/DSDateRangePickerImpl.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { MASK_TYPES, MASK_PIPES, DSFormItemLayout, DSInputMask } from '@elliemae/ds-form';\nimport DSPopper from '@elliemae/ds-popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController.js';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe.js';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nexport default class DSDateRangePickerImpl extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n startDate: props.startDate ? moment(props.startDate) : null,\n endDate: props.endDate ? moment(props.endDate) : null,\n focusedInput: START_DATE,\n showPicker: false,\n startDateError: false,\n endDateError: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('keydown', this.handleKeyDown, false);\n }\n\n componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown, false);\n }\n\n onDatesChange = ({ startDate, endDate }) => {\n const { onDatesChange } = this.props;\n onDatesChange(startDate, endDate);\n const safe = isMaxDiffSafe(startDate, endDate, this.state.startDate, this.state.endDate);\n if (!safe) {\n this.setState({ showPicker: false });\n }\n this.setState({\n startDate,\n endDate,\n primaryStartInput: false,\n primaryEndInput: false,\n });\n };\n\n onFocusChange = () => {\n this.setState(({ focusedInput }) => ({\n focusedInput: focusedInput === START_DATE ? END_DATE : START_DATE,\n }));\n };\n\n handleKeyDown = (event) => {\n if (event.key === 'Escape') this.setState({ showPicker: false });\n };\n\n getSafeStartInputValue = () => {\n const { startInput, primaryStartInput, startDate } = this.state;\n if (primaryStartInput && startInput) return startInput;\n if (!startDate) return '';\n return startDate.format('MMDDYYYY');\n };\n\n getSafeEndInputValue = () => {\n const { endInput, primaryEndInput, endDate } = this.state;\n if (primaryEndInput && endInput) return endInput;\n if (!endDate) return '';\n return endDate.format('MMDDYYYY');\n };\n\n changeFocus = () => {\n const { disabled } = this.props;\n if (!disabled) {\n this.setState(() => ({ focusedInput: 'startDate' }));\n }\n };\n\n handleChangeStart = (e) => {\n const { onChangeStartInput, isDayBlocked, minimumNights } = this.props;\n const { endDate } = this.state;\n const startInputVal = e.target.value;\n let momentValue = null;\n if (startInputVal && moment(startInputVal, 'MM/DD/YYYY', true).isValid()) {\n momentValue = moment(startInputVal);\n }\n\n const startDateBlocked = isDayBlocked(momentValue);\n\n const isStartDateAcceptable = !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid = endDate && momentValue && endDate?.isValid() && momentValue?.isValid();\n\n const canEndBeSameAsStart = minimumNights === 0;\n const isStartAcceptableWithSelectedEnd =\n !endDate ||\n (areDatesValid &&\n ((canEndBeSameAsStart && momentValue.diff(endDate, 'days') <= 0) ||\n (!canEndBeSameAsStart && momentValue.diff(endDate, 'days') < 0)));\n\n const invalidDate = !isStartDateAcceptable || !isStartAcceptableWithSelectedEnd;\n if (startDateBlocked) momentValue = null;\n onChangeStartInput(momentValue);\n this.setState((prevState: { endDateError: boolean }) => ({\n startDate: momentValue,\n startInput: startInputVal,\n primaryStartInput: true,\n startDateError: invalidDate,\n endDateError:\n !isStartDateAcceptable || !prevState.endDateError ? prevState.endDateError : !isStartAcceptableWithSelectedEnd,\n }));\n };\n\n handleChangeEnd = (e) => {\n const { onChangeEndInput, isDayBlocked, minimumNights } = this.props;\n const { startDate } = this.state;\n const endInputValue = e.target.value;\n let momentValue = null;\n if (endInputValue && moment(endInputValue, 'MM/DD/YYYY', true).isValid()) {\n momentValue = moment(endInputValue);\n }\n const endDateBlocked = isDayBlocked(momentValue);\n\n const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid = startDate && momentValue && startDate?.isValid() && momentValue?.isValid();\n\n const canEndBeSameAsStart = minimumNights === 0;\n const isEndAcceptableWithSelectedStart =\n !startDate || // we can't compare with start date because it's not yet set\n (areDatesValid && // it's set and both are valid\n ((canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0) || // >= is valid\n (!canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0))); // only > is valid\n\n const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;\n\n if (endDateBlocked) momentValue = null;\n onChangeEndInput(momentValue);\n this.setState((prevState: { startDateError: boolean }) => ({\n endDate: momentValue,\n endInput: endInputValue,\n primaryEndInput: true,\n startDateError:\n !isEndDateAcceptable || !prevState.startDateError\n ? prevState.startDateError\n : !isEndAcceptableWithSelectedStart,\n endDateError: invalidDate,\n }));\n };\n\n handleChangeDate = ({ startDate: _start, endDate }) => {\n if (_start && endDate) {\n this.setState({\n startDate: moment(_start),\n endDate,\n primaryStartInput: false,\n primaryEndInput: false,\n });\n } else if (_start) {\n this.setState({ startDate: moment(_start), primaryStartInput: false });\n } else if (endDate) {\n this.setState({ endDate, primaryEndInput: false });\n }\n };\n\n render() {\n const { startDate, endDate, focusedInput, showPicker, startDateError, endDateError } = this.state;\n\n const {\n disabled,\n displayFormatDay,\n minimumNights,\n labelFrom,\n labelTo,\n isDayBlocked,\n isDayHighlighted,\n isOutsideRange,\n enableOutsideDays,\n startDateRequired,\n endDateRequired,\n onOutsideClick,\n onNextMonthClick,\n onPrevMonthClick,\n onClose,\n hasError,\n validationMessage,\n } = this.props;\n\n const inputClass = classNameBlock('inputs', 'range-picker');\n const inputClassModifier = '';\n\n const safeStartInputValue = this.getSafeStartInputValue();\n const safeEndInputValue = this.getSafeEndInputValue();\n\n return (\n <div className={`${inputClass} ${inputClassModifier}`}>\n <div className={classNameBlock('wrapper-input-date-range-picker-controller')}>\n <DSFormItemLayout\n floatingLabel\n inputComponent={DSInputMask}\n labelText={labelFrom}\n mask={MASK_TYPES.DATE}\n onChange={this.handleChangeStart}\n onFocus={() => this.setState({ showPicker: false })}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n value={safeStartInputValue}\n required={startDateRequired}\n hasError={hasError || startDateError}\n placeholder=\"MM/DD/YYYY\"\n />\n <DSFormItemLayout\n floatingLabel\n inputComponent={DSInputMask}\n labelText={labelTo}\n mask={MASK_TYPES.DATE}\n onChange={this.handleChangeEnd}\n onFocus={() => this.setState({ showPicker: false })}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n value={safeEndInputValue}\n required={endDateRequired}\n hasError={hasError || endDateError}\n validationMessage={validationMessage}\n placeholder=\"MM/DD/YYYY\"\n />\n </div>\n <div className={classNameBlock('wrapper-button-date-range-picker-controller')}>\n <DSPopper\n contentComponent={\n <div>\n {showPicker && (\n <DayPickerRangeController\n enableOutsideDays={enableOutsideDays}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n displayFormatDay={displayFormatDay}\n endDate={endDate}\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n minimumNights={minimumNights}\n onDatesChange={this.onDatesChange}\n onFocusChange={this.onFocusChange}\n onOutsideClick={(e) => {\n onOutsideClick(e);\n this.setState({ showPicker: false });\n }}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n startDate={startDate}\n renderMonthElement={renderMonthElement}\n />\n )}\n </div>\n }\n isOpen={showPicker && !startDateError && !endDateError}\n onClose={onClose}\n placement=\"bottom-end\"\n showArrow={false}\n triggerComponent={\n <div onFocus={() => this.setState({ showPicker: true })}>\n <DatePickerPicker\n className={classNameElement('picker')}\n disabled={disabled}\n onClick={() => this.setState({ showPicker: true })}\n />\n {hasError && validationMessage && <div style={{ height: 15 }} />}\n </div>\n }\n />\n </div>\n </div>\n );\n }\n}\n\nDSDateRangePickerImpl.propTypes = {\n startDate: PropTypes.instanceOf(Date, moment),\n endDate: PropTypes.instanceOf(Date, moment),\n onDatesChange: PropTypes.func,\n onChangeStartInput: PropTypes.func,\n onChangeEndInput: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onPrevMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onOutsideClick: PropTypes.func,\n disabled: PropTypes.bool,\n displayFormatDay: PropTypes.string,\n minimumNights: PropTypes.number,\n labelTo: PropTypes.string,\n labelFrom: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n isOutsideRange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n startDateRequired: PropTypes.bool,\n endDateRequired: PropTypes.bool,\n hasError: PropTypes.bool,\n validationMessage: PropTypes.string,\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["React", "moment", "DSPopper", "DayPickerRangeController", "PropTypes"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/DatePickerLabel/DatePickerLabel.tsx", "
|
|
3
|
+
"sources": ["../../../../src/components/DatePickerLabel/DatePickerLabel.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\n\nconst Label = ({ className = 'date-picker-label', label = '' }) => (\n <div className={className}>\n <span>{label}</span>\n </div>\n);\n\nexport default Label;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADInB;AAFJ,MAAM,QAAQ,CAAC,EAAE,YAAY,qBAAqB,QAAQ,GAAG,MAC3D,4CAAC,SAAI,WACH,sDAAC,UAAM,iBAAM,GACf;AAGF,IAAO,0BAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/DatePickerRangeHeader/DatePickerRangeHeader.tsx", "
|
|
3
|
+
"sources": ["../../../../src/components/DatePickerRangeHeader/DatePickerRangeHeader.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable no-unused-expressions */\n/* eslint-disable no-console */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport DSInputMask, { DSInputGroup, MASK_TYPES, MASK_PIPES } from '@elliemae/ds-form';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockname = 'date-range-picker';\nconst Header = aggregatedClasses('div')(blockname, 'header');\n\nconst formatDate = (date) => {\n if (date) {\n return date.format('MMDDYYYY');\n }\n};\n\nconst DatePickerRangeHeader = ({\n placeholderStart = 'Start Date',\n placeholderEnd = 'End Date',\n onStartInputChange = () => null,\n onEndInputChange = () => null,\n selectedStartDate,\n selectedEndDate,\n}) => {\n const [startValue, setStartValue] = useState(selectedStartDate ? formatDate(selectedStartDate) : '');\n const [endValue, setEndValue] = useState(selectedEndDate ? formatDate(selectedEndDate) : '');\n\n useEffect(() => {\n const startDate = formatDate(selectedStartDate);\n const endDate = formatDate(selectedEndDate);\n startDate !== startValue && setStartValue(startDate);\n endDate !== endValue && setEndValue(endDate);\n }, [selectedStartDate, selectedEndDate]);\n\n const handleOnChangeStart = (e) => {\n const newStartValue = e.target.value;\n setStartValue(newStartValue);\n };\n\n const handleOnChangeEnd = (e) => {\n const newEndValue = e.target.value;\n setEndValue(newEndValue);\n };\n\n const handleOnBlurStart = (e) => {\n const newStartValue = e.target.value;\n onStartInputChange(moment(newStartValue));\n };\n\n const handleOnBlurEnd = (e) => {\n const newEndValue = e.target.value;\n onEndInputChange(moment(newEndValue));\n };\n\n const handleOnKeyDownStart = (e) => {\n if (e.key === 'Enter') {\n const newValue = e.target.value;\n onStartInputChange(moment(newValue));\n e.target.blur();\n }\n };\n\n const handleOnKeyDownEnd = (e) => {\n if (e.key === 'Enter') {\n const newValue = e.target.value;\n onEndInputChange(moment(newValue));\n e.target.blur();\n }\n };\n\n return (\n <Header>\n <DSInputGroup>\n <DSInputMask\n aria-label={placeholderStart || 'Date Picker Input Mask'}\n mask={MASK_TYPES.DATE}\n onBlur={handleOnBlurStart}\n onChange={handleOnChangeStart}\n onKeyDown={handleOnKeyDownStart}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n placeholder={placeholderStart}\n value={startValue}\n />\n <DSInputMask\n aria-label={placeholderEnd || 'Date Picker Input Mask'}\n mask={MASK_TYPES.DATE}\n onBlur={handleOnBlurEnd}\n onChange={handleOnChangeEnd}\n onKeyDown={handleOnKeyDownEnd}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n placeholder={placeholderEnd}\n value={endValue}\n />\n </DSInputGroup>\n </Header>\n );\n};\n\nexport default DatePickerRangeHeader;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwEjB;AAtEN,mBAA2C;AAC3C,oBAAmB;AACnB,qBAAkE;AAClE,2BAAkC;AAElC,MAAM,YAAY;AAClB,MAAM,aAAS,wCAAkB,KAAK,EAAE,WAAW,QAAQ;AAE3D,MAAM,aAAa,CAAC,SAAS;AAC3B,MAAI,MAAM;AACR,WAAO,KAAK,OAAO,UAAU;AAAA,EAC/B;AACF;AAEA,MAAM,wBAAwB,CAAC;AAAA,EAC7B,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,qBAAqB,MAAM;AAAA,EAC3B,mBAAmB,MAAM;AAAA,EACzB;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,oBAAoB,WAAW,iBAAiB,IAAI,EAAE;AACnG,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,kBAAkB,WAAW,eAAe,IAAI,EAAE;AAE3F,8BAAU,MAAM;AACd,UAAM,YAAY,WAAW,iBAAiB;AAC9C,UAAM,UAAU,WAAW,eAAe;AAC1C,kBAAc,cAAc,cAAc,SAAS;AACnD,gBAAY,YAAY,YAAY,OAAO;AAAA,EAC7C,GAAG,CAAC,mBAAmB,eAAe,CAAC;AAEvC,QAAM,sBAAsB,CAAC,MAAM;AACjC,UAAM,gBAAgB,EAAE,OAAO;AAC/B,kBAAc,aAAa;AAAA,EAC7B;AAEA,QAAM,oBAAoB,CAAC,MAAM;AAC/B,UAAM,cAAc,EAAE,OAAO;AAC7B,gBAAY,WAAW;AAAA,EACzB;AAEA,QAAM,oBAAoB,CAAC,MAAM;AAC/B,UAAM,gBAAgB,EAAE,OAAO;AAC/B,2BAAmB,cAAAA,SAAO,aAAa,CAAC;AAAA,EAC1C;AAEA,QAAM,kBAAkB,CAAC,MAAM;AAC7B,UAAM,cAAc,EAAE,OAAO;AAC7B,yBAAiB,cAAAA,SAAO,WAAW,CAAC;AAAA,EACtC;AAEA,QAAM,uBAAuB,CAAC,MAAM;AAClC,QAAI,EAAE,QAAQ,SAAS;AACrB,YAAM,WAAW,EAAE,OAAO;AAC1B,6BAAmB,cAAAA,SAAO,QAAQ,CAAC;AACnC,QAAE,OAAO,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,qBAAqB,CAAC,MAAM;AAChC,QAAI,EAAE,QAAQ,SAAS;AACrB,YAAM,WAAW,EAAE,OAAO;AAC1B,2BAAiB,cAAAA,SAAO,QAAQ,CAAC;AACjC,QAAE,OAAO,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,SACE,4CAAC,UACC,uDAAC,+BACC;AAAA;AAAA,MAAC,eAAAC;AAAA,MAAA;AAAA,QACC,cAAY,oBAAoB;AAAA,QAChC,MAAM,0BAAW;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,MAAM,0BAAW;AAAA,QACjB,aAAa;AAAA,QACb,OAAO;AAAA;AAAA,IACT;AAAA,IACA;AAAA,MAAC,eAAAA;AAAA,MAAA;AAAA,QACC,cAAY,kBAAkB;AAAA,QAC9B,MAAM,0BAAW;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,MAAM,0BAAW;AAAA,QACjB,aAAa;AAAA,QACb,OAAO;AAAA;AAAA,IACT;AAAA,KACF,GACF;AAEJ;AAEA,IAAO,gCAAQ;",
|
|
6
6
|
"names": ["moment", "DSInputMask"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DayPickerRangeController.tsx", "
|
|
3
|
+
"sources": ["../../../src/components/DayPickerRangeController.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\nimport React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { DayPickerRangeController as RDRangeController } from 'react-dates';\nimport { DatePickerDay, DatePickerNavigation, renderMonthElement } from '@elliemae/ds-date-picker';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker-range');\n\nconst DayPickerRangeController = ({\n endDate = undefined,\n startDate = undefined,\n displayFormatDay = 'D',\n focusedInput = undefined,\n enableOutsideDays = false,\n onDatesChange = () => null,\n onFocusChange = () => null,\n onOutsideClick = () => null,\n isDayBlocked = () => null,\n isDayHighlighted = () => null,\n isOutsideRange = () => null,\n onNextMonthClick = () => null,\n onPrevMonthClick = () => null,\n ...otherProps\n}) => {\n const datePickerRef = useRef();\n\n useEffect(() => {\n const handleMouseUp = () => {\n const focusedElement = document.activeElement;\n\n focusedElement.blur();\n };\n const handleKeyDown = (event) => {\n const [firstDay, ...restOfDays] = document\n .getElementsByClassName('CalendarMonthGrid_month__horizontal')[1]\n .getElementsByClassName('CalendarDay');\n const [lastDay] = restOfDays.slice(-1);\n const focusedElement = document.activeElement;\n const [prev, next] = document.getElementsByClassName('DayPickerNavigation_button');\n\n switch (event.key) {\n case 'Home':\n event.stopPropagation();\n firstDay.focus();\n break;\n case 'End':\n event.stopPropagation();\n lastDay.focus();\n break;\n case 'Enter':\n case ' ':\n if (focusedElement === prev) {\n event.stopPropagation();\n setTimeout(() => {\n prev.focus();\n }, 240);\n } else if (focusedElement === next) {\n event.stopPropagation();\n setTimeout(() => {\n next?.focus();\n }, 240);\n }\n break;\n case 'Tab':\n if (firstDay === focusedElement || restOfDays.includes(focusedElement)) {\n event.preventDefault();\n prev.focus();\n }\n break;\n default:\n break;\n }\n };\n\n datePickerRef.current.addEventListener('mouseup', handleMouseUp, false);\n\n datePickerRef.current.addEventListener('keydown', handleKeyDown, false);\n\n return () => {\n if (datePickerRef.current) {\n datePickerRef.current.removeEventListener('mouseup', handleMouseUp, false);\n\n datePickerRef.current.removeEventListener('keydown', handleKeyDown, false);\n }\n };\n }, []);\n\n return (\n <div\n ref={datePickerRef}\n className={classNameBlock('wrapper-day-picker-single-date-controller')}\n data-testid={otherProps['data-testid'] || 'date-range-picker-controller'}\n >\n <RDRangeController\n {...otherProps}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n enableOutsideDays={enableOutsideDays}\n endDate={endDate}\n focused\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={<DatePickerNavigation className={classNameElement('navigation-prev')} icon={ChevronLeft} />}\n onDatesChange={onDatesChange}\n onFocusChange={onFocusChange}\n onOutsideClick={onOutsideClick}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n renderMonthElement={renderMonthElement}\n startDate={startDate}\n />\n </div>\n );\n};\n\nDayPickerRangeController.propTypes = {\n endDate: PropTypes.instanceOf(Date, moment),\n startDate: PropTypes.instanceOf(Date, moment),\n displayFormatDay: PropTypes.string,\n focusedInput: PropTypes.bool,\n onDatesChange: PropTypes.func,\n onFocusChange: PropTypes.func,\n onOutsideClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onPrevMonthClick: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n isDayBlocked: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n isOutsideRange: PropTypes.func,\n};\n\nexport default DayPickerRangeController;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["RDRangeController", "PropTypes", "moment"]
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx", "
|
|
3
|
+
"sources": ["../../src/index.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["export { default } from './DSDateRangePicker.js';\nexport * from './DSDateRangePicker.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAwB;AACxB,wBAAc,mCADd;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/isMaxDiffSafe.tsx", "
|
|
3
|
+
"sources": ["../../src/isMaxDiffSafe.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-params */\nexport const MAX_YEARS_DIFF = 150;\n// https://jira.elliemae.io/browse/PUI-4145\nexport const isMaxDiffSafe = (startDate, endDate, prevStart, prevEnd) => {\n try {\n const diff = Math.abs(endDate.diff(startDate, 'years'));\n const diffStart = Math.abs(startDate.diff(prevStart, 'years'));\n const diffEnd = Math.abs(endDate.diff(prevEnd, 'years'));\n return diff < MAX_YEARS_DIFF && diffStart < MAX_YEARS_DIFF && diffEnd < MAX_YEARS_DIFF;\n } catch (error) {\n return true;\n }\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADChB,MAAM,iBAAiB;AAEvB,MAAM,gBAAgB,CAAC,WAAW,SAAS,WAAW,YAAY;AACvE,MAAI;AACF,UAAM,OAAO,KAAK,IAAI,QAAQ,KAAK,WAAW,OAAO,CAAC;AACtD,UAAM,YAAY,KAAK,IAAI,UAAU,KAAK,WAAW,OAAO,CAAC;AAC7D,UAAM,UAAU,KAAK,IAAI,QAAQ,KAAK,SAAS,OAAO,CAAC;AACvD,WAAO,OAAO,kBAAkB,YAAY,kBAAkB,UAAU;AAAA,EAC1E,SAAS,OAAP;AACA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSDateRangePicker.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport moment from 'moment';\nimport 'react-dates/initialize.js';\nimport { DateRangePickerPhrases } from 'react-dates/lib/defaultPhrases.js';\nimport DayPickerRangeController from './components/DayPickerRangeController.js';\nimport DSDateRangePickerImpl, { START_DATE, END_DATE } from './components/DSDateRangePickerImpl.js';\n\nconst DSDateRangePicker = ({\n containerProps = {},\n className = '',\n disabled = false,\n required = false,\n startDateRequired = false,\n endDateRequired = false,\n id,\n hasError = false,\n validationMessage = '',\n readOnly = false,\n screenReaderInputMessage = 'Select date',\n initialVisibleMonth = moment(),\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n reopenPickerOnClearDates = false,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onOutsideClick = () => null,\n transitionDuration = 0,\n verticalSpacing = 0,\n minimumNights = 0,\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n displayFormat = 'L',\n displayFormatDay = 'D',\n phrases = DateRangePickerPhrases,\n startDate,\n endDate,\n startDateId = 'startDateId',\n endDateId = 'endDateId',\n labelFrom = 'From',\n labelTo = 'To',\n enableOutsideDays = true,\n onChangeStartInput = () => null,\n onChangeEndInput = () => null,\n onDatesChange = () => null,\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-range-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName, prefixBlockName } = convertPropToCssClassName('datepicker', className, {\n hasError,\n readOnly,\n disabled,\n id,\n });\n return (\n <div {...containerProps} className={`${prefixBlockName}-range ${cssClassName} ${prefixBlockName}-range`}>\n <DSDateRangePickerImpl\n appendToBody\n disabled={disabled}\n displayFormat={displayFormat}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n endDate={endDate}\n endDateId={endDateId}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n initialVisibleMonth={() => (initialVisibleMonth ? moment(initialVisibleMonth) : moment(startDate))}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n labelFrom={labelFrom}\n labelTo={labelTo}\n minimumNights={minimumNights}\n onDatesChange={onDatesChange}\n onChangeStartInput={onChangeStartInput}\n onChangeEndInput={onChangeEndInput}\n onClose={onClose}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n onOutsideClick={onOutsideClick}\n phrases={phrases}\n readOnly={readOnly}\n reopenPickerOnClearDates={reopenPickerOnClearDates}\n required={required}\n startDateRequired={startDateRequired}\n endDateRequired={endDateRequired}\n screenReaderInputMessage={screenReaderInputMessage}\n startDate={startDate}\n startDateId={startDateId}\n transitionDuration={transitionDuration}\n verticalSpacing={verticalSpacing}\n hasError={hasError}\n validationMessage={validationMessage}\n />\n </div>\n );\n};\n\nconst dateRangePickerProps = {\n containerProps: PropTypes.shape({}).description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n disabled: PropTypes.bool.description('disable component or not').defaultValue(false),\n required: PropTypes.bool.description('input is required or not').defaultValue(false),\n startDateRequired: PropTypes.bool.description('start date is required or not').defaultValue(false),\n endDateRequired: PropTypes.bool.description('end date is required or not').defaultValue(false),\n id: PropTypes.string.description('components id'),\n hasError: PropTypes.bool.description('set error state').defaultValue(false),\n validationMessage: PropTypes.string.description('validation message'),\n readOnly: PropTypes.bool.description('component is read only or not').description(false),\n screenReaderInputMessage: PropTypes.string\n .description('message to be anounced by screen reader')\n .defaultValue('select date'),\n initialVisibleMonth: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'initial visible month',\n ),\n firstDayOfWeek: PropTypes.number.description('first day of week').defaultValue(0),\n keepOpenOnDateSelect: PropTypes.bool.description('keep picker open when a date is selected').defaultValue(true),\n reopenPickerOnClearDates: PropTypes.bool.description('reopen picker when clearing dates').defaultValue(false),\n hideKeyboardShortcutsPanel: PropTypes.bool.description('hide keyabord shortcut panel or not'),\n onPrevMonthClick: PropTypes.func.description('function executed when clicking on prev month button'),\n onNextMonthClick: PropTypes.func.description('function executed when clicking on next month button'),\n onClose: PropTypes.func.description('function executed when component closes'),\n transitionDuration: PropTypes.number.description('transition duration').defaultValue(0),\n verticalSpacing: PropTypes.number.description('vertical spacing'),\n isDayBlocked: PropTypes.func.description('function that returns each day and disables desired dates'),\n isOutsideRange: PropTypes.func.description('function that returns each day and disables outisde range dates'),\n isDayHighlighted: PropTypes.func.description('function that returns each day and higlights desired dates'),\n minimumNights: PropTypes.number.description('Minimum nights'),\n displayFormat: PropTypes.string.description('display format').defaultValue('L'),\n displayFormatDay: PropTypes.string.description('display format day').defaultValue('D'),\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n }).description('react-dates phrases'),\n startDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'start date value',\n ),\n endDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.instanceOf(moment)]).description(\n 'end date value',\n ),\n startDateId: PropTypes.string.description('start date id'),\n endDateId: PropTypes.string.description('end date id'),\n labelFrom: PropTypes.string.description('label of start date input'),\n labelTo: PropTypes.string.description('label of end date input'),\n enableOutsideDays: PropTypes.bool.description('enable days outside current month').defaultValue('true'),\n onDatesChange: PropTypes.func.description('function executed when dates change'),\n onChangeStartInput: PropTypes.func.description('function executed when start date input changes'),\n onChangeEndInput: PropTypes.func.description('function executed when end date input changes'),\n onOutsideClick: PropTypes.func.description('function executed when clicking outside component'),\n};\n\nDSDateRangePicker.propTypes = dateRangePickerProps;\nDSDateRangePicker.displayName = 'DSDateRangePicker';\nconst DateRangePickerWithSchema = describe(DSDateRangePicker);\nDateRangePickerWithSchema.propTypes = dateRangePickerProps;\n\nexport { DayPickerRangeController, START_DATE, END_DATE, DateRangePickerWithSchema, DSDateRangePicker };\n\nexport default DSDateRangePicker;\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DSDateRangePickerImpl.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { MASK_TYPES, MASK_PIPES, DSFormItemLayout, DSInputMask } from '@elliemae/ds-form';\nimport DSPopper from '@elliemae/ds-popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController.js';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe.js';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nexport default class DSDateRangePickerImpl extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n startDate: props.startDate ? moment(props.startDate) : null,\n endDate: props.endDate ? moment(props.endDate) : null,\n focusedInput: START_DATE,\n showPicker: false,\n startDateError: false,\n endDateError: false,\n };\n }\n\n componentDidMount() {\n document.addEventListener('keydown', this.handleKeyDown, false);\n }\n\n componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown, false);\n }\n\n onDatesChange = ({ startDate, endDate }) => {\n const { onDatesChange } = this.props;\n onDatesChange(startDate, endDate);\n const safe = isMaxDiffSafe(startDate, endDate, this.state.startDate, this.state.endDate);\n if (!safe) {\n this.setState({ showPicker: false });\n }\n this.setState({\n startDate,\n endDate,\n primaryStartInput: false,\n primaryEndInput: false,\n });\n };\n\n onFocusChange = () => {\n this.setState(({ focusedInput }) => ({\n focusedInput: focusedInput === START_DATE ? END_DATE : START_DATE,\n }));\n };\n\n handleKeyDown = (event) => {\n if (event.key === 'Escape') this.setState({ showPicker: false });\n };\n\n getSafeStartInputValue = () => {\n const { startInput, primaryStartInput, startDate } = this.state;\n if (primaryStartInput && startInput) return startInput;\n if (!startDate) return '';\n return startDate.format('MMDDYYYY');\n };\n\n getSafeEndInputValue = () => {\n const { endInput, primaryEndInput, endDate } = this.state;\n if (primaryEndInput && endInput) return endInput;\n if (!endDate) return '';\n return endDate.format('MMDDYYYY');\n };\n\n changeFocus = () => {\n const { disabled } = this.props;\n if (!disabled) {\n this.setState(() => ({ focusedInput: 'startDate' }));\n }\n };\n\n handleChangeStart = (e) => {\n const { onChangeStartInput, isDayBlocked, minimumNights } = this.props;\n const { endDate } = this.state;\n const startInputVal = e.target.value;\n let momentValue = null;\n if (startInputVal && moment(startInputVal, 'MM/DD/YYYY', true).isValid()) {\n momentValue = moment(startInputVal);\n }\n\n const startDateBlocked = isDayBlocked(momentValue);\n\n const isStartDateAcceptable = !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid = endDate && momentValue && endDate?.isValid() && momentValue?.isValid();\n\n const canEndBeSameAsStart = minimumNights === 0;\n const isStartAcceptableWithSelectedEnd =\n !endDate ||\n (areDatesValid &&\n ((canEndBeSameAsStart && momentValue.diff(endDate, 'days') <= 0) ||\n (!canEndBeSameAsStart && momentValue.diff(endDate, 'days') < 0)));\n\n const invalidDate = !isStartDateAcceptable || !isStartAcceptableWithSelectedEnd;\n if (startDateBlocked) momentValue = null;\n onChangeStartInput(momentValue);\n this.setState((prevState: { endDateError: boolean }) => ({\n startDate: momentValue,\n startInput: startInputVal,\n primaryStartInput: true,\n startDateError: invalidDate,\n endDateError:\n !isStartDateAcceptable || !prevState.endDateError ? prevState.endDateError : !isStartAcceptableWithSelectedEnd,\n }));\n };\n\n handleChangeEnd = (e) => {\n const { onChangeEndInput, isDayBlocked, minimumNights } = this.props;\n const { startDate } = this.state;\n const endInputValue = e.target.value;\n let momentValue = null;\n if (endInputValue && moment(endInputValue, 'MM/DD/YYYY', true).isValid()) {\n momentValue = moment(endInputValue);\n }\n const endDateBlocked = isDayBlocked(momentValue);\n\n const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid = startDate && momentValue && startDate?.isValid() && momentValue?.isValid();\n\n const canEndBeSameAsStart = minimumNights === 0;\n const isEndAcceptableWithSelectedStart =\n !startDate || // we can't compare with start date because it's not yet set\n (areDatesValid && // it's set and both are valid\n ((canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0) || // >= is valid\n (!canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0))); // only > is valid\n\n const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;\n\n if (endDateBlocked) momentValue = null;\n onChangeEndInput(momentValue);\n this.setState((prevState: { startDateError: boolean }) => ({\n endDate: momentValue,\n endInput: endInputValue,\n primaryEndInput: true,\n startDateError:\n !isEndDateAcceptable || !prevState.startDateError\n ? prevState.startDateError\n : !isEndAcceptableWithSelectedStart,\n endDateError: invalidDate,\n }));\n };\n\n handleChangeDate = ({ startDate: _start, endDate }) => {\n if (_start && endDate) {\n this.setState({\n startDate: moment(_start),\n endDate,\n primaryStartInput: false,\n primaryEndInput: false,\n });\n } else if (_start) {\n this.setState({ startDate: moment(_start), primaryStartInput: false });\n } else if (endDate) {\n this.setState({ endDate, primaryEndInput: false });\n }\n };\n\n render() {\n const { startDate, endDate, focusedInput, showPicker, startDateError, endDateError } = this.state;\n\n const {\n disabled,\n displayFormatDay,\n minimumNights,\n labelFrom,\n labelTo,\n isDayBlocked,\n isDayHighlighted,\n isOutsideRange,\n enableOutsideDays,\n startDateRequired,\n endDateRequired,\n onOutsideClick,\n onNextMonthClick,\n onPrevMonthClick,\n onClose,\n hasError,\n validationMessage,\n } = this.props;\n\n const inputClass = classNameBlock('inputs', 'range-picker');\n const inputClassModifier = '';\n\n const safeStartInputValue = this.getSafeStartInputValue();\n const safeEndInputValue = this.getSafeEndInputValue();\n\n return (\n <div className={`${inputClass} ${inputClassModifier}`}>\n <div className={classNameBlock('wrapper-input-date-range-picker-controller')}>\n <DSFormItemLayout\n floatingLabel\n inputComponent={DSInputMask}\n labelText={labelFrom}\n mask={MASK_TYPES.DATE}\n onChange={this.handleChangeStart}\n onFocus={() => this.setState({ showPicker: false })}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n value={safeStartInputValue}\n required={startDateRequired}\n hasError={hasError || startDateError}\n placeholder=\"MM/DD/YYYY\"\n />\n <DSFormItemLayout\n floatingLabel\n inputComponent={DSInputMask}\n labelText={labelTo}\n mask={MASK_TYPES.DATE}\n onChange={this.handleChangeEnd}\n onFocus={() => this.setState({ showPicker: false })}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n value={safeEndInputValue}\n required={endDateRequired}\n hasError={hasError || endDateError}\n validationMessage={validationMessage}\n placeholder=\"MM/DD/YYYY\"\n />\n </div>\n <div className={classNameBlock('wrapper-button-date-range-picker-controller')}>\n <DSPopper\n contentComponent={\n <div>\n {showPicker && (\n <DayPickerRangeController\n enableOutsideDays={enableOutsideDays}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n displayFormatDay={displayFormatDay}\n endDate={endDate}\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n minimumNights={minimumNights}\n onDatesChange={this.onDatesChange}\n onFocusChange={this.onFocusChange}\n onOutsideClick={(e) => {\n onOutsideClick(e);\n this.setState({ showPicker: false });\n }}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n startDate={startDate}\n renderMonthElement={renderMonthElement}\n />\n )}\n </div>\n }\n isOpen={showPicker && !startDateError && !endDateError}\n onClose={onClose}\n placement=\"bottom-end\"\n showArrow={false}\n triggerComponent={\n <div onFocus={() => this.setState({ showPicker: true })}>\n <DatePickerPicker\n className={classNameElement('picker')}\n disabled={disabled}\n onClick={() => this.setState({ showPicker: true })}\n />\n {hasError && validationMessage && <div style={{ height: 15 }} />}\n </div>\n }\n />\n </div>\n </div>\n );\n }\n}\n\nDSDateRangePickerImpl.propTypes = {\n startDate: PropTypes.instanceOf(Date, moment),\n endDate: PropTypes.instanceOf(Date, moment),\n onDatesChange: PropTypes.func,\n onChangeStartInput: PropTypes.func,\n onChangeEndInput: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onPrevMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onOutsideClick: PropTypes.func,\n disabled: PropTypes.bool,\n displayFormatDay: PropTypes.string,\n minimumNights: PropTypes.number,\n labelTo: PropTypes.string,\n labelFrom: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n isOutsideRange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n startDateRequired: PropTypes.bool,\n endDateRequired: PropTypes.bool,\n hasError: PropTypes.bool,\n validationMessage: PropTypes.string,\n};\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["React"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerLabel/DatePickerLabel.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nconst Label = ({ className = 'date-picker-label', label = '' }) => (\n <div className={className}>\n <span>{label}</span>\n </div>\n);\n\nexport default Label;\n"],
|
|
5
5
|
"mappings": "AAAA,YAAY,WAAW;ACInB;AAFJ,MAAM,QAAQ,CAAC,EAAE,YAAY,qBAAqB,QAAQ,GAAG,MAC3D,oBAAC,SAAI,WACH,8BAAC,UAAM,iBAAM,GACf;AAGF,IAAO,0BAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerRangeHeader/DatePickerRangeHeader.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-unused-expressions */\n/* eslint-disable no-console */\nimport React, { useState, useEffect } from 'react';\nimport moment from 'moment';\nimport DSInputMask, { DSInputGroup, MASK_TYPES, MASK_PIPES } from '@elliemae/ds-form';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockname = 'date-range-picker';\nconst Header = aggregatedClasses('div')(blockname, 'header');\n\nconst formatDate = (date) => {\n if (date) {\n return date.format('MMDDYYYY');\n }\n};\n\nconst DatePickerRangeHeader = ({\n placeholderStart = 'Start Date',\n placeholderEnd = 'End Date',\n onStartInputChange = () => null,\n onEndInputChange = () => null,\n selectedStartDate,\n selectedEndDate,\n}) => {\n const [startValue, setStartValue] = useState(selectedStartDate ? formatDate(selectedStartDate) : '');\n const [endValue, setEndValue] = useState(selectedEndDate ? formatDate(selectedEndDate) : '');\n\n useEffect(() => {\n const startDate = formatDate(selectedStartDate);\n const endDate = formatDate(selectedEndDate);\n startDate !== startValue && setStartValue(startDate);\n endDate !== endValue && setEndValue(endDate);\n }, [selectedStartDate, selectedEndDate]);\n\n const handleOnChangeStart = (e) => {\n const newStartValue = e.target.value;\n setStartValue(newStartValue);\n };\n\n const handleOnChangeEnd = (e) => {\n const newEndValue = e.target.value;\n setEndValue(newEndValue);\n };\n\n const handleOnBlurStart = (e) => {\n const newStartValue = e.target.value;\n onStartInputChange(moment(newStartValue));\n };\n\n const handleOnBlurEnd = (e) => {\n const newEndValue = e.target.value;\n onEndInputChange(moment(newEndValue));\n };\n\n const handleOnKeyDownStart = (e) => {\n if (e.key === 'Enter') {\n const newValue = e.target.value;\n onStartInputChange(moment(newValue));\n e.target.blur();\n }\n };\n\n const handleOnKeyDownEnd = (e) => {\n if (e.key === 'Enter') {\n const newValue = e.target.value;\n onEndInputChange(moment(newValue));\n e.target.blur();\n }\n };\n\n return (\n <Header>\n <DSInputGroup>\n <DSInputMask\n aria-label={placeholderStart || 'Date Picker Input Mask'}\n mask={MASK_TYPES.DATE}\n onBlur={handleOnBlurStart}\n onChange={handleOnChangeStart}\n onKeyDown={handleOnKeyDownStart}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n placeholder={placeholderStart}\n value={startValue}\n />\n <DSInputMask\n aria-label={placeholderEnd || 'Date Picker Input Mask'}\n mask={MASK_TYPES.DATE}\n onBlur={handleOnBlurEnd}\n onChange={handleOnChangeEnd}\n onKeyDown={handleOnKeyDownEnd}\n pipe={MASK_PIPES.AUTO_CORRECT_DATE}\n placeholder={placeholderEnd}\n value={endValue}\n />\n </DSInputGroup>\n </Header>\n );\n};\n\nexport default DatePickerRangeHeader;\n"],
|
|
5
5
|
"mappings": "AAAA,YAAY,WAAW;ACwEjB,SACE,KADF;AAtEN,SAAgB,UAAU,iBAAiB;AAC3C,OAAO,YAAY;AACnB,OAAO,eAAe,cAAc,YAAY,kBAAkB;AAClE,SAAS,yBAAyB;AAElC,MAAM,YAAY;AAClB,MAAM,SAAS,kBAAkB,KAAK,EAAE,WAAW,QAAQ;AAE3D,MAAM,aAAa,CAAC,SAAS;AAC3B,MAAI,MAAM;AACR,WAAO,KAAK,OAAO,UAAU;AAAA,EAC/B;AACF;AAEA,MAAM,wBAAwB,CAAC;AAAA,EAC7B,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,qBAAqB,MAAM;AAAA,EAC3B,mBAAmB,MAAM;AAAA,EACzB;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,oBAAoB,WAAW,iBAAiB,IAAI,EAAE;AACnG,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,kBAAkB,WAAW,eAAe,IAAI,EAAE;AAE3F,YAAU,MAAM;AACd,UAAM,YAAY,WAAW,iBAAiB;AAC9C,UAAM,UAAU,WAAW,eAAe;AAC1C,kBAAc,cAAc,cAAc,SAAS;AACnD,gBAAY,YAAY,YAAY,OAAO;AAAA,EAC7C,GAAG,CAAC,mBAAmB,eAAe,CAAC;AAEvC,QAAM,sBAAsB,CAAC,MAAM;AACjC,UAAM,gBAAgB,EAAE,OAAO;AAC/B,kBAAc,aAAa;AAAA,EAC7B;AAEA,QAAM,oBAAoB,CAAC,MAAM;AAC/B,UAAM,cAAc,EAAE,OAAO;AAC7B,gBAAY,WAAW;AAAA,EACzB;AAEA,QAAM,oBAAoB,CAAC,MAAM;AAC/B,UAAM,gBAAgB,EAAE,OAAO;AAC/B,uBAAmB,OAAO,aAAa,CAAC;AAAA,EAC1C;AAEA,QAAM,kBAAkB,CAAC,MAAM;AAC7B,UAAM,cAAc,EAAE,OAAO;AAC7B,qBAAiB,OAAO,WAAW,CAAC;AAAA,EACtC;AAEA,QAAM,uBAAuB,CAAC,MAAM;AAClC,QAAI,EAAE,QAAQ,SAAS;AACrB,YAAM,WAAW,EAAE,OAAO;AAC1B,yBAAmB,OAAO,QAAQ,CAAC;AACnC,QAAE,OAAO,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,qBAAqB,CAAC,MAAM;AAChC,QAAI,EAAE,QAAQ,SAAS;AACrB,YAAM,WAAW,EAAE,OAAO;AAC1B,uBAAiB,OAAO,QAAQ,CAAC;AACjC,QAAE,OAAO,KAAK;AAAA,IAChB;AAAA,EACF;AAEA,SACE,oBAAC,UACC,+BAAC,gBACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,cAAY,oBAAoB;AAAA,QAChC,MAAM,WAAW;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,MAAM,WAAW;AAAA,QACjB,aAAa;AAAA,QACb,OAAO;AAAA;AAAA,IACT;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,cAAY,kBAAkB;AAAA,QAC9B,MAAM,WAAW;AAAA,QACjB,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,WAAW;AAAA,QACX,MAAM,WAAW;AAAA,QACjB,aAAa;AAAA,QACb,OAAO;AAAA;AAAA,IACT;AAAA,KACF,GACF;AAEJ;AAEA,IAAO,gCAAQ;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DayPickerRangeController.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\nimport React, { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { DayPickerRangeController as RDRangeController } from 'react-dates';\nimport { DatePickerDay, DatePickerNavigation, renderMonthElement } from '@elliemae/ds-date-picker';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker-range');\n\nconst DayPickerRangeController = ({\n endDate = undefined,\n startDate = undefined,\n displayFormatDay = 'D',\n focusedInput = undefined,\n enableOutsideDays = false,\n onDatesChange = () => null,\n onFocusChange = () => null,\n onOutsideClick = () => null,\n isDayBlocked = () => null,\n isDayHighlighted = () => null,\n isOutsideRange = () => null,\n onNextMonthClick = () => null,\n onPrevMonthClick = () => null,\n ...otherProps\n}) => {\n const datePickerRef = useRef();\n\n useEffect(() => {\n const handleMouseUp = () => {\n const focusedElement = document.activeElement;\n\n focusedElement.blur();\n };\n const handleKeyDown = (event) => {\n const [firstDay, ...restOfDays] = document\n .getElementsByClassName('CalendarMonthGrid_month__horizontal')[1]\n .getElementsByClassName('CalendarDay');\n const [lastDay] = restOfDays.slice(-1);\n const focusedElement = document.activeElement;\n const [prev, next] = document.getElementsByClassName('DayPickerNavigation_button');\n\n switch (event.key) {\n case 'Home':\n event.stopPropagation();\n firstDay.focus();\n break;\n case 'End':\n event.stopPropagation();\n lastDay.focus();\n break;\n case 'Enter':\n case ' ':\n if (focusedElement === prev) {\n event.stopPropagation();\n setTimeout(() => {\n prev.focus();\n }, 240);\n } else if (focusedElement === next) {\n event.stopPropagation();\n setTimeout(() => {\n next?.focus();\n }, 240);\n }\n break;\n case 'Tab':\n if (firstDay === focusedElement || restOfDays.includes(focusedElement)) {\n event.preventDefault();\n prev.focus();\n }\n break;\n default:\n break;\n }\n };\n\n datePickerRef.current.addEventListener('mouseup', handleMouseUp, false);\n\n datePickerRef.current.addEventListener('keydown', handleKeyDown, false);\n\n return () => {\n if (datePickerRef.current) {\n datePickerRef.current.removeEventListener('mouseup', handleMouseUp, false);\n\n datePickerRef.current.removeEventListener('keydown', handleKeyDown, false);\n }\n };\n }, []);\n\n return (\n <div\n ref={datePickerRef}\n className={classNameBlock('wrapper-day-picker-single-date-controller')}\n data-testid={otherProps['data-testid'] || 'date-range-picker-controller'}\n >\n <RDRangeController\n {...otherProps}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n enableOutsideDays={enableOutsideDays}\n endDate={endDate}\n focused\n focusedInput={focusedInput}\n hideKeyboardShortcutsPanel\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={<DatePickerNavigation className={classNameElement('navigation-prev')} icon={ChevronLeft} />}\n onDatesChange={onDatesChange}\n onFocusChange={onFocusChange}\n onOutsideClick={onOutsideClick}\n onNextMonthClick={onNextMonthClick}\n onPrevMonthClick={onPrevMonthClick}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n renderMonthElement={renderMonthElement}\n startDate={startDate}\n />\n </div>\n );\n};\n\nDayPickerRangeController.propTypes = {\n endDate: PropTypes.instanceOf(Date, moment),\n startDate: PropTypes.instanceOf(Date, moment),\n displayFormatDay: PropTypes.string,\n focusedInput: PropTypes.bool,\n onDatesChange: PropTypes.func,\n onFocusChange: PropTypes.func,\n onOutsideClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onPrevMonthClick: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n isDayBlocked: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n isOutsideRange: PropTypes.func,\n};\n\nexport default DayPickerRangeController;\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default } from './DSDateRangePicker.js';\nexport * from './DSDateRangePicker.js';\n"],
|
|
5
5
|
"mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAAA,gBAAe;AACxB,cAAc;",
|
|
6
6
|
"names": ["default"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/isMaxDiffSafe.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nexport const MAX_YEARS_DIFF = 150;\n// https://jira.elliemae.io/browse/PUI-4145\nexport const isMaxDiffSafe = (startDate, endDate, prevStart, prevEnd) => {\n try {\n const diff = Math.abs(endDate.diff(startDate, 'years'));\n const diffStart = Math.abs(startDate.diff(prevStart, 'years'));\n const diffEnd = Math.abs(endDate.diff(prevEnd, 'years'));\n return diff < MAX_YEARS_DIFF && diffStart < MAX_YEARS_DIFF && diffEnd < MAX_YEARS_DIFF;\n } catch (error) {\n return true;\n }\n};\n"],
|
|
5
5
|
"mappings": "AAAA,YAAY,WAAW;ACChB,MAAM,iBAAiB;AAEvB,MAAM,gBAAgB,CAAC,WAAW,SAAS,WAAW,YAAY;AACvE,MAAI;AACF,UAAM,OAAO,KAAK,IAAI,QAAQ,KAAK,WAAW,OAAO,CAAC;AACtD,UAAM,YAAY,KAAK,IAAI,UAAU,KAAK,WAAW,OAAO,CAAC;AAC7D,UAAM,UAAU,KAAK,IAAI,QAAQ,KAAK,SAAS,OAAO,CAAC;AACvD,WAAO,OAAO,kBAAkB,YAAY,kBAAkB,UAAU;AAAA,EAC1E,SAAS,OAAP;AACA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-date-range-picker",
|
|
3
|
-
"version": "3.22.0-
|
|
3
|
+
"version": "3.22.0-rc.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Date Range Picker",
|
|
6
6
|
"files": [
|
|
@@ -62,17 +62,22 @@
|
|
|
62
62
|
"moment": "~2.29.4",
|
|
63
63
|
"prop-types": "~15.8.1",
|
|
64
64
|
"react-dates": "~21.8.0",
|
|
65
|
-
"@elliemae/ds-classnames": "3.22.0-
|
|
66
|
-
"@elliemae/ds-
|
|
67
|
-
"@elliemae/ds-
|
|
68
|
-
"@elliemae/ds-
|
|
69
|
-
"@elliemae/ds-
|
|
70
|
-
"@elliemae/ds-
|
|
71
|
-
"@elliemae/ds-
|
|
65
|
+
"@elliemae/ds-classnames": "3.22.0-rc.0",
|
|
66
|
+
"@elliemae/ds-date-picker": "3.22.0-rc.0",
|
|
67
|
+
"@elliemae/ds-form": "3.22.0-rc.0",
|
|
68
|
+
"@elliemae/ds-icons": "3.22.0-rc.0",
|
|
69
|
+
"@elliemae/ds-popper": "3.22.0-rc.0",
|
|
70
|
+
"@elliemae/ds-props-helpers": "3.22.0-rc.0",
|
|
71
|
+
"@elliemae/ds-utilities": "3.22.0-rc.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
|
-
"@elliemae/pui-cli": "~9.0.0-next.
|
|
75
|
-
"@
|
|
74
|
+
"@elliemae/pui-cli": "~9.0.0-next.22",
|
|
75
|
+
"@testing-library/jest-dom": "~5.16.5",
|
|
76
|
+
"@testing-library/react": "~12.1.3",
|
|
77
|
+
"@testing-library/user-event": "~13.5.0",
|
|
78
|
+
"jest-axe": "^7.0.1",
|
|
79
|
+
"styled-components": "~5.3.9",
|
|
80
|
+
"@elliemae/ds-monorepo-devops": "3.22.0-rc.0"
|
|
76
81
|
},
|
|
77
82
|
"peerDependencies": {
|
|
78
83
|
"lodash": "^4.17.21",
|
|
@@ -84,14 +89,14 @@
|
|
|
84
89
|
"typeSafety": false
|
|
85
90
|
},
|
|
86
91
|
"scripts": {
|
|
87
|
-
"dev": "cross-env NODE_ENV=development node
|
|
92
|
+
"dev": "cross-env NODE_ENV=development node ../../../scripts/build/build.mjs --watch",
|
|
88
93
|
"test": "pui-cli test --passWithNoTests",
|
|
89
|
-
"lint": "node
|
|
94
|
+
"lint": "node ../../../scripts/lint.mjs",
|
|
90
95
|
"eslint:fix": "exit 0 | echo",
|
|
91
96
|
"dts": "exit 0 | echo",
|
|
92
|
-
"build": "cross-env NODE_ENV=production node
|
|
97
|
+
"build": "cross-env NODE_ENV=production node ../../../scripts/build/build.mjs",
|
|
93
98
|
"dev:build": "pnpm --filter {.}... build",
|
|
94
99
|
"dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
|
|
95
|
-
"checkDeps": "npm exec
|
|
100
|
+
"checkDeps": "npm exec ../../util/ds-codemods -- check-missing-packages --projectFolderPath=\"./\" --ignorePackagesGlobPattern=\"\" --ignoreFilesGlobPattern=\"**/test-ables/*,**/tests/*\""
|
|
96
101
|
}
|
|
97
102
|
}
|