@elliemae/ds-date-range-picker 2.3.1 → 3.0.0-alpha.3

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.
Files changed (49) hide show
  1. package/dist/cjs/DSDateRangePicker.js +226 -0
  2. package/dist/cjs/DSDateRangePicker.js.map +7 -0
  3. package/dist/cjs/components/DSDateRangePickerImpl.js +293 -0
  4. package/dist/cjs/components/DSDateRangePickerImpl.js.map +7 -0
  5. package/dist/cjs/components/DatePickerLabel/DatePickerLabel.js +39 -0
  6. package/dist/cjs/components/DatePickerLabel/DatePickerLabel.js.map +7 -0
  7. package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +112 -0
  8. package/dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
  9. package/dist/cjs/components/DayPickerRangeController.js +203 -0
  10. package/dist/cjs/components/DayPickerRangeController.js.map +7 -0
  11. package/dist/cjs/index.js +36 -0
  12. package/dist/cjs/index.js.map +7 -0
  13. package/dist/cjs/isMaxDiffSafe.js +46 -0
  14. package/dist/cjs/isMaxDiffSafe.js.map +7 -0
  15. package/dist/esm/DSDateRangePicker.js +202 -0
  16. package/dist/esm/DSDateRangePicker.js.map +7 -0
  17. package/dist/esm/components/DSDateRangePickerImpl.js +264 -0
  18. package/dist/esm/components/DSDateRangePickerImpl.js.map +7 -0
  19. package/dist/esm/components/DatePickerLabel/DatePickerLabel.js +10 -0
  20. package/dist/esm/components/DatePickerLabel/DatePickerLabel.js.map +7 -0
  21. package/{esm → dist/esm}/components/DatePickerRangeHeader/DatePickerRangeHeader.js +36 -45
  22. package/dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +7 -0
  23. package/dist/esm/components/DayPickerRangeController.js +176 -0
  24. package/dist/esm/components/DayPickerRangeController.js.map +7 -0
  25. package/dist/esm/index.js +7 -0
  26. package/dist/esm/index.js.map +7 -0
  27. package/dist/esm/isMaxDiffSafe.js +17 -0
  28. package/dist/esm/isMaxDiffSafe.js.map +7 -0
  29. package/package.json +41 -32
  30. package/cjs/DSDateRangePicker.js +0 -204
  31. package/cjs/components/DSDateRangePickerImpl.js +0 -343
  32. package/cjs/components/DatePickerLabel/DatePickerLabel.js +0 -20
  33. package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +0 -100
  34. package/cjs/components/DayPickerRangeController.js +0 -147
  35. package/cjs/index.js +0 -15
  36. package/cjs/isMaxDiffSafe.js +0 -20
  37. package/esm/DSDateRangePicker.js +0 -191
  38. package/esm/components/DSDateRangePickerImpl.js +0 -330
  39. package/esm/components/DatePickerLabel/DatePickerLabel.js +0 -14
  40. package/esm/components/DayPickerRangeController.js +0 -139
  41. package/esm/index.js +0 -3
  42. package/esm/isMaxDiffSafe.js +0 -15
  43. package/types/DSDateRangePicker.d.ts +0 -243
  44. package/types/components/DSDateRangePickerImpl.d.ts +0 -24
  45. package/types/components/DatePickerLabel/DatePickerLabel.d.ts +0 -6
  46. package/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +0 -10
  47. package/types/components/DayPickerRangeController.d.ts +0 -36
  48. package/types/index.d.ts +0 -2
  49. package/types/isMaxDiffSafe.d.ts +0 -2
