@elliemae/ds-date-range-picker 3.16.0 → 3.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DSDateRangePicker.js +8 -4
- package/dist/cjs/DSDateRangePicker.js.map +2 -2
- package/dist/cjs/components/DSDateRangePickerImpl.js +10 -3
- package/dist/cjs/components/DSDateRangePickerImpl.js.map +2 -2
- package/dist/cjs/components/DatePickerLabel/DatePickerLabel.js +4 -0
- package/dist/cjs/components/DatePickerLabel/DatePickerLabel.js.map +1 -1
- package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +4 -0
- package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +1 -1
- package/dist/cjs/components/DayPickerRangeController.js +4 -0
- package/dist/cjs/components/DayPickerRangeController.js.map +1 -1
- package/dist/cjs/index.js +6 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/isMaxDiffSafe.js +4 -0
- package/dist/cjs/isMaxDiffSafe.js.map +1 -1
- package/dist/cjs/package.json +7 -0
- package/dist/esm/DSDateRangePicker.js +4 -4
- package/dist/esm/DSDateRangePicker.js.map +1 -1
- package/dist/esm/components/DSDateRangePickerImpl.js +6 -3
- package/dist/esm/components/DSDateRangePickerImpl.js.map +2 -2
- package/dist/esm/components/DayPickerRangeController.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/package.json +7 -0
- package/package.json +11 -11
- package/dist/types/DSDateRangePicker.d.ts +0 -132
- package/dist/types/components/DSDateRangePickerImpl.d.ts +0 -24
- package/dist/types/components/DatePickerLabel/DatePickerLabel.d.ts +0 -5
- package/dist/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +0 -9
- package/dist/types/components/DayPickerRangeController.d.ts +0 -35
- package/dist/types/index.d.ts +0 -2
- package/dist/types/isMaxDiffSafe.d.ts +0 -2
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -38,10 +42,10 @@ var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
|
38
42
|
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
39
43
|
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
40
44
|
var import_moment = __toESM(require("moment"));
|
|
41
|
-
var import_initialize = require("react-dates/initialize");
|
|
42
|
-
var import_defaultPhrases = require("react-dates/lib/defaultPhrases");
|
|
43
|
-
var import_DayPickerRangeController = __toESM(require("./components/DayPickerRangeController"));
|
|
44
|
-
var import_DSDateRangePickerImpl = __toESM(require("./components/DSDateRangePickerImpl"));
|
|
45
|
+
var import_initialize = require("react-dates/initialize.js");
|
|
46
|
+
var import_defaultPhrases = require("react-dates/lib/defaultPhrases.js");
|
|
47
|
+
var import_DayPickerRangeController = __toESM(require("./components/DayPickerRangeController.js"));
|
|
48
|
+
var import_DSDateRangePickerImpl = __toESM(require("./components/DSDateRangePickerImpl.js"));
|
|
45
49
|
const DSDateRangePicker = ({
|
|
46
50
|
containerProps = {},
|
|
47
51
|
className = "",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSDateRangePicker.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
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';\nimport { DateRangePickerPhrases } from 'react-dates/lib/defaultPhrases';\nimport DayPickerRangeController from './components/DayPickerRangeController';\nimport DSDateRangePickerImpl, { START_DATE, END_DATE } from './components/DSDateRangePickerImpl';\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
|
-
"mappings": "
|
|
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
|
+
"mappings": "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",
|
|
6
6
|
"names": ["DayPickerRangeController", "moment", "DSDateRangePickerImpl"]
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -38,8 +42,8 @@ var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
|
38
42
|
var import_ds_form = require("@elliemae/ds-form");
|
|
39
43
|
var import_ds_popper = __toESM(require("@elliemae/ds-popper"));
|
|
40
44
|
var import_ds_date_picker = require("@elliemae/ds-date-picker");
|
|
41
|
-
var import_DayPickerRangeController = __toESM(require("./DayPickerRangeController"));
|
|
42
|
-
var import_isMaxDiffSafe = require("../isMaxDiffSafe");
|
|
45
|
+
var import_DayPickerRangeController = __toESM(require("./DayPickerRangeController.js"));
|
|
46
|
+
var import_isMaxDiffSafe = require("../isMaxDiffSafe.js");
|
|
43
47
|
const START_DATE = "startDate";
|
|
44
48
|
const END_DATE = "endDate";
|
|
45
49
|
const { classNameElement, classNameBlock } = (0, import_ds_classnames.convertPropToCssClassName)("datepicker");
|
|
@@ -128,7 +132,10 @@ class DSDateRangePickerImpl extends import_react.default.Component {
|
|
|
128
132
|
const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== "";
|
|
129
133
|
const areDatesValid = startDate && momentValue && startDate?.isValid() && momentValue?.isValid();
|
|
130
134
|
const canEndBeSameAsStart = minimumNights === 0;
|
|
131
|
-
const isEndAcceptableWithSelectedStart = !startDate ||
|
|
135
|
+
const isEndAcceptableWithSelectedStart = !startDate || // we can't compare with start date because it's not yet set
|
|
136
|
+
areDatesValid && // it's set and both are valid
|
|
137
|
+
(canEndBeSameAsStart && momentValue.diff(startDate, "days") >= 0 || // >= is valid
|
|
138
|
+
!canEndBeSameAsStart && momentValue.diff(startDate, "days") > 0);
|
|
132
139
|
const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
|
|
133
140
|
if (endDateBlocked)
|
|
134
141
|
momentValue = null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/DSDateRangePickerImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
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';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\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
|
-
"mappings": "
|
|
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
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "moment", "DSPopper", "DayPickerRangeController", "PropTypes"]
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
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
|
-
"mappings": "
|
|
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": []
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
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
|
-
"mappings": "
|
|
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"]
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
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
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["RDRangeController", "PropTypes", "moment"]
|
|
7
7
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -19,6 +19,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
19
|
};
|
|
20
20
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
21
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
22
26
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
27
|
mod
|
|
24
28
|
));
|
|
@@ -29,6 +33,6 @@ __export(src_exports, {
|
|
|
29
33
|
});
|
|
30
34
|
module.exports = __toCommonJS(src_exports);
|
|
31
35
|
var React = __toESM(require("react"));
|
|
32
|
-
var import_DSDateRangePicker = __toESM(require("./DSDateRangePicker"));
|
|
33
|
-
__reExport(src_exports, require("./DSDateRangePicker"), module.exports);
|
|
36
|
+
var import_DSDateRangePicker = __toESM(require("./DSDateRangePicker.js"));
|
|
37
|
+
__reExport(src_exports, require("./DSDateRangePicker.js"), module.exports);
|
|
34
38
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export { default } from './DSDateRangePicker';\nexport * from './DSDateRangePicker';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["export { default } from './DSDateRangePicker.js';\nexport * from './DSDateRangePicker.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,+BAAwB;AACxB,wBAAc,mCADd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
25
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
26
|
mod
|
|
23
27
|
));
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
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
|
-
"mappings": "
|
|
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": []
|
|
7
7
|
}
|
|
@@ -4,10 +4,10 @@ import { useDeprecateComponent } from "@elliemae/ds-utilities";
|
|
|
4
4
|
import { PropTypes, describe } from "@elliemae/ds-props-helpers";
|
|
5
5
|
import { convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
6
6
|
import moment from "moment";
|
|
7
|
-
import "react-dates/initialize";
|
|
8
|
-
import { DateRangePickerPhrases } from "react-dates/lib/defaultPhrases";
|
|
9
|
-
import DayPickerRangeController from "./components/DayPickerRangeController";
|
|
10
|
-
import DSDateRangePickerImpl, { START_DATE, END_DATE } from "./components/DSDateRangePickerImpl";
|
|
7
|
+
import "react-dates/initialize.js";
|
|
8
|
+
import { DateRangePickerPhrases } from "react-dates/lib/defaultPhrases.js";
|
|
9
|
+
import DayPickerRangeController from "./components/DayPickerRangeController.js";
|
|
10
|
+
import DSDateRangePickerImpl, { START_DATE, END_DATE } from "./components/DSDateRangePickerImpl.js";
|
|
11
11
|
const DSDateRangePicker = ({
|
|
12
12
|
containerProps = {},
|
|
13
13
|
className = "",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSDateRangePicker.tsx"],
|
|
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';\nimport { DateRangePickerPhrases } from 'react-dates/lib/defaultPhrases';\nimport DayPickerRangeController from './components/DayPickerRangeController';\nimport DSDateRangePickerImpl, { START_DATE, END_DATE } from './components/DSDateRangePickerImpl';\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"],
|
|
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": []
|
|
7
7
|
}
|
|
@@ -7,8 +7,8 @@ import { convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
|
7
7
|
import { MASK_TYPES, MASK_PIPES, DSFormItemLayout, DSInputMask } from "@elliemae/ds-form";
|
|
8
8
|
import DSPopper from "@elliemae/ds-popper";
|
|
9
9
|
import { DatePickerPicker, renderMonthElement } from "@elliemae/ds-date-picker";
|
|
10
|
-
import DayPickerRangeController from "./DayPickerRangeController";
|
|
11
|
-
import { isMaxDiffSafe } from "../isMaxDiffSafe";
|
|
10
|
+
import DayPickerRangeController from "./DayPickerRangeController.js";
|
|
11
|
+
import { isMaxDiffSafe } from "../isMaxDiffSafe.js";
|
|
12
12
|
const START_DATE = "startDate";
|
|
13
13
|
const END_DATE = "endDate";
|
|
14
14
|
const { classNameElement, classNameBlock } = convertPropToCssClassName("datepicker");
|
|
@@ -97,7 +97,10 @@ class DSDateRangePickerImpl extends React2.Component {
|
|
|
97
97
|
const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== "";
|
|
98
98
|
const areDatesValid = startDate && momentValue && startDate?.isValid() && momentValue?.isValid();
|
|
99
99
|
const canEndBeSameAsStart = minimumNights === 0;
|
|
100
|
-
const isEndAcceptableWithSelectedStart = !startDate ||
|
|
100
|
+
const isEndAcceptableWithSelectedStart = !startDate || // we can't compare with start date because it's not yet set
|
|
101
|
+
areDatesValid && // it's set and both are valid
|
|
102
|
+
(canEndBeSameAsStart && momentValue.diff(startDate, "days") >= 0 || // >= is valid
|
|
103
|
+
!canEndBeSameAsStart && momentValue.diff(startDate, "days") > 0);
|
|
101
104
|
const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
|
|
102
105
|
if (endDateBlocked)
|
|
103
106
|
momentValue = null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DSDateRangePickerImpl.tsx"],
|
|
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';\nimport { isMaxDiffSafe } from '../isMaxDiffSafe';\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
|
-
"mappings": "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
|
|
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
|
+
"mappings": "AAAA,YAAY,WAAW;ACyMf,SACE,KADF;AAtMR,OAAOA,YAAW;AAClB,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB,SAAS,iCAAiC;AAC1C,SAAS,YAAY,YAAY,kBAAkB,mBAAmB;AACtE,OAAO,cAAc;AACrB,SAAS,kBAAkB,0BAA0B;AACrD,OAAO,8BAA8B;AACrC,SAAS,qBAAqB;AAEvB,MAAM,aAAa;AACnB,MAAM,WAAW;AAExB,MAAM,EAAE,kBAAkB,eAAe,IAAI,0BAA0B,YAAY;AAEnF,MAAO,8BAA4CA,OAAM,UAAU;AAAA,EACjE,YAAY,OAAO;AACjB,UAAM,KAAK;AAmBb,yBAAgB,CAAC,EAAE,WAAW,QAAQ,MAAM;AAC1C,YAAM,EAAE,cAAc,IAAI,KAAK;AAC/B,oBAAc,WAAW,OAAO;AAChC,YAAM,OAAO,cAAc,WAAW,SAAS,KAAK,MAAM,WAAW,KAAK,MAAM,OAAO;AACvF,UAAI,CAAC,MAAM;AACT,aAAK,SAAS,EAAE,YAAY,MAAM,CAAC;AAAA,MACrC;AACA,WAAK,SAAS;AAAA,QACZ;AAAA,QACA;AAAA,QACA,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,MACnB,CAAC;AAAA,IACH;AAEA,yBAAgB,MAAM;AACpB,WAAK,SAAS,CAAC,EAAE,aAAa,OAAO;AAAA,QACnC,cAAc,iBAAiB,aAAa,WAAW;AAAA,MACzD,EAAE;AAAA,IACJ;AAEA,yBAAgB,CAAC,UAAU;AACzB,UAAI,MAAM,QAAQ;AAAU,aAAK,SAAS,EAAE,YAAY,MAAM,CAAC;AAAA,IACjE;AAEA,kCAAyB,MAAM;AAC7B,YAAM,EAAE,YAAY,mBAAmB,UAAU,IAAI,KAAK;AAC1D,UAAI,qBAAqB;AAAY,eAAO;AAC5C,UAAI,CAAC;AAAW,eAAO;AACvB,aAAO,UAAU,OAAO,UAAU;AAAA,IACpC;AAEA,gCAAuB,MAAM;AAC3B,YAAM,EAAE,UAAU,iBAAiB,QAAQ,IAAI,KAAK;AACpD,UAAI,mBAAmB;AAAU,eAAO;AACxC,UAAI,CAAC;AAAS,eAAO;AACrB,aAAO,QAAQ,OAAO,UAAU;AAAA,IAClC;AAEA,uBAAc,MAAM;AAClB,YAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,UAAI,CAAC,UAAU;AACb,aAAK,SAAS,OAAO,EAAE,cAAc,YAAY,EAAE;AAAA,MACrD;AAAA,IACF;AAEA,6BAAoB,CAAC,MAAM;AACzB,YAAM,EAAE,oBAAoB,cAAc,cAAc,IAAI,KAAK;AACjE,YAAM,EAAE,QAAQ,IAAI,KAAK;AACzB,YAAM,gBAAgB,EAAE,OAAO;AAC/B,UAAI,cAAc;AAClB,UAAI,iBAAiB,OAAO,eAAe,cAAc,IAAI,EAAE,QAAQ,GAAG;AACxE,sBAAc,OAAO,aAAa;AAAA,MACpC;AAEA,YAAM,mBAAmB,aAAa,WAAW;AAEjD,YAAM,wBAAwB,CAAC,oBAAoB,eAAe,kBAAkB;AACpF,YAAM,gBAAgB,WAAW,eAAe,SAAS,QAAQ,KAAK,aAAa,QAAQ;AAE3F,YAAM,sBAAsB,kBAAkB;AAC9C,YAAM,mCACJ,CAAC,WACA,kBACG,uBAAuB,YAAY,KAAK,SAAS,MAAM,KAAK,KAC3D,CAAC,uBAAuB,YAAY,KAAK,SAAS,MAAM,IAAI;AAEnE,YAAM,cAAc,CAAC,yBAAyB,CAAC;AAC/C,UAAI;AAAkB,sBAAc;AACpC,yBAAmB,WAAW;AAC9B,WAAK,SAAS,CAAC,eAA0C;AAAA,QACvD,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,cACE,CAAC,yBAAyB,CAAC,UAAU,eAAe,UAAU,eAAe,CAAC;AAAA,MAClF,EAAE;AAAA,IACJ;AAEA,2BAAkB,CAAC,MAAM;AACvB,YAAM,EAAE,kBAAkB,cAAc,cAAc,IAAI,KAAK;AAC/D,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,YAAM,gBAAgB,EAAE,OAAO;AAC/B,UAAI,cAAc;AAClB,UAAI,iBAAiB,OAAO,eAAe,cAAc,IAAI,EAAE,QAAQ,GAAG;AACxE,sBAAc,OAAO,aAAa;AAAA,MACpC;AACA,YAAM,iBAAiB,aAAa,WAAW;AAE/C,YAAM,sBAAsB,CAAC,kBAAkB,eAAe,kBAAkB;AAChF,YAAM,gBAAgB,aAAa,eAAe,WAAW,QAAQ,KAAK,aAAa,QAAQ;AAE/F,YAAM,sBAAsB,kBAAkB;AAC9C,YAAM,mCACJ,CAAC;AAAA,MACA;AAAA,OACG,uBAAuB,YAAY,KAAK,WAAW,MAAM,KAAK;AAAA,MAC7D,CAAC,uBAAuB,YAAY,KAAK,WAAW,MAAM,IAAI;AAErE,YAAM,cAAc,CAAC,uBAAuB,CAAC;AAE7C,UAAI;AAAgB,sBAAc;AAClC,uBAAiB,WAAW;AAC5B,WAAK,SAAS,CAAC,eAA4C;AAAA,QACzD,SAAS;AAAA,QACT,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,gBACE,CAAC,uBAAuB,CAAC,UAAU,iBAC/B,UAAU,iBACV,CAAC;AAAA,QACP,cAAc;AAAA,MAChB,EAAE;AAAA,IACJ;AAEA,4BAAmB,CAAC,EAAE,WAAW,QAAQ,QAAQ,MAAM;AACrD,UAAI,UAAU,SAAS;AACrB,aAAK,SAAS;AAAA,UACZ,WAAW,OAAO,MAAM;AAAA,UACxB;AAAA,UACA,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,QACnB,CAAC;AAAA,MACH,WAAW,QAAQ;AACjB,aAAK,SAAS,EAAE,WAAW,OAAO,MAAM,GAAG,mBAAmB,MAAM,CAAC;AAAA,MACvE,WAAW,SAAS;AAClB,aAAK,SAAS,EAAE,SAAS,iBAAiB,MAAM,CAAC;AAAA,MACnD;AAAA,IACF;AAnJE,SAAK,QAAQ;AAAA,MACX,WAAW,MAAM,YAAY,OAAO,MAAM,SAAS,IAAI;AAAA,MACvD,SAAS,MAAM,UAAU,OAAO,MAAM,OAAO,IAAI;AAAA,MACjD,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,cAAc;AAAA,IAChB;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,aAAS,iBAAiB,WAAW,KAAK,eAAe,KAAK;AAAA,EAChE;AAAA,EAEA,uBAAuB;AACrB,aAAS,oBAAoB,WAAW,KAAK,eAAe,KAAK;AAAA,EACnE;AAAA,EAqIA,SAAS;AACP,UAAM,EAAE,WAAW,SAAS,cAAc,YAAY,gBAAgB,aAAa,IAAI,KAAK;AAE5F,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK;AAET,UAAM,aAAa,eAAe,UAAU,cAAc;AAC1D,UAAM,qBAAqB;AAE3B,UAAM,sBAAsB,KAAK,uBAAuB;AACxD,UAAM,oBAAoB,KAAK,qBAAqB;AAEpD,WACE,qBAAC,SAAI,WAAW,GAAG,cAAc,sBAC/B;AAAA,2BAAC,SAAI,WAAW,eAAe,4CAA4C,GACzE;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,WAAW;AAAA,YACX,MAAM,WAAW;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,SAAS,MAAM,KAAK,SAAS,EAAE,YAAY,MAAM,CAAC;AAAA,YAClD,MAAM,WAAW;AAAA,YACjB,OAAO;AAAA,YACP,UAAU;AAAA,YACV,UAAU,YAAY;AAAA,YACtB,aAAY;AAAA;AAAA,QACd;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,eAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,WAAW;AAAA,YACX,MAAM,WAAW;AAAA,YACjB,UAAU,KAAK;AAAA,YACf,SAAS,MAAM,KAAK,SAAS,EAAE,YAAY,MAAM,CAAC;AAAA,YAClD,MAAM,WAAW;AAAA,YACjB,OAAO;AAAA,YACP,UAAU;AAAA,YACV,UAAU,YAAY;AAAA,YACtB;AAAA,YACA,aAAY;AAAA;AAAA,QACd;AAAA,SACF;AAAA,MACA,oBAAC,SAAI,WAAW,eAAe,6CAA6C,GAC1E;AAAA,QAAC;AAAA;AAAA,UACC,kBACE,oBAAC,SACE,wBACC;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,4BAA0B;AAAA,cAC1B;AAAA,cACA,eAAe,KAAK;AAAA,cACpB,eAAe,KAAK;AAAA,cACpB,gBAAgB,CAAC,MAAM;AACrB,+BAAe,CAAC;AAChB,qBAAK,SAAS,EAAE,YAAY,MAAM,CAAC;AAAA,cACrC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACF,GAEJ;AAAA,UAEF,QAAQ,cAAc,CAAC,kBAAkB,CAAC;AAAA,UAC1C;AAAA,UACA,WAAU;AAAA,UACV,WAAW;AAAA,UACX,kBACE,qBAAC,SAAI,SAAS,MAAM,KAAK,SAAS,EAAE,YAAY,KAAK,CAAC,GACpD;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,iBAAiB,QAAQ;AAAA,gBACpC;AAAA,gBACA,SAAS,MAAM,KAAK,SAAS,EAAE,YAAY,KAAK,CAAC;AAAA;AAAA,YACnD;AAAA,YACC,YAAY,qBAAqB,oBAAC,SAAI,OAAO,EAAE,QAAQ,GAAG,GAAG;AAAA,aAChE;AAAA;AAAA,MAEJ,GACF;AAAA,OACF;AAAA,EAEJ;AACF;AAEA,sBAAsB,YAAY;AAAA,EAChC,WAAW,UAAU,WAAW,MAAM,MAAM;AAAA,EAC5C,SAAS,UAAU,WAAW,MAAM,MAAM;AAAA,EAC1C,eAAe,UAAU;AAAA,EACzB,oBAAoB,UAAU;AAAA,EAC9B,kBAAkB,UAAU;AAAA,EAC5B,kBAAkB,UAAU;AAAA,EAC5B,kBAAkB,UAAU;AAAA,EAC5B,SAAS,UAAU;AAAA,EACnB,gBAAgB,UAAU;AAAA,EAC1B,UAAU,UAAU;AAAA,EACpB,kBAAkB,UAAU;AAAA,EAC5B,eAAe,UAAU;AAAA,EACzB,SAAS,UAAU;AAAA,EACnB,WAAW,UAAU;AAAA,EACrB,cAAc,UAAU;AAAA,EACxB,kBAAkB,UAAU;AAAA,EAC5B,gBAAgB,UAAU;AAAA,EAC1B,mBAAmB,UAAU;AAAA,EAC7B,mBAAmB,UAAU;AAAA,EAC7B,iBAAiB,UAAU;AAAA,EAC3B,UAAU,UAAU;AAAA,EACpB,mBAAmB,UAAU;AAC/B;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
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
|
-
"mappings": "AAAA,YAAY,WAAW;AC2GN;AAzGjB,SAAgB,QAAQ,iBAAiB;AACzC,OAAO,eAAe;AACtB,OAAO,YAAY;AACnB,SAAS,4BAA4B,yBAAyB;AAC9D,SAAS,eAAe,sBAAsB,0BAA0B;AACxE,SAAS,mBAAmB;AAC5B,SAAS,iCAAiC;AAE1C,MAAM,EAAE,kBAAkB,eAAe,IAAI,0BAA0B,kBAAkB;AAEzF,MAAM,2BAA2B,CAAC;AAAA,EAChC,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,gBAAgB,MAAM;AAAA,EACtB,gBAAgB,MAAM;AAAA,EACtB,iBAAiB,MAAM;AAAA,EACvB,eAAe,MAAM;AAAA,EACrB,mBAAmB,MAAM;AAAA,EACzB,iBAAiB,MAAM;AAAA,EACvB,mBAAmB,MAAM;AAAA,EACzB,mBAAmB,MAAM;AAAA,
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { default as default2 } from "./DSDateRangePicker";
|
|
3
|
-
export * from "./DSDateRangePicker";
|
|
2
|
+
import { default as default2 } from "./DSDateRangePicker.js";
|
|
3
|
+
export * from "./DSDateRangePicker.js";
|
|
4
4
|
export {
|
|
5
5
|
default2 as default
|
|
6
6
|
};
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default } from './DSDateRangePicker';\nexport * from './DSDateRangePicker';\n"],
|
|
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"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-date-range-picker",
|
|
3
|
-
"version": "3.16.
|
|
3
|
+
"version": "3.16.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Date Range Picker",
|
|
6
6
|
"files": [
|
|
@@ -59,16 +59,16 @@
|
|
|
59
59
|
"indent": 4
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"moment": "~2.29.
|
|
62
|
+
"moment": "~2.29.4",
|
|
63
63
|
"prop-types": "~15.8.1",
|
|
64
64
|
"react-dates": "~21.8.0",
|
|
65
|
-
"@elliemae/ds-classnames": "3.16.
|
|
66
|
-
"@elliemae/ds-date-picker": "3.16.
|
|
67
|
-
"@elliemae/ds-form": "3.16.
|
|
68
|
-
"@elliemae/ds-icons": "3.16.
|
|
69
|
-
"@elliemae/ds-popper": "3.16.
|
|
70
|
-
"@elliemae/ds-props-helpers": "3.16.
|
|
71
|
-
"@elliemae/ds-utilities": "3.16.
|
|
65
|
+
"@elliemae/ds-classnames": "3.16.1",
|
|
66
|
+
"@elliemae/ds-date-picker": "3.16.1",
|
|
67
|
+
"@elliemae/ds-form": "3.16.1",
|
|
68
|
+
"@elliemae/ds-icons": "3.16.1",
|
|
69
|
+
"@elliemae/ds-popper": "3.16.1",
|
|
70
|
+
"@elliemae/ds-props-helpers": "3.16.1",
|
|
71
|
+
"@elliemae/ds-utilities": "3.16.1"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"lodash": "^4.17.21",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
|
|
84
84
|
"test": "node ../../scripts/testing/test.mjs",
|
|
85
85
|
"lint": "node ../../scripts/lint.mjs",
|
|
86
|
-
"eslint:fix": "
|
|
87
|
-
"dts": "
|
|
86
|
+
"eslint:fix": "exit 0",
|
|
87
|
+
"dts": "exit 0",
|
|
88
88
|
"build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
|
|
89
89
|
"dev:build": "pnpm --filter {.}... build",
|
|
90
90
|
"dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import moment from 'moment';
|
|
2
|
-
import 'react-dates/initialize';
|
|
3
|
-
import DayPickerRangeController from './components/DayPickerRangeController';
|
|
4
|
-
import { START_DATE, END_DATE } from './components/DSDateRangePickerImpl';
|
|
5
|
-
declare const DSDateRangePicker: {
|
|
6
|
-
({ containerProps, className, disabled, required, startDateRequired, endDateRequired, id, hasError, validationMessage, readOnly, screenReaderInputMessage, initialVisibleMonth, firstDayOfWeek, keepOpenOnDateSelect, reopenPickerOnClearDates, hideKeyboardShortcutsPanel, onPrevMonthClick, onNextMonthClick, onClose, onOutsideClick, transitionDuration, verticalSpacing, minimumNights, isDayBlocked, isOutsideRange, isDayHighlighted, displayFormat, displayFormatDay, phrases, startDate, endDate, startDateId, endDateId, labelFrom, labelTo, enableOutsideDays, onChangeStartInput, onChangeEndInput, onDatesChange, }: {
|
|
7
|
-
containerProps?: {} | undefined;
|
|
8
|
-
className?: string | undefined;
|
|
9
|
-
disabled?: boolean | undefined;
|
|
10
|
-
required?: boolean | undefined;
|
|
11
|
-
startDateRequired?: boolean | undefined;
|
|
12
|
-
endDateRequired?: boolean | undefined;
|
|
13
|
-
id: any;
|
|
14
|
-
hasError?: boolean | undefined;
|
|
15
|
-
validationMessage?: string | undefined;
|
|
16
|
-
readOnly?: boolean | undefined;
|
|
17
|
-
screenReaderInputMessage?: string | undefined;
|
|
18
|
-
initialVisibleMonth?: moment.Moment | undefined;
|
|
19
|
-
firstDayOfWeek?: number | undefined;
|
|
20
|
-
keepOpenOnDateSelect?: boolean | undefined;
|
|
21
|
-
reopenPickerOnClearDates?: boolean | undefined;
|
|
22
|
-
hideKeyboardShortcutsPanel?: boolean | undefined;
|
|
23
|
-
onPrevMonthClick?: (() => null) | undefined;
|
|
24
|
-
onNextMonthClick?: (() => null) | undefined;
|
|
25
|
-
onClose?: (() => null) | undefined;
|
|
26
|
-
onOutsideClick?: (() => null) | undefined;
|
|
27
|
-
transitionDuration?: number | undefined;
|
|
28
|
-
verticalSpacing?: number | undefined;
|
|
29
|
-
minimumNights?: number | undefined;
|
|
30
|
-
isDayBlocked?: (() => boolean) | undefined;
|
|
31
|
-
isOutsideRange?: (() => boolean) | undefined;
|
|
32
|
-
isDayHighlighted?: (() => boolean) | undefined;
|
|
33
|
-
displayFormat?: string | undefined;
|
|
34
|
-
displayFormatDay?: string | undefined;
|
|
35
|
-
phrases?: any;
|
|
36
|
-
startDate: any;
|
|
37
|
-
endDate: any;
|
|
38
|
-
startDateId?: string | undefined;
|
|
39
|
-
endDateId?: string | undefined;
|
|
40
|
-
labelFrom?: string | undefined;
|
|
41
|
-
labelTo?: string | undefined;
|
|
42
|
-
enableOutsideDays?: boolean | undefined;
|
|
43
|
-
onChangeStartInput?: (() => null) | undefined;
|
|
44
|
-
onChangeEndInput?: (() => null) | undefined;
|
|
45
|
-
onDatesChange?: (() => null) | undefined;
|
|
46
|
-
}): JSX.Element;
|
|
47
|
-
propTypes: {
|
|
48
|
-
containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
49
|
-
className: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
50
|
-
disabled: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
51
|
-
required: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
52
|
-
startDateRequired: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
53
|
-
endDateRequired: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
54
|
-
id: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
55
|
-
hasError: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
56
|
-
validationMessage: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
57
|
-
readOnly: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
58
|
-
screenReaderInputMessage: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
59
|
-
initialVisibleMonth: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
60
|
-
firstDayOfWeek: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
61
|
-
keepOpenOnDateSelect: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
62
|
-
reopenPickerOnClearDates: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
63
|
-
hideKeyboardShortcutsPanel: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
64
|
-
onPrevMonthClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
65
|
-
onNextMonthClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
66
|
-
onClose: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
67
|
-
transitionDuration: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
68
|
-
verticalSpacing: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
69
|
-
isDayBlocked: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
70
|
-
isOutsideRange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
71
|
-
isDayHighlighted: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
72
|
-
minimumNights: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
73
|
-
displayFormat: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
74
|
-
displayFormatDay: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
75
|
-
phrases: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
76
|
-
startDate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
77
|
-
endDate: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
78
|
-
startDateId: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
79
|
-
endDateId: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
80
|
-
labelFrom: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
81
|
-
labelTo: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
82
|
-
enableOutsideDays: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
83
|
-
onDatesChange: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
84
|
-
onChangeStartInput: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
85
|
-
onChangeEndInput: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
86
|
-
onOutsideClick: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
|
|
87
|
-
};
|
|
88
|
-
displayName: string;
|
|
89
|
-
};
|
|
90
|
-
declare const DateRangePickerWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").DocumentedReactComponent<{
|
|
91
|
-
containerProps?: {} | undefined;
|
|
92
|
-
className?: string | undefined;
|
|
93
|
-
disabled?: boolean | undefined;
|
|
94
|
-
required?: boolean | undefined;
|
|
95
|
-
startDateRequired?: boolean | undefined;
|
|
96
|
-
endDateRequired?: boolean | undefined;
|
|
97
|
-
id: any;
|
|
98
|
-
hasError?: boolean | undefined;
|
|
99
|
-
validationMessage?: string | undefined;
|
|
100
|
-
readOnly?: boolean | undefined;
|
|
101
|
-
screenReaderInputMessage?: string | undefined;
|
|
102
|
-
initialVisibleMonth?: moment.Moment | undefined;
|
|
103
|
-
firstDayOfWeek?: number | undefined;
|
|
104
|
-
keepOpenOnDateSelect?: boolean | undefined;
|
|
105
|
-
reopenPickerOnClearDates?: boolean | undefined;
|
|
106
|
-
hideKeyboardShortcutsPanel?: boolean | undefined;
|
|
107
|
-
onPrevMonthClick?: (() => null) | undefined;
|
|
108
|
-
onNextMonthClick?: (() => null) | undefined;
|
|
109
|
-
onClose?: (() => null) | undefined;
|
|
110
|
-
onOutsideClick?: (() => null) | undefined;
|
|
111
|
-
transitionDuration?: number | undefined;
|
|
112
|
-
verticalSpacing?: number | undefined;
|
|
113
|
-
minimumNights?: number | undefined;
|
|
114
|
-
isDayBlocked?: (() => boolean) | undefined;
|
|
115
|
-
isOutsideRange?: (() => boolean) | undefined;
|
|
116
|
-
isDayHighlighted?: (() => boolean) | undefined;
|
|
117
|
-
displayFormat?: string | undefined;
|
|
118
|
-
displayFormatDay?: string | undefined;
|
|
119
|
-
phrases?: any;
|
|
120
|
-
startDate: any;
|
|
121
|
-
endDate: any;
|
|
122
|
-
startDateId?: string | undefined;
|
|
123
|
-
endDateId?: string | undefined;
|
|
124
|
-
labelFrom?: string | undefined;
|
|
125
|
-
labelTo?: string | undefined;
|
|
126
|
-
enableOutsideDays?: boolean | undefined;
|
|
127
|
-
onChangeStartInput?: (() => null) | undefined;
|
|
128
|
-
onChangeEndInput?: (() => null) | undefined;
|
|
129
|
-
onDatesChange?: (() => null) | undefined;
|
|
130
|
-
}>;
|
|
131
|
-
export { DayPickerRangeController, START_DATE, END_DATE, DateRangePickerWithSchema, DSDateRangePicker };
|
|
132
|
-
export default DSDateRangePicker;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export declare const START_DATE = "startDate";
|
|
3
|
-
export declare const END_DATE = "endDate";
|
|
4
|
-
export default class DSDateRangePickerImpl extends React.Component {
|
|
5
|
-
constructor(props: any);
|
|
6
|
-
componentDidMount(): void;
|
|
7
|
-
componentWillUnmount(): void;
|
|
8
|
-
onDatesChange: ({ startDate, endDate }: {
|
|
9
|
-
startDate: any;
|
|
10
|
-
endDate: any;
|
|
11
|
-
}) => void;
|
|
12
|
-
onFocusChange: () => void;
|
|
13
|
-
handleKeyDown: (event: any) => void;
|
|
14
|
-
getSafeStartInputValue: () => any;
|
|
15
|
-
getSafeEndInputValue: () => any;
|
|
16
|
-
changeFocus: () => void;
|
|
17
|
-
handleChangeStart: (e: any) => void;
|
|
18
|
-
handleChangeEnd: (e: any) => void;
|
|
19
|
-
handleChangeDate: ({ startDate: _start, endDate }: {
|
|
20
|
-
startDate: any;
|
|
21
|
-
endDate: any;
|
|
22
|
-
}) => void;
|
|
23
|
-
render(): JSX.Element;
|
|
24
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
declare const DatePickerRangeHeader: ({ placeholderStart, placeholderEnd, onStartInputChange, onEndInputChange, selectedStartDate, selectedEndDate, }: {
|
|
2
|
-
placeholderStart?: string | undefined;
|
|
3
|
-
placeholderEnd?: string | undefined;
|
|
4
|
-
onStartInputChange?: (() => null) | undefined;
|
|
5
|
-
onEndInputChange?: (() => null) | undefined;
|
|
6
|
-
selectedStartDate: any;
|
|
7
|
-
selectedEndDate: any;
|
|
8
|
-
}) => JSX.Element;
|
|
9
|
-
export default DatePickerRangeHeader;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import PropTypes from 'prop-types';
|
|
2
|
-
declare const DayPickerRangeController: {
|
|
3
|
-
({ endDate, startDate, displayFormatDay, focusedInput, enableOutsideDays, onDatesChange, onFocusChange, onOutsideClick, isDayBlocked, isDayHighlighted, isOutsideRange, onNextMonthClick, onPrevMonthClick, ...otherProps }: {
|
|
4
|
-
[x: string]: any;
|
|
5
|
-
endDate?: undefined;
|
|
6
|
-
startDate?: undefined;
|
|
7
|
-
displayFormatDay?: string | undefined;
|
|
8
|
-
focusedInput?: undefined;
|
|
9
|
-
enableOutsideDays?: boolean | undefined;
|
|
10
|
-
onDatesChange?: (() => null) | undefined;
|
|
11
|
-
onFocusChange?: (() => null) | undefined;
|
|
12
|
-
onOutsideClick?: (() => null) | undefined;
|
|
13
|
-
isDayBlocked?: (() => null) | undefined;
|
|
14
|
-
isDayHighlighted?: (() => null) | undefined;
|
|
15
|
-
isOutsideRange?: (() => null) | undefined;
|
|
16
|
-
onNextMonthClick?: (() => null) | undefined;
|
|
17
|
-
onPrevMonthClick?: (() => null) | undefined;
|
|
18
|
-
}): JSX.Element;
|
|
19
|
-
propTypes: {
|
|
20
|
-
endDate: PropTypes.Requireable<Date>;
|
|
21
|
-
startDate: PropTypes.Requireable<Date>;
|
|
22
|
-
displayFormatDay: PropTypes.Requireable<string>;
|
|
23
|
-
focusedInput: PropTypes.Requireable<boolean>;
|
|
24
|
-
onDatesChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
25
|
-
onFocusChange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
26
|
-
onOutsideClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
-
onNextMonthClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
28
|
-
onPrevMonthClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
29
|
-
enableOutsideDays: PropTypes.Requireable<boolean>;
|
|
30
|
-
isDayBlocked: PropTypes.Requireable<(...args: any[]) => any>;
|
|
31
|
-
isDayHighlighted: PropTypes.Requireable<(...args: any[]) => any>;
|
|
32
|
-
isOutsideRange: PropTypes.Requireable<(...args: any[]) => any>;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
export default DayPickerRangeController;
|
package/dist/types/index.d.ts
DELETED