@elliemae/ds-date-range-picker 1.55.0 → 1.56.0-rc.2

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.
@@ -186,7 +186,10 @@ var DSDateRangePickerImpl = /*#__PURE__*/function (_React$Component) {
186
186
  var isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';
187
187
  var areDatesValid = startDate && momentValue && (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && ((_momentValue2 = momentValue) === null || _momentValue2 === void 0 ? void 0 : _momentValue2.isValid());
188
188
  var canEndBeSameAsStart = minimumNights === 0;
189
- var isEndAcceptableWithSelectedStart = !startDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
189
+ var isEndAcceptableWithSelectedStart = !startDate || // we can't compare with start date because it's not yet set
190
+ areDatesValid && ( // it's set and both are valid
191
+ canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || // >= is valid
192
+ !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
190
193
 
191
194
  var invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
192
195
  if (endDateBlocked) momentValue = null;
@@ -1 +1 @@
1
- {"version":3,"file":"DSDateRangePickerImpl.js","sources":["../../../src/components/DSDateRangePickerImpl.tsx"],"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 DSInputMask, {\n MASK_TYPES,\n MASK_PIPES,\n} from '@elliemae/ds-basic/form/InputMask';\nimport DSFormItemLayout from '@elliemae/ds-basic/form/FormItem';\nimport DSPopper from '@elliemae/ds-basic/Popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName(\n 'datepicker',\n);\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(\n startDate,\n endDate,\n this.state.startDate,\n this.state.endDate,\n );\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 =\n !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid =\n 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 =\n !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\n ? prevState.endDateError\n : !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 =\n !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid =\n startDate &&\n momentValue &&\n startDate?.isValid() &&\n 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 =\n !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 {\n startDate,\n endDate,\n focusedInput,\n showPicker,\n startDateError,\n endDateError,\n } = 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\n className={classNameBlock(\n 'wrapper-input-date-range-picker-controller',\n )}\n >\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\n className={classNameBlock(\n 'wrapper-button-date-range-picker-controller',\n )}\n >\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 && (\n <div style={{ height: 15 }} />\n )}\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"],"names":["START_DATE","END_DATE","convertPropToCssClassName","classNameElement","classNameBlock","DSDateRangePickerImpl","props","startDate","endDate","onDatesChange","safe","isMaxDiffSafe","state","setState","showPicker","primaryStartInput","primaryEndInput","focusedInput","event","key","startInput","format","endInput","disabled","e","onChangeStartInput","isDayBlocked","minimumNights","startInputVal","target","value","momentValue","moment","isValid","startDateBlocked","isStartDateAcceptable","areDatesValid","canEndBeSameAsStart","isStartAcceptableWithSelectedEnd","diff","invalidDate","prevState","startDateError","endDateError","onChangeEndInput","endInputValue","endDateBlocked","isEndDateAcceptable","isEndAcceptableWithSelectedStart","_start","document","addEventListener","handleKeyDown","removeEventListener","displayFormatDay","labelFrom","labelTo","isDayHighlighted","isOutsideRange","enableOutsideDays","startDateRequired","endDateRequired","onOutsideClick","onNextMonthClick","onPrevMonthClick","onClose","hasError","validationMessage","inputClass","inputClassModifier","safeStartInputValue","getSafeStartInputValue","safeEndInputValue","getSafeEndInputValue","React","DSFormItemLayout","DSInputMask","MASK_TYPES","DATE","handleChangeStart","MASK_PIPES","AUTO_CORRECT_DATE","handleChangeEnd","DSPopper","DayPickerRangeController","onFocusChange","renderMonthElement","DatePickerPicker","height","Component","propTypes","PropTypes","instanceOf","Date","func","bool","string","number"],"mappings":"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"}
1
+ {"version":3,"file":"DSDateRangePickerImpl.js","sources":["../../../src/components/DSDateRangePickerImpl.tsx"],"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 DSInputMask, {\n MASK_TYPES,\n MASK_PIPES,\n} from '@elliemae/ds-basic/form/InputMask';\nimport DSFormItemLayout from '@elliemae/ds-basic/form/FormItem';\nimport DSPopper from '@elliemae/ds-basic/Popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName(\n 'datepicker',\n);\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(\n startDate,\n endDate,\n this.state.startDate,\n this.state.endDate,\n );\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 =\n !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid =\n 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 =\n !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\n ? prevState.endDateError\n : !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 =\n !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid =\n startDate &&\n momentValue &&\n startDate?.isValid() &&\n 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 =\n !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 {\n startDate,\n endDate,\n focusedInput,\n showPicker,\n startDateError,\n endDateError,\n } = 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\n className={classNameBlock(\n 'wrapper-input-date-range-picker-controller',\n )}\n >\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\n className={classNameBlock(\n 'wrapper-button-date-range-picker-controller',\n )}\n >\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 && (\n <div style={{ height: 15 }} />\n )}\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"],"names":["START_DATE","END_DATE","convertPropToCssClassName","classNameElement","classNameBlock","DSDateRangePickerImpl","props","startDate","endDate","onDatesChange","safe","isMaxDiffSafe","state","setState","showPicker","primaryStartInput","primaryEndInput","focusedInput","event","key","startInput","format","endInput","disabled","e","onChangeStartInput","isDayBlocked","minimumNights","startInputVal","target","value","momentValue","moment","isValid","startDateBlocked","isStartDateAcceptable","areDatesValid","canEndBeSameAsStart","isStartAcceptableWithSelectedEnd","diff","invalidDate","prevState","startDateError","endDateError","onChangeEndInput","endInputValue","endDateBlocked","isEndDateAcceptable","isEndAcceptableWithSelectedStart","_start","document","addEventListener","handleKeyDown","removeEventListener","displayFormatDay","labelFrom","labelTo","isDayHighlighted","isOutsideRange","enableOutsideDays","startDateRequired","endDateRequired","onOutsideClick","onNextMonthClick","onPrevMonthClick","onClose","hasError","validationMessage","inputClass","inputClassModifier","safeStartInputValue","getSafeStartInputValue","safeEndInputValue","getSafeEndInputValue","React","DSFormItemLayout","DSInputMask","MASK_TYPES","DATE","handleChangeStart","MASK_PIPES","AUTO_CORRECT_DATE","handleChangeEnd","DSPopper","DayPickerRangeController","onFocusChange","renderMonthElement","DatePickerPicker","height","Component","propTypes","PropTypes","instanceOf","Date","func","bool","string","number"],"mappings":"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"}
@@ -166,7 +166,10 @@ var DSDateRangePickerImpl = /*#__PURE__*/function (_React$Component) {
166
166
  var isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';
167
167
  var areDatesValid = startDate && momentValue && (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && ((_momentValue2 = momentValue) === null || _momentValue2 === void 0 ? void 0 : _momentValue2.isValid());
168
168
  var canEndBeSameAsStart = minimumNights === 0;
169
- var isEndAcceptableWithSelectedStart = !startDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
169
+ var isEndAcceptableWithSelectedStart = !startDate || // we can't compare with start date because it's not yet set
170
+ areDatesValid && ( // it's set and both are valid
171
+ canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || // >= is valid
172
+ !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
170
173
 
171
174
  var invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
172
175
  if (endDateBlocked) momentValue = null;
@@ -1 +1 @@
1
- {"version":3,"file":"DSDateRangePickerImpl.js","sources":["../../../src/components/DSDateRangePickerImpl.tsx"],"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 DSInputMask, {\n MASK_TYPES,\n MASK_PIPES,\n} from '@elliemae/ds-basic/form/InputMask';\nimport DSFormItemLayout from '@elliemae/ds-basic/form/FormItem';\nimport DSPopper from '@elliemae/ds-basic/Popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName(\n 'datepicker',\n);\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(\n startDate,\n endDate,\n this.state.startDate,\n this.state.endDate,\n );\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 =\n !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid =\n 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 =\n !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\n ? prevState.endDateError\n : !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 =\n !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid =\n startDate &&\n momentValue &&\n startDate?.isValid() &&\n 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 =\n !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 {\n startDate,\n endDate,\n focusedInput,\n showPicker,\n startDateError,\n endDateError,\n } = 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\n className={classNameBlock(\n 'wrapper-input-date-range-picker-controller',\n )}\n >\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\n className={classNameBlock(\n 'wrapper-button-date-range-picker-controller',\n )}\n >\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 && (\n <div style={{ height: 15 }} />\n )}\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"],"names":["START_DATE","END_DATE","convertPropToCssClassName","classNameElement","classNameBlock","DSDateRangePickerImpl","props","startDate","endDate","onDatesChange","safe","isMaxDiffSafe","state","setState","showPicker","primaryStartInput","primaryEndInput","focusedInput","event","key","startInput","format","endInput","disabled","e","onChangeStartInput","isDayBlocked","minimumNights","startInputVal","target","value","momentValue","moment","isValid","startDateBlocked","isStartDateAcceptable","areDatesValid","canEndBeSameAsStart","isStartAcceptableWithSelectedEnd","diff","invalidDate","prevState","startDateError","endDateError","onChangeEndInput","endInputValue","endDateBlocked","isEndDateAcceptable","isEndAcceptableWithSelectedStart","_start","document","addEventListener","handleKeyDown","removeEventListener","displayFormatDay","labelFrom","labelTo","isDayHighlighted","isOutsideRange","enableOutsideDays","startDateRequired","endDateRequired","onOutsideClick","onNextMonthClick","onPrevMonthClick","onClose","hasError","validationMessage","inputClass","inputClassModifier","safeStartInputValue","getSafeStartInputValue","safeEndInputValue","getSafeEndInputValue","DSInputMask","MASK_TYPES","DATE","handleChangeStart","MASK_PIPES","AUTO_CORRECT_DATE","handleChangeEnd","onFocusChange","renderMonthElement","height","React","Component","propTypes","PropTypes","instanceOf","Date","func","bool","string","number"],"mappings":"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"}
1
+ {"version":3,"file":"DSDateRangePickerImpl.js","sources":["../../../src/components/DSDateRangePickerImpl.tsx"],"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 DSInputMask, {\n MASK_TYPES,\n MASK_PIPES,\n} from '@elliemae/ds-basic/form/InputMask';\nimport DSFormItemLayout from '@elliemae/ds-basic/form/FormItem';\nimport DSPopper from '@elliemae/ds-basic/Popper';\nimport { DatePickerPicker, renderMonthElement } from '@elliemae/ds-date-picker';\nimport DayPickerRangeController from './DayPickerRangeController';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\n\nexport const START_DATE = 'startDate';\nexport const END_DATE = 'endDate';\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName(\n 'datepicker',\n);\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(\n startDate,\n endDate,\n this.state.startDate,\n this.state.endDate,\n );\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 =\n !startDateBlocked && momentValue && startInputVal !== '';\n const areDatesValid =\n 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 =\n !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\n ? prevState.endDateError\n : !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 =\n !endDateBlocked && momentValue && endInputValue !== '';\n const areDatesValid =\n startDate &&\n momentValue &&\n startDate?.isValid() &&\n 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 =\n !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 {\n startDate,\n endDate,\n focusedInput,\n showPicker,\n startDateError,\n endDateError,\n } = 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\n className={classNameBlock(\n 'wrapper-input-date-range-picker-controller',\n )}\n >\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\n className={classNameBlock(\n 'wrapper-button-date-range-picker-controller',\n )}\n >\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 && (\n <div style={{ height: 15 }} />\n )}\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"],"names":["START_DATE","END_DATE","convertPropToCssClassName","classNameElement","classNameBlock","DSDateRangePickerImpl","props","startDate","endDate","onDatesChange","safe","isMaxDiffSafe","state","setState","showPicker","primaryStartInput","primaryEndInput","focusedInput","event","key","startInput","format","endInput","disabled","e","onChangeStartInput","isDayBlocked","minimumNights","startInputVal","target","value","momentValue","moment","isValid","startDateBlocked","isStartDateAcceptable","areDatesValid","canEndBeSameAsStart","isStartAcceptableWithSelectedEnd","diff","invalidDate","prevState","startDateError","endDateError","onChangeEndInput","endInputValue","endDateBlocked","isEndDateAcceptable","isEndAcceptableWithSelectedStart","_start","document","addEventListener","handleKeyDown","removeEventListener","displayFormatDay","labelFrom","labelTo","isDayHighlighted","isOutsideRange","enableOutsideDays","startDateRequired","endDateRequired","onOutsideClick","onNextMonthClick","onPrevMonthClick","onClose","hasError","validationMessage","inputClass","inputClassModifier","safeStartInputValue","getSafeStartInputValue","safeEndInputValue","getSafeEndInputValue","DSInputMask","MASK_TYPES","DATE","handleChangeStart","MASK_PIPES","AUTO_CORRECT_DATE","handleChangeEnd","onFocusChange","renderMonthElement","height","React","Component","propTypes","PropTypes","instanceOf","Date","func","bool","string","number"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-date-range-picker",
3
- "version": "1.55.0",
3
+ "version": "1.56.0-rc.2",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Date Range Picker",
6
6
  "main": "cjs/index.js",
@@ -16,10 +16,10 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-basic": "1.55.0",
20
- "@elliemae/ds-classnames": "1.55.0",
21
- "@elliemae/ds-date-picker": "1.55.0",
22
- "@elliemae/ds-icons": "1.55.0",
19
+ "@elliemae/ds-basic": "1.56.0-rc.2",
20
+ "@elliemae/ds-classnames": "1.56.0-rc.2",
21
+ "@elliemae/ds-date-picker": "1.56.0-rc.2",
22
+ "@elliemae/ds-icons": "1.56.0-rc.2",
23
23
  "moment": "~2.29.1",
24
24
  "prop-types": "~15.7.2",
25
25
  "react-dates": "~21.8.0",