@elliemae/ds-date-picker 3.0.0-next.2 → 3.0.0-next.6
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/DSDatePicker.js +248 -0
- package/dist/cjs/DSDatePicker.js.map +7 -0
- package/dist/cjs/components/DSDatePickerImpl.js +274 -0
- package/dist/cjs/components/DSDatePickerImpl.js.map +7 -0
- package/dist/cjs/components/DatePickerController/DatePickerController.js +335 -0
- package/dist/cjs/components/DatePickerController/DatePickerController.js.map +7 -0
- package/dist/cjs/components/DatePickerDay/DatePickerDay.js +49 -0
- package/dist/cjs/components/DatePickerDay/DatePickerDay.js.map +7 -0
- package/dist/cjs/components/DatePickerDropdown.js +102 -0
- package/dist/cjs/components/DatePickerDropdown.js.map +7 -0
- package/dist/cjs/components/DatePickerHeader/DatePickerHeader.js +74 -0
- package/dist/cjs/components/DatePickerHeader/DatePickerHeader.js.map +7 -0
- package/dist/cjs/components/DatePickerNavigation/DatePickerNavigation.js +63 -0
- package/dist/cjs/components/DatePickerNavigation/DatePickerNavigation.js.map +7 -0
- package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js +112 -0
- package/dist/cjs/components/DatePickerPicker/DatePickerPicker.js.map +7 -0
- package/dist/cjs/components/DatePickerRange/DatePickerRange.js +126 -0
- package/dist/cjs/components/DatePickerRange/DatePickerRange.js.map +7 -0
- package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +138 -0
- package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
- package/dist/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js +61 -0
- package/dist/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +7 -0
- package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +117 -0
- package/dist/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js.map +7 -0
- package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +80 -0
- package/dist/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +7 -0
- package/dist/cjs/components/index.js +53 -0
- package/dist/cjs/components/index.js.map +7 -0
- package/dist/cjs/defaultPhrases.js +246 -0
- package/dist/cjs/defaultPhrases.js.map +7 -0
- package/dist/cjs/index.js +38 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/esm/DSDatePicker.js +232 -0
- package/dist/esm/DSDatePicker.js.map +7 -0
- package/dist/esm/components/DSDatePickerImpl.js +245 -0
- package/dist/esm/components/DSDatePickerImpl.js.map +7 -0
- package/dist/esm/components/DatePickerController/DatePickerController.js +308 -0
- package/dist/esm/components/DatePickerController/DatePickerController.js.map +7 -0
- package/dist/esm/components/DatePickerDay/DatePickerDay.js +20 -0
- package/dist/esm/components/DatePickerDay/DatePickerDay.js.map +7 -0
- package/dist/esm/components/DatePickerDropdown.js +75 -0
- package/dist/esm/components/DatePickerDropdown.js.map +7 -0
- package/dist/esm/components/DatePickerHeader/DatePickerHeader.js +45 -0
- package/dist/esm/components/DatePickerHeader/DatePickerHeader.js.map +7 -0
- package/dist/esm/components/DatePickerNavigation/DatePickerNavigation.js +37 -0
- package/dist/esm/components/DatePickerNavigation/DatePickerNavigation.js.map +7 -0
- package/dist/esm/components/DatePickerPicker/DatePickerPicker.js +84 -0
- package/dist/esm/components/DatePickerPicker/DatePickerPicker.js.map +7 -0
- package/dist/esm/components/DatePickerRange/DatePickerRange.js +99 -0
- package/dist/esm/components/DatePickerRange/DatePickerRange.js.map +7 -0
- package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +109 -0
- package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
- package/dist/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js +32 -0
- package/dist/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +7 -0
- package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +89 -0
- package/dist/esm/components/DatePickerSingleDate/DatePickerSingleDate.js.map +7 -0
- package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +51 -0
- package/dist/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +7 -0
- package/dist/esm/components/index.js +24 -0
- package/dist/esm/components/index.js.map +7 -0
- package/{esm → dist/esm}/defaultPhrases.js +48 -80
- package/dist/esm/defaultPhrases.js.map +7 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +7 -0
- package/package.json +63 -55
- package/cjs/DSDatePicker.js +0 -233
- package/cjs/components/DSDatePickerImpl.js +0 -354
- package/cjs/components/DatePickerController/DatePickerController.js +0 -360
- package/cjs/components/DatePickerDay/DatePickerDay.js +0 -24
- package/cjs/components/DatePickerDropdown.js +0 -65
- package/cjs/components/DatePickerHeader/DatePickerHeader.js +0 -56
- package/cjs/components/DatePickerNavigation/DatePickerNavigation.js +0 -32
- package/cjs/components/DatePickerPicker/DatePickerPicker.js +0 -74
- package/cjs/components/DatePickerRange/DatePickerRange.js +0 -119
- package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +0 -144
- package/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js +0 -46
- package/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +0 -85
- package/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +0 -59
- package/cjs/components/index.js +0 -27
- package/cjs/defaultPhrases.js +0 -261
- package/cjs/index.js +0 -35
- package/esm/DSDatePicker.js +0 -211
- package/esm/components/DSDatePickerImpl.js +0 -346
- package/esm/components/DatePickerController/DatePickerController.js +0 -350
- package/esm/components/DatePickerDay/DatePickerDay.js +0 -18
- package/esm/components/DatePickerDropdown.js +0 -57
- package/esm/components/DatePickerHeader/DatePickerHeader.js +0 -49
- package/esm/components/DatePickerNavigation/DatePickerNavigation.js +0 -25
- package/esm/components/DatePickerPicker/DatePickerPicker.js +0 -60
- package/esm/components/DatePickerRange/DatePickerRange.js +0 -111
- package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +0 -137
- package/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js +0 -38
- package/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +0 -77
- package/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +0 -53
- package/esm/components/index.js +0 -10
- package/esm/index.js +0 -13
- package/types/components/DSDatePickerImpl.d.ts +0 -20
- package/types/components/DatePickerController/DatePickerController.d.ts +0 -80
- package/types/components/DatePickerDay/DatePickerDay.d.ts +0 -13
- package/types/components/DatePickerDropdown.d.ts +0 -41
- package/types/components/DatePickerHeader/DatePickerHeader.d.ts +0 -15
- package/types/components/DatePickerNavigation/DatePickerNavigation.d.ts +0 -19
- package/types/components/DatePickerPicker/DatePickerPicker.d.ts +0 -48
- package/types/components/DatePickerRange/DatePickerRange.d.ts +0 -9
- package/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +0 -23
- package/types/components/DatePickerRangeHeader/tests/DatePickerRangeHeader.test.d.ts +0 -1
- package/types/components/DatePickerRenderMonth/DatePickerRenderMonth.d.ts +0 -5
- package/types/components/DatePickerSingleDate/DatePickerSingleDate.d.ts +0 -11
- package/types/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.d.ts +0 -16
- package/types/components/index.d.ts +0 -10
- package/types/components/tests/DatePickerHeader.test.d.ts +0 -1
- package/types/components/tests/DatePickerRange.test.d.ts +0 -1
- package/types/components/tests/DatePickerRangeHeader.test.d.ts +0 -1
- package/types/components/tests/DatePickerSelectedDate.test.d.ts +0 -1
- package/types/components/tests/DatePickerSingleDate.test.d.ts +0 -1
- package/types/components/tests/SingleRangeDateSwitcher.test.d.ts +0 -1
- package/types/defaultPhrases.d.ts +0 -225
- package/types/index.d.ts +0 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerPicker/DatePickerPicker.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DSIconColors, DSIconSizes } from '@elliemae/ds-icon';\nimport { DatePicker } from '@elliemae/ds-icons';\nimport { DSButton, buttonTypes } from '@elliemae/ds-button';\nimport { iconSizes } from '@elliemae/ds-shared/prop-types';\n\nexport const Picker = ({\n className = 'date-picker-icon',\n disabled = false,\n icon = <DatePicker />,\n size = DSIconSizes.M,\n buttonActionType = 'secondary',\n onClick = () => null,\n onBlur = () => null,\n readOnly = false,\n tabIndex = 0,\n innerRef,\n ...rest\n}) => (\n <DSButton\n innerRef={innerRef}\n aria-label={rest['aria-label'] || 'Date Picker Button'}\n buttonType={buttonActionType}\n className={className}\n color={!disabled ? DSIconColors.PRIMARY : DSIconColors.NEUTRAL}\n disabled={disabled}\n icon={icon}\n onBlur={onBlur}\n onClick={onClick}\n readOnly={readOnly}\n size={size}\n tabIndex={tabIndex}\n data-testid=\"btn-date-picker\"\n />\n);\n\nexport const PickerPropsTypes = {\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]),\n className: PropTypes.string,\n disabled: PropTypes.bool,\n icon: PropTypes.element,\n size: PropTypes.oneOf(iconSizes),\n buttonActionType: PropTypes.oneOf(buttonTypes),\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n onBlur: PropTypes.func,\n readOnly: PropTypes.bool,\n tabIndex: PropTypes.number,\n};\n\nPicker.propTypes = PickerPropsTypes;\n\nexport { Picker as DatePickerPicker };\nexport default Picker;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAEO,MAAM,SAAS,CAAC,OAYpB;AAZoB,eACrB;AAAA,gBAAY;AAAA,IACZ,WAAW;AAAA,IACX,OAAO,qCAAC,YAAD;AAAA,IACP,OAAO,YAAY;AAAA,IACnB,mBAAmB;AAAA,IACnB,UAAU,MAAM;AAAA,IAChB,SAAS,MAAM;AAAA,IACf,WAAW;AAAA,IACX,WAAW;AAAA,IACX;AAAA,MAVqB,IAWlB,iBAXkB,IAWlB;AAAA,IAVH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,8CAAC,UAAD;AAAA,IACE;AAAA,IACA,cAAY,KAAK,iBAAiB;AAAA,IAClC,YAAY;AAAA,IACZ;AAAA,IACA,OAAO,CAAC,WAAW,aAAa,UAAU,aAAa;AAAA,IACvD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAY;AAAA;AAAA;AAIT,MAAM,mBAAmB;AAAA,EAC9B,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,EAAE,SAAS,UAAU;AAAA,EACpF,WAAW,UAAU;AAAA,EACrB,UAAU,UAAU;AAAA,EACpB,MAAM,UAAU;AAAA,EAChB,MAAM,UAAU,MAAM;AAAA,EACtB,kBAAkB,UAAU,MAAM;AAAA,EAClC,SAAS,UAAU;AAAA,EACnB,SAAS,UAAU;AAAA,EACnB,QAAQ,UAAU;AAAA,EAClB,UAAU,UAAU;AAAA,EACpB,UAAU,UAAU;AAAA;AAGtB,OAAO,YAAY;AAGnB,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
import * as React from "react";
|
|
21
|
+
import React2, { useState, useRef } from "react";
|
|
22
|
+
import { DayPickerRangeController } from "react-dates";
|
|
23
|
+
import moment from "moment";
|
|
24
|
+
import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
25
|
+
import { ChevronLeft } from "@elliemae/ds-icons";
|
|
26
|
+
import { DatePickerDay } from "../DatePickerDay/DatePickerDay";
|
|
27
|
+
import { DatePickerNavigation } from "../DatePickerNavigation/DatePickerNavigation";
|
|
28
|
+
import { DatePickerRangeHeader } from "../DatePickerRangeHeader/DatePickerRangeHeader";
|
|
29
|
+
const blockname = "date-range";
|
|
30
|
+
const Wrapper = aggregatedClasses("div")(blockname, "wrapper");
|
|
31
|
+
const { classNameElement, classNameBlock } = convertPropToCssClassName("datepicker");
|
|
32
|
+
const START_DATE = "startDate";
|
|
33
|
+
const END_DATE = "endDate";
|
|
34
|
+
const DatePickerRangeDate = ({ dateStart, dateEnd, displayFormatDay = "D", showHeader = true, otherProps }) => {
|
|
35
|
+
const [selectedDateStart, setSelectedDateStart] = useState(dateStart);
|
|
36
|
+
const [selectedDateEnd, setSelectedDateEnd] = useState(dateEnd);
|
|
37
|
+
const [focusedInput, setFocusedInput] = useState(START_DATE);
|
|
38
|
+
const datePickerRef = useRef();
|
|
39
|
+
const handleFocusChange = () => {
|
|
40
|
+
setFocusedInput(focusedInput === START_DATE ? END_DATE : START_DATE);
|
|
41
|
+
};
|
|
42
|
+
const handleDatesChange = ({ startDate, endDate }) => {
|
|
43
|
+
setSelectedDateStart(startDate);
|
|
44
|
+
setSelectedDateEnd(endDate);
|
|
45
|
+
};
|
|
46
|
+
const handleStartInputChange = (newDate) => {
|
|
47
|
+
setSelectedDateStart(newDate);
|
|
48
|
+
};
|
|
49
|
+
const handleEndInputChange = (newDate) => {
|
|
50
|
+
setSelectedDateEnd(newDate);
|
|
51
|
+
};
|
|
52
|
+
const getSafeDateStartValue = () => {
|
|
53
|
+
if (selectedDateStart) {
|
|
54
|
+
return moment(selectedDateStart);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const getSafeDateEndValue = () => {
|
|
58
|
+
if (selectedDateEnd) {
|
|
59
|
+
return moment(selectedDateEnd);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const safeStartDate = getSafeDateStartValue();
|
|
63
|
+
const safeEndDate = getSafeDateEndValue();
|
|
64
|
+
return /* @__PURE__ */ React2.createElement(Wrapper, null, showHeader && /* @__PURE__ */ React2.createElement(DatePickerRangeHeader, {
|
|
65
|
+
onEndInputChange: handleEndInputChange,
|
|
66
|
+
onStartInputChange: handleStartInputChange,
|
|
67
|
+
selectedEndDate: safeEndDate,
|
|
68
|
+
selectedStartDate: safeStartDate
|
|
69
|
+
}), /* @__PURE__ */ React2.createElement("div", {
|
|
70
|
+
ref: datePickerRef,
|
|
71
|
+
className: classNameBlock("wrapper-day-picker-single-date-controller")
|
|
72
|
+
}, /* @__PURE__ */ React2.createElement(DayPickerRangeController, __spreadProps(__spreadValues({}, otherProps), {
|
|
73
|
+
enableOutsideDays: true,
|
|
74
|
+
endDate: safeEndDate,
|
|
75
|
+
focused: true,
|
|
76
|
+
focusedInput,
|
|
77
|
+
hideKeyboardShortcutsPanel: true,
|
|
78
|
+
navNext: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
|
|
79
|
+
className: classNameElement("navigation-next")
|
|
80
|
+
}),
|
|
81
|
+
navPrev: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
|
|
82
|
+
className: classNameElement("navigation-prev"),
|
|
83
|
+
icon: ChevronLeft
|
|
84
|
+
}),
|
|
85
|
+
onDatesChange: handleDatesChange,
|
|
86
|
+
onFocusChange: handleFocusChange,
|
|
87
|
+
renderDayContents: (date) => /* @__PURE__ */ React2.createElement(DatePickerDay, {
|
|
88
|
+
className: classNameElement("day-contents"),
|
|
89
|
+
date: date.format(displayFormatDay)
|
|
90
|
+
}),
|
|
91
|
+
startDate: safeStartDate
|
|
92
|
+
}))));
|
|
93
|
+
};
|
|
94
|
+
var DatePickerRange_default = DatePickerRangeDate;
|
|
95
|
+
export {
|
|
96
|
+
DatePickerRangeDate,
|
|
97
|
+
DatePickerRange_default as default
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=DatePickerRange.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerRange/DatePickerRange.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable consistent-return */\nimport React, { useState, useRef } from 'react';\nimport { DayPickerRangeController } from 'react-dates';\nimport moment from 'moment';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation';\nimport { DatePickerRangeHeader } from '../DatePickerRangeHeader/DatePickerRangeHeader';\n\nconst blockname = 'date-range';\nconst Wrapper = aggregatedClasses('div')(blockname, 'wrapper');\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nconst START_DATE = 'startDate';\nconst END_DATE = 'endDate';\n\nconst DatePickerRangeDate = ({ dateStart, dateEnd, displayFormatDay = 'D', showHeader = true, otherProps }) => {\n const [selectedDateStart, setSelectedDateStart] = useState(dateStart);\n const [selectedDateEnd, setSelectedDateEnd] = useState(dateEnd);\n const [focusedInput, setFocusedInput] = useState(START_DATE);\n const datePickerRef = useRef();\n\n const handleFocusChange = () => {\n setFocusedInput(focusedInput === START_DATE ? END_DATE : START_DATE);\n };\n\n const handleDatesChange = ({ startDate, endDate }) => {\n setSelectedDateStart(startDate);\n setSelectedDateEnd(endDate);\n };\n\n const handleStartInputChange = (newDate) => {\n setSelectedDateStart(newDate);\n };\n\n const handleEndInputChange = (newDate) => {\n setSelectedDateEnd(newDate);\n };\n\n const getSafeDateStartValue = () => {\n if (selectedDateStart) {\n return moment(selectedDateStart);\n }\n };\n\n const getSafeDateEndValue = () => {\n if (selectedDateEnd) {\n return moment(selectedDateEnd);\n }\n };\n\n const safeStartDate = getSafeDateStartValue();\n const safeEndDate = getSafeDateEndValue();\n\n return (\n <Wrapper>\n {showHeader && (\n <DatePickerRangeHeader\n onEndInputChange={handleEndInputChange}\n onStartInputChange={handleStartInputChange}\n selectedEndDate={safeEndDate}\n selectedStartDate={safeStartDate}\n />\n )}\n <div ref={datePickerRef} className={classNameBlock('wrapper-day-picker-single-date-controller')}>\n <DayPickerRangeController\n {...otherProps}\n enableOutsideDays\n endDate={safeEndDate}\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={handleDatesChange}\n onFocusChange={handleFocusChange}\n renderDayContents={(date) => (\n <DatePickerDay className={classNameElement('day-contents')} date={date.format(displayFormatDay)} />\n )}\n startDate={safeStartDate}\n />\n </div>\n </Wrapper>\n );\n};\n\nexport { DatePickerRangeDate };\nexport default DatePickerRangeDate;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAClB,MAAM,UAAU,kBAAkB,OAAO,WAAW;AAEpD,MAAM,EAAE,kBAAkB,mBAAmB,0BAA0B;AAEvE,MAAM,aAAa;AACnB,MAAM,WAAW;AAEjB,MAAM,sBAAsB,CAAC,EAAE,WAAW,SAAS,mBAAmB,KAAK,aAAa,MAAM,iBAAiB;AAC7G,QAAM,CAAC,mBAAmB,wBAAwB,SAAS;AAC3D,QAAM,CAAC,iBAAiB,sBAAsB,SAAS;AACvD,QAAM,CAAC,cAAc,mBAAmB,SAAS;AACjD,QAAM,gBAAgB;AAEtB,QAAM,oBAAoB,MAAM;AAC9B,oBAAgB,iBAAiB,aAAa,WAAW;AAAA;AAG3D,QAAM,oBAAoB,CAAC,EAAE,WAAW,cAAc;AACpD,yBAAqB;AACrB,uBAAmB;AAAA;AAGrB,QAAM,yBAAyB,CAAC,YAAY;AAC1C,yBAAqB;AAAA;AAGvB,QAAM,uBAAuB,CAAC,YAAY;AACxC,uBAAmB;AAAA;AAGrB,QAAM,wBAAwB,MAAM;AAClC,QAAI,mBAAmB;AACrB,aAAO,OAAO;AAAA;AAAA;AAIlB,QAAM,sBAAsB,MAAM;AAChC,QAAI,iBAAiB;AACnB,aAAO,OAAO;AAAA;AAAA;AAIlB,QAAM,gBAAgB;AACtB,QAAM,cAAc;AAEpB,SACE,qCAAC,SAAD,MACG,cACC,qCAAC,uBAAD;AAAA,IACE,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,mBAAmB;AAAA,MAGvB,qCAAC,OAAD;AAAA,IAAK,KAAK;AAAA,IAAe,WAAW,eAAe;AAAA,KACjD,qCAAC,0BAAD,iCACM,aADN;AAAA,IAEE,mBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,SAAO;AAAA,IACP;AAAA,IACA,4BAA0B;AAAA,IAC1B,SAAS,qCAAC,sBAAD;AAAA,MAAsB,WAAW,iBAAiB;AAAA;AAAA,IAC3D,SAAS,qCAAC,sBAAD;AAAA,MAAsB,WAAW,iBAAiB;AAAA,MAAoB,MAAM;AAAA;AAAA,IACrF,eAAe;AAAA,IACf,eAAe;AAAA,IACf,mBAAmB,CAAC,SAClB,qCAAC,eAAD;AAAA,MAAe,WAAW,iBAAiB;AAAA,MAAiB,MAAM,KAAK,OAAO;AAAA;AAAA,IAEhF,WAAW;AAAA;AAAA;AAQrB,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { useState, useEffect, useRef } from "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import moment from "moment";
|
|
5
|
+
import { DSDateInputV2, DSInputGroup } from "@elliemae/ds-form";
|
|
6
|
+
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
7
|
+
const blockname = "date-range-picker";
|
|
8
|
+
const DATE_FORMAT = "MMDDYYYY";
|
|
9
|
+
const MAGIC_NUMBER = 999;
|
|
10
|
+
const Header = aggregatedClasses("div")(blockname, "header", ({ invalidDate }) => ({ invalidDate }));
|
|
11
|
+
const DatePickerRangeHeader = ({
|
|
12
|
+
onStartInputChange = () => null,
|
|
13
|
+
onEndInputChange = () => null,
|
|
14
|
+
onFocusChange = () => null,
|
|
15
|
+
selectedStartDate,
|
|
16
|
+
selectedEndDate,
|
|
17
|
+
handleDatesChange,
|
|
18
|
+
autoJumpOnEdit = true
|
|
19
|
+
}) => {
|
|
20
|
+
const [startValue, setStartValue] = useState(selectedStartDate);
|
|
21
|
+
const [endValue, setEndValue] = useState(selectedEndDate);
|
|
22
|
+
const startInputRef = useRef();
|
|
23
|
+
const endInputRef = useRef();
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (selectedStartDate) {
|
|
26
|
+
setStartValue(selectedStartDate.format(DATE_FORMAT));
|
|
27
|
+
}
|
|
28
|
+
if (selectedEndDate) {
|
|
29
|
+
setEndValue(selectedEndDate.format(DATE_FORMAT));
|
|
30
|
+
}
|
|
31
|
+
}, [selectedStartDate, selectedEndDate]);
|
|
32
|
+
const isValidRangeDate = (start, end) => {
|
|
33
|
+
let isValidRange = false;
|
|
34
|
+
if (start && end) {
|
|
35
|
+
const momentStart = moment(start, DATE_FORMAT);
|
|
36
|
+
const momentEnd = moment(end, DATE_FORMAT);
|
|
37
|
+
isValidRange = momentStart.isBefore(momentEnd);
|
|
38
|
+
}
|
|
39
|
+
return isValidRange;
|
|
40
|
+
};
|
|
41
|
+
const handleOnFocus = (inputType) => onFocusChange(inputType);
|
|
42
|
+
const handleOnChangeStart = (newStartValue) => {
|
|
43
|
+
const y = newStartValue.substring(4);
|
|
44
|
+
const momentValue = moment(newStartValue, DATE_FORMAT);
|
|
45
|
+
if (newStartValue && newStartValue.length === DATE_FORMAT.length) {
|
|
46
|
+
onStartInputChange(momentValue);
|
|
47
|
+
}
|
|
48
|
+
setStartValue(newStartValue);
|
|
49
|
+
if (autoJumpOnEdit && parseInt(y, 10) > MAGIC_NUMBER && endInputRef?.current?.firstChild?.focus) {
|
|
50
|
+
endInputRef.current.firstChild.focus();
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const handleOnChangeEnd = (newEndValue) => {
|
|
54
|
+
const momentValue = moment(newEndValue, DATE_FORMAT);
|
|
55
|
+
if (isValidRangeDate(startValue, newEndValue) && newEndValue && newEndValue.length === DATE_FORMAT.length) {
|
|
56
|
+
onEndInputChange(momentValue);
|
|
57
|
+
}
|
|
58
|
+
setEndValue(newEndValue);
|
|
59
|
+
};
|
|
60
|
+
const handleOnKeyDownStart = (e) => {
|
|
61
|
+
const isValid = isValidRangeDate(startValue, endValue);
|
|
62
|
+
const momentStart = moment(startValue, DATE_FORMAT);
|
|
63
|
+
const momentEnd = moment(endValue, DATE_FORMAT);
|
|
64
|
+
if (e.key === "Enter" && startValue) {
|
|
65
|
+
onStartInputChange(momentStart);
|
|
66
|
+
if (isValid)
|
|
67
|
+
handleDatesChange({ startDate: momentStart, endDate: momentEnd });
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
const handleOnKeyDownEnd = (e) => {
|
|
71
|
+
const isValid = isValidRangeDate(startValue, endValue);
|
|
72
|
+
const momentStart = moment(startValue, DATE_FORMAT);
|
|
73
|
+
const momentEnd = moment(endValue, DATE_FORMAT);
|
|
74
|
+
if (e.key === "Enter" && isValid) {
|
|
75
|
+
handleDatesChange({ startDate: momentStart, endDate: momentEnd });
|
|
76
|
+
onEndInputChange(momentEnd);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
return /* @__PURE__ */ React2.createElement(Header, null, /* @__PURE__ */ React2.createElement(DSInputGroup, null, /* @__PURE__ */ React2.createElement(DSDateInputV2, {
|
|
80
|
+
containerProps: { "data-testid": "start-date" },
|
|
81
|
+
innerRef: startInputRef,
|
|
82
|
+
onChange: handleOnChangeStart,
|
|
83
|
+
onFocus: () => handleOnFocus("startDate"),
|
|
84
|
+
onKeyDown: handleOnKeyDownStart,
|
|
85
|
+
value: startValue
|
|
86
|
+
}), /* @__PURE__ */ React2.createElement(DSDateInputV2, {
|
|
87
|
+
containerProps: { "data-testid": "end-date" },
|
|
88
|
+
innerRef: endInputRef,
|
|
89
|
+
onChange: handleOnChangeEnd,
|
|
90
|
+
onFocus: () => handleOnFocus("endDate"),
|
|
91
|
+
onKeyDown: handleOnKeyDownEnd,
|
|
92
|
+
value: endValue
|
|
93
|
+
})));
|
|
94
|
+
};
|
|
95
|
+
DatePickerRangeHeader.propTypes = {
|
|
96
|
+
onStartInputChange: PropTypes.func,
|
|
97
|
+
onEndInputChange: PropTypes.func,
|
|
98
|
+
onFocusChange: PropTypes.func,
|
|
99
|
+
selectedStartDate: PropTypes.any,
|
|
100
|
+
selectedEndDate: PropTypes.any,
|
|
101
|
+
handleDatesChange: PropTypes.func,
|
|
102
|
+
autoJumpOnEdit: PropTypes.bool
|
|
103
|
+
};
|
|
104
|
+
var DatePickerRangeHeader_default = DatePickerRangeHeader;
|
|
105
|
+
export {
|
|
106
|
+
DatePickerRangeHeader,
|
|
107
|
+
DatePickerRangeHeader_default as default
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=DatePickerRangeHeader.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerRangeHeader/DatePickerRangeHeader.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable consistent-return */\n/* eslint-disable no-unused-expressions */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { DSDateInputV2, DSInputGroup } from '@elliemae/ds-form';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockname = 'date-range-picker';\n\nconst DATE_FORMAT = 'MMDDYYYY';\n\n// When year is greater than 999 it means the user finished writing\n// the year for the range, because they must type 4 numbers for the year\n// to be higher than 999\nconst MAGIC_NUMBER = 999;\n\nconst Header = aggregatedClasses('div')(blockname, 'header', ({ invalidDate }) => ({ invalidDate }));\n\nconst DatePickerRangeHeader = ({\n onStartInputChange = () => null,\n onEndInputChange = () => null,\n onFocusChange = () => null,\n selectedStartDate,\n selectedEndDate,\n handleDatesChange,\n autoJumpOnEdit = true,\n}) => {\n const [startValue, setStartValue] = useState(selectedStartDate);\n const [endValue, setEndValue] = useState(selectedEndDate);\n const startInputRef = useRef();\n const endInputRef = useRef();\n\n useEffect(() => {\n if (selectedStartDate) {\n setStartValue(selectedStartDate.format(DATE_FORMAT));\n }\n if (selectedEndDate) {\n setEndValue(selectedEndDate.format(DATE_FORMAT));\n }\n }, [selectedStartDate, selectedEndDate]);\n\n const isValidRangeDate = (start, end) => {\n let isValidRange = false;\n if (start && end) {\n const momentStart = moment(start, DATE_FORMAT);\n const momentEnd = moment(end, DATE_FORMAT);\n isValidRange = momentStart.isBefore(momentEnd);\n }\n return isValidRange;\n };\n\n const handleOnFocus = (inputType) => onFocusChange(inputType);\n\n const handleOnChangeStart = (newStartValue) => {\n const y = newStartValue.substring(4);\n const momentValue = moment(newStartValue, DATE_FORMAT);\n if (newStartValue && newStartValue.length === DATE_FORMAT.length) {\n onStartInputChange(momentValue);\n }\n\n setStartValue(newStartValue);\n if (autoJumpOnEdit && parseInt(y, 10) > MAGIC_NUMBER && endInputRef?.current?.firstChild?.focus) {\n endInputRef.current.firstChild.focus();\n }\n };\n\n const handleOnChangeEnd = (newEndValue) => {\n const momentValue = moment(newEndValue, DATE_FORMAT);\n if (isValidRangeDate(startValue, newEndValue) && newEndValue && newEndValue.length === DATE_FORMAT.length) {\n onEndInputChange(momentValue);\n }\n setEndValue(newEndValue);\n };\n\n const handleOnKeyDownStart = (e) => {\n const isValid = isValidRangeDate(startValue, endValue);\n const momentStart = moment(startValue, DATE_FORMAT);\n const momentEnd = moment(endValue, DATE_FORMAT);\n if (e.key === 'Enter' && startValue) {\n onStartInputChange(momentStart);\n if (isValid) handleDatesChange({ startDate: momentStart, endDate: momentEnd });\n }\n };\n\n const handleOnKeyDownEnd = (e) => {\n const isValid = isValidRangeDate(startValue, endValue);\n const momentStart = moment(startValue, DATE_FORMAT);\n const momentEnd = moment(endValue, DATE_FORMAT);\n if (e.key === 'Enter' && isValid) {\n handleDatesChange({ startDate: momentStart, endDate: momentEnd });\n onEndInputChange(momentEnd);\n }\n };\n\n return (\n <Header>\n <DSInputGroup>\n <DSDateInputV2\n containerProps={{ 'data-testid': 'start-date' }}\n innerRef={startInputRef}\n onChange={handleOnChangeStart}\n onFocus={() => handleOnFocus('startDate')}\n onKeyDown={handleOnKeyDownStart}\n value={startValue}\n />\n <DSDateInputV2\n containerProps={{ 'data-testid': 'end-date' }}\n innerRef={endInputRef}\n onChange={handleOnChangeEnd}\n onFocus={() => handleOnFocus('endDate')}\n onKeyDown={handleOnKeyDownEnd}\n value={endValue}\n />\n </DSInputGroup>\n </Header>\n );\n};\n\nDatePickerRangeHeader.propTypes = {\n onStartInputChange: PropTypes.func,\n onEndInputChange: PropTypes.func,\n onFocusChange: PropTypes.func,\n selectedStartDate: PropTypes.any,\n selectedEndDate: PropTypes.any,\n handleDatesChange: PropTypes.func,\n autoJumpOnEdit: PropTypes.bool,\n};\n\nexport { DatePickerRangeHeader };\nexport default DatePickerRangeHeader;\n"],
|
|
5
|
+
"mappings": "AAAA;ACGA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAElB,MAAM,cAAc;AAKpB,MAAM,eAAe;AAErB,MAAM,SAAS,kBAAkB,OAAO,WAAW,UAAU,CAAC,EAAE,kBAAmB,GAAE;AAErF,MAAM,wBAAwB,CAAC;AAAA,EAC7B,qBAAqB,MAAM;AAAA,EAC3B,mBAAmB,MAAM;AAAA,EACzB,gBAAgB,MAAM;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,MACb;AACJ,QAAM,CAAC,YAAY,iBAAiB,SAAS;AAC7C,QAAM,CAAC,UAAU,eAAe,SAAS;AACzC,QAAM,gBAAgB;AACtB,QAAM,cAAc;AAEpB,YAAU,MAAM;AACd,QAAI,mBAAmB;AACrB,oBAAc,kBAAkB,OAAO;AAAA;AAEzC,QAAI,iBAAiB;AACnB,kBAAY,gBAAgB,OAAO;AAAA;AAAA,KAEpC,CAAC,mBAAmB;AAEvB,QAAM,mBAAmB,CAAC,OAAO,QAAQ;AACvC,QAAI,eAAe;AACnB,QAAI,SAAS,KAAK;AAChB,YAAM,cAAc,OAAO,OAAO;AAClC,YAAM,YAAY,OAAO,KAAK;AAC9B,qBAAe,YAAY,SAAS;AAAA;AAEtC,WAAO;AAAA;AAGT,QAAM,gBAAgB,CAAC,cAAc,cAAc;AAEnD,QAAM,sBAAsB,CAAC,kBAAkB;AAC7C,UAAM,IAAI,cAAc,UAAU;AAClC,UAAM,cAAc,OAAO,eAAe;AAC1C,QAAI,iBAAiB,cAAc,WAAW,YAAY,QAAQ;AAChE,yBAAmB;AAAA;AAGrB,kBAAc;AACd,QAAI,kBAAkB,SAAS,GAAG,MAAM,gBAAgB,aAAa,SAAS,YAAY,OAAO;AAC/F,kBAAY,QAAQ,WAAW;AAAA;AAAA;AAInC,QAAM,oBAAoB,CAAC,gBAAgB;AACzC,UAAM,cAAc,OAAO,aAAa;AACxC,QAAI,iBAAiB,YAAY,gBAAgB,eAAe,YAAY,WAAW,YAAY,QAAQ;AACzG,uBAAiB;AAAA;AAEnB,gBAAY;AAAA;AAGd,QAAM,uBAAuB,CAAC,MAAM;AAClC,UAAM,UAAU,iBAAiB,YAAY;AAC7C,UAAM,cAAc,OAAO,YAAY;AACvC,UAAM,YAAY,OAAO,UAAU;AACnC,QAAI,EAAE,QAAQ,WAAW,YAAY;AACnC,yBAAmB;AACnB,UAAI;AAAS,0BAAkB,EAAE,WAAW,aAAa,SAAS;AAAA;AAAA;AAItE,QAAM,qBAAqB,CAAC,MAAM;AAChC,UAAM,UAAU,iBAAiB,YAAY;AAC7C,UAAM,cAAc,OAAO,YAAY;AACvC,UAAM,YAAY,OAAO,UAAU;AACnC,QAAI,EAAE,QAAQ,WAAW,SAAS;AAChC,wBAAkB,EAAE,WAAW,aAAa,SAAS;AACrD,uBAAiB;AAAA;AAAA;AAIrB,SACE,qCAAC,QAAD,MACE,qCAAC,cAAD,MACE,qCAAC,eAAD;AAAA,IACE,gBAAgB,EAAE,eAAe;AAAA,IACjC,UAAU;AAAA,IACV,UAAU;AAAA,IACV,SAAS,MAAM,cAAc;AAAA,IAC7B,WAAW;AAAA,IACX,OAAO;AAAA,MAET,qCAAC,eAAD;AAAA,IACE,gBAAgB,EAAE,eAAe;AAAA,IACjC,UAAU;AAAA,IACV,UAAU;AAAA,IACV,SAAS,MAAM,cAAc;AAAA,IAC7B,WAAW;AAAA,IACX,OAAO;AAAA;AAAA;AAOjB,sBAAsB,YAAY;AAAA,EAChC,oBAAoB,UAAU;AAAA,EAC9B,kBAAkB,UAAU;AAAA,EAC5B,eAAe,UAAU;AAAA,EACzB,mBAAmB,UAAU;AAAA,EAC7B,iBAAiB,UAAU;AAAA,EAC3B,mBAAmB,UAAU;AAAA,EAC7B,gBAAgB,UAAU;AAAA;AAI5B,IAAO,gCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { ChevronDoubleLeft, ChevronDoubleRight } from "@elliemae/ds-icons";
|
|
4
|
+
import { Grid } from "@elliemae/ds-grid";
|
|
5
|
+
const renderMonthElement = ({ month, onYearSelect }) => /* @__PURE__ */ React2.createElement(Grid, {
|
|
6
|
+
height: "20px",
|
|
7
|
+
cols: ["auto", 1, "auto"],
|
|
8
|
+
alignItems: "flex-end",
|
|
9
|
+
mr: "10px"
|
|
10
|
+
}, /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement("div", {
|
|
11
|
+
role: "button",
|
|
12
|
+
tabIndex: "0",
|
|
13
|
+
"data-testid": "date-picker-prev-year-arrow",
|
|
14
|
+
onClick: () => onYearSelect(month, month.year() - 1)
|
|
15
|
+
}, /* @__PURE__ */ React2.createElement(ChevronDoubleLeft, {
|
|
16
|
+
width: 13.6,
|
|
17
|
+
height: 13.6
|
|
18
|
+
}))), /* @__PURE__ */ React2.createElement(Grid, {
|
|
19
|
+
"data-testid": "date-picker-header"
|
|
20
|
+
}, /* @__PURE__ */ React2.createElement("strong", null, month.format("MMMM YYYY"))), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement("div", {
|
|
21
|
+
role: "button",
|
|
22
|
+
tabIndex: "0",
|
|
23
|
+
"data-testid": "date-picker-next-year-arrow",
|
|
24
|
+
onClick: () => onYearSelect(month, month.year() + 1)
|
|
25
|
+
}, /* @__PURE__ */ React2.createElement(ChevronDoubleRight, {
|
|
26
|
+
width: 13.6,
|
|
27
|
+
height: 13.6
|
|
28
|
+
}))));
|
|
29
|
+
export {
|
|
30
|
+
renderMonthElement
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=DatePickerRenderMonth.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerRenderMonth/DatePickerRenderMonth.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable jsx-a11y/click-events-have-key-events */\nimport React from 'react';\nimport { ChevronDoubleLeft, ChevronDoubleRight } from '@elliemae/ds-icons';\nimport { Grid } from '@elliemae/ds-grid';\n\nexport const renderMonthElement = ({ month, onYearSelect }) => (\n <Grid height=\"20px\" cols={['auto', 1, 'auto']} alignItems=\"flex-end\" mr=\"10px\">\n <div>\n <div\n role=\"button\"\n tabIndex=\"0\"\n data-testid=\"date-picker-prev-year-arrow\"\n onClick={() => onYearSelect(month, month.year() - 1)}\n >\n <ChevronDoubleLeft width={13.6} height={13.6} />\n </div>\n </div>\n <Grid data-testid=\"date-picker-header\">\n <strong>{month.format('MMMM YYYY')}</strong>\n </Grid>\n <div>\n <div\n role=\"button\"\n tabIndex=\"0\"\n data-testid=\"date-picker-next-year-arrow\"\n onClick={() => onYearSelect(month, month.year() + 1)}\n >\n <ChevronDoubleRight width={13.6} height={13.6} />\n </div>\n </div>\n </Grid>\n);\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AAEO,MAAM,qBAAqB,CAAC,EAAE,OAAO,mBAC1C,qCAAC,MAAD;AAAA,EAAM,QAAO;AAAA,EAAO,MAAM,CAAC,QAAQ,GAAG;AAAA,EAAS,YAAW;AAAA,EAAW,IAAG;AAAA,GACtE,qCAAC,OAAD,MACE,qCAAC,OAAD;AAAA,EACE,MAAK;AAAA,EACL,UAAS;AAAA,EACT,eAAY;AAAA,EACZ,SAAS,MAAM,aAAa,OAAO,MAAM,SAAS;AAAA,GAElD,qCAAC,mBAAD;AAAA,EAAmB,OAAO;AAAA,EAAM,QAAQ;AAAA,MAG5C,qCAAC,MAAD;AAAA,EAAM,eAAY;AAAA,GAChB,qCAAC,UAAD,MAAS,MAAM,OAAO,gBAExB,qCAAC,OAAD,MACE,qCAAC,OAAD;AAAA,EACE,MAAK;AAAA,EACL,UAAS;AAAA,EACT,eAAY;AAAA,EACZ,SAAS,MAAM,aAAa,OAAO,MAAM,SAAS;AAAA,GAElD,qCAAC,oBAAD;AAAA,EAAoB,OAAO;AAAA,EAAM,QAAQ;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
2
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var __objRest = (source, exclude) => {
|
|
5
|
+
var target = {};
|
|
6
|
+
for (var prop in source)
|
|
7
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
8
|
+
target[prop] = source[prop];
|
|
9
|
+
if (source != null && __getOwnPropSymbols)
|
|
10
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
11
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
12
|
+
target[prop] = source[prop];
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
import * as React from "react";
|
|
17
|
+
import React2, { useState, useRef } from "react";
|
|
18
|
+
import { DayPickerSingleDateController } from "react-dates";
|
|
19
|
+
import moment from "moment";
|
|
20
|
+
import { aggregatedClasses, convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
21
|
+
import { ChevronLeft } from "@elliemae/ds-icons";
|
|
22
|
+
import { DatePickerDay } from "../DatePickerDay/DatePickerDay";
|
|
23
|
+
import { DatePickerNavigation } from "../DatePickerNavigation/DatePickerNavigation";
|
|
24
|
+
import { DatePickerHeader } from "../DatePickerHeader/DatePickerHeader";
|
|
25
|
+
const blockname = "single-date";
|
|
26
|
+
const Wrapper = aggregatedClasses("div")(blockname, "wrapper");
|
|
27
|
+
const { classNameElement, classNameBlock } = convertPropToCssClassName("datepicker");
|
|
28
|
+
const DatePickerSingleDate = (_a) => {
|
|
29
|
+
var _b = _a, {
|
|
30
|
+
date,
|
|
31
|
+
displayFormatDay = "D",
|
|
32
|
+
isDayHighlighted = () => false,
|
|
33
|
+
enableOutsideDays = true,
|
|
34
|
+
showHeader = true,
|
|
35
|
+
onChange = () => null
|
|
36
|
+
} = _b, rest = __objRest(_b, [
|
|
37
|
+
"date",
|
|
38
|
+
"displayFormatDay",
|
|
39
|
+
"isDayHighlighted",
|
|
40
|
+
"enableOutsideDays",
|
|
41
|
+
"showHeader",
|
|
42
|
+
"onChange"
|
|
43
|
+
]);
|
|
44
|
+
const [selectedDate, setSelectedDate] = useState(date);
|
|
45
|
+
const [key, setKey] = useState(moment());
|
|
46
|
+
const datePickerRef = useRef();
|
|
47
|
+
const updateKeyDate = (newDate) => {
|
|
48
|
+
setKey(newDate);
|
|
49
|
+
};
|
|
50
|
+
const handleDateChange = (newDate) => {
|
|
51
|
+
setSelectedDate(newDate);
|
|
52
|
+
setTimeout(() => onChange(newDate), 500);
|
|
53
|
+
};
|
|
54
|
+
return /* @__PURE__ */ React2.createElement(Wrapper, null, showHeader && /* @__PURE__ */ React2.createElement(DatePickerHeader, {
|
|
55
|
+
onInputChange: handleDateChange,
|
|
56
|
+
selectedDate,
|
|
57
|
+
updateKeyDate
|
|
58
|
+
}), /* @__PURE__ */ React2.createElement("div", {
|
|
59
|
+
ref: datePickerRef,
|
|
60
|
+
className: classNameBlock("wrapper-day-picker-single-date-controller"),
|
|
61
|
+
"data-testid": rest["data-testid"] || "date-picker-single-date"
|
|
62
|
+
}, /* @__PURE__ */ React2.createElement(DayPickerSingleDateController, {
|
|
63
|
+
key,
|
|
64
|
+
date: selectedDate,
|
|
65
|
+
enableOutsideDays,
|
|
66
|
+
focused: true,
|
|
67
|
+
hideKeyboardShortcutsPanel: true,
|
|
68
|
+
isDayHighlighted,
|
|
69
|
+
keepOpenOnDateSelect: true,
|
|
70
|
+
navNext: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
|
|
71
|
+
className: classNameElement("navigation-next")
|
|
72
|
+
}),
|
|
73
|
+
navPrev: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
|
|
74
|
+
className: classNameElement("navigation-prev"),
|
|
75
|
+
icon: ChevronLeft
|
|
76
|
+
}),
|
|
77
|
+
onDateChange: handleDateChange,
|
|
78
|
+
renderDayContents: (givenDate) => /* @__PURE__ */ React2.createElement(DatePickerDay, {
|
|
79
|
+
className: classNameElement("day-contents"),
|
|
80
|
+
date: givenDate.format(displayFormatDay)
|
|
81
|
+
})
|
|
82
|
+
})));
|
|
83
|
+
};
|
|
84
|
+
var DatePickerSingleDate_default = DatePickerSingleDate;
|
|
85
|
+
export {
|
|
86
|
+
DatePickerSingleDate,
|
|
87
|
+
DatePickerSingleDate_default as default
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=DatePickerSingleDate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/DatePickerSingleDate/DatePickerSingleDate.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable import/no-unresolved */\n/* eslint-disable react/prop-types */\n/* eslint-disable no-console */\nimport React, { useState, useRef } from 'react';\nimport { DayPickerSingleDateController } from 'react-dates';\nimport moment from 'moment';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronLeft } from '@elliemae/ds-icons';\nimport { DatePickerDay } from '../DatePickerDay/DatePickerDay';\nimport { DatePickerNavigation } from '../DatePickerNavigation/DatePickerNavigation';\nimport { DatePickerHeader } from '../DatePickerHeader/DatePickerHeader';\n\nconst blockname = 'single-date';\nconst Wrapper = aggregatedClasses('div')(blockname, 'wrapper');\n\nconst { classNameElement, classNameBlock } = convertPropToCssClassName('datepicker');\n\nconst DatePickerSingleDate = ({\n date,\n displayFormatDay = 'D',\n isDayHighlighted = () => false,\n enableOutsideDays = true,\n showHeader = true,\n onChange = () => null,\n ...rest\n}) => {\n const [selectedDate, setSelectedDate] = useState(date);\n const [key, setKey] = useState(moment());\n const datePickerRef = useRef();\n\n const updateKeyDate = (newDate) => {\n setKey(newDate);\n };\n\n const handleDateChange = (newDate) => {\n setSelectedDate(newDate);\n setTimeout(() => onChange(newDate), 500);\n };\n\n return (\n <Wrapper>\n {showHeader && (\n <DatePickerHeader onInputChange={handleDateChange} selectedDate={selectedDate} updateKeyDate={updateKeyDate} />\n )}\n <div\n ref={datePickerRef}\n className={classNameBlock('wrapper-day-picker-single-date-controller')}\n data-testid={rest['data-testid'] || 'date-picker-single-date'}\n >\n <DayPickerSingleDateController\n key={key}\n date={selectedDate}\n enableOutsideDays={enableOutsideDays}\n focused\n hideKeyboardShortcutsPanel\n isDayHighlighted={isDayHighlighted}\n keepOpenOnDateSelect\n navNext={<DatePickerNavigation className={classNameElement('navigation-next')} />}\n navPrev={<DatePickerNavigation className={classNameElement('navigation-prev')} icon={ChevronLeft} />}\n onDateChange={handleDateChange}\n renderDayContents={(givenDate) => (\n <DatePickerDay className={classNameElement('day-contents')} date={givenDate.format(displayFormatDay)} />\n )}\n />\n </div>\n </Wrapper>\n );\n};\n\nexport { DatePickerSingleDate };\nexport default DatePickerSingleDate;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;ACGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAClB,MAAM,UAAU,kBAAkB,OAAO,WAAW;AAEpD,MAAM,EAAE,kBAAkB,mBAAmB,0BAA0B;AAEvE,MAAM,uBAAuB,CAAC,OAQxB;AARwB,eAC5B;AAAA;AAAA,IACA,mBAAmB;AAAA,IACnB,mBAAmB,MAAM;AAAA,IACzB,oBAAoB;AAAA,IACpB,aAAa;AAAA,IACb,WAAW,MAAM;AAAA,MANW,IAOzB,iBAPyB,IAOzB;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,CAAC,cAAc,mBAAmB,SAAS;AACjD,QAAM,CAAC,KAAK,UAAU,SAAS;AAC/B,QAAM,gBAAgB;AAEtB,QAAM,gBAAgB,CAAC,YAAY;AACjC,WAAO;AAAA;AAGT,QAAM,mBAAmB,CAAC,YAAY;AACpC,oBAAgB;AAChB,eAAW,MAAM,SAAS,UAAU;AAAA;AAGtC,SACE,qCAAC,SAAD,MACG,cACC,qCAAC,kBAAD;AAAA,IAAkB,eAAe;AAAA,IAAkB;AAAA,IAA4B;AAAA,MAEjF,qCAAC,OAAD;AAAA,IACE,KAAK;AAAA,IACL,WAAW,eAAe;AAAA,IAC1B,eAAa,KAAK,kBAAkB;AAAA,KAEpC,qCAAC,+BAAD;AAAA,IACE;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA,SAAO;AAAA,IACP,4BAA0B;AAAA,IAC1B;AAAA,IACA,sBAAoB;AAAA,IACpB,SAAS,qCAAC,sBAAD;AAAA,MAAsB,WAAW,iBAAiB;AAAA;AAAA,IAC3D,SAAS,qCAAC,sBAAD;AAAA,MAAsB,WAAW,iBAAiB;AAAA,MAAoB,MAAM;AAAA;AAAA,IACrF,cAAc;AAAA,IACd,mBAAmB,CAAC,cAClB,qCAAC,eAAD;AAAA,MAAe,WAAW,iBAAiB;AAAA,MAAiB,MAAM,UAAU,OAAO;AAAA;AAAA;AAAA;AAS/F,IAAO,+BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { DSCheckbox } from "@elliemae/ds-form";
|
|
4
|
+
import { aggregatedClasses } from "@elliemae/ds-classnames";
|
|
5
|
+
import { DatePickerRangeHeader } from "../DatePickerRangeHeader/DatePickerRangeHeader";
|
|
6
|
+
import { DatePickerHeader } from "../DatePickerHeader/DatePickerHeader";
|
|
7
|
+
const blockname = "date-switcher";
|
|
8
|
+
const Header = aggregatedClasses("div")(blockname, "header");
|
|
9
|
+
const SingleRangeDateSwitcher = ({
|
|
10
|
+
onStartInputChange,
|
|
11
|
+
onEndInputChange,
|
|
12
|
+
onSingleInputChange,
|
|
13
|
+
onFocusChange,
|
|
14
|
+
selectedStartDate,
|
|
15
|
+
selectedEndDate,
|
|
16
|
+
selectedSingleDate,
|
|
17
|
+
isDateRange,
|
|
18
|
+
setIsDateRange,
|
|
19
|
+
handleDatesChange,
|
|
20
|
+
updateKeyDate,
|
|
21
|
+
focusedInput
|
|
22
|
+
}) => {
|
|
23
|
+
const SingleDateInput = /* @__PURE__ */ React2.createElement(DatePickerHeader, {
|
|
24
|
+
onInputChange: onSingleInputChange,
|
|
25
|
+
selectedDate: selectedSingleDate,
|
|
26
|
+
updateKeyDate
|
|
27
|
+
});
|
|
28
|
+
const DateRangeInput = /* @__PURE__ */ React2.createElement(DatePickerRangeHeader, {
|
|
29
|
+
focusedInput,
|
|
30
|
+
onFocusChange,
|
|
31
|
+
onEndInputChange,
|
|
32
|
+
onStartInputChange,
|
|
33
|
+
selectedEndDate,
|
|
34
|
+
selectedStartDate,
|
|
35
|
+
handleDatesChange
|
|
36
|
+
});
|
|
37
|
+
return /* @__PURE__ */ React2.createElement(Header, {
|
|
38
|
+
"data-testid": "date-switch-header"
|
|
39
|
+
}, /* @__PURE__ */ React2.createElement(DSCheckbox, {
|
|
40
|
+
checked: isDateRange,
|
|
41
|
+
className: "switch-header__checkbox",
|
|
42
|
+
labelText: "Range",
|
|
43
|
+
onChange: setIsDateRange
|
|
44
|
+
}), isDateRange ? DateRangeInput : SingleDateInput);
|
|
45
|
+
};
|
|
46
|
+
var SingleRangeDateSwitcher_default = SingleRangeDateSwitcher;
|
|
47
|
+
export {
|
|
48
|
+
SingleRangeDateSwitcher,
|
|
49
|
+
SingleRangeDateSwitcher_default as default
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=SingleRangeDateSwitcher.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DatePickerRangeHeader } from '../DatePickerRangeHeader/DatePickerRangeHeader';\nimport { DatePickerHeader } from '../DatePickerHeader/DatePickerHeader';\n\nconst blockname = 'date-switcher';\nconst Header = aggregatedClasses('div')(blockname, 'header');\n\nconst SingleRangeDateSwitcher = ({\n onStartInputChange,\n onEndInputChange,\n onSingleInputChange,\n onFocusChange,\n selectedStartDate,\n selectedEndDate,\n selectedSingleDate,\n isDateRange,\n setIsDateRange,\n handleDatesChange,\n updateKeyDate,\n focusedInput,\n}) => {\n const SingleDateInput = (\n <DatePickerHeader\n onInputChange={onSingleInputChange}\n selectedDate={selectedSingleDate}\n updateKeyDate={updateKeyDate}\n />\n );\n const DateRangeInput = (\n <DatePickerRangeHeader\n focusedInput={focusedInput}\n onFocusChange={onFocusChange}\n onEndInputChange={onEndInputChange}\n onStartInputChange={onStartInputChange}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n handleDatesChange={handleDatesChange}\n />\n );\n\n return (\n <Header data-testid=\"date-switch-header\">\n <DSCheckbox\n checked={isDateRange}\n className=\"switch-header__checkbox\"\n labelText=\"Range\"\n onChange={setIsDateRange}\n />\n {isDateRange ? DateRangeInput : SingleDateInput}\n </Header>\n );\n};\n\nexport { SingleRangeDateSwitcher };\nexport default SingleRangeDateSwitcher;\n"],
|
|
5
|
+
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAClB,MAAM,SAAS,kBAAkB,OAAO,WAAW;AAEnD,MAAM,0BAA0B,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,kBACJ,qCAAC,kBAAD;AAAA,IACE,eAAe;AAAA,IACf,cAAc;AAAA,IACd;AAAA;AAGJ,QAAM,iBACJ,qCAAC,uBAAD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAIJ,SACE,qCAAC,QAAD;AAAA,IAAQ,eAAY;AAAA,KAClB,qCAAC,YAAD;AAAA,IACE,SAAS;AAAA,IACT,WAAU;AAAA,IACV,WAAU;AAAA,IACV,UAAU;AAAA,MAEX,cAAc,iBAAiB;AAAA;AAMtC,IAAO,kCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { default as default2 } from "./DatePickerNavigation/DatePickerNavigation";
|
|
3
|
+
import { default as default3 } from "./DatePickerDay/DatePickerDay";
|
|
4
|
+
import { default as default4 } from "./DatePickerPicker/DatePickerPicker";
|
|
5
|
+
import { default as default5 } from "./DatePickerDropdown";
|
|
6
|
+
import { default as default6 } from "./DatePickerSingleDate/DatePickerSingleDate";
|
|
7
|
+
import { default as default7 } from "./DatePickerHeader/DatePickerHeader";
|
|
8
|
+
import { default as default8 } from "./DatePickerRange/DatePickerRange";
|
|
9
|
+
import { default as default9 } from "./DatePickerRangeHeader/DatePickerRangeHeader";
|
|
10
|
+
import { default as default10 } from "./SingleRangeDateSwitcher/SingleRangeDateSwitcher";
|
|
11
|
+
import { renderMonthElement } from "./DatePickerRenderMonth/DatePickerRenderMonth";
|
|
12
|
+
export {
|
|
13
|
+
default3 as DatePickerDay,
|
|
14
|
+
default5 as DatePickerDropdown,
|
|
15
|
+
default7 as DatePickerHeader,
|
|
16
|
+
default2 as DatePickerNavigation,
|
|
17
|
+
default4 as DatePickerPicker,
|
|
18
|
+
default8 as DatePickerRange,
|
|
19
|
+
default9 as DatePickerRangeHeader,
|
|
20
|
+
default6 as DatePickerSingleDate,
|
|
21
|
+
default10 as SingleRangeDateSwitcher,
|
|
22
|
+
renderMonthElement
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default as DatePickerNavigation } from './DatePickerNavigation/DatePickerNavigation';\nexport { default as DatePickerDay } from './DatePickerDay/DatePickerDay';\nexport { default as DatePickerPicker } from './DatePickerPicker/DatePickerPicker';\nexport { default as DatePickerDropdown } from './DatePickerDropdown';\nexport { default as DatePickerSingleDate } from './DatePickerSingleDate/DatePickerSingleDate';\nexport { default as DatePickerHeader } from './DatePickerHeader/DatePickerHeader';\nexport { default as DatePickerRange } from './DatePickerRange/DatePickerRange';\nexport { default as DatePickerRangeHeader } from './DatePickerRangeHeader/DatePickerRangeHeader';\nexport { default as SingleRangeDateSwitcher } from './SingleRangeDateSwitcher/SingleRangeDateSwitcher';\nexport { renderMonthElement } from './DatePickerRenderMonth/DatePickerRenderMonth';\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|