@dfds-ui/react-components 2.2.0-alpha.0228d8d2 → 2.2.0-alpha.0405be72

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/cjs/index.d.ts CHANGED
@@ -13,7 +13,6 @@ export * from './chip';
13
13
  export * from './common/polymorphic';
14
14
  export * from './counter';
15
15
  export * from './data-table';
16
- export * from './date-range-picker';
17
16
  export * from './drawer';
18
17
  export * from './footer';
19
18
  export * from './forms';
package/cjs/index.js CHANGED
@@ -176,18 +176,6 @@ Object.keys(_dataTable).forEach(function (key) {
176
176
  }
177
177
  });
178
178
  });
179
- var _dateRangePicker = require("./date-range-picker");
180
- Object.keys(_dateRangePicker).forEach(function (key) {
181
- if (key === "default" || key === "__esModule") return;
182
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
183
- if (key in exports && exports[key] === _dateRangePicker[key]) return;
184
- Object.defineProperty(exports, key, {
185
- enumerable: true,
186
- get: function () {
187
- return _dateRangePicker[key];
188
- }
189
- });
190
- });
191
179
  var _drawer = require("./drawer");
192
180
  Object.keys(_drawer).forEach(function (key) {
193
181
  if (key === "default" || key === "__esModule") return;
package/index.d.ts CHANGED
@@ -13,7 +13,6 @@ export * from './chip';
13
13
  export * from './common/polymorphic';
14
14
  export * from './counter';
15
15
  export * from './data-table';
16
- export * from './date-range-picker';
17
16
  export * from './drawer';
18
17
  export * from './footer';
19
18
  export * from './forms';
package/index.js CHANGED
@@ -13,7 +13,6 @@ export * from './chip';
13
13
  export * from './common/polymorphic';
14
14
  export * from './counter';
15
15
  export * from './data-table';
16
- export * from './date-range-picker';
17
16
  export * from './drawer';
18
17
  export * from './footer';
19
18
  export * from './forms';
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Shared react components within DFDS",
4
4
  "license": "MIT",
5
5
  "private": false,
6
- "version": "2.2.0-alpha.0228d8d2",
6
+ "version": "2.2.0-alpha.0405be72",
7
7
  "sideEffects": false,
8
8
  "main": "./cjs/index.js",
9
9
  "module": "./index.js",
@@ -14,27 +14,26 @@
14
14
  "@emotion/styled": "11.14.1",
15
15
  "react": ">= 18.3.1",
16
16
  "react-dom": ">= 18.3.1",
17
- "react-select": "^5.0.0"
17
+ "react-select": "^5.10.2"
18
18
  },
19
19
  "dependencies": {
20
- "@dfds-ui/colors": "2.2.0-alpha.0228d8d2",
21
- "@dfds-ui/fonts": "2.2.0-alpha.0228d8d2",
22
- "@dfds-ui/hooks": "2.2.0-alpha.0228d8d2",
23
- "@dfds-ui/icons": "2.2.0-alpha.0228d8d2",
24
- "@dfds-ui/spacing": "2.2.0-alpha.0228d8d2",
25
- "@dfds-ui/theme": "2.2.0-alpha.0228d8d2",
26
- "@dfds-ui/typography": "2.2.0-alpha.0228d8d2",
27
- "@kunukn/react-collapse": "3.0.15",
20
+ "@dfds-ui/colors": "2.2.0-alpha.0405be72",
21
+ "@dfds-ui/fonts": "2.2.0-alpha.0405be72",
22
+ "@dfds-ui/hooks": "2.2.0-alpha.0405be72",
23
+ "@dfds-ui/icons": "2.2.0-alpha.0405be72",
24
+ "@dfds-ui/spacing": "2.2.0-alpha.0405be72",
25
+ "@dfds-ui/theme": "2.2.0-alpha.0405be72",
26
+ "@dfds-ui/typography": "2.2.0-alpha.0405be72",
27
+ "@kunukn/react-collapse": "^3.0.15",
28
28
  "@mui/material": "^7.3.11",
29
29
  "@mui/system": "^7.3.11",
30
30
  "@tippyjs/react": "^4.2.6",
31
31
  "classnames": "^2.5.1",
32
32
  "humps": "^2.0.1",
33
- "react-day-picker": "8.10.2",
34
33
  "react-hook-intersection-observer": "^0.1.0",
35
- "uuid": "14.0.0"
34
+ "uuid": "^14.0.0"
36
35
  },
37
- "gitHead": "0228d8d232fce464ba857c427d90dabf5fc6e0b8",
36
+ "gitHead": "0405be72b4119d184f33cf1683adfa29c9673ca8",
38
37
  "publishConfig": {
39
38
  "access": "public"
40
39
  }
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import 'react-day-picker/dist/style.css';
3
- export interface IDateRangePickerProps {
4
- endDateDisabled?: boolean;
5
- valid: boolean;
6
- onDateChange: (d: string | null, r: string | null) => void;
7
- format?: string;
8
- infoLabel?: string;
9
- startDates: IDateLeg;
10
- endDates: IDateLeg;
11
- labels: IDateRangePickerLabels;
12
- onNextMonthClick?: () => void;
13
- onPrevMonthClick?: () => void;
14
- numberOfMobileMonths?: number;
15
- hideIcon?: boolean;
16
- className?: string;
17
- locale?: string;
18
- }
19
- export interface IDateLeg {
20
- initial: string | null;
21
- maxDate: string;
22
- minDate: string;
23
- disabledDates?: string[];
24
- offerDates?: string[];
25
- }
26
- export interface IDateRangePickerLabels {
27
- start: string;
28
- end: string;
29
- header: string;
30
- info?: string;
31
- }
32
- declare const DateRangePicker: (props: IDateRangePickerProps) => React.JSX.Element;
33
- export default DateRangePicker;
@@ -1,332 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _reactDayPicker = require("react-day-picker");
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _react2 = require("@emotion/react");
11
- var _icons = require("@dfds-ui/icons");
12
- var _useMedia = _interopRequireDefault(require("../common/use-media"));
13
- var _miniMoize = require("../common/miniMoize");
14
- var _DateRangePicker = require("./DateRangePicker.styles");
15
- var _LockBodyScroll = _interopRequireDefault(require("../common/LockBodyScroll"));
16
- require("react-day-picker/dist/style.css");
17
- var _jsxRuntime = require("@emotion/react/jsx-runtime");
18
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- // --- Date helpers (replace moment) ---
21
-
22
- function toISOStr(d) {
23
- if (!d) return null;
24
- const y = d.getFullYear();
25
- const m = String(d.getMonth() + 1).padStart(2, '0');
26
- const day = String(d.getDate()).padStart(2, '0');
27
- return `${y}-${m}-${day}`;
28
- }
29
- function toDate(s) {
30
- if (!s) return null;
31
- const [y, m, d] = s.split('-').map(Number);
32
- return new Date(y, m - 1, d);
33
- }
34
- function formatDisplayDate(date, locale) {
35
- const weekday = date.toLocaleDateString(locale || 'en', {
36
- weekday: 'short'
37
- });
38
- const day = String(date.getDate()).padStart(2, '0');
39
- const month = String(date.getMonth() + 1).padStart(2, '0');
40
- return `${weekday} ${day}/${month}`;
41
- }
42
- function getWeekStart(locale) {
43
- const sundayLocales = ['en', 'en-US', 'ja', 'ko', 'zh'];
44
- const lang = locale.split('-')[0];
45
- return sundayLocales.includes(locale) || sundayLocales.includes(lang) ? 0 : 1;
46
- }
47
- function buildMap(dates) {
48
- const map = {};
49
- if (!dates) return map;
50
- for (const d of dates) {
51
- map[d] = 1;
52
- }
53
- return map;
54
- }
55
-
56
- // --- Component ---
57
-
58
- const DateRangePicker = props => {
59
- const [startDate, setStartDate] = (0, _react.useState)(toDate(props.startDates.initial));
60
- const [endDate, setEndDate] = (0, _react.useState)(toDate(props.endDates.initial));
61
- const [showCalendar, setShowCalendar] = (0, _react.useState)(false);
62
- const [focusedInput, setFocusedInput] = (0, _react.useState)('startDate');
63
- const [displayMonth, setDisplayMonth] = (0, _react.useState)(toDate(props.startDates.initial) || new Date());
64
- const wrapperRef = (0, _react.useRef)(null);
65
- const {
66
- numberOfMonths,
67
- mobileState,
68
- size
69
- } = (0, _useMedia.default)(['(max-width: 64em)', '(min-width: 78.063em)'], [{
70
- numberOfMonths: 1,
71
- mobileState: true,
72
- size: 40
73
- }, {
74
- numberOfMonths: 2,
75
- mobileState: false,
76
- size: 48
77
- }], {
78
- numberOfMonths: 1,
79
- mobileState: false,
80
- size: 48
81
- });
82
- (0, _react.useEffect)(() => {
83
- setStartDate(toDate(props.startDates.initial));
84
- setEndDate(toDate(props.endDates.initial));
85
- }, [props.startDates.initial, props.endDates.initial]);
86
-
87
- // Handle clicks outside the calendar to close it
88
- const onDateChangeRef = (0, _react.useRef)(props.onDateChange);
89
- onDateChangeRef.current = props.onDateChange;
90
- (0, _react.useEffect)(() => {
91
- if (!showCalendar) return;
92
- const handleClickOutside = e => {
93
- if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
94
- setShowCalendar(false);
95
- setFocusedInput('startDate');
96
- onDateChangeRef.current(toISOStr(startDate), toISOStr(endDate));
97
- }
98
- };
99
- document.addEventListener('mousedown', handleClickOutside);
100
- return () => document.removeEventListener('mousedown', handleClickOutside);
101
- }, [showCalendar, startDate, endDate]);
102
- const startCalendarClicked = () => {
103
- setShowCalendar(prev => !prev);
104
- setFocusedInput('startDate');
105
- };
106
- const endCalendarClicked = () => {
107
- setShowCalendar(prev => !prev);
108
- setFocusedInput('endDate');
109
- };
110
- const renderCalendarInfo = () => props.infoLabel ? (0, _jsxRuntime.jsxs)("div", {
111
- className: "dateRangePickerInfo",
112
- children: [(0, _jsxRuntime.jsx)("span", {
113
- className: "dateRangePickerInfo__legend"
114
- }), (0, _jsxRuntime.jsx)("p", {
115
- className: "dateRangePickerInfo__info",
116
- children: props.infoLabel
117
- })]
118
- }) : null;
119
-
120
- // Memoized disabled dates map
121
- const disabledDatesMap = (0, _miniMoize.miniMoize)((focusedInput, start, startDisabledDates, endDisabledDates) => buildMap(focusedInput !== 'endDate' ? startDisabledDates : (startDisabledDates || []).filter(d => d < (start || '')).concat(endDisabledDates || [])));
122
- const isDayDisabled = (0, _react.useCallback)(date => {
123
- const startDateStr = toISOStr(startDate);
124
- const disabled = disabledDatesMap(focusedInput, startDateStr, props.startDates.disabledDates, props.endDates.disabledDates);
125
- const dateStr = toISOStr(date);
126
- if (!dateStr) return false;
127
- const d = focusedInput !== 'endDate' ? props.startDates : props.endDates;
128
- const min = props.startDates.minDate;
129
- if (disabled[dateStr]) return true;
130
- if (min && dateStr < min) return true;
131
- if (d.maxDate && dateStr > d.maxDate) return true;
132
- if (focusedInput === 'endDate' && startDateStr && startDateStr < dateStr && dateStr < props.endDates.minDate) {
133
- return true;
134
- }
135
- return false;
136
- }, [focusedInput, startDate, props.startDates, props.endDates, disabledDatesMap]);
137
-
138
- // Memoized offer dates map
139
- const offerDatesMap = (0, _miniMoize.miniMoize)((focusedInput, startOffers, endOffers) => buildMap(focusedInput !== 'endDate' ? startOffers : endOffers));
140
- const isOfferDay = (0, _react.useCallback)(date => {
141
- const map = offerDatesMap(focusedInput, props.startDates.offerDates, props.endDates.offerDates);
142
- const dateStr = toISOStr(date);
143
- return dateStr ? !!map[dateStr] : false;
144
- }, [focusedInput, props.startDates.offerDates, props.endDates.offerDates, offerDatesMap]);
145
- const defaultMonth = (0, _react.useMemo)(() => {
146
- if (mobileState) {
147
- return toDate(props.startDates.minDate) || new Date();
148
- }
149
- return startDate || new Date();
150
- // Only compute on mount / when mobile state changes
151
- // eslint-disable-next-line @eslint-react/exhaustive-deps
152
- }, [mobileState]);
153
- const handleMonthChange = (0, _react.useCallback)(month => {
154
- if (month > displayMonth) {
155
- props.onNextMonthClick?.();
156
- } else {
157
- props.onPrevMonthClick?.();
158
- }
159
- setDisplayMonth(month);
160
- }, [displayMonth, props.onNextMonthClick, props.onPrevMonthClick]);
161
- const handleDayClick = day => {
162
- if (isDayDisabled(day)) return;
163
- if (props.endDateDisabled) {
164
- setStartDate(day);
165
- setEndDate(day);
166
- props.onDateChange(toISOStr(day), null);
167
- setShowCalendar(false);
168
- return;
169
- }
170
- if (focusedInput === 'startDate') {
171
- setStartDate(day);
172
- setEndDate(null);
173
- setFocusedInput('endDate');
174
- props.onDateChange(toISOStr(day), null);
175
- } else {
176
- setEndDate(day);
177
- setFocusedInput('startDate');
178
- setShowCalendar(false);
179
- props.onDateChange(toISOStr(startDate), toISOStr(day));
180
- }
181
- };
182
- const isSelected = (0, _react.useCallback)(date => {
183
- const dateStr = toISOStr(date);
184
- return dateStr === toISOStr(startDate) || dateStr === toISOStr(endDate);
185
- }, [startDate, endDate]);
186
- const isRangeMiddle = (0, _react.useCallback)(date => {
187
- if (!startDate || !endDate) return false;
188
- return date > startDate && date < endDate;
189
- }, [startDate, endDate]);
190
-
191
- // Custom DayContent that sets aria-label to the ISO date (for testability & a11y)
192
- const DayContent = (0, _react.useMemo)(() => {
193
- return function DayContentComponent({
194
- date
195
- }) {
196
- return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
197
- children: date.getDate()
198
- });
199
- };
200
- }, []);
201
- const formatters = (0, _react.useMemo)(() => ({
202
- formatWeekdayName: date => date.toLocaleDateString(props.locale || 'en', {
203
- weekday: 'short'
204
- }),
205
- formatCaption: date => date.toLocaleDateString(props.locale || 'en', {
206
- month: 'long',
207
- year: 'numeric'
208
- }),
209
- formatDay: date => String(date.getDate())
210
- }), [props.locale]);
211
- const daySizeCss = /*#__PURE__*/(0, _react2.css)("--rdp-cell-size:", size, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:daySizeCss;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Sd0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXlQaWNrZXIgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IHR5cGUgeyBEYXlDb250ZW50UHJvcHMgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENsb3NlLCBSaWdodExpbmssIExlZnRMaW5rLCBDYWxlbmRhck91dGJvdW5kLCBDYWxlbmRhclJldHVybiB9IGZyb20gJ0BkZmRzLXVpL2ljb25zJ1xuaW1wb3J0IHVzZU1lZGlhIGZyb20gJy4uL2NvbW1vbi91c2UtbWVkaWEnXG5pbXBvcnQgeyBtaW5pTW9pemUgfSBmcm9tICcuLi9jb21tb24vbWluaU1vaXplJ1xuaW1wb3J0IHsgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyB9IGZyb20gJy4vRGF0ZVJhbmdlUGlja2VyLnN0eWxlcydcbmltcG9ydCBMb2NrQm9keVNjcm9sbCBmcm9tICcuLi9jb21tb24vTG9ja0JvZHlTY3JvbGwnXG5cbmltcG9ydCAncmVhY3QtZGF5LXBpY2tlci9kaXN0L3N0eWxlLmNzcydcblxudHlwZSBGb2N1c2VkSW5wdXQgPSAnc3RhcnREYXRlJyB8ICdlbmREYXRlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlUmFuZ2VQaWNrZXJQcm9wcyB7XG4gIGVuZERhdGVEaXNhYmxlZD86IGJvb2xlYW5cbiAgdmFsaWQ6IGJvb2xlYW5cbiAgb25EYXRlQ2hhbmdlOiAoZDogc3RyaW5nIHwgbnVsbCwgcjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZFxuICBmb3JtYXQ/OiBzdHJpbmdcbiAgaW5mb0xhYmVsPzogc3RyaW5nXG4gIHN0YXJ0RGF0ZXM6IElEYXRlTGVnXG4gIGVuZERhdGVzOiBJRGF0ZUxlZ1xuICBsYWJlbHM6IElEYXRlUmFuZ2VQaWNrZXJMYWJlbHNcbiAgb25OZXh0TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgb25QcmV2TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgbnVtYmVyT2ZNb2JpbGVNb250aHM/OiBudW1iZXJcbiAgaGlkZUljb24/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZUxlZyB7XG4gIGluaXRpYWw6IHN0cmluZyB8IG51bGxcbiAgbWF4RGF0ZTogc3RyaW5nXG4gIG1pbkRhdGU6IHN0cmluZ1xuICBkaXNhYmxlZERhdGVzPzogc3RyaW5nW11cbiAgb2ZmZXJEYXRlcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVSYW5nZVBpY2tlckxhYmVscyB7XG4gIHN0YXJ0OiBzdHJpbmdcbiAgZW5kOiBzdHJpbmdcbiAgaGVhZGVyOiBzdHJpbmdcbiAgaW5mbz86IHN0cmluZ1xufVxuXG4vLyAtLS0gRGF0ZSBoZWxwZXJzIChyZXBsYWNlIG1vbWVudCkgLS0tXG5cbmZ1bmN0aW9uIHRvSVNPU3RyKGQ6IERhdGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghZCkgcmV0dXJuIG51bGxcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKVxuICBjb25zdCBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIHJldHVybiBgJHt5fS0ke219LSR7ZGF5fWBcbn1cblxuZnVuY3Rpb24gdG9EYXRlKHM6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gIGlmICghcykgcmV0dXJuIG51bGxcbiAgY29uc3QgW3ksIG0sIGRdID0gcy5zcGxpdCgnLScpLm1hcChOdW1iZXIpXG4gIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZClcbn1cblxuZnVuY3Rpb24gZm9ybWF0RGlzcGxheURhdGUoZGF0ZTogRGF0ZSwgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgd2Vla2RheSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSB8fCAnZW4nLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSlcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgcmV0dXJuIGAke3dlZWtkYXl9ICR7ZGF5fS8ke21vbnRofWBcbn1cblxuZnVuY3Rpb24gZ2V0V2Vla1N0YXJ0KGxvY2FsZTogc3RyaW5nKTogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB7XG4gIGNvbnN0IHN1bmRheUxvY2FsZXMgPSBbJ2VuJywgJ2VuLVVTJywgJ2phJywgJ2tvJywgJ3poJ11cbiAgY29uc3QgbGFuZyA9IGxvY2FsZS5zcGxpdCgnLScpWzBdXG4gIHJldHVybiBzdW5kYXlMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkgfHwgc3VuZGF5TG9jYWxlcy5pbmNsdWRlcyhsYW5nKSA/IDAgOiAxXG59XG5cbmZ1bmN0aW9uIGJ1aWxkTWFwKGRhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fVxuICBpZiAoIWRhdGVzKSByZXR1cm4gbWFwXG4gIGZvciAoY29uc3QgZCBvZiBkYXRlcykge1xuICAgIG1hcFtkXSA9IDFcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIC0tLSBDb21wb25lbnQgLS0tXG5cbmNvbnN0IERhdGVSYW5nZVBpY2tlciA9IChwcm9wczogSURhdGVSYW5nZVBpY2tlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZV0gPSB1c2VTdGF0ZSh0b0RhdGUocHJvcHMuc3RhcnREYXRlcy5pbml0aWFsKSlcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGVdID0gdXNlU3RhdGUodG9EYXRlKHByb3BzLmVuZERhdGVzLmluaXRpYWwpKVxuICBjb25zdCBbc2hvd0NhbGVuZGFyLCBzZXRTaG93Q2FsZW5kYXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb2N1c2VkSW5wdXQsIHNldEZvY3VzZWRJbnB1dF0gPSB1c2VTdGF0ZTxGb2N1c2VkSW5wdXQ+KCdzdGFydERhdGUnKVxuICBjb25zdCBbZGlzcGxheU1vbnRoLCBzZXREaXNwbGF5TW9udGhdID0gdXNlU3RhdGU8RGF0ZT4odG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkgfHwgbmV3IERhdGUoKSlcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCB7IG51bWJlck9mTW9udGhzLCBtb2JpbGVTdGF0ZSwgc2l6ZSB9ID0gdXNlTWVkaWEoXG4gICAgWycobWF4LXdpZHRoOiA2NGVtKScsICcobWluLXdpZHRoOiA3OC4wNjNlbSknXSxcbiAgICBbXG4gICAgICB7IG51bWJlck9mTW9udGhzOiAxLCBtb2JpbGVTdGF0ZTogdHJ1ZSwgc2l6ZTogNDAgfSxcbiAgICAgIHsgbnVtYmVyT2ZNb250aHM6IDIsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfSxcbiAgICBdLFxuICAgIHsgbnVtYmVyT2ZNb250aHM6IDEsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUodG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gICAgc2V0RW5kRGF0ZSh0b0RhdGUocHJvcHMuZW5kRGF0ZXMuaW5pdGlhbCkpXG4gIH0sIFtwcm9wcy5zdGFydERhdGVzLmluaXRpYWwsIHByb3BzLmVuZERhdGVzLmluaXRpYWxdKVxuXG4gIC8vIEhhbmRsZSBjbGlja3Mgb3V0c2lkZSB0aGUgY2FsZW5kYXIgdG8gY2xvc2UgaXRcbiAgY29uc3Qgb25EYXRlQ2hhbmdlUmVmID0gdXNlUmVmKHByb3BzLm9uRGF0ZUNoYW5nZSlcbiAgb25EYXRlQ2hhbmdlUmVmLmN1cnJlbnQgPSBwcm9wcy5vbkRhdGVDaGFuZ2VcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd0NhbGVuZGFyKSByZXR1cm5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICAgICAgICBvbkRhdGVDaGFuZ2VSZWYuY3VycmVudCh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihlbmREYXRlKSlcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gIH0sIFtzaG93Q2FsZW5kYXIsIHN0YXJ0RGF0ZSwgZW5kRGF0ZV0pXG5cbiAgY29uc3Qgc3RhcnRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ3N0YXJ0RGF0ZScpXG4gIH1cblxuICBjb25zdCBlbmRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ2VuZERhdGUnKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQ2FsZW5kYXJJbmZvID0gKCkgPT5cbiAgICBwcm9wcy5pbmZvTGFiZWwgPyAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9cIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kXCIgLz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19faW5mb1wiPntwcm9wcy5pbmZvTGFiZWx9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKSA6IG51bGxcblxuICAvLyBNZW1vaXplZCBkaXNhYmxlZCBkYXRlcyBtYXBcbiAgY29uc3QgZGlzYWJsZWREYXRlc01hcCA9IG1pbmlNb2l6ZShcbiAgICAoXG4gICAgICBmb2N1c2VkSW5wdXQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0OiBzdHJpbmcgfCBudWxsLFxuICAgICAgc3RhcnREaXNhYmxlZERhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICAgIGVuZERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICAgKSA9PlxuICAgICAgYnVpbGRNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnXG4gICAgICAgICAgPyBzdGFydERpc2FibGVkRGF0ZXNcbiAgICAgICAgICA6IChzdGFydERpc2FibGVkRGF0ZXMgfHwgW10pLmZpbHRlcigoZCkgPT4gZCA8IChzdGFydCB8fCAnJykpLmNvbmNhdChlbmREaXNhYmxlZERhdGVzIHx8IFtdKVxuICAgICAgKVxuICApXG5cbiAgY29uc3QgaXNEYXlEaXNhYmxlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGVTdHIgPSB0b0lTT1N0cihzdGFydERhdGUpXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRGF0ZXNNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCxcbiAgICAgICAgc3RhcnREYXRlU3RyLFxuICAgICAgICBwcm9wcy5zdGFydERhdGVzLmRpc2FibGVkRGF0ZXMsXG4gICAgICAgIHByb3BzLmVuZERhdGVzLmRpc2FibGVkRGF0ZXNcbiAgICAgIClcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSB0b0lTT1N0cihkYXRlKVxuICAgICAgaWYgKCFkYXRlU3RyKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgZCA9IGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnID8gcHJvcHMuc3RhcnREYXRlcyA6IHByb3BzLmVuZERhdGVzXG4gICAgICBjb25zdCBtaW4gPSBwcm9wcy5zdGFydERhdGVzLm1pbkRhdGVcbiAgICAgIGlmIChkaXNhYmxlZFtkYXRlU3RyXSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChtaW4gJiYgZGF0ZVN0ciA8IG1pbikgcmV0dXJuIHRydWVcbiAgICAgIGlmIChkLm1heERhdGUgJiYgZGF0ZVN0ciA+IGQubWF4RGF0ZSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdlbmREYXRlJyAmJiBzdGFydERhdGVTdHIgJiYgc3RhcnREYXRlU3RyIDwgZGF0ZVN0ciAmJiBkYXRlU3RyIDwgcHJvcHMuZW5kRGF0ZXMubWluRGF0ZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSxcbiAgICBbZm9jdXNlZElucHV0LCBzdGFydERhdGUsIHByb3BzLnN0YXJ0RGF0ZXMsIHByb3BzLmVuZERhdGVzLCBkaXNhYmxlZERhdGVzTWFwXVxuICApXG5cbiAgLy8gTWVtb2l6ZWQgb2ZmZXIgZGF0ZXMgbWFwXG4gIGNvbnN0IG9mZmVyRGF0ZXNNYXAgPSBtaW5pTW9pemUoXG4gICAgKGZvY3VzZWRJbnB1dDogc3RyaW5nLCBzdGFydE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGVuZE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQpID0+XG4gICAgICBidWlsZE1hcChmb2N1c2VkSW5wdXQgIT09ICdlbmREYXRlJyA/IHN0YXJ0T2ZmZXJzIDogZW5kT2ZmZXJzKVxuICApXG5cbiAgY29uc3QgaXNPZmZlckRheSA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBtYXAgPSBvZmZlckRhdGVzTWFwKGZvY3VzZWRJbnB1dCwgcHJvcHMuc3RhcnREYXRlcy5vZmZlckRhdGVzLCBwcm9wcy5lbmREYXRlcy5vZmZlckRhdGVzKVxuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA/ICEhbWFwW2RhdGVTdHJdIDogZmFsc2VcbiAgICB9LFxuICAgIFtmb2N1c2VkSW5wdXQsIHByb3BzLnN0YXJ0RGF0ZXMub2ZmZXJEYXRlcywgcHJvcHMuZW5kRGF0ZXMub2ZmZXJEYXRlcywgb2ZmZXJEYXRlc01hcF1cbiAgKVxuXG4gIGNvbnN0IGRlZmF1bHRNb250aCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChtb2JpbGVTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRvRGF0ZShwcm9wcy5zdGFydERhdGVzLm1pbkRhdGUpIHx8IG5ldyBEYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0RGF0ZSB8fCBuZXcgRGF0ZSgpXG4gICAgLy8gT25seSBjb21wdXRlIG9uIG1vdW50IC8gd2hlbiBtb2JpbGUgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAZXNsaW50LXJlYWN0L2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbW9iaWxlU3RhdGVdKVxuXG4gIGNvbnN0IGhhbmRsZU1vbnRoQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vbnRoOiBEYXRlKSA9PiB7XG4gICAgICBpZiAobW9udGggPiBkaXNwbGF5TW9udGgpIHtcbiAgICAgICAgcHJvcHMub25OZXh0TW9udGhDbGljaz8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLm9uUHJldk1vbnRoQ2xpY2s/LigpXG4gICAgICB9XG4gICAgICBzZXREaXNwbGF5TW9udGgobW9udGgpXG4gICAgfSxcbiAgICBbZGlzcGxheU1vbnRoLCBwcm9wcy5vbk5leHRNb250aENsaWNrLCBwcm9wcy5vblByZXZNb250aENsaWNrXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRGF5Q2xpY2sgPSAoZGF5OiBEYXRlKSA9PiB7XG4gICAgaWYgKGlzRGF5RGlzYWJsZWQoZGF5KSkgcmV0dXJuXG5cbiAgICBpZiAocHJvcHMuZW5kRGF0ZURpc2FibGVkKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShkYXkpXG4gICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UodG9JU09TdHIoZGF5KSwgbnVsbClcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShudWxsKVxuICAgICAgc2V0Rm9jdXNlZElucHV0KCdlbmREYXRlJylcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihkYXkpLCBudWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFbmREYXRlKGRheSlcbiAgICAgIHNldEZvY3VzZWRJbnB1dCgnc3RhcnREYXRlJylcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihkYXkpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlzU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSB8fCBkYXRlU3RyID09PSB0b0lTT1N0cihlbmREYXRlKVxuICAgIH0sXG4gICAgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV1cbiAgKVxuXG4gIGNvbnN0IGlzUmFuZ2VNaWRkbGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHJldHVybiBmYWxzZVxuICAgICAgcmV0dXJuIGRhdGUgPiBzdGFydERhdGUgJiYgZGF0ZSA8IGVuZERhdGVcbiAgICB9LFxuICAgIFtzdGFydERhdGUsIGVuZERhdGVdXG4gIClcblxuICAvLyBDdXN0b20gRGF5Q29udGVudCB0aGF0IHNldHMgYXJpYS1sYWJlbCB0byB0aGUgSVNPIGRhdGUgKGZvciB0ZXN0YWJpbGl0eSAmIGExMXkpXG4gIGNvbnN0IERheUNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gRGF5Q29udGVudENvbXBvbmVudCh7IGRhdGUgfTogRGF5Q29udGVudFByb3BzKSB7XG4gICAgICByZXR1cm4gPD57ZGF0ZS5nZXREYXRlKCl9PC8+XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBmb3JtYXR0ZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZm9ybWF0V2Vla2RheU5hbWU6IChkYXRlOiBEYXRlKSA9PiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhwcm9wcy5sb2NhbGUgfHwgJ2VuJywgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pLFxuICAgICAgZm9ybWF0Q2FwdGlvbjogKGRhdGU6IERhdGUpID0+IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHByb3BzLmxvY2FsZSB8fCAnZW4nLCB7IG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgIGZvcm1hdERheTogKGRhdGU6IERhdGUpID0+IFN0cmluZyhkYXRlLmdldERhdGUoKSksXG4gICAgfSksXG4gICAgW3Byb3BzLmxvY2FsZV1cbiAgKVxuXG4gIGNvbnN0IGRheVNpemVDc3MgPSBjc3NgXG4gICAgLS1yZHAtY2VsbC1zaXplOiAke3NpemV9cHg7XG4gIGBcblxuICByZXR1cm4gKFxuICAgIDxMb2NrQm9keVNjcm9sbCBlbmFibGVkPXttb2JpbGVTdGF0ZSAmJiBzaG93Q2FsZW5kYXJ9PlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17J291dGVyICcgKyAocHJvcHMuY2xhc3NOYW1lIHx8ICcnKX1cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgJHtkYXRlUmFuZ2VQaWNrZXJEZmRzU3R5bGVzfTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyJywgeyAnZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlJzogc2hvd0NhbGVuZGFyIH0pfT5cbiAgICAgICAgICB7bW9iaWxlU3RhdGUgJiYgc2hvd0NhbGVuZGFyICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyX190aXRsZVwiPntwcm9wcy5sYWJlbHMuaGVhZGVyfTwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlcldyYXBwZXJfX2Nsb3NlXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0NhbGVuZGFyKGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgPENsb3NlIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX291dDogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fbm9uZm9jdXM6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19oaWRlSWNvbjogcHJvcHMuaGlkZUljb24sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5zdGFydH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhck91dGJvdW5kIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2ljb25cIiAvPn1cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtzdGFydERhdGUgPyBmb3JtYXREaXNwbGF5RGF0ZShzdGFydERhdGUsIHByb3BzLmxvY2FsZSkgOiAnJ31cbiAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fb25lV2F5OiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Rpc2FibGVkOiBwcm9wcy5lbmREYXRlRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2RhdGVJbnB1dHNfX2Rpc2FibGVkLS1hY3RpdmUnOiBzaG93Q2FsZW5kYXIgJiYgcHJvcHMuZW5kRGF0ZURpc2FibGVkLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Vycm9yQm9yZGVyOiAhcHJvcHMudmFsaWQgJiYgIXNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19ub25mb2N1czogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIgJiYgIXByb3BzLmVuZERhdGVEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19mb2N1c19yZXQ6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBlbmREYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2hpZGVJY29uOiBwcm9wcy5oaWRlSWNvbixcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2VuZENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5lbmR9PC9sYWJlbD5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlSWNvbiAmJiA8Q2FsZW5kYXJSZXR1cm4gY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faWNvblwiIC8+fVxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYXRlSW5wdXRzX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbmREYXRlID8gZm9ybWF0RGlzcGxheURhdGUoZW5kRGF0ZSwgcHJvcHMubG9jYWxlKSA6ICcnfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmVuZERhdGVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzaG93Q2FsZW5kYXIgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERheVBpY2tlclxuICAgICAgICAgICAgICAgIGNzcz17ZGF5U2l6ZUNzc31cbiAgICAgICAgICAgICAgICBudW1iZXJPZk1vbnRocz17bnVtYmVyT2ZNb250aHN9XG4gICAgICAgICAgICAgICAgbW9udGg9e2Rpc3BsYXlNb250aH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0TW9udGg9e2RlZmF1bHRNb250aH1cbiAgICAgICAgICAgICAgICBvbk1vbnRoQ2hhbmdlPXtoYW5kbGVNb250aENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkRheUNsaWNrPXtoYW5kbGVEYXlDbGlja31cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXlEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICBJY29uTGVmdDogKCkgPT4gPExlZnRMaW5rIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBNb250aFwiIC8+LFxuICAgICAgICAgICAgICAgICAgSWNvblJpZ2h0OiAoKSA9PiA8UmlnaHRMaW5rIGFyaWEtbGFiZWw9XCJOZXh0IE1vbnRoXCIgLz4sXG4gICAgICAgICAgICAgICAgICBEYXlDb250ZW50LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVycz17Zm9ybWF0dGVyc31cbiAgICAgICAgICAgICAgICBtb2RpZmllcnM9e3tcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgcmFuZ2Vfc3RhcnQ6IChkOiBEYXRlKSA9PiB0b0lTT1N0cihkKSA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX2VuZDogKGQ6IERhdGUpID0+ICFwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgdG9JU09TdHIoZCkgPT09IHRvSVNPU3RyKGVuZERhdGUpLFxuICAgICAgICAgICAgICAgICAgcmFuZ2VfbWlkZGxlOiBpc1JhbmdlTWlkZGxlLFxuICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWQ6IGlzT2ZmZXJEYXksXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBtb2RpZmllcnNDbGFzc05hbWVzPXt7XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9zdGFydDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zdGFydCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9lbmQ6ICdDYWxlbmRhckRheV9fc2VsZWN0ZWRfZW5kJyxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX21pZGRsZTogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuJyxcbiAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiAnQ2FsZW5kYXJEYXlfX2hpZ2hsaWdodGVkX2NhbGVuZGFyJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHBhZ2VkTmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIHdlZWtTdGFydHNPbj17Z2V0V2Vla1N0YXJ0KHByb3BzLmxvY2FsZSB8fCAnZW4nKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge3JlbmRlckNhbGVuZGFySW5mbygpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L0xvY2tCb2R5U2Nyb2xsPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGVSYW5nZVBpY2tlclxuIl19 */");
212
- return (0, _jsxRuntime.jsx)(_LockBodyScroll.default, {
213
- enabled: mobileState && showCalendar,
214
- children: (0, _jsxRuntime.jsx)("div", {
215
- ref: wrapperRef,
216
- className: 'outer ' + (props.className || ''),
217
- css: /*#__PURE__*/(0, _react2.css)(_DateRangePicker.dateRangePickerDfdsStyles, ";position:relative;" + (process.env.NODE_ENV === "production" ? "" : ";label:DateRangePicker;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZSZ0IiLCJmaWxlIjoiLi4vLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXlQaWNrZXIgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IHR5cGUgeyBEYXlDb250ZW50UHJvcHMgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENsb3NlLCBSaWdodExpbmssIExlZnRMaW5rLCBDYWxlbmRhck91dGJvdW5kLCBDYWxlbmRhclJldHVybiB9IGZyb20gJ0BkZmRzLXVpL2ljb25zJ1xuaW1wb3J0IHVzZU1lZGlhIGZyb20gJy4uL2NvbW1vbi91c2UtbWVkaWEnXG5pbXBvcnQgeyBtaW5pTW9pemUgfSBmcm9tICcuLi9jb21tb24vbWluaU1vaXplJ1xuaW1wb3J0IHsgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyB9IGZyb20gJy4vRGF0ZVJhbmdlUGlja2VyLnN0eWxlcydcbmltcG9ydCBMb2NrQm9keVNjcm9sbCBmcm9tICcuLi9jb21tb24vTG9ja0JvZHlTY3JvbGwnXG5cbmltcG9ydCAncmVhY3QtZGF5LXBpY2tlci9kaXN0L3N0eWxlLmNzcydcblxudHlwZSBGb2N1c2VkSW5wdXQgPSAnc3RhcnREYXRlJyB8ICdlbmREYXRlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlUmFuZ2VQaWNrZXJQcm9wcyB7XG4gIGVuZERhdGVEaXNhYmxlZD86IGJvb2xlYW5cbiAgdmFsaWQ6IGJvb2xlYW5cbiAgb25EYXRlQ2hhbmdlOiAoZDogc3RyaW5nIHwgbnVsbCwgcjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZFxuICBmb3JtYXQ/OiBzdHJpbmdcbiAgaW5mb0xhYmVsPzogc3RyaW5nXG4gIHN0YXJ0RGF0ZXM6IElEYXRlTGVnXG4gIGVuZERhdGVzOiBJRGF0ZUxlZ1xuICBsYWJlbHM6IElEYXRlUmFuZ2VQaWNrZXJMYWJlbHNcbiAgb25OZXh0TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgb25QcmV2TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgbnVtYmVyT2ZNb2JpbGVNb250aHM/OiBudW1iZXJcbiAgaGlkZUljb24/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZUxlZyB7XG4gIGluaXRpYWw6IHN0cmluZyB8IG51bGxcbiAgbWF4RGF0ZTogc3RyaW5nXG4gIG1pbkRhdGU6IHN0cmluZ1xuICBkaXNhYmxlZERhdGVzPzogc3RyaW5nW11cbiAgb2ZmZXJEYXRlcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVSYW5nZVBpY2tlckxhYmVscyB7XG4gIHN0YXJ0OiBzdHJpbmdcbiAgZW5kOiBzdHJpbmdcbiAgaGVhZGVyOiBzdHJpbmdcbiAgaW5mbz86IHN0cmluZ1xufVxuXG4vLyAtLS0gRGF0ZSBoZWxwZXJzIChyZXBsYWNlIG1vbWVudCkgLS0tXG5cbmZ1bmN0aW9uIHRvSVNPU3RyKGQ6IERhdGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghZCkgcmV0dXJuIG51bGxcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKVxuICBjb25zdCBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIHJldHVybiBgJHt5fS0ke219LSR7ZGF5fWBcbn1cblxuZnVuY3Rpb24gdG9EYXRlKHM6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gIGlmICghcykgcmV0dXJuIG51bGxcbiAgY29uc3QgW3ksIG0sIGRdID0gcy5zcGxpdCgnLScpLm1hcChOdW1iZXIpXG4gIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZClcbn1cblxuZnVuY3Rpb24gZm9ybWF0RGlzcGxheURhdGUoZGF0ZTogRGF0ZSwgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgd2Vla2RheSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSB8fCAnZW4nLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSlcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgcmV0dXJuIGAke3dlZWtkYXl9ICR7ZGF5fS8ke21vbnRofWBcbn1cblxuZnVuY3Rpb24gZ2V0V2Vla1N0YXJ0KGxvY2FsZTogc3RyaW5nKTogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB7XG4gIGNvbnN0IHN1bmRheUxvY2FsZXMgPSBbJ2VuJywgJ2VuLVVTJywgJ2phJywgJ2tvJywgJ3poJ11cbiAgY29uc3QgbGFuZyA9IGxvY2FsZS5zcGxpdCgnLScpWzBdXG4gIHJldHVybiBzdW5kYXlMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkgfHwgc3VuZGF5TG9jYWxlcy5pbmNsdWRlcyhsYW5nKSA/IDAgOiAxXG59XG5cbmZ1bmN0aW9uIGJ1aWxkTWFwKGRhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fVxuICBpZiAoIWRhdGVzKSByZXR1cm4gbWFwXG4gIGZvciAoY29uc3QgZCBvZiBkYXRlcykge1xuICAgIG1hcFtkXSA9IDFcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIC0tLSBDb21wb25lbnQgLS0tXG5cbmNvbnN0IERhdGVSYW5nZVBpY2tlciA9IChwcm9wczogSURhdGVSYW5nZVBpY2tlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZV0gPSB1c2VTdGF0ZSh0b0RhdGUocHJvcHMuc3RhcnREYXRlcy5pbml0aWFsKSlcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGVdID0gdXNlU3RhdGUodG9EYXRlKHByb3BzLmVuZERhdGVzLmluaXRpYWwpKVxuICBjb25zdCBbc2hvd0NhbGVuZGFyLCBzZXRTaG93Q2FsZW5kYXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb2N1c2VkSW5wdXQsIHNldEZvY3VzZWRJbnB1dF0gPSB1c2VTdGF0ZTxGb2N1c2VkSW5wdXQ+KCdzdGFydERhdGUnKVxuICBjb25zdCBbZGlzcGxheU1vbnRoLCBzZXREaXNwbGF5TW9udGhdID0gdXNlU3RhdGU8RGF0ZT4odG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkgfHwgbmV3IERhdGUoKSlcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCB7IG51bWJlck9mTW9udGhzLCBtb2JpbGVTdGF0ZSwgc2l6ZSB9ID0gdXNlTWVkaWEoXG4gICAgWycobWF4LXdpZHRoOiA2NGVtKScsICcobWluLXdpZHRoOiA3OC4wNjNlbSknXSxcbiAgICBbXG4gICAgICB7IG51bWJlck9mTW9udGhzOiAxLCBtb2JpbGVTdGF0ZTogdHJ1ZSwgc2l6ZTogNDAgfSxcbiAgICAgIHsgbnVtYmVyT2ZNb250aHM6IDIsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfSxcbiAgICBdLFxuICAgIHsgbnVtYmVyT2ZNb250aHM6IDEsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUodG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gICAgc2V0RW5kRGF0ZSh0b0RhdGUocHJvcHMuZW5kRGF0ZXMuaW5pdGlhbCkpXG4gIH0sIFtwcm9wcy5zdGFydERhdGVzLmluaXRpYWwsIHByb3BzLmVuZERhdGVzLmluaXRpYWxdKVxuXG4gIC8vIEhhbmRsZSBjbGlja3Mgb3V0c2lkZSB0aGUgY2FsZW5kYXIgdG8gY2xvc2UgaXRcbiAgY29uc3Qgb25EYXRlQ2hhbmdlUmVmID0gdXNlUmVmKHByb3BzLm9uRGF0ZUNoYW5nZSlcbiAgb25EYXRlQ2hhbmdlUmVmLmN1cnJlbnQgPSBwcm9wcy5vbkRhdGVDaGFuZ2VcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd0NhbGVuZGFyKSByZXR1cm5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICAgICAgICBvbkRhdGVDaGFuZ2VSZWYuY3VycmVudCh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihlbmREYXRlKSlcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gIH0sIFtzaG93Q2FsZW5kYXIsIHN0YXJ0RGF0ZSwgZW5kRGF0ZV0pXG5cbiAgY29uc3Qgc3RhcnRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ3N0YXJ0RGF0ZScpXG4gIH1cblxuICBjb25zdCBlbmRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ2VuZERhdGUnKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQ2FsZW5kYXJJbmZvID0gKCkgPT5cbiAgICBwcm9wcy5pbmZvTGFiZWwgPyAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9cIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kXCIgLz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19faW5mb1wiPntwcm9wcy5pbmZvTGFiZWx9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKSA6IG51bGxcblxuICAvLyBNZW1vaXplZCBkaXNhYmxlZCBkYXRlcyBtYXBcbiAgY29uc3QgZGlzYWJsZWREYXRlc01hcCA9IG1pbmlNb2l6ZShcbiAgICAoXG4gICAgICBmb2N1c2VkSW5wdXQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0OiBzdHJpbmcgfCBudWxsLFxuICAgICAgc3RhcnREaXNhYmxlZERhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICAgIGVuZERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICAgKSA9PlxuICAgICAgYnVpbGRNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnXG4gICAgICAgICAgPyBzdGFydERpc2FibGVkRGF0ZXNcbiAgICAgICAgICA6IChzdGFydERpc2FibGVkRGF0ZXMgfHwgW10pLmZpbHRlcigoZCkgPT4gZCA8IChzdGFydCB8fCAnJykpLmNvbmNhdChlbmREaXNhYmxlZERhdGVzIHx8IFtdKVxuICAgICAgKVxuICApXG5cbiAgY29uc3QgaXNEYXlEaXNhYmxlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGVTdHIgPSB0b0lTT1N0cihzdGFydERhdGUpXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRGF0ZXNNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCxcbiAgICAgICAgc3RhcnREYXRlU3RyLFxuICAgICAgICBwcm9wcy5zdGFydERhdGVzLmRpc2FibGVkRGF0ZXMsXG4gICAgICAgIHByb3BzLmVuZERhdGVzLmRpc2FibGVkRGF0ZXNcbiAgICAgIClcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSB0b0lTT1N0cihkYXRlKVxuICAgICAgaWYgKCFkYXRlU3RyKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgZCA9IGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnID8gcHJvcHMuc3RhcnREYXRlcyA6IHByb3BzLmVuZERhdGVzXG4gICAgICBjb25zdCBtaW4gPSBwcm9wcy5zdGFydERhdGVzLm1pbkRhdGVcbiAgICAgIGlmIChkaXNhYmxlZFtkYXRlU3RyXSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChtaW4gJiYgZGF0ZVN0ciA8IG1pbikgcmV0dXJuIHRydWVcbiAgICAgIGlmIChkLm1heERhdGUgJiYgZGF0ZVN0ciA+IGQubWF4RGF0ZSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdlbmREYXRlJyAmJiBzdGFydERhdGVTdHIgJiYgc3RhcnREYXRlU3RyIDwgZGF0ZVN0ciAmJiBkYXRlU3RyIDwgcHJvcHMuZW5kRGF0ZXMubWluRGF0ZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSxcbiAgICBbZm9jdXNlZElucHV0LCBzdGFydERhdGUsIHByb3BzLnN0YXJ0RGF0ZXMsIHByb3BzLmVuZERhdGVzLCBkaXNhYmxlZERhdGVzTWFwXVxuICApXG5cbiAgLy8gTWVtb2l6ZWQgb2ZmZXIgZGF0ZXMgbWFwXG4gIGNvbnN0IG9mZmVyRGF0ZXNNYXAgPSBtaW5pTW9pemUoXG4gICAgKGZvY3VzZWRJbnB1dDogc3RyaW5nLCBzdGFydE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGVuZE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQpID0+XG4gICAgICBidWlsZE1hcChmb2N1c2VkSW5wdXQgIT09ICdlbmREYXRlJyA/IHN0YXJ0T2ZmZXJzIDogZW5kT2ZmZXJzKVxuICApXG5cbiAgY29uc3QgaXNPZmZlckRheSA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBtYXAgPSBvZmZlckRhdGVzTWFwKGZvY3VzZWRJbnB1dCwgcHJvcHMuc3RhcnREYXRlcy5vZmZlckRhdGVzLCBwcm9wcy5lbmREYXRlcy5vZmZlckRhdGVzKVxuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA/ICEhbWFwW2RhdGVTdHJdIDogZmFsc2VcbiAgICB9LFxuICAgIFtmb2N1c2VkSW5wdXQsIHByb3BzLnN0YXJ0RGF0ZXMub2ZmZXJEYXRlcywgcHJvcHMuZW5kRGF0ZXMub2ZmZXJEYXRlcywgb2ZmZXJEYXRlc01hcF1cbiAgKVxuXG4gIGNvbnN0IGRlZmF1bHRNb250aCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChtb2JpbGVTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRvRGF0ZShwcm9wcy5zdGFydERhdGVzLm1pbkRhdGUpIHx8IG5ldyBEYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0RGF0ZSB8fCBuZXcgRGF0ZSgpXG4gICAgLy8gT25seSBjb21wdXRlIG9uIG1vdW50IC8gd2hlbiBtb2JpbGUgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAZXNsaW50LXJlYWN0L2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbW9iaWxlU3RhdGVdKVxuXG4gIGNvbnN0IGhhbmRsZU1vbnRoQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vbnRoOiBEYXRlKSA9PiB7XG4gICAgICBpZiAobW9udGggPiBkaXNwbGF5TW9udGgpIHtcbiAgICAgICAgcHJvcHMub25OZXh0TW9udGhDbGljaz8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLm9uUHJldk1vbnRoQ2xpY2s/LigpXG4gICAgICB9XG4gICAgICBzZXREaXNwbGF5TW9udGgobW9udGgpXG4gICAgfSxcbiAgICBbZGlzcGxheU1vbnRoLCBwcm9wcy5vbk5leHRNb250aENsaWNrLCBwcm9wcy5vblByZXZNb250aENsaWNrXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRGF5Q2xpY2sgPSAoZGF5OiBEYXRlKSA9PiB7XG4gICAgaWYgKGlzRGF5RGlzYWJsZWQoZGF5KSkgcmV0dXJuXG5cbiAgICBpZiAocHJvcHMuZW5kRGF0ZURpc2FibGVkKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShkYXkpXG4gICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UodG9JU09TdHIoZGF5KSwgbnVsbClcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShudWxsKVxuICAgICAgc2V0Rm9jdXNlZElucHV0KCdlbmREYXRlJylcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihkYXkpLCBudWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFbmREYXRlKGRheSlcbiAgICAgIHNldEZvY3VzZWRJbnB1dCgnc3RhcnREYXRlJylcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihkYXkpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlzU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSB8fCBkYXRlU3RyID09PSB0b0lTT1N0cihlbmREYXRlKVxuICAgIH0sXG4gICAgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV1cbiAgKVxuXG4gIGNvbnN0IGlzUmFuZ2VNaWRkbGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHJldHVybiBmYWxzZVxuICAgICAgcmV0dXJuIGRhdGUgPiBzdGFydERhdGUgJiYgZGF0ZSA8IGVuZERhdGVcbiAgICB9LFxuICAgIFtzdGFydERhdGUsIGVuZERhdGVdXG4gIClcblxuICAvLyBDdXN0b20gRGF5Q29udGVudCB0aGF0IHNldHMgYXJpYS1sYWJlbCB0byB0aGUgSVNPIGRhdGUgKGZvciB0ZXN0YWJpbGl0eSAmIGExMXkpXG4gIGNvbnN0IERheUNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gRGF5Q29udGVudENvbXBvbmVudCh7IGRhdGUgfTogRGF5Q29udGVudFByb3BzKSB7XG4gICAgICByZXR1cm4gPD57ZGF0ZS5nZXREYXRlKCl9PC8+XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBmb3JtYXR0ZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZm9ybWF0V2Vla2RheU5hbWU6IChkYXRlOiBEYXRlKSA9PiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhwcm9wcy5sb2NhbGUgfHwgJ2VuJywgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pLFxuICAgICAgZm9ybWF0Q2FwdGlvbjogKGRhdGU6IERhdGUpID0+IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHByb3BzLmxvY2FsZSB8fCAnZW4nLCB7IG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgIGZvcm1hdERheTogKGRhdGU6IERhdGUpID0+IFN0cmluZyhkYXRlLmdldERhdGUoKSksXG4gICAgfSksXG4gICAgW3Byb3BzLmxvY2FsZV1cbiAgKVxuXG4gIGNvbnN0IGRheVNpemVDc3MgPSBjc3NgXG4gICAgLS1yZHAtY2VsbC1zaXplOiAke3NpemV9cHg7XG4gIGBcblxuICByZXR1cm4gKFxuICAgIDxMb2NrQm9keVNjcm9sbCBlbmFibGVkPXttb2JpbGVTdGF0ZSAmJiBzaG93Q2FsZW5kYXJ9PlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17J291dGVyICcgKyAocHJvcHMuY2xhc3NOYW1lIHx8ICcnKX1cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgJHtkYXRlUmFuZ2VQaWNrZXJEZmRzU3R5bGVzfTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyJywgeyAnZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlJzogc2hvd0NhbGVuZGFyIH0pfT5cbiAgICAgICAgICB7bW9iaWxlU3RhdGUgJiYgc2hvd0NhbGVuZGFyICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyX190aXRsZVwiPntwcm9wcy5sYWJlbHMuaGVhZGVyfTwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlcldyYXBwZXJfX2Nsb3NlXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0NhbGVuZGFyKGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgPENsb3NlIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX291dDogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fbm9uZm9jdXM6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19oaWRlSWNvbjogcHJvcHMuaGlkZUljb24sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5zdGFydH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhck91dGJvdW5kIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2ljb25cIiAvPn1cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtzdGFydERhdGUgPyBmb3JtYXREaXNwbGF5RGF0ZShzdGFydERhdGUsIHByb3BzLmxvY2FsZSkgOiAnJ31cbiAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fb25lV2F5OiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Rpc2FibGVkOiBwcm9wcy5lbmREYXRlRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2RhdGVJbnB1dHNfX2Rpc2FibGVkLS1hY3RpdmUnOiBzaG93Q2FsZW5kYXIgJiYgcHJvcHMuZW5kRGF0ZURpc2FibGVkLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Vycm9yQm9yZGVyOiAhcHJvcHMudmFsaWQgJiYgIXNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19ub25mb2N1czogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIgJiYgIXByb3BzLmVuZERhdGVEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19mb2N1c19yZXQ6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBlbmREYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2hpZGVJY29uOiBwcm9wcy5oaWRlSWNvbixcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2VuZENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5lbmR9PC9sYWJlbD5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlSWNvbiAmJiA8Q2FsZW5kYXJSZXR1cm4gY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faWNvblwiIC8+fVxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYXRlSW5wdXRzX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbmREYXRlID8gZm9ybWF0RGlzcGxheURhdGUoZW5kRGF0ZSwgcHJvcHMubG9jYWxlKSA6ICcnfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmVuZERhdGVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzaG93Q2FsZW5kYXIgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERheVBpY2tlclxuICAgICAgICAgICAgICAgIGNzcz17ZGF5U2l6ZUNzc31cbiAgICAgICAgICAgICAgICBudW1iZXJPZk1vbnRocz17bnVtYmVyT2ZNb250aHN9XG4gICAgICAgICAgICAgICAgbW9udGg9e2Rpc3BsYXlNb250aH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0TW9udGg9e2RlZmF1bHRNb250aH1cbiAgICAgICAgICAgICAgICBvbk1vbnRoQ2hhbmdlPXtoYW5kbGVNb250aENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkRheUNsaWNrPXtoYW5kbGVEYXlDbGlja31cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXlEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICBJY29uTGVmdDogKCkgPT4gPExlZnRMaW5rIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBNb250aFwiIC8+LFxuICAgICAgICAgICAgICAgICAgSWNvblJpZ2h0OiAoKSA9PiA8UmlnaHRMaW5rIGFyaWEtbGFiZWw9XCJOZXh0IE1vbnRoXCIgLz4sXG4gICAgICAgICAgICAgICAgICBEYXlDb250ZW50LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVycz17Zm9ybWF0dGVyc31cbiAgICAgICAgICAgICAgICBtb2RpZmllcnM9e3tcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgcmFuZ2Vfc3RhcnQ6IChkOiBEYXRlKSA9PiB0b0lTT1N0cihkKSA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX2VuZDogKGQ6IERhdGUpID0+ICFwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgdG9JU09TdHIoZCkgPT09IHRvSVNPU3RyKGVuZERhdGUpLFxuICAgICAgICAgICAgICAgICAgcmFuZ2VfbWlkZGxlOiBpc1JhbmdlTWlkZGxlLFxuICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWQ6IGlzT2ZmZXJEYXksXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBtb2RpZmllcnNDbGFzc05hbWVzPXt7XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9zdGFydDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zdGFydCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9lbmQ6ICdDYWxlbmRhckRheV9fc2VsZWN0ZWRfZW5kJyxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX21pZGRsZTogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuJyxcbiAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiAnQ2FsZW5kYXJEYXlfX2hpZ2hsaWdodGVkX2NhbGVuZGFyJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHBhZ2VkTmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIHdlZWtTdGFydHNPbj17Z2V0V2Vla1N0YXJ0KHByb3BzLmxvY2FsZSB8fCAnZW4nKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge3JlbmRlckNhbGVuZGFySW5mbygpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L0xvY2tCb2R5U2Nyb2xsPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGVSYW5nZVBpY2tlclxuIl19 */"),
218
- children: (0, _jsxRuntime.jsxs)("div", {
219
- className: (0, _classnames.default)('dateRangePickerWrapper', {
220
- 'dateRangePickerWrapper--active': showCalendar
221
- }),
222
- children: [mobileState && showCalendar && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
223
- children: [(0, _jsxRuntime.jsx)("h2", {
224
- className: "dateRangePickerWrapper__title",
225
- children: props.labels.header
226
- }), (0, _jsxRuntime.jsx)("span", {
227
- className: "dateRangePickerWrapper__close",
228
- onClick: () => setShowCalendar(false),
229
- children: (0, _jsxRuntime.jsx)(_icons.Close, {})
230
- })]
231
- }), (0, _jsxRuntime.jsx)("div", {
232
- className: (0, _classnames.default)({
233
- datepicker_container: true,
234
- datepicker_open: showCalendar
235
- }),
236
- children: (0, _jsxRuntime.jsxs)("div", {
237
- className: (0, _classnames.default)({
238
- dateInputs: true,
239
- dateInputs__errorBorder: !props.valid && !showCalendar,
240
- dateInputs__focus_out: focusedInput === 'startDate' && showCalendar,
241
- dateInputs__nonfocus: focusedInput === 'endDate' && showCalendar,
242
- fromDate: true,
243
- dateInputs__hideIcon: props.hideIcon
244
- }),
245
- onClick: startCalendarClicked,
246
- children: [(0, _jsxRuntime.jsx)("label", {
247
- className: "dateInputs__label",
248
- children: props.labels.start
249
- }), !props.hideIcon && (0, _jsxRuntime.jsx)(_icons.CalendarOutbound, {
250
- className: "dateInputs__icon"
251
- }), (0, _jsxRuntime.jsx)("input", {
252
- className: "dateInputs__input",
253
- type: "text",
254
- name: "fromDate",
255
- value: startDate ? formatDisplayDate(startDate, props.locale) : '',
256
- readOnly: true
257
- })]
258
- })
259
- }), (0, _jsxRuntime.jsx)("div", {
260
- className: (0, _classnames.default)({
261
- datepicker_container: true,
262
- datepicker_open: showCalendar
263
- }),
264
- children: (0, _jsxRuntime.jsxs)("div", {
265
- className: (0, _classnames.default)({
266
- dateInputs: true,
267
- dateInputs__oneWay: true,
268
- dateInputs__disabled: props.endDateDisabled,
269
- 'dateInputs__disabled--active': showCalendar && props.endDateDisabled,
270
- dateInputs__errorBorder: !props.valid && !showCalendar,
271
- dateInputs__nonfocus: focusedInput === 'startDate' && showCalendar && !props.endDateDisabled,
272
- dateInputs__focus_ret: focusedInput === 'endDate' && showCalendar,
273
- endDate: true,
274
- dateInputs__hideIcon: props.hideIcon
275
- }),
276
- onClick: endCalendarClicked,
277
- children: [(0, _jsxRuntime.jsx)("label", {
278
- className: "dateInputs__label",
279
- children: props.labels.end
280
- }), !props.hideIcon && (0, _jsxRuntime.jsx)(_icons.CalendarReturn, {
281
- className: "dateInputs__icon"
282
- }), (0, _jsxRuntime.jsx)("input", {
283
- className: "dateInputs__input",
284
- type: "text",
285
- name: "toDate",
286
- value: endDate ? formatDisplayDate(endDate, props.locale) : '',
287
- readOnly: true,
288
- disabled: props.endDateDisabled
289
- })]
290
- })
291
- }), showCalendar && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
292
- children: [(0, _jsxRuntime.jsx)(_reactDayPicker.DayPicker, {
293
- css: daySizeCss,
294
- numberOfMonths: numberOfMonths,
295
- month: displayMonth,
296
- defaultMonth: defaultMonth,
297
- onMonthChange: handleMonthChange,
298
- onDayClick: handleDayClick,
299
- disabled: isDayDisabled,
300
- components: {
301
- IconLeft: () => (0, _jsxRuntime.jsx)(_icons.LeftLink, {
302
- "aria-label": "Previous Month"
303
- }),
304
- IconRight: () => (0, _jsxRuntime.jsx)(_icons.RightLink, {
305
- "aria-label": "Next Month"
306
- }),
307
- DayContent
308
- },
309
- formatters: formatters,
310
- modifiers: {
311
- selected: isSelected,
312
- range_start: d => toISOStr(d) === toISOStr(startDate),
313
- range_end: d => !props.endDateDisabled && toISOStr(d) === toISOStr(endDate),
314
- range_middle: isRangeMiddle,
315
- highlighted: isOfferDay
316
- },
317
- modifiersClassNames: {
318
- selected: 'CalendarDay__selected',
319
- range_start: 'CalendarDay__selected_start',
320
- range_end: 'CalendarDay__selected_end',
321
- range_middle: 'CalendarDay__selected_span',
322
- highlighted: 'CalendarDay__highlighted_calendar'
323
- },
324
- pagedNavigation: true,
325
- weekStartsOn: getWeekStart(props.locale || 'en')
326
- }), renderCalendarInfo()]
327
- })]
328
- })
329
- })
330
- });
331
- };
332
- var _default = exports.default = DateRangePicker;
@@ -1,6 +0,0 @@
1
- /**
2
- * DFDS-themed styles for DateRangePicker.
3
- * Base rdp styles come from 'react-day-picker/dist/style.css' imported in the component.
4
- * This file contains only the DFDS overrides, info panel, input/wrapper/mobile overlay CSS.
5
- */
6
- export declare const dateRangePickerDfdsStyles: import("@emotion/utils").SerializedStyles;
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.dateRangePickerDfdsStyles = void 0;
7
- var _react = require("@emotion/react");
8
- var _theme = require("@dfds-ui/theme");
9
- /**
10
- * DFDS-themed styles for DateRangePicker.
11
- * Base rdp styles come from 'react-day-picker/dist/style.css' imported in the component.
12
- * This file contains only the DFDS overrides, info panel, input/wrapper/mobile overlay CSS.
13
- */
14
- const dateRangePickerDfdsStyles = exports.dateRangePickerDfdsStyles = /*#__PURE__*/(0, _react.css)("svg{color:", _theme.theme.colors.secondary.main, ";fill:", _theme.theme.colors.secondary.main, ";}.rdp{z-index:2;border:1px solid rgb(187, 221, 243);margin:0;margin-top:-1px;background-color:", _theme.theme.colors.surface.primary, ";@media only screen and (min-width: 64.063em){position:absolute;right:0;}}.rdp-nav_button{border-radius:0;}.rdp-caption{padding:22px 13px 10px;}.rdp-caption_label{font-weight:300;}.rdp-head_cell{font-size:16px;font-weight:400;text-transform:lowercase;color:", _theme.theme.colors.text.dark.secondary, ";}.rdp-month{padding:0 20px 20px 20px;}.CalendarDay__highlighted_calendar{background:", _theme.theme.colors.surface.primary, ";&::after{content:'';width:55%;height:7px;background:", _theme.theme.colors.status.success, ";display:block;margin:0px auto 0 auto;border-radius:2px;}@media only screen and (min-width: 64em){&::after{margin-top:6px;}}}.CalendarDay__selected_span{background:", _theme.theme.colors.surface.secondary, ";}.CalendarDay__selected,.CalendarDay__selected_start,.CalendarDay__selected_end{border:1px solid ", _theme.theme.colors.primary.main, ";border-left:1px solid ", _theme.theme.colors.primary.main, "!important;background:none;&:hover{border:1px solid ", _theme.theme.colors.primary.main, ";background:", _theme.theme.colors.surface.primary, ";}}.rdp-day{border-radius:0;flex-direction:column;}.rdp-day_disabled{background:", _theme.theme.colors.surface.primary, ";color:", _theme.theme.colors.text.dark.disabled, ";&:hover{color:", _theme.theme.colors.text.dark.disabled, ";background:", _theme.theme.colors.surface.primary, ";}}.datepicker_open{z-index:4;}.datepicker_container{display:inline-block;width:50%;position:relative;background-color:white;.dateInputs{padding:7px 0 6px 50px;border-radius:0px;border:1px solid ", _theme.theme.colors.text.dark.secondary, ";cursor:pointer;position:relative;user-select:none;&__hideIcon{padding:7px 10px 6px 10px;}&__focus_out,&__errorBorder.dateInputs__focus_out,&__focus_ret,&__errorBorder.dateInputs__focus_ret{border:1px solid ", _theme.theme.colors.secondary.light, ";border-bottom:1px solid ", _theme.theme.colors.surface.primary, ";background-color:", _theme.theme.colors.surface.primary, ";}&__nonfocus{background-color:", _theme.theme.colors.surface.secondary, ";}&__errorBorder.dateInputs__nonfocus{background-color:", _theme.theme.colors.surface.secondary, ";border-bottom:1px solid ", _theme.theme.colors.secondary.light, ";input{fill:", _theme.theme.colors.text.dark.disabled, ";}}&__errorBorder{border:1px solid ", _theme.theme.colors.status.alert, ";}&__label,&__input{cursor:pointer;font-weight:400;font-family:DFDS,Verdana,system-ui,Arial,'Helvetica Neue',Helvetica,sans-serif;}&__disabled{z-index:4;pointer-events:none;border:1px solid ", _theme.theme.colors.text.dark.disabled, ";color:", _theme.theme.colors.text.dark.disabled, ";&--active{border-bottom:1px solid ", _theme.theme.colors.secondary.light, ";background-color:", _theme.theme.colors.surface.secondary, ";}svg{fill:", _theme.theme.colors.text.dark.disabled, ";color:", _theme.theme.colors.text.dark.disabled, ";}}input[disabled]{color:", _theme.theme.colors.text.dark.disabled, ";}&__label{font-weight:400;font-size:12px;display:block;white-space:nowrap;margin:0;}&__oneWay{border-left-color:#fff;.dateInputs__cover{background:rgba(255, 255, 255, 0.2);z-index:1;}}&__icon{height:36px;left:7px;position:absolute;top:7px;width:36px;}&__input{background:none;border:none;display:block;font-size:14px;appearance:none;margin:0;padding:4px 0 0;pointer-events:none;width:100%;}&__cover{display:none;width:calc(100% + 2px);height:calc(100% + 1px);position:absolute;top:-1px;left:-1px;background:rgba(0, 0, 0, 0.2);z-index:5;}}.dateInputs__oneWay{border-left-color:#fff;}.dateInputs__nonfocus.fromDate{border-right:none;}.dateInputs__focus_ret{border-left:1px solid ", _theme.theme.colors.secondary.light, ";}.dateInputs__nonfocus.endDate{border-left:1px solid ", _theme.theme.colors.secondary.light, ";}}@media only screen and (max-width: 64em){.dateRangePickerWrapper{&--active{height:100%;width:100%;position:fixed;z-index:99;left:0;top:0;background-color:", _theme.theme.colors.surface.secondary, ";.dateInputs{&__disabled{border:none;}&__focus_ret{background:white;border:none;border-top:1px solid ", _theme.theme.colors.secondary.light, ";border-left:1px solid ", _theme.theme.colors.secondary.light, ";}&__focus_out{background:white;border:none;border-top:1px solid ", _theme.theme.colors.secondary.light, ";border-right:1px solid ", _theme.theme.colors.secondary.light, ";}&__nonfocus{border:none;input{background:", _theme.theme.colors.surface.secondary, "!important;}}}}&__close{display:block;height:24px;position:absolute;right:20px;top:25px;width:24px;}h2{color:", _theme.theme.colors.text.dark.primary, ";margin-block-start:0.83em;margin-block-end:0.83em;margin-inline-start:0px;margin-inline-end:0px;padding-left:20px;font-weight:700;font-size:28px;}}}.dateRangePickerInfo__legend{width:25px;height:7px;background:", _theme.theme.colors.status.success, ";border-radius:2px;margin-bottom:2px;}.dateRangePickerInfo__info,.dateRangePickerInfo__legend{display:inline-block;}" + (process.env.NODE_ENV === "production" ? "" : ";label:dateRangePickerDfdsStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIuc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVE0QyIsImZpbGUiOiIuLi8uLi8uLi9zcmMvZGF0ZS1yYW5nZS1waWNrZXIvRGF0ZVJhbmdlUGlja2VyLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcblxuLyoqXG4gKiBERkRTLXRoZW1lZCBzdHlsZXMgZm9yIERhdGVSYW5nZVBpY2tlci5cbiAqIEJhc2UgcmRwIHN0eWxlcyBjb21lIGZyb20gJ3JlYWN0LWRheS1waWNrZXIvZGlzdC9zdHlsZS5jc3MnIGltcG9ydGVkIGluIHRoZSBjb21wb25lbnQuXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgREZEUyBvdmVycmlkZXMsIGluZm8gcGFuZWwsIGlucHV0L3dyYXBwZXIvbW9iaWxlIG92ZXJsYXkgQ1NTLlxuICovXG5leHBvcnQgY29uc3QgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyA9IGNzc2BcbiAgLyogLS0tIENhbGVuZGFyIHRoZW1pbmcgLS0tICovXG4gIHN2ZyB7XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5tYWlufTtcbiAgICBmaWxsOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gIH1cblxuICAucmRwIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxODcsIDIyMSwgMjQzKTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJkcC1uYXZfYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLnJkcC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMnB4IDEzcHggMTBweDtcbiAgfVxuXG4gIC5yZHAtY2FwdGlvbl9sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC5yZHAtaGVhZF9jZWxsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gIC5yZHAtbW9udGgge1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG4gIH1cblxuICAvKiAtLS0gRGF5IG1vZGlmaWVycyAoREZEUyB0aGVtZSkgLS0tICovXG4gIC5DYWxlbmRhckRheV9faGlnaGxpZ2h0ZWRfY2FsZW5kYXIge1xuICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN0YXR1cy5zdWNjZXNzfTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwcHggYXV0byAwIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLkNhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gIH1cblxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkLFxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkX3N0YXJ0LFxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkX2VuZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5Lm1haW59O1xuICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAucmRwLWRheSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnJkcC1kYXlfZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAvKiAtLS0gSW5wdXQgZmllbGRzICYgd3JhcHBlcnMgLS0tICovXG4gIC5kYXRlcGlja2VyX29wZW4ge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICAuZGF0ZXBpY2tlcl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgIC5kYXRlSW5wdXRzIHtcbiAgICAgIHBhZGRpbmc6IDdweCAwIDZweCA1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgJl9faGlkZUljb24ge1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweCA2cHggMTBweDtcbiAgICAgIH1cblxuICAgICAgJl9fZm9jdXNfb3V0LFxuICAgICAgJl9fZXJyb3JCb3JkZXIuZGF0ZUlucHV0c19fZm9jdXNfb3V0LFxuICAgICAgJl9fZm9jdXNfcmV0LFxuICAgICAgJl9fZXJyb3JCb3JkZXIuZGF0ZUlucHV0c19fZm9jdXNfcmV0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgICB9XG5cbiAgICAgICZfX25vbmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgfVxuXG4gICAgICAmX19lcnJvckJvcmRlci5kYXRlSW5wdXRzX19ub25mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGZpbGw6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZXJyb3JCb3JkZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zdGF0dXMuYWxlcnR9O1xuICAgICAgfVxuXG4gICAgICAmX19sYWJlbCxcbiAgICAgICZfX2lucHV0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LWZhbWlseTogREZEUywgVmVyZGFuYSwgc3lzdGVtLXVpLCBBcmlhbCwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuXG4gICAgICAmX19kaXNhYmxlZCB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIGZpbGw6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICB9XG5cbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmX19vbmVXYXkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcblxuICAgICAgICAuZGF0ZUlucHV0c19fY292ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ljb24ge1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICB9XG5cbiAgICAgICZfX2lucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fY292ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlSW5wdXRzX19vbmVXYXkge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmRhdGVJbnB1dHNfX25vbmZvY3VzLmZyb21EYXRlIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAuZGF0ZUlucHV0c19fZm9jdXNfcmV0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICB9XG5cbiAgICAuZGF0ZUlucHV0c19fbm9uZm9jdXMuZW5kRGF0ZSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgfVxuICB9XG5cbiAgLyogLS0tIE1vYmlsZSBvdmVybGF5IC0tLSAqL1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuZGF0ZVJhbmdlUGlja2VyV3JhcHBlciB7XG4gICAgICAmLS1hY3RpdmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcblxuICAgICAgICAuZGF0ZUlucHV0cyB7XG4gICAgICAgICAgJl9fZGlzYWJsZWQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2ZvY3VzX3JldCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2ZvY3VzX291dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19ub25mb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsucHJpbWFyeX07XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMC44M2VtO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwLjgzZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogLS0tIEluZm8gcGFuZWwgKERGRFMgdGhlbWUpIC0tLSAqL1xuICAuZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdGF0dXMuc3VjY2Vzc307XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuICAuZGF0ZVJhbmdlUGlja2VySW5mb19faW5mbyxcbiAgLmRhdGVSYW5nZVBpY2tlckluZm9fX2xlZ2VuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5gXG4iXX0= */");
@@ -1 +0,0 @@
1
- export { default as DateRangePicker } from './DateRangePicker';
@@ -1,13 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "DateRangePicker", {
7
- enumerable: true,
8
- get: function () {
9
- return _DateRangePicker.default;
10
- }
11
- });
12
- var _DateRangePicker = _interopRequireDefault(require("./DateRangePicker"));
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import 'react-day-picker/dist/style.css';
3
- export interface IDateRangePickerProps {
4
- endDateDisabled?: boolean;
5
- valid: boolean;
6
- onDateChange: (d: string | null, r: string | null) => void;
7
- format?: string;
8
- infoLabel?: string;
9
- startDates: IDateLeg;
10
- endDates: IDateLeg;
11
- labels: IDateRangePickerLabels;
12
- onNextMonthClick?: () => void;
13
- onPrevMonthClick?: () => void;
14
- numberOfMobileMonths?: number;
15
- hideIcon?: boolean;
16
- className?: string;
17
- locale?: string;
18
- }
19
- export interface IDateLeg {
20
- initial: string | null;
21
- maxDate: string;
22
- minDate: string;
23
- disabledDates?: string[];
24
- offerDates?: string[];
25
- }
26
- export interface IDateRangePickerLabels {
27
- start: string;
28
- end: string;
29
- header: string;
30
- info?: string;
31
- }
32
- declare const DateRangePicker: (props: IDateRangePickerProps) => React.JSX.Element;
33
- export default DateRangePicker;
@@ -1,391 +0,0 @@
1
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
2
- function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
- function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
- import { DayPicker } from 'react-day-picker';
9
- import classNames from 'classnames';
10
- import React, { useState, useRef, useEffect, useCallback, useMemo } from 'react';
11
- import { css } from '@emotion/react';
12
- import { Close, RightLink, LeftLink, CalendarOutbound, CalendarReturn } from '@dfds-ui/icons';
13
- import useMedia from '../common/use-media';
14
- import { miniMoize } from '../common/miniMoize';
15
- import { dateRangePickerDfdsStyles } from './DateRangePicker.styles';
16
- import LockBodyScroll from '../common/LockBodyScroll';
17
- import 'react-day-picker/dist/style.css';
18
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
19
- // --- Date helpers (replace moment) ---
20
-
21
- function toISOStr(d) {
22
- if (!d) return null;
23
- var y = d.getFullYear();
24
- var m = String(d.getMonth() + 1).padStart(2, '0');
25
- var day = String(d.getDate()).padStart(2, '0');
26
- return "".concat(y, "-").concat(m, "-").concat(day);
27
- }
28
- function toDate(s) {
29
- if (!s) return null;
30
- var _s$split$map = s.split('-').map(Number),
31
- _s$split$map2 = _slicedToArray(_s$split$map, 3),
32
- y = _s$split$map2[0],
33
- m = _s$split$map2[1],
34
- d = _s$split$map2[2];
35
- return new Date(y, m - 1, d);
36
- }
37
- function formatDisplayDate(date, locale) {
38
- var weekday = date.toLocaleDateString(locale || 'en', {
39
- weekday: 'short'
40
- });
41
- var day = String(date.getDate()).padStart(2, '0');
42
- var month = String(date.getMonth() + 1).padStart(2, '0');
43
- return "".concat(weekday, " ").concat(day, "/").concat(month);
44
- }
45
- function getWeekStart(locale) {
46
- var sundayLocales = ['en', 'en-US', 'ja', 'ko', 'zh'];
47
- var lang = locale.split('-')[0];
48
- return sundayLocales.includes(locale) || sundayLocales.includes(lang) ? 0 : 1;
49
- }
50
- function buildMap(dates) {
51
- var map = {};
52
- if (!dates) return map;
53
- var _iterator = _createForOfIteratorHelper(dates),
54
- _step;
55
- try {
56
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
57
- var d = _step.value;
58
- map[d] = 1;
59
- }
60
- } catch (err) {
61
- _iterator.e(err);
62
- } finally {
63
- _iterator.f();
64
- }
65
- return map;
66
- }
67
-
68
- // --- Component ---
69
-
70
- var DateRangePicker = function DateRangePicker(props) {
71
- var _useState = useState(toDate(props.startDates.initial)),
72
- _useState2 = _slicedToArray(_useState, 2),
73
- startDate = _useState2[0],
74
- setStartDate = _useState2[1];
75
- var _useState3 = useState(toDate(props.endDates.initial)),
76
- _useState4 = _slicedToArray(_useState3, 2),
77
- endDate = _useState4[0],
78
- setEndDate = _useState4[1];
79
- var _useState5 = useState(false),
80
- _useState6 = _slicedToArray(_useState5, 2),
81
- showCalendar = _useState6[0],
82
- setShowCalendar = _useState6[1];
83
- var _useState7 = useState('startDate'),
84
- _useState8 = _slicedToArray(_useState7, 2),
85
- focusedInput = _useState8[0],
86
- setFocusedInput = _useState8[1];
87
- var _useState9 = useState(toDate(props.startDates.initial) || new Date()),
88
- _useState0 = _slicedToArray(_useState9, 2),
89
- displayMonth = _useState0[0],
90
- setDisplayMonth = _useState0[1];
91
- var wrapperRef = useRef(null);
92
- var _useMedia = useMedia(['(max-width: 64em)', '(min-width: 78.063em)'], [{
93
- numberOfMonths: 1,
94
- mobileState: true,
95
- size: 40
96
- }, {
97
- numberOfMonths: 2,
98
- mobileState: false,
99
- size: 48
100
- }], {
101
- numberOfMonths: 1,
102
- mobileState: false,
103
- size: 48
104
- }),
105
- numberOfMonths = _useMedia.numberOfMonths,
106
- mobileState = _useMedia.mobileState,
107
- size = _useMedia.size;
108
- useEffect(function () {
109
- setStartDate(toDate(props.startDates.initial));
110
- setEndDate(toDate(props.endDates.initial));
111
- }, [props.startDates.initial, props.endDates.initial]);
112
-
113
- // Handle clicks outside the calendar to close it
114
- var onDateChangeRef = useRef(props.onDateChange);
115
- onDateChangeRef.current = props.onDateChange;
116
- useEffect(function () {
117
- if (!showCalendar) return;
118
- var handleClickOutside = function handleClickOutside(e) {
119
- if (wrapperRef.current && !wrapperRef.current.contains(e.target)) {
120
- setShowCalendar(false);
121
- setFocusedInput('startDate');
122
- onDateChangeRef.current(toISOStr(startDate), toISOStr(endDate));
123
- }
124
- };
125
- document.addEventListener('mousedown', handleClickOutside);
126
- return function () {
127
- return document.removeEventListener('mousedown', handleClickOutside);
128
- };
129
- }, [showCalendar, startDate, endDate]);
130
- var startCalendarClicked = function startCalendarClicked() {
131
- setShowCalendar(function (prev) {
132
- return !prev;
133
- });
134
- setFocusedInput('startDate');
135
- };
136
- var endCalendarClicked = function endCalendarClicked() {
137
- setShowCalendar(function (prev) {
138
- return !prev;
139
- });
140
- setFocusedInput('endDate');
141
- };
142
- var renderCalendarInfo = function renderCalendarInfo() {
143
- return props.infoLabel ? _jsxs("div", {
144
- className: "dateRangePickerInfo",
145
- children: [_jsx("span", {
146
- className: "dateRangePickerInfo__legend"
147
- }), _jsx("p", {
148
- className: "dateRangePickerInfo__info",
149
- children: props.infoLabel
150
- })]
151
- }) : null;
152
- };
153
-
154
- // Memoized disabled dates map
155
- var disabledDatesMap = miniMoize(function (focusedInput, start, startDisabledDates, endDisabledDates) {
156
- return buildMap(focusedInput !== 'endDate' ? startDisabledDates : (startDisabledDates || []).filter(function (d) {
157
- return d < (start || '');
158
- }).concat(endDisabledDates || []));
159
- });
160
- var isDayDisabled = useCallback(function (date) {
161
- var startDateStr = toISOStr(startDate);
162
- var disabled = disabledDatesMap(focusedInput, startDateStr, props.startDates.disabledDates, props.endDates.disabledDates);
163
- var dateStr = toISOStr(date);
164
- if (!dateStr) return false;
165
- var d = focusedInput !== 'endDate' ? props.startDates : props.endDates;
166
- var min = props.startDates.minDate;
167
- if (disabled[dateStr]) return true;
168
- if (min && dateStr < min) return true;
169
- if (d.maxDate && dateStr > d.maxDate) return true;
170
- if (focusedInput === 'endDate' && startDateStr && startDateStr < dateStr && dateStr < props.endDates.minDate) {
171
- return true;
172
- }
173
- return false;
174
- }, [focusedInput, startDate, props.startDates, props.endDates, disabledDatesMap]);
175
-
176
- // Memoized offer dates map
177
- var offerDatesMap = miniMoize(function (focusedInput, startOffers, endOffers) {
178
- return buildMap(focusedInput !== 'endDate' ? startOffers : endOffers);
179
- });
180
- var isOfferDay = useCallback(function (date) {
181
- var map = offerDatesMap(focusedInput, props.startDates.offerDates, props.endDates.offerDates);
182
- var dateStr = toISOStr(date);
183
- return dateStr ? !!map[dateStr] : false;
184
- }, [focusedInput, props.startDates.offerDates, props.endDates.offerDates, offerDatesMap]);
185
- var defaultMonth = useMemo(function () {
186
- if (mobileState) {
187
- return toDate(props.startDates.minDate) || new Date();
188
- }
189
- return startDate || new Date();
190
- // Only compute on mount / when mobile state changes
191
- // eslint-disable-next-line @eslint-react/exhaustive-deps
192
- }, [mobileState]);
193
- var handleMonthChange = useCallback(function (month) {
194
- if (month > displayMonth) {
195
- var _props$onNextMonthCli;
196
- (_props$onNextMonthCli = props.onNextMonthClick) === null || _props$onNextMonthCli === void 0 || _props$onNextMonthCli.call(props);
197
- } else {
198
- var _props$onPrevMonthCli;
199
- (_props$onPrevMonthCli = props.onPrevMonthClick) === null || _props$onPrevMonthCli === void 0 || _props$onPrevMonthCli.call(props);
200
- }
201
- setDisplayMonth(month);
202
- }, [displayMonth, props.onNextMonthClick, props.onPrevMonthClick]);
203
- var handleDayClick = function handleDayClick(day) {
204
- if (isDayDisabled(day)) return;
205
- if (props.endDateDisabled) {
206
- setStartDate(day);
207
- setEndDate(day);
208
- props.onDateChange(toISOStr(day), null);
209
- setShowCalendar(false);
210
- return;
211
- }
212
- if (focusedInput === 'startDate') {
213
- setStartDate(day);
214
- setEndDate(null);
215
- setFocusedInput('endDate');
216
- props.onDateChange(toISOStr(day), null);
217
- } else {
218
- setEndDate(day);
219
- setFocusedInput('startDate');
220
- setShowCalendar(false);
221
- props.onDateChange(toISOStr(startDate), toISOStr(day));
222
- }
223
- };
224
- var isSelected = useCallback(function (date) {
225
- var dateStr = toISOStr(date);
226
- return dateStr === toISOStr(startDate) || dateStr === toISOStr(endDate);
227
- }, [startDate, endDate]);
228
- var isRangeMiddle = useCallback(function (date) {
229
- if (!startDate || !endDate) return false;
230
- return date > startDate && date < endDate;
231
- }, [startDate, endDate]);
232
-
233
- // Custom DayContent that sets aria-label to the ISO date (for testability & a11y)
234
- var DayContent = useMemo(function () {
235
- return function DayContentComponent(_ref) {
236
- var date = _ref.date;
237
- return _jsx(_Fragment, {
238
- children: date.getDate()
239
- });
240
- };
241
- }, []);
242
- var formatters = useMemo(function () {
243
- return {
244
- formatWeekdayName: function formatWeekdayName(date) {
245
- return date.toLocaleDateString(props.locale || 'en', {
246
- weekday: 'short'
247
- });
248
- },
249
- formatCaption: function formatCaption(date) {
250
- return date.toLocaleDateString(props.locale || 'en', {
251
- month: 'long',
252
- year: 'numeric'
253
- });
254
- },
255
- formatDay: function formatDay(date) {
256
- return String(date.getDate());
257
- }
258
- };
259
- }, [props.locale]);
260
- var daySizeCss = /*#__PURE__*/css("--rdp-cell-size:", size, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:daySizeCss;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9Sd0IiLCJmaWxlIjoiLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXlQaWNrZXIgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IHR5cGUgeyBEYXlDb250ZW50UHJvcHMgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENsb3NlLCBSaWdodExpbmssIExlZnRMaW5rLCBDYWxlbmRhck91dGJvdW5kLCBDYWxlbmRhclJldHVybiB9IGZyb20gJ0BkZmRzLXVpL2ljb25zJ1xuaW1wb3J0IHVzZU1lZGlhIGZyb20gJy4uL2NvbW1vbi91c2UtbWVkaWEnXG5pbXBvcnQgeyBtaW5pTW9pemUgfSBmcm9tICcuLi9jb21tb24vbWluaU1vaXplJ1xuaW1wb3J0IHsgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyB9IGZyb20gJy4vRGF0ZVJhbmdlUGlja2VyLnN0eWxlcydcbmltcG9ydCBMb2NrQm9keVNjcm9sbCBmcm9tICcuLi9jb21tb24vTG9ja0JvZHlTY3JvbGwnXG5cbmltcG9ydCAncmVhY3QtZGF5LXBpY2tlci9kaXN0L3N0eWxlLmNzcydcblxudHlwZSBGb2N1c2VkSW5wdXQgPSAnc3RhcnREYXRlJyB8ICdlbmREYXRlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlUmFuZ2VQaWNrZXJQcm9wcyB7XG4gIGVuZERhdGVEaXNhYmxlZD86IGJvb2xlYW5cbiAgdmFsaWQ6IGJvb2xlYW5cbiAgb25EYXRlQ2hhbmdlOiAoZDogc3RyaW5nIHwgbnVsbCwgcjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZFxuICBmb3JtYXQ/OiBzdHJpbmdcbiAgaW5mb0xhYmVsPzogc3RyaW5nXG4gIHN0YXJ0RGF0ZXM6IElEYXRlTGVnXG4gIGVuZERhdGVzOiBJRGF0ZUxlZ1xuICBsYWJlbHM6IElEYXRlUmFuZ2VQaWNrZXJMYWJlbHNcbiAgb25OZXh0TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgb25QcmV2TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgbnVtYmVyT2ZNb2JpbGVNb250aHM/OiBudW1iZXJcbiAgaGlkZUljb24/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZUxlZyB7XG4gIGluaXRpYWw6IHN0cmluZyB8IG51bGxcbiAgbWF4RGF0ZTogc3RyaW5nXG4gIG1pbkRhdGU6IHN0cmluZ1xuICBkaXNhYmxlZERhdGVzPzogc3RyaW5nW11cbiAgb2ZmZXJEYXRlcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVSYW5nZVBpY2tlckxhYmVscyB7XG4gIHN0YXJ0OiBzdHJpbmdcbiAgZW5kOiBzdHJpbmdcbiAgaGVhZGVyOiBzdHJpbmdcbiAgaW5mbz86IHN0cmluZ1xufVxuXG4vLyAtLS0gRGF0ZSBoZWxwZXJzIChyZXBsYWNlIG1vbWVudCkgLS0tXG5cbmZ1bmN0aW9uIHRvSVNPU3RyKGQ6IERhdGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghZCkgcmV0dXJuIG51bGxcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKVxuICBjb25zdCBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIHJldHVybiBgJHt5fS0ke219LSR7ZGF5fWBcbn1cblxuZnVuY3Rpb24gdG9EYXRlKHM6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gIGlmICghcykgcmV0dXJuIG51bGxcbiAgY29uc3QgW3ksIG0sIGRdID0gcy5zcGxpdCgnLScpLm1hcChOdW1iZXIpXG4gIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZClcbn1cblxuZnVuY3Rpb24gZm9ybWF0RGlzcGxheURhdGUoZGF0ZTogRGF0ZSwgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgd2Vla2RheSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSB8fCAnZW4nLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSlcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgcmV0dXJuIGAke3dlZWtkYXl9ICR7ZGF5fS8ke21vbnRofWBcbn1cblxuZnVuY3Rpb24gZ2V0V2Vla1N0YXJ0KGxvY2FsZTogc3RyaW5nKTogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB7XG4gIGNvbnN0IHN1bmRheUxvY2FsZXMgPSBbJ2VuJywgJ2VuLVVTJywgJ2phJywgJ2tvJywgJ3poJ11cbiAgY29uc3QgbGFuZyA9IGxvY2FsZS5zcGxpdCgnLScpWzBdXG4gIHJldHVybiBzdW5kYXlMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkgfHwgc3VuZGF5TG9jYWxlcy5pbmNsdWRlcyhsYW5nKSA/IDAgOiAxXG59XG5cbmZ1bmN0aW9uIGJ1aWxkTWFwKGRhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fVxuICBpZiAoIWRhdGVzKSByZXR1cm4gbWFwXG4gIGZvciAoY29uc3QgZCBvZiBkYXRlcykge1xuICAgIG1hcFtkXSA9IDFcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIC0tLSBDb21wb25lbnQgLS0tXG5cbmNvbnN0IERhdGVSYW5nZVBpY2tlciA9IChwcm9wczogSURhdGVSYW5nZVBpY2tlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZV0gPSB1c2VTdGF0ZSh0b0RhdGUocHJvcHMuc3RhcnREYXRlcy5pbml0aWFsKSlcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGVdID0gdXNlU3RhdGUodG9EYXRlKHByb3BzLmVuZERhdGVzLmluaXRpYWwpKVxuICBjb25zdCBbc2hvd0NhbGVuZGFyLCBzZXRTaG93Q2FsZW5kYXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb2N1c2VkSW5wdXQsIHNldEZvY3VzZWRJbnB1dF0gPSB1c2VTdGF0ZTxGb2N1c2VkSW5wdXQ+KCdzdGFydERhdGUnKVxuICBjb25zdCBbZGlzcGxheU1vbnRoLCBzZXREaXNwbGF5TW9udGhdID0gdXNlU3RhdGU8RGF0ZT4odG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkgfHwgbmV3IERhdGUoKSlcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCB7IG51bWJlck9mTW9udGhzLCBtb2JpbGVTdGF0ZSwgc2l6ZSB9ID0gdXNlTWVkaWEoXG4gICAgWycobWF4LXdpZHRoOiA2NGVtKScsICcobWluLXdpZHRoOiA3OC4wNjNlbSknXSxcbiAgICBbXG4gICAgICB7IG51bWJlck9mTW9udGhzOiAxLCBtb2JpbGVTdGF0ZTogdHJ1ZSwgc2l6ZTogNDAgfSxcbiAgICAgIHsgbnVtYmVyT2ZNb250aHM6IDIsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfSxcbiAgICBdLFxuICAgIHsgbnVtYmVyT2ZNb250aHM6IDEsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUodG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gICAgc2V0RW5kRGF0ZSh0b0RhdGUocHJvcHMuZW5kRGF0ZXMuaW5pdGlhbCkpXG4gIH0sIFtwcm9wcy5zdGFydERhdGVzLmluaXRpYWwsIHByb3BzLmVuZERhdGVzLmluaXRpYWxdKVxuXG4gIC8vIEhhbmRsZSBjbGlja3Mgb3V0c2lkZSB0aGUgY2FsZW5kYXIgdG8gY2xvc2UgaXRcbiAgY29uc3Qgb25EYXRlQ2hhbmdlUmVmID0gdXNlUmVmKHByb3BzLm9uRGF0ZUNoYW5nZSlcbiAgb25EYXRlQ2hhbmdlUmVmLmN1cnJlbnQgPSBwcm9wcy5vbkRhdGVDaGFuZ2VcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd0NhbGVuZGFyKSByZXR1cm5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICAgICAgICBvbkRhdGVDaGFuZ2VSZWYuY3VycmVudCh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihlbmREYXRlKSlcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gIH0sIFtzaG93Q2FsZW5kYXIsIHN0YXJ0RGF0ZSwgZW5kRGF0ZV0pXG5cbiAgY29uc3Qgc3RhcnRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ3N0YXJ0RGF0ZScpXG4gIH1cblxuICBjb25zdCBlbmRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ2VuZERhdGUnKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQ2FsZW5kYXJJbmZvID0gKCkgPT5cbiAgICBwcm9wcy5pbmZvTGFiZWwgPyAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9cIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kXCIgLz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19faW5mb1wiPntwcm9wcy5pbmZvTGFiZWx9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKSA6IG51bGxcblxuICAvLyBNZW1vaXplZCBkaXNhYmxlZCBkYXRlcyBtYXBcbiAgY29uc3QgZGlzYWJsZWREYXRlc01hcCA9IG1pbmlNb2l6ZShcbiAgICAoXG4gICAgICBmb2N1c2VkSW5wdXQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0OiBzdHJpbmcgfCBudWxsLFxuICAgICAgc3RhcnREaXNhYmxlZERhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICAgIGVuZERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICAgKSA9PlxuICAgICAgYnVpbGRNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnXG4gICAgICAgICAgPyBzdGFydERpc2FibGVkRGF0ZXNcbiAgICAgICAgICA6IChzdGFydERpc2FibGVkRGF0ZXMgfHwgW10pLmZpbHRlcigoZCkgPT4gZCA8IChzdGFydCB8fCAnJykpLmNvbmNhdChlbmREaXNhYmxlZERhdGVzIHx8IFtdKVxuICAgICAgKVxuICApXG5cbiAgY29uc3QgaXNEYXlEaXNhYmxlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGVTdHIgPSB0b0lTT1N0cihzdGFydERhdGUpXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRGF0ZXNNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCxcbiAgICAgICAgc3RhcnREYXRlU3RyLFxuICAgICAgICBwcm9wcy5zdGFydERhdGVzLmRpc2FibGVkRGF0ZXMsXG4gICAgICAgIHByb3BzLmVuZERhdGVzLmRpc2FibGVkRGF0ZXNcbiAgICAgIClcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSB0b0lTT1N0cihkYXRlKVxuICAgICAgaWYgKCFkYXRlU3RyKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgZCA9IGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnID8gcHJvcHMuc3RhcnREYXRlcyA6IHByb3BzLmVuZERhdGVzXG4gICAgICBjb25zdCBtaW4gPSBwcm9wcy5zdGFydERhdGVzLm1pbkRhdGVcbiAgICAgIGlmIChkaXNhYmxlZFtkYXRlU3RyXSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChtaW4gJiYgZGF0ZVN0ciA8IG1pbikgcmV0dXJuIHRydWVcbiAgICAgIGlmIChkLm1heERhdGUgJiYgZGF0ZVN0ciA+IGQubWF4RGF0ZSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdlbmREYXRlJyAmJiBzdGFydERhdGVTdHIgJiYgc3RhcnREYXRlU3RyIDwgZGF0ZVN0ciAmJiBkYXRlU3RyIDwgcHJvcHMuZW5kRGF0ZXMubWluRGF0ZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSxcbiAgICBbZm9jdXNlZElucHV0LCBzdGFydERhdGUsIHByb3BzLnN0YXJ0RGF0ZXMsIHByb3BzLmVuZERhdGVzLCBkaXNhYmxlZERhdGVzTWFwXVxuICApXG5cbiAgLy8gTWVtb2l6ZWQgb2ZmZXIgZGF0ZXMgbWFwXG4gIGNvbnN0IG9mZmVyRGF0ZXNNYXAgPSBtaW5pTW9pemUoXG4gICAgKGZvY3VzZWRJbnB1dDogc3RyaW5nLCBzdGFydE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGVuZE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQpID0+XG4gICAgICBidWlsZE1hcChmb2N1c2VkSW5wdXQgIT09ICdlbmREYXRlJyA/IHN0YXJ0T2ZmZXJzIDogZW5kT2ZmZXJzKVxuICApXG5cbiAgY29uc3QgaXNPZmZlckRheSA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBtYXAgPSBvZmZlckRhdGVzTWFwKGZvY3VzZWRJbnB1dCwgcHJvcHMuc3RhcnREYXRlcy5vZmZlckRhdGVzLCBwcm9wcy5lbmREYXRlcy5vZmZlckRhdGVzKVxuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA/ICEhbWFwW2RhdGVTdHJdIDogZmFsc2VcbiAgICB9LFxuICAgIFtmb2N1c2VkSW5wdXQsIHByb3BzLnN0YXJ0RGF0ZXMub2ZmZXJEYXRlcywgcHJvcHMuZW5kRGF0ZXMub2ZmZXJEYXRlcywgb2ZmZXJEYXRlc01hcF1cbiAgKVxuXG4gIGNvbnN0IGRlZmF1bHRNb250aCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChtb2JpbGVTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRvRGF0ZShwcm9wcy5zdGFydERhdGVzLm1pbkRhdGUpIHx8IG5ldyBEYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0RGF0ZSB8fCBuZXcgRGF0ZSgpXG4gICAgLy8gT25seSBjb21wdXRlIG9uIG1vdW50IC8gd2hlbiBtb2JpbGUgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAZXNsaW50LXJlYWN0L2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbW9iaWxlU3RhdGVdKVxuXG4gIGNvbnN0IGhhbmRsZU1vbnRoQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vbnRoOiBEYXRlKSA9PiB7XG4gICAgICBpZiAobW9udGggPiBkaXNwbGF5TW9udGgpIHtcbiAgICAgICAgcHJvcHMub25OZXh0TW9udGhDbGljaz8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLm9uUHJldk1vbnRoQ2xpY2s/LigpXG4gICAgICB9XG4gICAgICBzZXREaXNwbGF5TW9udGgobW9udGgpXG4gICAgfSxcbiAgICBbZGlzcGxheU1vbnRoLCBwcm9wcy5vbk5leHRNb250aENsaWNrLCBwcm9wcy5vblByZXZNb250aENsaWNrXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRGF5Q2xpY2sgPSAoZGF5OiBEYXRlKSA9PiB7XG4gICAgaWYgKGlzRGF5RGlzYWJsZWQoZGF5KSkgcmV0dXJuXG5cbiAgICBpZiAocHJvcHMuZW5kRGF0ZURpc2FibGVkKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShkYXkpXG4gICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UodG9JU09TdHIoZGF5KSwgbnVsbClcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShudWxsKVxuICAgICAgc2V0Rm9jdXNlZElucHV0KCdlbmREYXRlJylcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihkYXkpLCBudWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFbmREYXRlKGRheSlcbiAgICAgIHNldEZvY3VzZWRJbnB1dCgnc3RhcnREYXRlJylcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihkYXkpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlzU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSB8fCBkYXRlU3RyID09PSB0b0lTT1N0cihlbmREYXRlKVxuICAgIH0sXG4gICAgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV1cbiAgKVxuXG4gIGNvbnN0IGlzUmFuZ2VNaWRkbGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHJldHVybiBmYWxzZVxuICAgICAgcmV0dXJuIGRhdGUgPiBzdGFydERhdGUgJiYgZGF0ZSA8IGVuZERhdGVcbiAgICB9LFxuICAgIFtzdGFydERhdGUsIGVuZERhdGVdXG4gIClcblxuICAvLyBDdXN0b20gRGF5Q29udGVudCB0aGF0IHNldHMgYXJpYS1sYWJlbCB0byB0aGUgSVNPIGRhdGUgKGZvciB0ZXN0YWJpbGl0eSAmIGExMXkpXG4gIGNvbnN0IERheUNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gRGF5Q29udGVudENvbXBvbmVudCh7IGRhdGUgfTogRGF5Q29udGVudFByb3BzKSB7XG4gICAgICByZXR1cm4gPD57ZGF0ZS5nZXREYXRlKCl9PC8+XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBmb3JtYXR0ZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZm9ybWF0V2Vla2RheU5hbWU6IChkYXRlOiBEYXRlKSA9PiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhwcm9wcy5sb2NhbGUgfHwgJ2VuJywgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pLFxuICAgICAgZm9ybWF0Q2FwdGlvbjogKGRhdGU6IERhdGUpID0+IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHByb3BzLmxvY2FsZSB8fCAnZW4nLCB7IG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgIGZvcm1hdERheTogKGRhdGU6IERhdGUpID0+IFN0cmluZyhkYXRlLmdldERhdGUoKSksXG4gICAgfSksXG4gICAgW3Byb3BzLmxvY2FsZV1cbiAgKVxuXG4gIGNvbnN0IGRheVNpemVDc3MgPSBjc3NgXG4gICAgLS1yZHAtY2VsbC1zaXplOiAke3NpemV9cHg7XG4gIGBcblxuICByZXR1cm4gKFxuICAgIDxMb2NrQm9keVNjcm9sbCBlbmFibGVkPXttb2JpbGVTdGF0ZSAmJiBzaG93Q2FsZW5kYXJ9PlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17J291dGVyICcgKyAocHJvcHMuY2xhc3NOYW1lIHx8ICcnKX1cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgJHtkYXRlUmFuZ2VQaWNrZXJEZmRzU3R5bGVzfTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyJywgeyAnZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlJzogc2hvd0NhbGVuZGFyIH0pfT5cbiAgICAgICAgICB7bW9iaWxlU3RhdGUgJiYgc2hvd0NhbGVuZGFyICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyX190aXRsZVwiPntwcm9wcy5sYWJlbHMuaGVhZGVyfTwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlcldyYXBwZXJfX2Nsb3NlXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0NhbGVuZGFyKGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgPENsb3NlIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX291dDogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fbm9uZm9jdXM6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19oaWRlSWNvbjogcHJvcHMuaGlkZUljb24sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5zdGFydH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhck91dGJvdW5kIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2ljb25cIiAvPn1cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtzdGFydERhdGUgPyBmb3JtYXREaXNwbGF5RGF0ZShzdGFydERhdGUsIHByb3BzLmxvY2FsZSkgOiAnJ31cbiAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fb25lV2F5OiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Rpc2FibGVkOiBwcm9wcy5lbmREYXRlRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2RhdGVJbnB1dHNfX2Rpc2FibGVkLS1hY3RpdmUnOiBzaG93Q2FsZW5kYXIgJiYgcHJvcHMuZW5kRGF0ZURpc2FibGVkLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Vycm9yQm9yZGVyOiAhcHJvcHMudmFsaWQgJiYgIXNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19ub25mb2N1czogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIgJiYgIXByb3BzLmVuZERhdGVEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19mb2N1c19yZXQ6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBlbmREYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2hpZGVJY29uOiBwcm9wcy5oaWRlSWNvbixcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2VuZENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5lbmR9PC9sYWJlbD5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlSWNvbiAmJiA8Q2FsZW5kYXJSZXR1cm4gY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faWNvblwiIC8+fVxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYXRlSW5wdXRzX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbmREYXRlID8gZm9ybWF0RGlzcGxheURhdGUoZW5kRGF0ZSwgcHJvcHMubG9jYWxlKSA6ICcnfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmVuZERhdGVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzaG93Q2FsZW5kYXIgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERheVBpY2tlclxuICAgICAgICAgICAgICAgIGNzcz17ZGF5U2l6ZUNzc31cbiAgICAgICAgICAgICAgICBudW1iZXJPZk1vbnRocz17bnVtYmVyT2ZNb250aHN9XG4gICAgICAgICAgICAgICAgbW9udGg9e2Rpc3BsYXlNb250aH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0TW9udGg9e2RlZmF1bHRNb250aH1cbiAgICAgICAgICAgICAgICBvbk1vbnRoQ2hhbmdlPXtoYW5kbGVNb250aENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkRheUNsaWNrPXtoYW5kbGVEYXlDbGlja31cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXlEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICBJY29uTGVmdDogKCkgPT4gPExlZnRMaW5rIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBNb250aFwiIC8+LFxuICAgICAgICAgICAgICAgICAgSWNvblJpZ2h0OiAoKSA9PiA8UmlnaHRMaW5rIGFyaWEtbGFiZWw9XCJOZXh0IE1vbnRoXCIgLz4sXG4gICAgICAgICAgICAgICAgICBEYXlDb250ZW50LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVycz17Zm9ybWF0dGVyc31cbiAgICAgICAgICAgICAgICBtb2RpZmllcnM9e3tcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgcmFuZ2Vfc3RhcnQ6IChkOiBEYXRlKSA9PiB0b0lTT1N0cihkKSA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX2VuZDogKGQ6IERhdGUpID0+ICFwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgdG9JU09TdHIoZCkgPT09IHRvSVNPU3RyKGVuZERhdGUpLFxuICAgICAgICAgICAgICAgICAgcmFuZ2VfbWlkZGxlOiBpc1JhbmdlTWlkZGxlLFxuICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWQ6IGlzT2ZmZXJEYXksXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBtb2RpZmllcnNDbGFzc05hbWVzPXt7XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9zdGFydDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zdGFydCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9lbmQ6ICdDYWxlbmRhckRheV9fc2VsZWN0ZWRfZW5kJyxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX21pZGRsZTogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuJyxcbiAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiAnQ2FsZW5kYXJEYXlfX2hpZ2hsaWdodGVkX2NhbGVuZGFyJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHBhZ2VkTmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIHdlZWtTdGFydHNPbj17Z2V0V2Vla1N0YXJ0KHByb3BzLmxvY2FsZSB8fCAnZW4nKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge3JlbmRlckNhbGVuZGFySW5mbygpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L0xvY2tCb2R5U2Nyb2xsPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGVSYW5nZVBpY2tlclxuIl19 */");
261
- return _jsx(LockBodyScroll, {
262
- enabled: mobileState && showCalendar,
263
- children: _jsx("div", {
264
- ref: wrapperRef,
265
- className: 'outer ' + (props.className || ''),
266
- css: /*#__PURE__*/css(dateRangePickerDfdsStyles, ";position:relative;" + (process.env.NODE_ENV === "production" ? "" : ";label:DateRangePicker;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZSZ0IiLCJmaWxlIjoiLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXlQaWNrZXIgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IHR5cGUgeyBEYXlDb250ZW50UHJvcHMgfSBmcm9tICdyZWFjdC1kYXktcGlja2VyJ1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcydcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENsb3NlLCBSaWdodExpbmssIExlZnRMaW5rLCBDYWxlbmRhck91dGJvdW5kLCBDYWxlbmRhclJldHVybiB9IGZyb20gJ0BkZmRzLXVpL2ljb25zJ1xuaW1wb3J0IHVzZU1lZGlhIGZyb20gJy4uL2NvbW1vbi91c2UtbWVkaWEnXG5pbXBvcnQgeyBtaW5pTW9pemUgfSBmcm9tICcuLi9jb21tb24vbWluaU1vaXplJ1xuaW1wb3J0IHsgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyB9IGZyb20gJy4vRGF0ZVJhbmdlUGlja2VyLnN0eWxlcydcbmltcG9ydCBMb2NrQm9keVNjcm9sbCBmcm9tICcuLi9jb21tb24vTG9ja0JvZHlTY3JvbGwnXG5cbmltcG9ydCAncmVhY3QtZGF5LXBpY2tlci9kaXN0L3N0eWxlLmNzcydcblxudHlwZSBGb2N1c2VkSW5wdXQgPSAnc3RhcnREYXRlJyB8ICdlbmREYXRlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlUmFuZ2VQaWNrZXJQcm9wcyB7XG4gIGVuZERhdGVEaXNhYmxlZD86IGJvb2xlYW5cbiAgdmFsaWQ6IGJvb2xlYW5cbiAgb25EYXRlQ2hhbmdlOiAoZDogc3RyaW5nIHwgbnVsbCwgcjogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZFxuICBmb3JtYXQ/OiBzdHJpbmdcbiAgaW5mb0xhYmVsPzogc3RyaW5nXG4gIHN0YXJ0RGF0ZXM6IElEYXRlTGVnXG4gIGVuZERhdGVzOiBJRGF0ZUxlZ1xuICBsYWJlbHM6IElEYXRlUmFuZ2VQaWNrZXJMYWJlbHNcbiAgb25OZXh0TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgb25QcmV2TW9udGhDbGljaz86ICgpID0+IHZvaWRcbiAgbnVtYmVyT2ZNb2JpbGVNb250aHM/OiBudW1iZXJcbiAgaGlkZUljb24/OiBib29sZWFuXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBsb2NhbGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZUxlZyB7XG4gIGluaXRpYWw6IHN0cmluZyB8IG51bGxcbiAgbWF4RGF0ZTogc3RyaW5nXG4gIG1pbkRhdGU6IHN0cmluZ1xuICBkaXNhYmxlZERhdGVzPzogc3RyaW5nW11cbiAgb2ZmZXJEYXRlcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGVSYW5nZVBpY2tlckxhYmVscyB7XG4gIHN0YXJ0OiBzdHJpbmdcbiAgZW5kOiBzdHJpbmdcbiAgaGVhZGVyOiBzdHJpbmdcbiAgaW5mbz86IHN0cmluZ1xufVxuXG4vLyAtLS0gRGF0ZSBoZWxwZXJzIChyZXBsYWNlIG1vbWVudCkgLS0tXG5cbmZ1bmN0aW9uIHRvSVNPU3RyKGQ6IERhdGUgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghZCkgcmV0dXJuIG51bGxcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKVxuICBjb25zdCBtID0gU3RyaW5nKGQuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGQuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIHJldHVybiBgJHt5fS0ke219LSR7ZGF5fWBcbn1cblxuZnVuY3Rpb24gdG9EYXRlKHM6IHN0cmluZyB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gIGlmICghcykgcmV0dXJuIG51bGxcbiAgY29uc3QgW3ksIG0sIGRdID0gcy5zcGxpdCgnLScpLm1hcChOdW1iZXIpXG4gIHJldHVybiBuZXcgRGF0ZSh5LCBtIC0gMSwgZClcbn1cblxuZnVuY3Rpb24gZm9ybWF0RGlzcGxheURhdGUoZGF0ZTogRGF0ZSwgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgd2Vla2RheSA9IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKGxvY2FsZSB8fCAnZW4nLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSlcbiAgY29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXG4gIGNvbnN0IG1vbnRoID0gU3RyaW5nKGRhdGUuZ2V0TW9udGgoKSArIDEpLnBhZFN0YXJ0KDIsICcwJylcbiAgcmV0dXJuIGAke3dlZWtkYXl9ICR7ZGF5fS8ke21vbnRofWBcbn1cblxuZnVuY3Rpb24gZ2V0V2Vla1N0YXJ0KGxvY2FsZTogc3RyaW5nKTogMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB7XG4gIGNvbnN0IHN1bmRheUxvY2FsZXMgPSBbJ2VuJywgJ2VuLVVTJywgJ2phJywgJ2tvJywgJ3poJ11cbiAgY29uc3QgbGFuZyA9IGxvY2FsZS5zcGxpdCgnLScpWzBdXG4gIHJldHVybiBzdW5kYXlMb2NhbGVzLmluY2x1ZGVzKGxvY2FsZSkgfHwgc3VuZGF5TG9jYWxlcy5pbmNsdWRlcyhsYW5nKSA/IDAgOiAxXG59XG5cbmZ1bmN0aW9uIGJ1aWxkTWFwKGRhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICBjb25zdCBtYXA6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fVxuICBpZiAoIWRhdGVzKSByZXR1cm4gbWFwXG4gIGZvciAoY29uc3QgZCBvZiBkYXRlcykge1xuICAgIG1hcFtkXSA9IDFcbiAgfVxuICByZXR1cm4gbWFwXG59XG5cbi8vIC0tLSBDb21wb25lbnQgLS0tXG5cbmNvbnN0IERhdGVSYW5nZVBpY2tlciA9IChwcm9wczogSURhdGVSYW5nZVBpY2tlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtzdGFydERhdGUsIHNldFN0YXJ0RGF0ZV0gPSB1c2VTdGF0ZSh0b0RhdGUocHJvcHMuc3RhcnREYXRlcy5pbml0aWFsKSlcbiAgY29uc3QgW2VuZERhdGUsIHNldEVuZERhdGVdID0gdXNlU3RhdGUodG9EYXRlKHByb3BzLmVuZERhdGVzLmluaXRpYWwpKVxuICBjb25zdCBbc2hvd0NhbGVuZGFyLCBzZXRTaG93Q2FsZW5kYXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb2N1c2VkSW5wdXQsIHNldEZvY3VzZWRJbnB1dF0gPSB1c2VTdGF0ZTxGb2N1c2VkSW5wdXQ+KCdzdGFydERhdGUnKVxuICBjb25zdCBbZGlzcGxheU1vbnRoLCBzZXREaXNwbGF5TW9udGhdID0gdXNlU3RhdGU8RGF0ZT4odG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkgfHwgbmV3IERhdGUoKSlcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICBjb25zdCB7IG51bWJlck9mTW9udGhzLCBtb2JpbGVTdGF0ZSwgc2l6ZSB9ID0gdXNlTWVkaWEoXG4gICAgWycobWF4LXdpZHRoOiA2NGVtKScsICcobWluLXdpZHRoOiA3OC4wNjNlbSknXSxcbiAgICBbXG4gICAgICB7IG51bWJlck9mTW9udGhzOiAxLCBtb2JpbGVTdGF0ZTogdHJ1ZSwgc2l6ZTogNDAgfSxcbiAgICAgIHsgbnVtYmVyT2ZNb250aHM6IDIsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfSxcbiAgICBdLFxuICAgIHsgbnVtYmVyT2ZNb250aHM6IDEsIG1vYmlsZVN0YXRlOiBmYWxzZSwgc2l6ZTogNDggfVxuICApXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRTdGFydERhdGUodG9EYXRlKHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gICAgc2V0RW5kRGF0ZSh0b0RhdGUocHJvcHMuZW5kRGF0ZXMuaW5pdGlhbCkpXG4gIH0sIFtwcm9wcy5zdGFydERhdGVzLmluaXRpYWwsIHByb3BzLmVuZERhdGVzLmluaXRpYWxdKVxuXG4gIC8vIEhhbmRsZSBjbGlja3Mgb3V0c2lkZSB0aGUgY2FsZW5kYXIgdG8gY2xvc2UgaXRcbiAgY29uc3Qgb25EYXRlQ2hhbmdlUmVmID0gdXNlUmVmKHByb3BzLm9uRGF0ZUNoYW5nZSlcbiAgb25EYXRlQ2hhbmdlUmVmLmN1cnJlbnQgPSBwcm9wcy5vbkRhdGVDaGFuZ2VcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghc2hvd0NhbGVuZGFyKSByZXR1cm5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICAgICAgICBvbkRhdGVDaGFuZ2VSZWYuY3VycmVudCh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihlbmREYXRlKSlcbiAgICAgIH1cbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gIH0sIFtzaG93Q2FsZW5kYXIsIHN0YXJ0RGF0ZSwgZW5kRGF0ZV0pXG5cbiAgY29uc3Qgc3RhcnRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ3N0YXJ0RGF0ZScpXG4gIH1cblxuICBjb25zdCBlbmRDYWxlbmRhckNsaWNrZWQgPSAoKSA9PiB7XG4gICAgc2V0U2hvd0NhbGVuZGFyKChwcmV2KSA9PiAhcHJldilcbiAgICBzZXRGb2N1c2VkSW5wdXQoJ2VuZERhdGUnKVxuICB9XG5cbiAgY29uc3QgcmVuZGVyQ2FsZW5kYXJJbmZvID0gKCkgPT5cbiAgICBwcm9wcy5pbmZvTGFiZWwgPyAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9cIj5cbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kXCIgLz5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiZGF0ZVJhbmdlUGlja2VySW5mb19faW5mb1wiPntwcm9wcy5pbmZvTGFiZWx9PC9wPlxuICAgICAgPC9kaXY+XG4gICAgKSA6IG51bGxcblxuICAvLyBNZW1vaXplZCBkaXNhYmxlZCBkYXRlcyBtYXBcbiAgY29uc3QgZGlzYWJsZWREYXRlc01hcCA9IG1pbmlNb2l6ZShcbiAgICAoXG4gICAgICBmb2N1c2VkSW5wdXQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0OiBzdHJpbmcgfCBudWxsLFxuICAgICAgc3RhcnREaXNhYmxlZERhdGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbiAgICAgIGVuZERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICAgKSA9PlxuICAgICAgYnVpbGRNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnXG4gICAgICAgICAgPyBzdGFydERpc2FibGVkRGF0ZXNcbiAgICAgICAgICA6IChzdGFydERpc2FibGVkRGF0ZXMgfHwgW10pLmZpbHRlcigoZCkgPT4gZCA8IChzdGFydCB8fCAnJykpLmNvbmNhdChlbmREaXNhYmxlZERhdGVzIHx8IFtdKVxuICAgICAgKVxuICApXG5cbiAgY29uc3QgaXNEYXlEaXNhYmxlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBzdGFydERhdGVTdHIgPSB0b0lTT1N0cihzdGFydERhdGUpXG4gICAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRGF0ZXNNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCxcbiAgICAgICAgc3RhcnREYXRlU3RyLFxuICAgICAgICBwcm9wcy5zdGFydERhdGVzLmRpc2FibGVkRGF0ZXMsXG4gICAgICAgIHByb3BzLmVuZERhdGVzLmRpc2FibGVkRGF0ZXNcbiAgICAgIClcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSB0b0lTT1N0cihkYXRlKVxuICAgICAgaWYgKCFkYXRlU3RyKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgZCA9IGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnID8gcHJvcHMuc3RhcnREYXRlcyA6IHByb3BzLmVuZERhdGVzXG4gICAgICBjb25zdCBtaW4gPSBwcm9wcy5zdGFydERhdGVzLm1pbkRhdGVcbiAgICAgIGlmIChkaXNhYmxlZFtkYXRlU3RyXSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChtaW4gJiYgZGF0ZVN0ciA8IG1pbikgcmV0dXJuIHRydWVcbiAgICAgIGlmIChkLm1heERhdGUgJiYgZGF0ZVN0ciA+IGQubWF4RGF0ZSkgcmV0dXJuIHRydWVcbiAgICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdlbmREYXRlJyAmJiBzdGFydERhdGVTdHIgJiYgc3RhcnREYXRlU3RyIDwgZGF0ZVN0ciAmJiBkYXRlU3RyIDwgcHJvcHMuZW5kRGF0ZXMubWluRGF0ZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSxcbiAgICBbZm9jdXNlZElucHV0LCBzdGFydERhdGUsIHByb3BzLnN0YXJ0RGF0ZXMsIHByb3BzLmVuZERhdGVzLCBkaXNhYmxlZERhdGVzTWFwXVxuICApXG5cbiAgLy8gTWVtb2l6ZWQgb2ZmZXIgZGF0ZXMgbWFwXG4gIGNvbnN0IG9mZmVyRGF0ZXNNYXAgPSBtaW5pTW9pemUoXG4gICAgKGZvY3VzZWRJbnB1dDogc3RyaW5nLCBzdGFydE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQsIGVuZE9mZmVyczogc3RyaW5nW10gfCB1bmRlZmluZWQpID0+XG4gICAgICBidWlsZE1hcChmb2N1c2VkSW5wdXQgIT09ICdlbmREYXRlJyA/IHN0YXJ0T2ZmZXJzIDogZW5kT2ZmZXJzKVxuICApXG5cbiAgY29uc3QgaXNPZmZlckRheSA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICBjb25zdCBtYXAgPSBvZmZlckRhdGVzTWFwKGZvY3VzZWRJbnB1dCwgcHJvcHMuc3RhcnREYXRlcy5vZmZlckRhdGVzLCBwcm9wcy5lbmREYXRlcy5vZmZlckRhdGVzKVxuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA/ICEhbWFwW2RhdGVTdHJdIDogZmFsc2VcbiAgICB9LFxuICAgIFtmb2N1c2VkSW5wdXQsIHByb3BzLnN0YXJ0RGF0ZXMub2ZmZXJEYXRlcywgcHJvcHMuZW5kRGF0ZXMub2ZmZXJEYXRlcywgb2ZmZXJEYXRlc01hcF1cbiAgKVxuXG4gIGNvbnN0IGRlZmF1bHRNb250aCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChtb2JpbGVTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRvRGF0ZShwcm9wcy5zdGFydERhdGVzLm1pbkRhdGUpIHx8IG5ldyBEYXRlKClcbiAgICB9XG4gICAgcmV0dXJuIHN0YXJ0RGF0ZSB8fCBuZXcgRGF0ZSgpXG4gICAgLy8gT25seSBjb21wdXRlIG9uIG1vdW50IC8gd2hlbiBtb2JpbGUgc3RhdGUgY2hhbmdlc1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAZXNsaW50LXJlYWN0L2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbbW9iaWxlU3RhdGVdKVxuXG4gIGNvbnN0IGhhbmRsZU1vbnRoQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vbnRoOiBEYXRlKSA9PiB7XG4gICAgICBpZiAobW9udGggPiBkaXNwbGF5TW9udGgpIHtcbiAgICAgICAgcHJvcHMub25OZXh0TW9udGhDbGljaz8uKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BzLm9uUHJldk1vbnRoQ2xpY2s/LigpXG4gICAgICB9XG4gICAgICBzZXREaXNwbGF5TW9udGgobW9udGgpXG4gICAgfSxcbiAgICBbZGlzcGxheU1vbnRoLCBwcm9wcy5vbk5leHRNb250aENsaWNrLCBwcm9wcy5vblByZXZNb250aENsaWNrXVxuICApXG5cbiAgY29uc3QgaGFuZGxlRGF5Q2xpY2sgPSAoZGF5OiBEYXRlKSA9PiB7XG4gICAgaWYgKGlzRGF5RGlzYWJsZWQoZGF5KSkgcmV0dXJuXG5cbiAgICBpZiAocHJvcHMuZW5kRGF0ZURpc2FibGVkKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShkYXkpXG4gICAgICBwcm9wcy5vbkRhdGVDaGFuZ2UodG9JU09TdHIoZGF5KSwgbnVsbClcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdzdGFydERhdGUnKSB7XG4gICAgICBzZXRTdGFydERhdGUoZGF5KVxuICAgICAgc2V0RW5kRGF0ZShudWxsKVxuICAgICAgc2V0Rm9jdXNlZElucHV0KCdlbmREYXRlJylcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihkYXkpLCBudWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRFbmREYXRlKGRheSlcbiAgICAgIHNldEZvY3VzZWRJbnB1dCgnc3RhcnREYXRlJylcbiAgICAgIHNldFNob3dDYWxlbmRhcihmYWxzZSlcbiAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZSh0b0lTT1N0cihzdGFydERhdGUpLCB0b0lTT1N0cihkYXkpKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGlzU2VsZWN0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgY29uc3QgZGF0ZVN0ciA9IHRvSVNPU3RyKGRhdGUpXG4gICAgICByZXR1cm4gZGF0ZVN0ciA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSB8fCBkYXRlU3RyID09PSB0b0lTT1N0cihlbmREYXRlKVxuICAgIH0sXG4gICAgW3N0YXJ0RGF0ZSwgZW5kRGF0ZV1cbiAgKVxuXG4gIGNvbnN0IGlzUmFuZ2VNaWRkbGUgPSB1c2VDYWxsYmFjayhcbiAgICAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpIHJldHVybiBmYWxzZVxuICAgICAgcmV0dXJuIGRhdGUgPiBzdGFydERhdGUgJiYgZGF0ZSA8IGVuZERhdGVcbiAgICB9LFxuICAgIFtzdGFydERhdGUsIGVuZERhdGVdXG4gIClcblxuICAvLyBDdXN0b20gRGF5Q29udGVudCB0aGF0IHNldHMgYXJpYS1sYWJlbCB0byB0aGUgSVNPIGRhdGUgKGZvciB0ZXN0YWJpbGl0eSAmIGExMXkpXG4gIGNvbnN0IERheUNvbnRlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gRGF5Q29udGVudENvbXBvbmVudCh7IGRhdGUgfTogRGF5Q29udGVudFByb3BzKSB7XG4gICAgICByZXR1cm4gPD57ZGF0ZS5nZXREYXRlKCl9PC8+XG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBmb3JtYXR0ZXJzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZm9ybWF0V2Vla2RheU5hbWU6IChkYXRlOiBEYXRlKSA9PiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhwcm9wcy5sb2NhbGUgfHwgJ2VuJywgeyB3ZWVrZGF5OiAnc2hvcnQnIH0pLFxuICAgICAgZm9ybWF0Q2FwdGlvbjogKGRhdGU6IERhdGUpID0+IGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHByb3BzLmxvY2FsZSB8fCAnZW4nLCB7IG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgIGZvcm1hdERheTogKGRhdGU6IERhdGUpID0+IFN0cmluZyhkYXRlLmdldERhdGUoKSksXG4gICAgfSksXG4gICAgW3Byb3BzLmxvY2FsZV1cbiAgKVxuXG4gIGNvbnN0IGRheVNpemVDc3MgPSBjc3NgXG4gICAgLS1yZHAtY2VsbC1zaXplOiAke3NpemV9cHg7XG4gIGBcblxuICByZXR1cm4gKFxuICAgIDxMb2NrQm9keVNjcm9sbCBlbmFibGVkPXttb2JpbGVTdGF0ZSAmJiBzaG93Q2FsZW5kYXJ9PlxuICAgICAgPGRpdlxuICAgICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17J291dGVyICcgKyAocHJvcHMuY2xhc3NOYW1lIHx8ICcnKX1cbiAgICAgICAgY3NzPXtjc3NgXG4gICAgICAgICAgJHtkYXRlUmFuZ2VQaWNrZXJEZmRzU3R5bGVzfTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyJywgeyAnZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlJzogc2hvd0NhbGVuZGFyIH0pfT5cbiAgICAgICAgICB7bW9iaWxlU3RhdGUgJiYgc2hvd0NhbGVuZGFyICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyX190aXRsZVwiPntwcm9wcy5sYWJlbHMuaGVhZGVyfTwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlcldyYXBwZXJfX2Nsb3NlXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0NhbGVuZGFyKGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgPENsb3NlIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX291dDogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fbm9uZm9jdXM6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19oaWRlSWNvbjogcHJvcHMuaGlkZUljb24sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5zdGFydH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhck91dGJvdW5kIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2ljb25cIiAvPn1cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtzdGFydERhdGUgPyBmb3JtYXREaXNwbGF5RGF0ZShzdGFydERhdGUsIHByb3BzLmxvY2FsZSkgOiAnJ31cbiAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fb25lV2F5OiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Rpc2FibGVkOiBwcm9wcy5lbmREYXRlRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgJ2RhdGVJbnB1dHNfX2Rpc2FibGVkLS1hY3RpdmUnOiBzaG93Q2FsZW5kYXIgJiYgcHJvcHMuZW5kRGF0ZURpc2FibGVkLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2Vycm9yQm9yZGVyOiAhcHJvcHMudmFsaWQgJiYgIXNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19ub25mb2N1czogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIgJiYgIXByb3BzLmVuZERhdGVEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19mb2N1c19yZXQ6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBlbmREYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2hpZGVJY29uOiBwcm9wcy5oaWRlSWNvbixcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2VuZENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5lbmR9PC9sYWJlbD5cbiAgICAgICAgICAgICAgeyFwcm9wcy5oaWRlSWNvbiAmJiA8Q2FsZW5kYXJSZXR1cm4gY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faWNvblwiIC8+fVxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkYXRlSW5wdXRzX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIG5hbWU9XCJ0b0RhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtlbmREYXRlID8gZm9ybWF0RGlzcGxheURhdGUoZW5kRGF0ZSwgcHJvcHMubG9jYWxlKSA6ICcnfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3Byb3BzLmVuZERhdGVEaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtzaG93Q2FsZW5kYXIgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPERheVBpY2tlclxuICAgICAgICAgICAgICAgIGNzcz17ZGF5U2l6ZUNzc31cbiAgICAgICAgICAgICAgICBudW1iZXJPZk1vbnRocz17bnVtYmVyT2ZNb250aHN9XG4gICAgICAgICAgICAgICAgbW9udGg9e2Rpc3BsYXlNb250aH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0TW9udGg9e2RlZmF1bHRNb250aH1cbiAgICAgICAgICAgICAgICBvbk1vbnRoQ2hhbmdlPXtoYW5kbGVNb250aENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkRheUNsaWNrPXtoYW5kbGVEYXlDbGlja31cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEYXlEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICBJY29uTGVmdDogKCkgPT4gPExlZnRMaW5rIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBNb250aFwiIC8+LFxuICAgICAgICAgICAgICAgICAgSWNvblJpZ2h0OiAoKSA9PiA8UmlnaHRMaW5rIGFyaWEtbGFiZWw9XCJOZXh0IE1vbnRoXCIgLz4sXG4gICAgICAgICAgICAgICAgICBEYXlDb250ZW50LFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZm9ybWF0dGVycz17Zm9ybWF0dGVyc31cbiAgICAgICAgICAgICAgICBtb2RpZmllcnM9e3tcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgcmFuZ2Vfc3RhcnQ6IChkOiBEYXRlKSA9PiB0b0lTT1N0cihkKSA9PT0gdG9JU09TdHIoc3RhcnREYXRlKSxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX2VuZDogKGQ6IERhdGUpID0+ICFwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgdG9JU09TdHIoZCkgPT09IHRvSVNPU3RyKGVuZERhdGUpLFxuICAgICAgICAgICAgICAgICAgcmFuZ2VfbWlkZGxlOiBpc1JhbmdlTWlkZGxlLFxuICAgICAgICAgICAgICAgICAgaGlnaGxpZ2h0ZWQ6IGlzT2ZmZXJEYXksXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBtb2RpZmllcnNDbGFzc05hbWVzPXt7XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9zdGFydDogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zdGFydCcsXG4gICAgICAgICAgICAgICAgICByYW5nZV9lbmQ6ICdDYWxlbmRhckRheV9fc2VsZWN0ZWRfZW5kJyxcbiAgICAgICAgICAgICAgICAgIHJhbmdlX21pZGRsZTogJ0NhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuJyxcbiAgICAgICAgICAgICAgICAgIGhpZ2hsaWdodGVkOiAnQ2FsZW5kYXJEYXlfX2hpZ2hsaWdodGVkX2NhbGVuZGFyJyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHBhZ2VkTmF2aWdhdGlvblxuICAgICAgICAgICAgICAgIHdlZWtTdGFydHNPbj17Z2V0V2Vla1N0YXJ0KHByb3BzLmxvY2FsZSB8fCAnZW4nKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAge3JlbmRlckNhbGVuZGFySW5mbygpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L0xvY2tCb2R5U2Nyb2xsPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IERhdGVSYW5nZVBpY2tlclxuIl19 */"),
267
- children: _jsxs("div", {
268
- className: classNames('dateRangePickerWrapper', {
269
- 'dateRangePickerWrapper--active': showCalendar
270
- }),
271
- children: [mobileState && showCalendar && _jsxs(_Fragment, {
272
- children: [_jsx("h2", {
273
- className: "dateRangePickerWrapper__title",
274
- children: props.labels.header
275
- }), _jsx("span", {
276
- className: "dateRangePickerWrapper__close",
277
- onClick: function onClick() {
278
- return setShowCalendar(false);
279
- },
280
- children: _jsx(Close, {})
281
- })]
282
- }), _jsx("div", {
283
- className: classNames({
284
- datepicker_container: true,
285
- datepicker_open: showCalendar
286
- }),
287
- children: _jsxs("div", {
288
- className: classNames({
289
- dateInputs: true,
290
- dateInputs__errorBorder: !props.valid && !showCalendar,
291
- dateInputs__focus_out: focusedInput === 'startDate' && showCalendar,
292
- dateInputs__nonfocus: focusedInput === 'endDate' && showCalendar,
293
- fromDate: true,
294
- dateInputs__hideIcon: props.hideIcon
295
- }),
296
- onClick: startCalendarClicked,
297
- children: [_jsx("label", {
298
- className: "dateInputs__label",
299
- children: props.labels.start
300
- }), !props.hideIcon && _jsx(CalendarOutbound, {
301
- className: "dateInputs__icon"
302
- }), _jsx("input", {
303
- className: "dateInputs__input",
304
- type: "text",
305
- name: "fromDate",
306
- value: startDate ? formatDisplayDate(startDate, props.locale) : '',
307
- readOnly: true
308
- })]
309
- })
310
- }), _jsx("div", {
311
- className: classNames({
312
- datepicker_container: true,
313
- datepicker_open: showCalendar
314
- }),
315
- children: _jsxs("div", {
316
- className: classNames({
317
- dateInputs: true,
318
- dateInputs__oneWay: true,
319
- dateInputs__disabled: props.endDateDisabled,
320
- 'dateInputs__disabled--active': showCalendar && props.endDateDisabled,
321
- dateInputs__errorBorder: !props.valid && !showCalendar,
322
- dateInputs__nonfocus: focusedInput === 'startDate' && showCalendar && !props.endDateDisabled,
323
- dateInputs__focus_ret: focusedInput === 'endDate' && showCalendar,
324
- endDate: true,
325
- dateInputs__hideIcon: props.hideIcon
326
- }),
327
- onClick: endCalendarClicked,
328
- children: [_jsx("label", {
329
- className: "dateInputs__label",
330
- children: props.labels.end
331
- }), !props.hideIcon && _jsx(CalendarReturn, {
332
- className: "dateInputs__icon"
333
- }), _jsx("input", {
334
- className: "dateInputs__input",
335
- type: "text",
336
- name: "toDate",
337
- value: endDate ? formatDisplayDate(endDate, props.locale) : '',
338
- readOnly: true,
339
- disabled: props.endDateDisabled
340
- })]
341
- })
342
- }), showCalendar && _jsxs(_Fragment, {
343
- children: [_jsx(DayPicker, {
344
- css: daySizeCss,
345
- numberOfMonths: numberOfMonths,
346
- month: displayMonth,
347
- defaultMonth: defaultMonth,
348
- onMonthChange: handleMonthChange,
349
- onDayClick: handleDayClick,
350
- disabled: isDayDisabled,
351
- components: {
352
- IconLeft: function IconLeft() {
353
- return _jsx(LeftLink, {
354
- "aria-label": "Previous Month"
355
- });
356
- },
357
- IconRight: function IconRight() {
358
- return _jsx(RightLink, {
359
- "aria-label": "Next Month"
360
- });
361
- },
362
- DayContent: DayContent
363
- },
364
- formatters: formatters,
365
- modifiers: {
366
- selected: isSelected,
367
- range_start: function range_start(d) {
368
- return toISOStr(d) === toISOStr(startDate);
369
- },
370
- range_end: function range_end(d) {
371
- return !props.endDateDisabled && toISOStr(d) === toISOStr(endDate);
372
- },
373
- range_middle: isRangeMiddle,
374
- highlighted: isOfferDay
375
- },
376
- modifiersClassNames: {
377
- selected: 'CalendarDay__selected',
378
- range_start: 'CalendarDay__selected_start',
379
- range_end: 'CalendarDay__selected_end',
380
- range_middle: 'CalendarDay__selected_span',
381
- highlighted: 'CalendarDay__highlighted_calendar'
382
- },
383
- pagedNavigation: true,
384
- weekStartsOn: getWeekStart(props.locale || 'en')
385
- }), renderCalendarInfo()]
386
- })]
387
- })
388
- })
389
- });
390
- };
391
- export default DateRangePicker;
@@ -1,6 +0,0 @@
1
- /**
2
- * DFDS-themed styles for DateRangePicker.
3
- * Base rdp styles come from 'react-day-picker/dist/style.css' imported in the component.
4
- * This file contains only the DFDS overrides, info panel, input/wrapper/mobile overlay CSS.
5
- */
6
- export declare const dateRangePickerDfdsStyles: import("@emotion/utils").SerializedStyles;
@@ -1,9 +0,0 @@
1
- import { css } from '@emotion/react';
2
- import { theme } from '@dfds-ui/theme';
3
-
4
- /**
5
- * DFDS-themed styles for DateRangePicker.
6
- * Base rdp styles come from 'react-day-picker/dist/style.css' imported in the component.
7
- * This file contains only the DFDS overrides, info panel, input/wrapper/mobile overlay CSS.
8
- */
9
- export var dateRangePickerDfdsStyles = /*#__PURE__*/css("svg{color:", theme.colors.secondary.main, ";fill:", theme.colors.secondary.main, ";}.rdp{z-index:2;border:1px solid rgb(187, 221, 243);margin:0;margin-top:-1px;background-color:", theme.colors.surface.primary, ";@media only screen and (min-width: 64.063em){position:absolute;right:0;}}.rdp-nav_button{border-radius:0;}.rdp-caption{padding:22px 13px 10px;}.rdp-caption_label{font-weight:300;}.rdp-head_cell{font-size:16px;font-weight:400;text-transform:lowercase;color:", theme.colors.text.dark.secondary, ";}.rdp-month{padding:0 20px 20px 20px;}.CalendarDay__highlighted_calendar{background:", theme.colors.surface.primary, ";&::after{content:'';width:55%;height:7px;background:", theme.colors.status.success, ";display:block;margin:0px auto 0 auto;border-radius:2px;}@media only screen and (min-width: 64em){&::after{margin-top:6px;}}}.CalendarDay__selected_span{background:", theme.colors.surface.secondary, ";}.CalendarDay__selected,.CalendarDay__selected_start,.CalendarDay__selected_end{border:1px solid ", theme.colors.primary.main, ";border-left:1px solid ", theme.colors.primary.main, "!important;background:none;&:hover{border:1px solid ", theme.colors.primary.main, ";background:", theme.colors.surface.primary, ";}}.rdp-day{border-radius:0;flex-direction:column;}.rdp-day_disabled{background:", theme.colors.surface.primary, ";color:", theme.colors.text.dark.disabled, ";&:hover{color:", theme.colors.text.dark.disabled, ";background:", theme.colors.surface.primary, ";}}.datepicker_open{z-index:4;}.datepicker_container{display:inline-block;width:50%;position:relative;background-color:white;.dateInputs{padding:7px 0 6px 50px;border-radius:0px;border:1px solid ", theme.colors.text.dark.secondary, ";cursor:pointer;position:relative;user-select:none;&__hideIcon{padding:7px 10px 6px 10px;}&__focus_out,&__errorBorder.dateInputs__focus_out,&__focus_ret,&__errorBorder.dateInputs__focus_ret{border:1px solid ", theme.colors.secondary.light, ";border-bottom:1px solid ", theme.colors.surface.primary, ";background-color:", theme.colors.surface.primary, ";}&__nonfocus{background-color:", theme.colors.surface.secondary, ";}&__errorBorder.dateInputs__nonfocus{background-color:", theme.colors.surface.secondary, ";border-bottom:1px solid ", theme.colors.secondary.light, ";input{fill:", theme.colors.text.dark.disabled, ";}}&__errorBorder{border:1px solid ", theme.colors.status.alert, ";}&__label,&__input{cursor:pointer;font-weight:400;font-family:DFDS,Verdana,system-ui,Arial,'Helvetica Neue',Helvetica,sans-serif;}&__disabled{z-index:4;pointer-events:none;border:1px solid ", theme.colors.text.dark.disabled, ";color:", theme.colors.text.dark.disabled, ";&--active{border-bottom:1px solid ", theme.colors.secondary.light, ";background-color:", theme.colors.surface.secondary, ";}svg{fill:", theme.colors.text.dark.disabled, ";color:", theme.colors.text.dark.disabled, ";}}input[disabled]{color:", theme.colors.text.dark.disabled, ";}&__label{font-weight:400;font-size:12px;display:block;white-space:nowrap;margin:0;}&__oneWay{border-left-color:#fff;.dateInputs__cover{background:rgba(255, 255, 255, 0.2);z-index:1;}}&__icon{height:36px;left:7px;position:absolute;top:7px;width:36px;}&__input{background:none;border:none;display:block;font-size:14px;appearance:none;margin:0;padding:4px 0 0;pointer-events:none;width:100%;}&__cover{display:none;width:calc(100% + 2px);height:calc(100% + 1px);position:absolute;top:-1px;left:-1px;background:rgba(0, 0, 0, 0.2);z-index:5;}}.dateInputs__oneWay{border-left-color:#fff;}.dateInputs__nonfocus.fromDate{border-right:none;}.dateInputs__focus_ret{border-left:1px solid ", theme.colors.secondary.light, ";}.dateInputs__nonfocus.endDate{border-left:1px solid ", theme.colors.secondary.light, ";}}@media only screen and (max-width: 64em){.dateRangePickerWrapper{&--active{height:100%;width:100%;position:fixed;z-index:99;left:0;top:0;background-color:", theme.colors.surface.secondary, ";.dateInputs{&__disabled{border:none;}&__focus_ret{background:white;border:none;border-top:1px solid ", theme.colors.secondary.light, ";border-left:1px solid ", theme.colors.secondary.light, ";}&__focus_out{background:white;border:none;border-top:1px solid ", theme.colors.secondary.light, ";border-right:1px solid ", theme.colors.secondary.light, ";}&__nonfocus{border:none;input{background:", theme.colors.surface.secondary, "!important;}}}}&__close{display:block;height:24px;position:absolute;right:20px;top:25px;width:24px;}h2{color:", theme.colors.text.dark.primary, ";margin-block-start:0.83em;margin-block-end:0.83em;margin-inline-start:0px;margin-inline-end:0px;padding-left:20px;font-weight:700;font-size:28px;}}}.dateRangePickerInfo__legend{width:25px;height:7px;background:", theme.colors.status.success, ";border-radius:2px;margin-bottom:2px;}.dateRangePickerInfo__info,.dateRangePickerInfo__legend{display:inline-block;}" + (process.env.NODE_ENV === "production" ? "" : ";label:dateRangePickerDfdsStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIuc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVE0QyIsImZpbGUiOiIuLi8uLi9zcmMvZGF0ZS1yYW5nZS1waWNrZXIvRGF0ZVJhbmdlUGlja2VyLnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICdAZGZkcy11aS90aGVtZSdcblxuLyoqXG4gKiBERkRTLXRoZW1lZCBzdHlsZXMgZm9yIERhdGVSYW5nZVBpY2tlci5cbiAqIEJhc2UgcmRwIHN0eWxlcyBjb21lIGZyb20gJ3JlYWN0LWRheS1waWNrZXIvZGlzdC9zdHlsZS5jc3MnIGltcG9ydGVkIGluIHRoZSBjb21wb25lbnQuXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgb25seSB0aGUgREZEUyBvdmVycmlkZXMsIGluZm8gcGFuZWwsIGlucHV0L3dyYXBwZXIvbW9iaWxlIG92ZXJsYXkgQ1NTLlxuICovXG5leHBvcnQgY29uc3QgZGF0ZVJhbmdlUGlja2VyRGZkc1N0eWxlcyA9IGNzc2BcbiAgLyogLS0tIENhbGVuZGFyIHRoZW1pbmcgLS0tICovXG4gIHN2ZyB7XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5tYWlufTtcbiAgICBmaWxsOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gIH1cblxuICAucmRwIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxODcsIDIyMSwgMjQzKTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJkcC1uYXZfYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLnJkcC1jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAyMnB4IDEzcHggMTBweDtcbiAgfVxuXG4gIC5yZHAtY2FwdGlvbl9sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC5yZHAtaGVhZF9jZWxsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gIC5yZHAtbW9udGgge1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4IDIwcHg7XG4gIH1cblxuICAvKiAtLS0gRGF5IG1vZGlmaWVycyAoREZEUyB0aGVtZSkgLS0tICovXG4gIC5DYWxlbmRhckRheV9faGlnaGxpZ2h0ZWRfY2FsZW5kYXIge1xuICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgICBoZWlnaHQ6IDdweDtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN0YXR1cy5zdWNjZXNzfTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwcHggYXV0byAwIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLkNhbGVuZGFyRGF5X19zZWxlY3RlZF9zcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gIH1cblxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkLFxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkX3N0YXJ0LFxuICAuQ2FsZW5kYXJEYXlfX3NlbGVjdGVkX2VuZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufSAhaW1wb3J0YW50O1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5Lm1haW59O1xuICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAucmRwLWRheSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnJkcC1kYXlfZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICB9XG4gIH1cblxuICAvKiAtLS0gSW5wdXQgZmllbGRzICYgd3JhcHBlcnMgLS0tICovXG4gIC5kYXRlcGlja2VyX29wZW4ge1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cblxuICAuZGF0ZXBpY2tlcl9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgIC5kYXRlSW5wdXRzIHtcbiAgICAgIHBhZGRpbmc6IDdweCAwIDZweCA1MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLnNlY29uZGFyeX07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgJl9faGlkZUljb24ge1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweCA2cHggMTBweDtcbiAgICAgIH1cblxuICAgICAgJl9fZm9jdXNfb3V0LFxuICAgICAgJl9fZXJyb3JCb3JkZXIuZGF0ZUlucHV0c19fZm9jdXNfb3V0LFxuICAgICAgJl9fZm9jdXNfcmV0LFxuICAgICAgJl9fZXJyb3JCb3JkZXIuZGF0ZUlucHV0c19fZm9jdXNfcmV0IHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2UucHJpbWFyeX07XG4gICAgICB9XG5cbiAgICAgICZfX25vbmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgfVxuXG4gICAgICAmX19lcnJvckJvcmRlci5kYXRlSW5wdXRzX19ub25mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGZpbGw6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fZXJyb3JCb3JkZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zdGF0dXMuYWxlcnR9O1xuICAgICAgfVxuXG4gICAgICAmX19sYWJlbCxcbiAgICAgICZfX2lucHV0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LWZhbWlseTogREZEUywgVmVyZGFuYSwgc3lzdGVtLXVpLCBBcmlhbCwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuXG4gICAgICAmX19kaXNhYmxlZCB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIGZpbGw6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICB9XG5cbiAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmX19vbmVXYXkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcblxuICAgICAgICAuZGF0ZUlucHV0c19fY292ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2ljb24ge1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICB9XG5cbiAgICAgICZfX2lucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fY292ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlSW5wdXRzX19vbmVXYXkge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmRhdGVJbnB1dHNfX25vbmZvY3VzLmZyb21EYXRlIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG5cbiAgICAuZGF0ZUlucHV0c19fZm9jdXNfcmV0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICB9XG5cbiAgICAuZGF0ZUlucHV0c19fbm9uZm9jdXMuZW5kRGF0ZSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgfVxuICB9XG5cbiAgLyogLS0tIE1vYmlsZSBvdmVybGF5IC0tLSAqL1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAuZGF0ZVJhbmdlUGlja2VyV3JhcHBlciB7XG4gICAgICAmLS1hY3RpdmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcblxuICAgICAgICAuZGF0ZUlucHV0cyB7XG4gICAgICAgICAgJl9fZGlzYWJsZWQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2ZvY3VzX3JldCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2ZvY3VzX291dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19ub25mb2N1cyB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsucHJpbWFyeX07XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMC44M2VtO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwLjgzZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogLS0tIEluZm8gcGFuZWwgKERGRFMgdGhlbWUpIC0tLSAqL1xuICAuZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdGF0dXMuc3VjY2Vzc307XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuICAuZGF0ZVJhbmdlUGlja2VySW5mb19faW5mbyxcbiAgLmRhdGVSYW5nZVBpY2tlckluZm9fX2xlZ2VuZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5gXG4iXX0= */");
@@ -1 +0,0 @@
1
- export { default as DateRangePicker } from './DateRangePicker';
@@ -1 +0,0 @@
1
- export { default as DateRangePicker } from './DateRangePicker';