@@ -0,0 +1,176 @@
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
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import * as React from "react";
33
+ import React2, { useRef, useEffect } from "react";
34
+ import PropTypes from "prop-types";
35
+ import moment from "moment";
36
+ import { DayPickerRangeController as RDRangeController } from "react-dates";
37
+ import { DatePickerDay, DatePickerNavigation, renderMonthElement } from "@elliemae/ds-date-picker";
38
+ import { ChevronLeft } from "@elliemae/ds-icons";
39
+ import { convertPropToCssClassName } from "@elliemae/ds-classnames";
40
+ const { classNameElement, classNameBlock } = convertPropToCssClassName("datepicker-range");
41
+ const DayPickerRangeController = (_a) => {
42
+ var _b = _a, {
43
+ endDate = void 0,
44
+ startDate = void 0,
45
+ displayFormatDay = "D",
46
+ focusedInput = void 0,
47
+ enableOutsideDays = false,
48
+ onDatesChange = () => null,
49
+ onFocusChange = () => null,
50
+ onOutsideClick = () => null,
51
+ isDayBlocked = () => null,
52
+ isDayHighlighted = () => null,
53
+ isOutsideRange = () => null,
54
+ onNextMonthClick = () => null,
55
+ onPrevMonthClick = () => null
56
+ } = _b, otherProps = __objRest(_b, [
57
+ "endDate",
58
+ "startDate",
59
+ "displayFormatDay",
60
+ "focusedInput",
61
+ "enableOutsideDays",
62
+ "onDatesChange",
63
+ "onFocusChange",
64
+ "onOutsideClick",
65
+ "isDayBlocked",
66
+ "isDayHighlighted",
67
+ "isOutsideRange",
68
+ "onNextMonthClick",
69
+ "onPrevMonthClick"
70
+ ]);
71
+ const datePickerRef = useRef();
72
+ useEffect(() => {
73
+ const handleMouseUp = () => {
74
+ const focusedElement = document.activeElement;
75
+ focusedElement.blur();
76
+ };
77
+ const handleKeyDown = (event) => {
78
+ const [firstDay, ...restOfDays] = document.getElementsByClassName("CalendarMonthGrid_month__horizontal")[1].getElementsByClassName("CalendarDay");
79
+ const [lastDay] = restOfDays.slice(-1);
80
+ const focusedElement = document.activeElement;
81
+ const [prev, next] = document.getElementsByClassName("DayPickerNavigation_button");
82
+ switch (event.key) {
83
+ case "Home":
84
+ event.stopPropagation();
85
+ firstDay.focus();
86
+ break;
87
+ case "End":
88
+ event.stopPropagation();
89
+ lastDay.focus();
90
+ break;
91
+ case "Enter":
92
+ case " ":
93
+ if (focusedElement === prev) {
94
+ event.stopPropagation();
95
+ setTimeout(() => {
96
+ prev.focus();
97
+ }, 240);
98
+ } else if (focusedElement === next) {
99
+ event.stopPropagation();
100
+ setTimeout(() => {
101
+ next?.focus();
102
+ }, 240);
103
+ }
104
+ break;
105
+ case "Tab":
106
+ if (firstDay === focusedElement || restOfDays.includes(focusedElement)) {
107
+ event.preventDefault();
108
+ prev.focus();
109
+ }
110
+ break;
111
+ default:
112
+ break;
113
+ }
114
+ };
115
+ datePickerRef.current.addEventListener("mouseup", handleMouseUp, false);
116
+ datePickerRef.current.addEventListener("keydown", handleKeyDown, false);
117
+ return () => {
118
+ if (datePickerRef.current) {
119
+ datePickerRef.current.removeEventListener("mouseup", handleMouseUp, false);
120
+ datePickerRef.current.removeEventListener("keydown", handleKeyDown, false);
121
+ }
122
+ };
123
+ }, []);
124
+ return /* @__PURE__ */ React2.createElement("div", {
125
+ ref: datePickerRef,
126
+ className: classNameBlock("wrapper-day-picker-single-date-controller"),
127
+ "data-testid": otherProps["data-testid"] || "date-range-picker-controller"
128
+ }, /* @__PURE__ */ React2.createElement(RDRangeController, __spreadProps(__spreadValues({}, otherProps), {
129
+ isDayBlocked,
130
+ isDayHighlighted,
131
+ isOutsideRange,
132
+ enableOutsideDays,
133
+ endDate,
134
+ focused: true,
135
+ focusedInput,
136
+ hideKeyboardShortcutsPanel: true,
137
+ navNext: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
138
+ className: classNameElement("navigation-next")
139
+ }),
140
+ navPrev: /* @__PURE__ */ React2.createElement(DatePickerNavigation, {
141
+ className: classNameElement("navigation-prev"),
142
+ icon: ChevronLeft
143
+ }),
144
+ onDatesChange,
145
+ onFocusChange,
146
+ onOutsideClick,
147
+ onNextMonthClick,
148
+ onPrevMonthClick,
149
+ renderDayContents: (date) => /* @__PURE__ */ React2.createElement(DatePickerDay, {
150
+ className: classNameElement("day-contents"),
151
+ date: date.format(displayFormatDay)
152
+ }),
153
+ renderMonthElement,
154
+ startDate
155
+ })));
156
+ };
157
+ DayPickerRangeController.propTypes = {
158
+ endDate: PropTypes.instanceOf(Date, moment),
159
+ startDate: PropTypes.instanceOf(Date, moment),
160
+ displayFormatDay: PropTypes.string,
161
+ focusedInput: PropTypes.bool,
162
+ onDatesChange: PropTypes.func,
163
+ onFocusChange: PropTypes.func,
164
+ onOutsideClick: PropTypes.func,
165
+ onNextMonthClick: PropTypes.func,
166
+ onPrevMonthClick: PropTypes.func,
167
+ enableOutsideDays: PropTypes.bool,
168
+ isDayBlocked: PropTypes.func,
169
+ isDayHighlighted: PropTypes.func,
170
+ isOutsideRange: PropTypes.func
171
+ };
172
+ var DayPickerRangeController_default = DayPickerRangeController;
173
+ export {
174
+ DayPickerRangeController_default as default
175
+ };
176
+ //# sourceMappingURL=DayPickerRangeController.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DayPickerRangeController.tsx"],
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": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { default as default2 } from "./DSDateRangePicker";
3
+ export * from "./DSDateRangePicker";
4
+ export {
5
+ default2 as default
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 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"],
5
+ "mappings": "AAAA;ACAA;AACA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,17 @@
1
+ import * as React from "react";
2
+ const MAX_YEARS_DIFF = 150;
3
+ const isMaxDiffSafe = (startDate, endDate, prevStart, prevEnd) => {
4
+ try {
5
+ const diff = Math.abs(endDate.diff(startDate, "years"));
6
+ const diffStart = Math.abs(startDate.diff(prevStart, "years"));
7
+ const diffEnd = Math.abs(endDate.diff(prevEnd, "years"));
8
+ return diff < MAX_YEARS_DIFF && diffStart < MAX_YEARS_DIFF && diffEnd < MAX_YEARS_DIFF;
9
+ } catch (error) {
10
+ return true;
11
+ }
12
+ };
13
+ export {
14
+ MAX_YEARS_DIFF,
15
+ isMaxDiffSafe
16
+ };
17
+ //# sourceMappingURL=isMaxDiffSafe.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/isMaxDiffSafe.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nexport const MAX_YEARS_DIFF = 150;\n// https://jira.elliemae.io/browse/PUI-4145\nexport const isMaxDiffSafe = (startDate, endDate, prevStart, prevEnd) => {\n try {\n const diff = Math.abs(endDate.diff(startDate, 'years'));\n const diffStart = Math.abs(startDate.diff(prevStart, 'years'));\n const diffEnd = Math.abs(endDate.diff(prevEnd, 'years'));\n return (\n diff < MAX_YEARS_DIFF &&\n diffStart < MAX_YEARS_DIFF &&\n diffEnd < MAX_YEARS_DIFF\n );\n } catch (error) {\n return true;\n }\n};\n"],
5
+ "mappings": "AAAA;ACCO,MAAM,iBAAiB;AAEvB,MAAM,gBAAgB,CAAC,WAAW,SAAS,WAAW,YAAY;AACvE,MAAI;AACF,UAAM,OAAO,KAAK,IAAI,QAAQ,KAAK,WAAW;AAC9C,UAAM,YAAY,KAAK,IAAI,UAAU,KAAK,WAAW;AACrD,UAAM,UAAU,KAAK,IAAI,QAAQ,KAAK,SAAS;AAC/C,WACE,OAAO,kBACP,YAAY,kBACZ,UAAU;AAAA,WAEL,OAAP;AACA,WAAO;AAAA;AAAA;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,39 +1,42 @@
1
1
  {
2
2
  "name": "@elliemae/ds-date-range-picker",
3
- "version": "2.3.1",
3
+ "version": "3.0.0-alpha.3",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Date Range Picker",
6
- "module": "./esm/index.js",
7
- "main": "./cjs/index.js",
8
- "types": "./types/index.d.ts",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "module": "./dist/esm/index.js",
10
+ "main": "./dist/cjs/index.js",
11
+ "types": "./dist/types/index.d.ts",
9
12
  "exports": {
10
13
  ".": {
11
- "import": "./esm/index.js",
12
- "require": "./cjs/index.js"
14
+ "import": "./dist/esm/index.js",
15
+ "require": "./dist/cjs/index.js"
13
16
  },
14
17
  "./isMaxDiffSafe": {
15
- "import": "./esm/isMaxDiffSafe.js",
16
- "require": "./cjs/isMaxDiffSafe.js"
18
+ "import": "./dist/esm/isMaxDiffSafe.js",
19
+ "require": "./dist/cjs/isMaxDiffSafe.js"
17
20
  },
18
21
  "./DSDateRangePicker": {
19
- "import": "./esm/DSDateRangePicker.js",
20
- "require": "./cjs/DSDateRangePicker.js"
22
+ "import": "./dist/esm/DSDateRangePicker.js",
23
+ "require": "./dist/cjs/DSDateRangePicker.js"
21
24
  },
22
25
  "./components/DSDateRangePickerImpl": {
23
- "import": "./esm/components/DSDateRangePickerImpl.js",
24
- "require": "./cjs/components/DSDateRangePickerImpl.js"
26
+ "import": "./dist/esm/components/DSDateRangePickerImpl.js",
27
+ "require": "./dist/cjs/components/DSDateRangePickerImpl.js"
25
28
  },
26
29
  "./components/DayPickerRangeController": {
27
- "import": "./esm/components/DayPickerRangeController.js",
28
- "require": "./cjs/components/DayPickerRangeController.js"
30
+ "import": "./dist/esm/components/DayPickerRangeController.js",
31
+ "require": "./dist/cjs/components/DayPickerRangeController.js"
29
32
  },
30
33
  "./components/DatePickerRangeHeader/DatePickerRangeHeader": {
31
- "import": "./esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js",
32
- "require": "./cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js"
34
+ "import": "./dist/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js",
35
+ "require": "./dist/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js"
33
36
  },
34
37
  "./components/DatePickerLabel/DatePickerLabel": {
35
- "import": "./esm/components/DatePickerLabel/DatePickerLabel.js",
36
- "require": "./cjs/components/DatePickerLabel/DatePickerLabel.js"
38
+ "import": "./dist/esm/components/DatePickerLabel/DatePickerLabel.js",
39
+ "require": "./dist/cjs/components/DatePickerLabel/DatePickerLabel.js"
37
40
  }
38
41
  },
39
42
  "sideEffects": [
@@ -45,22 +48,22 @@
45
48
  "url": "https://git.elliemae.io/platform-ui/dimsum.git"
46
49
  },
47
50
  "engines": {
48
- "npm": ">=7",
49
- "node": ">=14"
51
+ "pnpm": ">=6",
52
+ "node": ">=16"
50
53
  },
51
54
  "author": "ICE MT",
52
- "scripts": {
53
- "dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
54
- "prebuild": "exit 0",
55
- "predev": "exit 0",
56
- "build": "node ../../scripts/build/build.js"
55
+ "jestSonar": {
56
+ "sonar56x": true,
57
+ "reportPath": "reports",
58
+ "reportFile": "tests.xml",
59
+ "indent": 4
57
60
  },
58
61
  "dependencies": {
59
- "@elliemae/ds-classnames": "2.3.1",
60
- "@elliemae/ds-date-picker": "2.3.1",
61
- "@elliemae/ds-form": "2.3.1",
62
- "@elliemae/ds-icons": "2.3.1",
63
- "@elliemae/ds-popper": "2.3.1",
62
+ "@elliemae/ds-classnames": "3.0.0-alpha.3",
63
+ "@elliemae/ds-date-picker": "3.0.0-alpha.3",
64
+ "@elliemae/ds-form": "3.0.0-alpha.3",
65
+ "@elliemae/ds-icons": "3.0.0-alpha.3",
66
+ "@elliemae/ds-popper": "3.0.0-alpha.3",
64
67
  "moment": "~2.29.1",
65
68
  "prop-types": "~15.7.2",
66
69
  "react-dates": "~21.8.0",
@@ -73,7 +76,13 @@
73
76
  },
74
77
  "publishConfig": {
75
78
  "access": "public",
76
- "directory": "dist",
77
- "generateSubmodules": true
79
+ "typeSafety": false
80
+ },
81
+ "scripts": {
82
+ "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
83
+ "test": "node ../../scripts/testing/test.mjs",
84
+ "lint": "node ../../scripts/lint.mjs",
85
+ "dts": "node ../../scripts/dts.mjs",
86
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
78
87
  }
79
88
  }
@@ -1,204 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
- var _jsx = require('@babel/runtime/helpers/jsx');
12
- require('react');
13
- var reactDesc = require('react-desc');
14
- var dsClassnames = require('@elliemae/ds-classnames');
15
- var moment = require('moment');
16
- require('react-dates/initialize');
17
- var defaultPhrases = require('react-dates/lib/defaultPhrases');
18
- var DayPickerRangeController = require('./components/DayPickerRangeController.js');
19
- var DSDateRangePickerImpl = require('./components/DSDateRangePickerImpl.js');
20
- var jsxRuntime = require('react/jsx-runtime');
21
-
22
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
-
24
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
27
-
28
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
-
30
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
-
32
- const DSDateRangePicker = _ref => {
33
- let {
34
- containerProps = {},
35
- className = '',
36
- disabled = false,
37
- required = false,
38
- startDateRequired = false,
39
- endDateRequired = false,
40
- id,
41
- hasError = false,
42
- validationMessage = '',
43
- readOnly = false,
44
- screenReaderInputMessage = 'Select date',
45
- initialVisibleMonth = moment__default["default"](),
46
- firstDayOfWeek = 0,
47
- keepOpenOnDateSelect = true,
48
- reopenPickerOnClearDates = false,
49
- hideKeyboardShortcutsPanel = true,
50
- onPrevMonthClick = () => null,
51
- onNextMonthClick = () => null,
52
- onClose = () => null,
53
- onOutsideClick = () => null,
54
- transitionDuration = 0,
55
- verticalSpacing = 0,
56
- minimumNights = 0,
57
- isDayBlocked = () => false,
58
- isOutsideRange = () => false,
59
- isDayHighlighted = () => false,
60
- displayFormat = 'L',
61
- displayFormatDay = 'D',
62
- phrases = defaultPhrases.DateRangePickerPhrases,
63
- startDate,
64
- endDate,
65
- startDateId = 'startDateId',
66
- endDateId = 'endDateId',
67
- labelFrom = 'From',
68
- labelTo = 'To',
69
- enableOutsideDays = true,
70
- onChangeStartInput = () => null,
71
- onChangeEndInput = () => null,
72
- onDatesChange = () => null
73
- } = _ref;
74
- const {
75
- cssClassName,
76
- prefixBlockName
77
- } = dsClassnames.convertPropToCssClassName('datepicker', className, {
78
- hasError,
79
- readOnly,
80
- disabled,
81
- id
82
- });
83
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, containerProps), {}, {
84
- className: "".concat(prefixBlockName, "-range ").concat(cssClassName, " ").concat(prefixBlockName, "-range"),
85
- children: /*#__PURE__*/_jsx__default["default"](DSDateRangePickerImpl["default"], {
86
- appendToBody: true,
87
- disabled: disabled,
88
- displayFormat: displayFormat,
89
- displayFormatDay: displayFormatDay,
90
- enableOutsideDays: enableOutsideDays,
91
- endDate: endDate,
92
- endDateId: endDateId,
93
- firstDayOfWeek: firstDayOfWeek,
94
- hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
95
- initialVisibleMonth: () => initialVisibleMonth ? moment__default["default"](initialVisibleMonth) : moment__default["default"](startDate),
96
- isDayBlocked: isDayBlocked,
97
- isDayHighlighted: isDayHighlighted,
98
- isOutsideRange: isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange,
99
- keepOpenOnDateSelect: keepOpenOnDateSelect,
100
- labelFrom: labelFrom,
101
- labelTo: labelTo,
102
- minimumNights: minimumNights,
103
- onDatesChange: onDatesChange,
104
- onChangeStartInput: onChangeStartInput,
105
- onChangeEndInput: onChangeEndInput,
106
- onClose: onClose,
107
- onNextMonthClick: onNextMonthClick,
108
- onPrevMonthClick: onPrevMonthClick,
109
- onOutsideClick: onOutsideClick,
110
- phrases: phrases,
111
- readOnly: readOnly,
112
- reopenPickerOnClearDates: reopenPickerOnClearDates,
113
- required: required,
114
- startDateRequired: startDateRequired,
115
- endDateRequired: endDateRequired,
116
- screenReaderInputMessage: screenReaderInputMessage,
117
- startDate: startDate,
118
- startDateId: startDateId,
119
- transitionDuration: transitionDuration,
120
- verticalSpacing: verticalSpacing,
121
- hasError: hasError,
122
- validationMessage: validationMessage
123
- })
124
- }));
125
- };
126
-
127
- const dateRangePickerProps = {
128
- containerProps: reactDesc.PropTypes.shape({}).description('Set of Properties attached to the main container'),
129
- className: reactDesc.PropTypes.string.description('html class attribute'),
130
- disabled: reactDesc.PropTypes.bool.description('disable component or not').defaultValue(false),
131
- required: reactDesc.PropTypes.bool.description('input is required or not').defaultValue(false),
132
- startDateRequired: reactDesc.PropTypes.bool.description('start date is required or not').defaultValue(false),
133
- endDateRequired: reactDesc.PropTypes.bool.description('end date is required or not').defaultValue(false),
134
- id: reactDesc.PropTypes.string.description('components id'),
135
- hasError: reactDesc.PropTypes.bool.description('set error state').defaultValue(false),
136
- validationMessage: reactDesc.PropTypes.string.description('validation message'),
137
- readOnly: reactDesc.PropTypes.bool.description('component is read only or not').description(false),
138
- screenReaderInputMessage: reactDesc.PropTypes.string.description('message to be anounced by screen reader').defaultValue('select date'),
139
- initialVisibleMonth: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('initial visible month'),
140
- firstDayOfWeek: reactDesc.PropTypes.number.description('first day of week').defaultValue(0),
141
- keepOpenOnDateSelect: reactDesc.PropTypes.bool.description('keep picker open when a date is selected').defaultValue(true),
142
- reopenPickerOnClearDates: reactDesc.PropTypes.bool.description('reopen picker when clearing dates').defaultValue(false),
143
- hideKeyboardShortcutsPanel: reactDesc.PropTypes.bool.description('hide keyabord shortcut panel or not'),
144
- onPrevMonthClick: reactDesc.PropTypes.func.description('function executed when clicking on prev month button'),
145
- onNextMonthClick: reactDesc.PropTypes.func.description('function executed when clicking on next month button'),
146
- onClose: reactDesc.PropTypes.func.description('function executed when component closes'),
147
- transitionDuration: reactDesc.PropTypes.number.description('transition duration').defaultValue(0),
148
- verticalSpacing: reactDesc.PropTypes.number.description('vertical spacing'),
149
- isDayBlocked: reactDesc.PropTypes.func.description('function that returns each day and disables desired dates'),
150
- isOutsideRange: reactDesc.PropTypes.func.description('function that returns each day and disables outisde range dates'),
151
- isDayHighlighted: reactDesc.PropTypes.func.description('function that returns each day and higlights desired dates'),
152
- minimumNights: 0,
153
- displayFormat: reactDesc.PropTypes.string.description('display format').defaultValue('L'),
154
- displayFormatDay: reactDesc.PropTypes.string.description('display format day').defaultValue('D'),
155
- phrases: reactDesc.PropTypes.shape({
156
- calendarLabel: reactDesc.PropTypes.string,
157
- closeDatePicker: reactDesc.PropTypes.string,
158
- clearDates: reactDesc.PropTypes.string,
159
- focusStartDate: reactDesc.PropTypes.string,
160
- jumpToPrevMonth: reactDesc.PropTypes.string,
161
- jumpToNextMonth: reactDesc.PropTypes.string,
162
- keyboardShortcuts: reactDesc.PropTypes.string,
163
- showKeyboardShortcutsPanel: reactDesc.PropTypes.string,
164
- hideKeyboardShortcutsPanel: reactDesc.PropTypes.string,
165
- openThisPanel: reactDesc.PropTypes.string,
166
- enterKey: reactDesc.PropTypes.string,
167
- leftArrowRightArrow: reactDesc.PropTypes.string,
168
- upArrowDownArrow: reactDesc.PropTypes.string,
169
- pageUpPageDown: reactDesc.PropTypes.string,
170
- homeEnd: reactDesc.PropTypes.string,
171
- escape: reactDesc.PropTypes.string,
172
- questionMark: reactDesc.PropTypes.string,
173
- selectFocusedDate: reactDesc.PropTypes.string,
174
- moveFocusByOneDay: reactDesc.PropTypes.string,
175
- moveFocusByOneWeek: reactDesc.PropTypes.string,
176
- moveFocusByOneMonth: reactDesc.PropTypes.string,
177
- moveFocustoStartAndEndOfWeek: reactDesc.PropTypes.string,
178
- returnFocusToInput: reactDesc.PropTypes.string,
179
- keyboardNavigationInstructions: reactDesc.PropTypes.string,
180
- chooseAvailableStartDate: reactDesc.PropTypes.func,
181
- chooseAvailableEndDate: reactDesc.PropTypes.func,
182
- dateIsUnavailable: reactDesc.PropTypes.func,
183
- dateIsSelected: reactDesc.PropTypes.func
184
- }).description('react-dates phrases'),
185
- startDate: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('start date value'),
186
- endDate: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('end date value'),
187
- startDateId: reactDesc.PropTypes.string.description('start date id'),
188
- endDateId: reactDesc.PropTypes.string.description('end date id'),
189
- labelFrom: reactDesc.PropTypes.string.description('label of start date input'),
190
- labelTo: reactDesc.PropTypes.string.description('label of end date input'),
191
- enableOutsideDays: reactDesc.PropTypes.bool.description('enable days outside current month').defaultValue('true'),
192
- onDatesChange: reactDesc.PropTypes.func.description('function executed when dates change'),
193
- onChangeStartInput: reactDesc.PropTypes.func.description('function executed when start date input changes'),
194
- onChangeEndInput: reactDesc.PropTypes.func.description('function executed when end date input changes'),
195
- onOutsideClick: reactDesc.PropTypes.func.description('function executed when clicking outside component')
196
- };
197
- const DateRangePickerWithSchema = reactDesc.describe(DSDateRangePicker);
198
- DateRangePickerWithSchema.propTypes = dateRangePickerProps;
199
-
200
- exports.DayPickerRangeController = DayPickerRangeController;
201
- exports.END_DATE = DSDateRangePickerImpl.END_DATE;
202
- exports.START_DATE = DSDateRangePickerImpl.START_DATE;
203
- exports.DateRangePickerWithSchema = DateRangePickerWithSchema;
204
- exports["default"] = DSDateRangePicker;