@mirai/core 0.4.311 → 0.4.313
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/build/components/Finder/Finder.constants.js +2 -1
- package/build/components/Finder/Finder.constants.js.map +1 -1
- package/build/components/Finder/Finder.js +44 -40
- package/build/components/Finder/Finder.js.map +1 -1
- package/build/components/Finder/components/Places/Places.js +2 -1
- package/build/components/Finder/components/Places/Places.js.map +1 -1
- package/build/components/Finder/components/Places/Places.module.css +0 -1
- package/build/components/__shared__/Field/Field.js +3 -1
- package/build/components/__shared__/Field/Field.js.map +1 -1
- package/build/components/__shared__/Field/Field.module.css +4 -0
- package/package.json +1 -1
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VIEW = exports.TYPE = exports.FIELD = void 0;
|
|
6
|
+
exports.VIEW = exports.TYPE = exports.PLACES_LENGTH_LIMIT = exports.FIELD = void 0;
|
|
7
7
|
var _Core = require("../../Core.constants");
|
|
8
8
|
var _helpers = require("../helpers");
|
|
9
9
|
const {
|
|
10
10
|
CHAIN,
|
|
11
11
|
HOTEL
|
|
12
12
|
} = _Core.TYPE;
|
|
13
|
+
const PLACES_LENGTH_LIMIT = exports.PLACES_LENGTH_LIMIT = 10;
|
|
13
14
|
const FIELD = exports.FIELD = {
|
|
14
15
|
PLACE: {
|
|
15
16
|
icon: _helpers.ICON.LOCATION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.constants.js","names":["_Core","require","_helpers","CHAIN","HOTEL","coreTYPE","
|
|
1
|
+
{"version":3,"file":"Finder.constants.js","names":["_Core","require","_helpers","CHAIN","HOTEL","coreTYPE","PLACES_LENGTH_LIMIT","exports","FIELD","PLACE","icon","ICON","LOCATION","tabIndex","CALENDAR","OCCUPATION","PEOPLE","PROMOCODE","DISCOUNT","inputMode","VIEW","TYPE"],"sources":["../../../src/components/Finder/Finder.constants.js"],"sourcesContent":["import { TYPE as coreTYPE } from '../../Core.constants';\nimport { ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = coreTYPE;\n\nconst PLACES_LENGTH_LIMIT = 10;\n\nconst FIELD = {\n PLACE: {\n icon: ICON.LOCATION,\n tabIndex: 0,\n },\n CALENDAR: {\n icon: ICON.CALENDAR,\n tabIndex: 1,\n },\n OCCUPATION: {\n icon: ICON.PEOPLE,\n tabIndex: 2,\n },\n PROMOCODE: {\n icon: ICON.DISCOUNT,\n inputMode: true,\n tabIndex: 3,\n },\n};\n\nconst VIEW = {\n PLACE: 'place',\n CALENDAR: 'calendar',\n OCCUPATION: 'occupation',\n PROMOCODE: 'promocode',\n};\n\nconst TYPE = {\n CHAIN,\n HOTEL,\n};\n\nexport { FIELD, PLACES_LENGTH_LIMIT, TYPE, VIEW };\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAM;EAAEE,KAAK;EAAEC;AAAM,CAAC,GAAGC,UAAQ;AAEjC,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,EAAE;AAE9B,MAAME,KAAK,GAAAD,OAAA,CAAAC,KAAA,GAAG;EACZC,KAAK,EAAE;IACLC,IAAI,EAAEC,aAAI,CAACC,QAAQ;IACnBC,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACRJ,IAAI,EAAEC,aAAI,CAACG,QAAQ;IACnBD,QAAQ,EAAE;EACZ,CAAC;EACDE,UAAU,EAAE;IACVL,IAAI,EAAEC,aAAI,CAACK,MAAM;IACjBH,QAAQ,EAAE;EACZ,CAAC;EACDI,SAAS,EAAE;IACTP,IAAI,EAAEC,aAAI,CAACO,QAAQ;IACnBC,SAAS,EAAE,IAAI;IACfN,QAAQ,EAAE;EACZ;AACF,CAAC;AAED,MAAMO,IAAI,GAAAb,OAAA,CAAAa,IAAA,GAAG;EACXX,KAAK,EAAE,OAAO;EACdK,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBE,SAAS,EAAE;AACb,CAAC;AAED,MAAMI,IAAI,GAAAd,OAAA,CAAAc,IAAA,GAAG;EACXlB,KAAK;EACLC;AACF,CAAC"}
|
|
@@ -7,8 +7,9 @@ exports.Finder = void 0;
|
|
|
7
7
|
var _dataSources = require("@mirai/data-sources");
|
|
8
8
|
var _locale = require("@mirai/locale");
|
|
9
9
|
var _ui = require("@mirai/ui");
|
|
10
|
+
var Sentry = _interopRequireWildcard(require("@sentry/react"));
|
|
10
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var
|
|
12
|
+
var _react2 = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _components = require("./components");
|
|
13
14
|
var _Finder = require("./Finder.compact");
|
|
14
15
|
var _Finder2 = require("./Finder.constants");
|
|
@@ -21,9 +22,9 @@ var _prepareRoom = require("../../helpers/prepareRoom");
|
|
|
21
22
|
var _shared__ = require("../__shared__");
|
|
22
23
|
var _Occupation = require("../__shared__/Occupation/Occupation.constants");
|
|
23
24
|
var _helpers3 = require("../helpers");
|
|
25
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
24
26
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
27
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
28
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } // ! TODO: Why we don't publish prepareRoom in ../../helpers
|
|
28
29
|
const {
|
|
29
30
|
CHAIN,
|
|
@@ -31,7 +32,7 @@ const {
|
|
|
31
32
|
} = _Finder2.TYPE;
|
|
32
33
|
let timeoutMetricChange;
|
|
33
34
|
const Finder = _ref => {
|
|
34
|
-
var _dataSource$places, _dataSource$places2, _dataSource$places3, _dataSource$places4;
|
|
35
|
+
var _dataSource$places, _dataSource$places2, _dataSource$places2$o, _dataSource$places3, _dataSource$places4, _dataSource$places5;
|
|
35
36
|
let {
|
|
36
37
|
compacted = false,
|
|
37
38
|
icon = false,
|
|
@@ -51,7 +52,7 @@ const Finder = _ref => {
|
|
|
51
52
|
dateFormat,
|
|
52
53
|
translate
|
|
53
54
|
} = (0, _locale.useLocale)();
|
|
54
|
-
const ref = (0,
|
|
55
|
+
const ref = (0, _react2.useRef)(null);
|
|
55
56
|
const {
|
|
56
57
|
set,
|
|
57
58
|
value: {
|
|
@@ -66,15 +67,15 @@ const Finder = _ref => {
|
|
|
66
67
|
...store
|
|
67
68
|
}
|
|
68
69
|
} = (0, _dataSources.useStore)();
|
|
69
|
-
const [currency, setCurrency] = (0,
|
|
70
|
-
const [error, setError] = (0,
|
|
71
|
-
const [focus, setFocus] = (0,
|
|
72
|
-
const [unavailability, setUnavailability] = (0,
|
|
73
|
-
const [value, setValue] = (0,
|
|
74
|
-
const [visited, setVisited] = (0,
|
|
75
|
-
const [warning, setWarning] = (0,
|
|
76
|
-
const [width, setWidth] = (0,
|
|
77
|
-
(0,
|
|
70
|
+
const [currency, setCurrency] = (0, _react2.useState)();
|
|
71
|
+
const [error, setError] = (0, _react2.useState)({});
|
|
72
|
+
const [focus, setFocus] = (0, _react2.useState)();
|
|
73
|
+
const [unavailability, setUnavailability] = (0, _react2.useState)();
|
|
74
|
+
const [value, setValue] = (0, _react2.useState)((0, _helpers.parseValue)(storeFinder));
|
|
75
|
+
const [visited, setVisited] = (0, _react2.useState)({});
|
|
76
|
+
const [warning, setWarning] = (0, _react2.useState)();
|
|
77
|
+
const [width, setWidth] = (0, _react2.useState)();
|
|
78
|
+
(0, _react2.useEffect)(() => {
|
|
78
79
|
if (skeleton) return;
|
|
79
80
|
if (!(storeFinder !== null && storeFinder !== void 0 && storeFinder.occupation)) set({
|
|
80
81
|
finder: {
|
|
@@ -102,7 +103,7 @@ const Finder = _ref => {
|
|
|
102
103
|
};
|
|
103
104
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
104
105
|
}, []);
|
|
105
|
-
(0,
|
|
106
|
+
(0, _react2.useEffect)(() => {
|
|
106
107
|
const {
|
|
107
108
|
current: el
|
|
108
109
|
} = ref || {};
|
|
@@ -122,13 +123,13 @@ const Finder = _ref => {
|
|
|
122
123
|
|
|
123
124
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
124
125
|
}, [deviceWidth]);
|
|
125
|
-
(0,
|
|
126
|
+
(0, _react2.useEffect)(() => {
|
|
126
127
|
unavailability && setUnavailability({
|
|
127
128
|
disabledDates: []
|
|
128
129
|
});
|
|
129
130
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
130
131
|
}, [value === null || value === void 0 ? void 0 : value.occupation, value === null || value === void 0 ? void 0 : value.place]);
|
|
131
|
-
(0,
|
|
132
|
+
(0, _react2.useEffect)(() => {
|
|
132
133
|
const {
|
|
133
134
|
place: {
|
|
134
135
|
id: [hotelId] = [],
|
|
@@ -155,13 +156,13 @@ const Finder = _ref => {
|
|
|
155
156
|
}
|
|
156
157
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
157
158
|
}, [value === null || value === void 0 ? void 0 : value.place]);
|
|
158
|
-
(0,
|
|
159
|
+
(0, _react2.useEffect)(() => {
|
|
159
160
|
!onSubmit && !skeleton && _dataSources.Event.publish(_helpers3.EVENT.FINDER_READY, {
|
|
160
161
|
event: _helpers3.EVENT.FINDER_READY
|
|
161
162
|
});
|
|
162
163
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
163
164
|
}, []);
|
|
164
|
-
(0,
|
|
165
|
+
(0, _react2.useEffect)(() => {
|
|
165
166
|
const handleFinder = function () {
|
|
166
167
|
let {
|
|
167
168
|
calendar,
|
|
@@ -180,8 +181,8 @@ const Finder = _ref => {
|
|
|
180
181
|
}, [locale, propCurrency]);
|
|
181
182
|
|
|
182
183
|
// ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.
|
|
183
|
-
(0,
|
|
184
|
-
(0,
|
|
184
|
+
(0, _react2.useEffect)(() => setCurrency(propCurrency), [propCurrency]);
|
|
185
|
+
(0, _react2.useEffect)(() => {
|
|
185
186
|
const next = (0, _helpers.parseValue)({
|
|
186
187
|
...value,
|
|
187
188
|
...storeFinder
|
|
@@ -193,7 +194,7 @@ const Finder = _ref => {
|
|
|
193
194
|
},
|
|
194
195
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
195
196
|
[storeFinder]);
|
|
196
|
-
(0,
|
|
197
|
+
(0, _react2.useEffect)(() => {
|
|
197
198
|
focus && setVisited({
|
|
198
199
|
...visited,
|
|
199
200
|
["".concat(focus)]: true
|
|
@@ -250,8 +251,10 @@ const Finder = _ref => {
|
|
|
250
251
|
setWarning(false);
|
|
251
252
|
setFocus(undefined);
|
|
252
253
|
if (!((_nextValue = nextValue) !== null && _nextValue !== void 0 && _nextValue.occupation)) {
|
|
253
|
-
|
|
254
|
-
|
|
254
|
+
try {
|
|
255
|
+
Sentry.captureMessage("FINDER:No occupation. NextValue: ".concat(JSON.stringify(nextValue)));
|
|
256
|
+
// eslint-disable-next-line no-empty
|
|
257
|
+
} catch {}
|
|
255
258
|
nextValue = {
|
|
256
259
|
...nextValue,
|
|
257
260
|
occupation: [(0, _prepareRoom.prepareRoom)(_Occupation.DATASOURCE)]
|
|
@@ -345,37 +348,38 @@ const Finder = _ref => {
|
|
|
345
348
|
calendar,
|
|
346
349
|
occupation
|
|
347
350
|
});
|
|
348
|
-
return /*#__PURE__*/
|
|
351
|
+
return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, is.compacted && /*#__PURE__*/_react2.default.createElement(_Finder.Compact, _extends({
|
|
349
352
|
dataSource,
|
|
350
353
|
skeleton,
|
|
351
354
|
value,
|
|
352
355
|
onExpand: setFocus,
|
|
353
356
|
onSubmit: !is.rates || is.rates && !isMobile ? handleSubmit : undefined
|
|
354
|
-
}, others)), /*#__PURE__*/
|
|
357
|
+
}, others)), /*#__PURE__*/_react2.default.createElement(_ui.View, {
|
|
355
358
|
ref: ref,
|
|
356
359
|
role: "finder",
|
|
357
360
|
row: !is.column,
|
|
358
361
|
tag: "finder",
|
|
359
362
|
testId: others.testId,
|
|
360
363
|
className: !is.compacted ? (0, _ui.styles)(style.finder, is.column && style.column, is.expand && style.expand, others.className) : undefined
|
|
361
|
-
}, (dataSource.places || skeleton && type === CHAIN) && /*#__PURE__*/
|
|
364
|
+
}, (dataSource.places || skeleton && type === CHAIN) && /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.PLACE, {
|
|
362
365
|
caption: (0, _helpers.getPlaceCaption)(place.value, (_dataSource$places = dataSource.places) === null || _dataSource$places === void 0 ? void 0 : _dataSource$places.options),
|
|
363
366
|
label: translate(_Finder3.L10N.LABEL_WHERE),
|
|
367
|
+
expanded: (dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$places2 = dataSource.places) === null || _dataSource$places2 === void 0 ? void 0 : (_dataSource$places2$o = _dataSource$places2.options) === null || _dataSource$places2$o === void 0 ? void 0 : _dataSource$places2$o.length) >= _Finder2.PLACES_LENGTH_LIMIT,
|
|
364
368
|
markdown: false,
|
|
365
|
-
placeholder: (dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$
|
|
369
|
+
placeholder: (dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$places3 = dataSource.places) === null || _dataSource$places3 === void 0 ? void 0 : _dataSource$places3.placeholder) || translate(_Finder3.L10N.LABEL_WHERE_PLACEHOLDER),
|
|
366
370
|
visible: focus === _Finder2.VIEW.PLACE,
|
|
367
371
|
onPress: () => setFocus(focus !== _Finder2.VIEW.PLACE ? _Finder2.VIEW.PLACE : undefined)
|
|
368
|
-
}, fieldProps), /*#__PURE__*/
|
|
372
|
+
}, fieldProps), /*#__PURE__*/_react2.default.createElement(_components.Places, {
|
|
369
373
|
autoColumn: focus === _Finder2.VIEW.PLACE,
|
|
370
|
-
dataSource: dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$
|
|
374
|
+
dataSource: dataSource === null || dataSource === void 0 ? void 0 : (_dataSource$places4 = dataSource.places) === null || _dataSource$places4 === void 0 ? void 0 : _dataSource$places4.options,
|
|
371
375
|
text: compacted ? text : undefined,
|
|
372
376
|
value: place.value,
|
|
373
377
|
onChange: handlePlaceChange,
|
|
374
378
|
onSubmit: is.rates ? handleSubmit : undefined,
|
|
375
379
|
testId: others.testId ? "".concat(others.testId, "-places") : undefined
|
|
376
|
-
})), is.inline && /*#__PURE__*/
|
|
380
|
+
})), is.inline && /*#__PURE__*/_react2.default.createElement(_ui.View, {
|
|
377
381
|
className: style.separator
|
|
378
|
-
})), /*#__PURE__*/
|
|
382
|
+
})), /*#__PURE__*/_react2.default.createElement(_shared__.Field, _extends({}, _Finder2.FIELD.CALENDAR, {
|
|
379
383
|
caption: calendar.length ? (0, _helpers3.getCalendarCaption)(calendar, translate, dateFormat) : undefined,
|
|
380
384
|
centered: type !== HOTEL && !is.column,
|
|
381
385
|
label: translate(_Finder3.L10N.LABEL_WHEN),
|
|
@@ -383,7 +387,7 @@ const Finder = _ref => {
|
|
|
383
387
|
visible: focus === _Finder2.VIEW.CALENDAR,
|
|
384
388
|
onPress: () => setFocus(focus !== _Finder2.VIEW.CALENDAR ? _Finder2.VIEW.CALENDAR : undefined),
|
|
385
389
|
testId: others.testId ? "".concat(others.testId, "-calendar-field") : undefined
|
|
386
|
-
}, fieldProps), /*#__PURE__*/
|
|
390
|
+
}, fieldProps), /*#__PURE__*/_react2.default.createElement(_components.Calendar, _extends({}, (0, _helpers.parseCalendarProps)(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants), {
|
|
387
391
|
id: id,
|
|
388
392
|
currency: currency || propCurrency,
|
|
389
393
|
locale: locale,
|
|
@@ -413,12 +417,12 @@ const Finder = _ref => {
|
|
|
413
417
|
calendar: undefined
|
|
414
418
|
}),
|
|
415
419
|
testId: others.testId ? "".concat(others.testId, "-calendar") : undefined
|
|
416
|
-
}))), is.inline && /*#__PURE__*/
|
|
420
|
+
}))), is.inline && /*#__PURE__*/_react2.default.createElement(_ui.View, {
|
|
417
421
|
className: style.separator
|
|
418
|
-
}), /*#__PURE__*/
|
|
422
|
+
}), /*#__PURE__*/_react2.default.createElement(_shared__.FieldOccupation, _extends({
|
|
419
423
|
dataSource: (0, _helpers.getOccupationDataSource)({
|
|
420
424
|
...dataSource,
|
|
421
|
-
places: (_dataSource$
|
|
425
|
+
places: (_dataSource$places5 = dataSource.places) === null || _dataSource$places5 === void 0 ? void 0 : _dataSource$places5.options,
|
|
422
426
|
place: place === null || place === void 0 ? void 0 : place.value
|
|
423
427
|
}),
|
|
424
428
|
hotels: (0, _helpers.getHotels)(dataSource.placesSource, place.value),
|
|
@@ -445,9 +449,9 @@ const Finder = _ref => {
|
|
|
445
449
|
if (!isMobile && focus !== _Finder2.VIEW.OCCUPATION) setFocus(_Finder2.VIEW.OCCUPATION);
|
|
446
450
|
},
|
|
447
451
|
testId: others.testId ? "".concat(others.testId, "-occupation") : undefined
|
|
448
|
-
}, fieldProps)), is.inline && /*#__PURE__*/
|
|
452
|
+
}, fieldProps)), is.inline && /*#__PURE__*/_react2.default.createElement(_ui.View, {
|
|
449
453
|
className: style.separator
|
|
450
|
-
}), /*#__PURE__*/
|
|
454
|
+
}), /*#__PURE__*/_react2.default.createElement(_shared__.FieldPromocode, _extends({
|
|
451
455
|
value: promocode,
|
|
452
456
|
visible: focus === _Finder2.VIEW.PROMOCODE,
|
|
453
457
|
onChange: (promocode, event) => handleChange(_Finder2.VIEW.PROMOCODE, promocode, event),
|
|
@@ -456,11 +460,11 @@ const Finder = _ref => {
|
|
|
456
460
|
onPress: isMobile && is.compacted ? () => setFocus(focus !== _Finder2.VIEW.PROMOCODE ? _Finder2.VIEW.PROMOCODE : undefined) : undefined,
|
|
457
461
|
onSubmit: isMobile && is.compacted ? is.rates ? handleSubmit : () => setFocus() : undefined,
|
|
458
462
|
testId: others.testId ? "".concat(others.testId, "-promocode") : undefined
|
|
459
|
-
}, fieldProps)), !is.compacted ? skeleton ? /*#__PURE__*/
|
|
463
|
+
}, fieldProps)), !is.compacted ? skeleton ? /*#__PURE__*/_react2.default.createElement(_shared__.Skeleton, {
|
|
460
464
|
large: true,
|
|
461
465
|
button: true,
|
|
462
466
|
words: 1
|
|
463
|
-
}) : /*#__PURE__*/
|
|
467
|
+
}) : /*#__PURE__*/_react2.default.createElement(_ui.Button, {
|
|
464
468
|
disabled: skeleton,
|
|
465
469
|
large: true,
|
|
466
470
|
tabindex: 4,
|
|
@@ -469,7 +473,7 @@ const Finder = _ref => {
|
|
|
469
473
|
onPress: handleSubmit,
|
|
470
474
|
className: (0, _ui.styles)(style.button, icon && !is.column && style.withIcon),
|
|
471
475
|
testId: others.testId ? "".concat(others.testId, "-submit") : undefined
|
|
472
|
-
}, icon && !is.column ? /*#__PURE__*/
|
|
476
|
+
}, icon && !is.column ? /*#__PURE__*/_react2.default.createElement(_ui.Icon, {
|
|
473
477
|
value: _helpers3.ICON.SEARCH
|
|
474
478
|
}) : text || translate(_Finder3.L10N.ACTION_SEARCH)) : null));
|
|
475
479
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","CHAIN","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places3","_dataSource$places4","compacted","icon","layout","metrics","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","keys","filter","forwarderUrl","getForwarderUrl","setStorage","href","includes","forEach","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","separatorColor","fieldVariant","Theme","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n metrics = 'finder',\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n publishChange(next);\n\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n if (!nextValue?.occupation) {\n // eslint-disable-next-line no-console\n console.log('>>>> No occupation');\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\n });\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n markdown={false}\n placeholder={dataSource?.places?.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource?.places?.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : isMobile && is.compacted ? () => setFocus() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {is.inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n metrics: PropTypes.string,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAL,uBAAA,CAAAN,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AAWA,IAAAa,kBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAEA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AAEA,IAAAiB,WAAA,GAAAjB,OAAA;AACA,IAAAkB,SAAA,GAAAlB,OAAA;AAA6D,SAAAmB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAd,wBAAAc,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAxB,uBAAAoC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA,KAL7D;AAOA,MAAM;EAAEK,KAAK;EAAEC;AAAM,CAAC,GAAGC,aAAI;AAC7B,IAAIC,mBAAmB;AAEvB,MAAMC,MAAM,GAAGC,IAAA,IAUT;EAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,mBAAA;EAAA,IAVU;IACdC,SAAS,GAAG,KAAK;IACjBC,IAAI,GAAG,KAAK;IACZC,MAAM;IACNC,OAAO,GAAG,QAAQ;IAClBC,OAAO,GAAG,IAAI;IACdC,IAAI;IACJC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAb,IAAA;EACC,MAAM;IAAEc,QAAQ;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACpD,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJtC,GAAG;IACHuC,KAAK,EAAE;MACLC,UAAU,GAAG,CAAC,CAAC;MACfC,QAAQ,EAAEC,YAAY;MACtBC,MAAM,EAAEC,WAAW;MACnBC,SAAS;MACTC,MAAM;MACNC,KAAK,GAAG,CAAC,CAAC;MACVC,QAAQ,GAAG,KAAK;MAChBC,IAAI,GAAGrC,KAAK;MACZ,GAAGsC;IACL;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACV,QAAQ,EAAEW,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACd,KAAK,EAAEqB,QAAQ,CAAC,GAAG,IAAAP,eAAQ,EAAC,IAAAQ,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAV,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC1C,MAAM,CAACW,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAZ,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACtB,KAAK,EAAEmC,QAAQ,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EAEpC,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAInB,QAAQ,EAAE;IAEd,IAAI,EAACJ,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEwB,UAAU,GAAEpE,GAAG,CAAC;MAAE2C,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEwB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IAExG,IAAIC,EAAE,CAACC,KAAK,IAAI,EAAC5B,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEwB,UAAU,GAAE;MACxC;MACAK,OAAO,CAACC,GAAG,CAAC;QAAE/B,MAAM,EAAE;UAAE,GAAGC,WAAW;UAAEwB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;QAAE;MAAE,CAAC,CAAC;IACpF;IACAK,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEC,cAAc,CAAC;IACnD,CAAC/C,QAAQ,IAAIgD,QAAQ,CAACF,gBAAgB,CAAC,OAAO,EAAEG,kBAAkB,EAAE,IAAI,CAAC;IAEzE,IAAIvD,OAAO,KAAK,QAAQ,EAAEwD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,EAAE;IAAgB,CAAC,CAAC;IAE/E,OAAO,MAAM;MACXT,MAAM,CAACU,mBAAmB,CAAC,UAAU,EAAER,cAAc,CAAC;MACtD,CAAC/C,QAAQ,IAAIgD,QAAQ,CAACO,mBAAmB,CAAC,OAAO,EAAEN,kBAAkB,EAAE,IAAI,CAAC;IAC9E,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAZ,gBAAS,EAAC,MAAM;IACd,MAAM;MAAEmB,OAAO,EAAEC;IAAG,CAAC,GAAGlD,GAAG,IAAI,CAAC,CAAC;IACjC,IAAI,CAACkC,EAAE,CAACiB,MAAM,IAAI,CAACD,EAAE,EAAE;IAEvB,MAAME,QAAQ,GAAG,IAAIC,oBAAoB,CACvC;MAAA,IAAC,CAAC;QAAEC;MAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAArF,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsF,SAAA,GAAAtF,SAAA,MAAG,EAAE;MAAA,OAAKqF,cAAc,IAAIzB,QAAQ,CAAC,IAAA2B,oCAAiB,EAACN,EAAE,CAAC,CAAC;IAAA,GACrF;MAAEO,SAAS,EAAE;IAAI,CACnB,CAAC;IACD,IAAIP,EAAE,EAAEE,QAAQ,CAACM,OAAO,CAACR,EAAE,CAAC;IAE5B,OAAO,MAAM;MACX,IAAIA,EAAE,EAAEE,QAAQ,CAACO,SAAS,CAACT,EAAE,CAAC;IAChC,CAAC;;IAED;EACF,CAAC,EAAE,CAACvD,WAAW,CAAC,CAAC;EAEjB,IAAAmC,gBAAS,EAAC,MAAM;IACdT,cAAc,IAAIC,iBAAiB,CAAC;MAAEsC,aAAa,EAAE;IAAG,CAAC,CAAC;IAC1D;EACF,CAAC,EAAE,CAAC1D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE6B,UAAU,EAAE7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2D,KAAK,CAAC,CAAC;EAErC,IAAA/B,gBAAS,EAAC,MAAM;IACd,MAAM;MAAE+B,KAAK,EAAE;QAAEd,EAAE,EAAE,CAACe,OAAO,CAAC,GAAG,EAAE;QAAEC;MAAQ,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG7D,KAAK,IAAI,CAAC,CAAC;IACnE,MAAM8D,aAAa,GAAG,CAAC9B,EAAE,CAAC+B,KAAK,KAAMvD,KAAK,CAACwD,QAAQ,IAAIxD,KAAK,CAACwD,QAAQ,CAACJ,OAAO,CAAC,IAAKpD,KAAK,CAACyD,IAAI,CAAC;IAC9F,IAAIH,aAAa,EAAE;MACjB,MAAMI,IAAI,GAAG;QAAE,GAAGlE,KAAK;QAAEmE,SAAS,EAAEL;MAAc,CAAC;MACnDzC,QAAQ,CAAC6C,IAAI,CAAC;MACdE,aAAa,CAACF,IAAI,CAAC;IACrB;IAEA,IAAIL,OAAO,EAAE;MAAA,IAAAQ,eAAA;MACX,IAAI,GAAAA,eAAA,GAAC,IAAAC,wBAAc,EAAClC,MAAM,CAACmC,QAAQ,CAACC,MAAM,CAAC,cAAAH,eAAA,eAAtCA,eAAA,CAAwCnE,QAAQ,GAAE;QACrD;QACA,CAAC,YAAY;UACXW,WAAW,CAAC,MAAM,IAAA4D,uBAAa,EAACb,OAAO,CAAC,CAAC;QAC3C,CAAC,EAAE,CAAC;MACN;IACF;IACA;EACF,CAAC,EAAE,CAAC5D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2D,KAAK,CAAC,CAAC;EAElB,IAAA/B,gBAAS,EAAC,MAAM;IACd,CAACvC,QAAQ,IAAI,CAACoB,QAAQ,IAAIgC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAAC+B,YAAY,EAAE;MAAEC,KAAK,EAAEhC,eAAK,CAAC+B;IAAa,CAAC,CAAC;IAC1F;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAA9C,gBAAS,EAAC,MAAM;IACd,MAAMgD,YAAY,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAEzE,MAAM;QAAEa;MAAM,CAAC,GAAAlD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsF,SAAA,GAAAtF,SAAA,MAAG,CAAC,CAAC;MACpD,IAAIqC,MAAM,EAAE,OAAO0E,YAAY,CAAC;QAAEC,SAAS,EAAE3E;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAACyD,QAAQ,CAAC;MAC3B,IAAI5D,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IACDwB,kBAAK,CAACuC,SAAS,CAACrC,eAAK,CAACsC,MAAM,EAAEL,YAAY,CAAC;IAE3C,OAAO,MAAMnC,kBAAK,CAACyC,WAAW,CAACvC,eAAK,CAACsC,MAAM,EAAEL,YAAY,CAAC;IAC1D;EACF,CAAC,EAAE,CAACrE,MAAM,EAAEJ,YAAY,CAAC,CAAC;;EAE1B;EACA,IAAAyB,gBAAS,EAAC,MAAMf,WAAW,CAACV,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAyB,gBAAS,EACP,MAAM;IACJ,MAAMsC,IAAI,GAAG,IAAA5C,mBAAU,EAAC;MAAE,GAAGtB,KAAK;MAAE,GAAGK;IAAY,CAAC,CAAC;IACrD,IAAI8E,IAAI,CAACC,SAAS,CAACpF,KAAK,CAAC,KAAKmF,IAAI,CAACC,SAAS,CAAClB,IAAI,CAAC,EAAE;MAClD7C,QAAQ,CAAC6C,IAAI,CAAC;MACdE,aAAa,CAACF,IAAI,CAAC;IACrB;EACF,CAAC;EACD;EACA,CAAC7D,WAAW,CACd,CAAC;EAED,IAAAuB,gBAAS,EAAC,MAAM;IACdX,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAA8D,MAAA,CAAIpE,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAMqE,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMtB,IAAI,GAAG;MAAE,GAAGlE,KAAK;MAAE,CAACuF,KAAK,GAAGC;IAAW,CAAC;IAE9CnE,QAAQ,CAAC6C,IAAI,CAAC;IACd9E,QAAQ,CAAC8E,IAAI,EAAEqB,KAAK,EAAEC,UAAU,CAAC;IACjCpB,aAAa,CAACF,IAAI,CAAC;IAEnB,IAAIjF,OAAO,EAAE;MACXwG,YAAY,CAAClH,mBAAmB,CAAC;MACjCA,mBAAmB,GAAGmH,UAAU,CAAC,MAAMjD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;QAAEC,EAAE,KAAAwC,MAAA,CAAKpG,OAAO,cAAAoG,MAAA,CAAWE,KAAK;MAAG,CAAC,CAAC,EAAE,GAAG,CAAC;IACjH;EACF,CAAC;EAED,MAAM/C,kBAAkB,GAAG,SAAAA,CAAA;IAAA,IAAAmD,YAAA;IAAA,IAAC;MAAE7H;IAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsF,SAAA,GAAAtF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,GAAA4H,YAAA,GAAC7F,GAAG,CAACiD,OAAO,cAAA4C,YAAA,eAAXA,YAAA,CAAaC,QAAQ,CAAC9H,MAAM,CAAC,KAAIoD,QAAQ,CAACmC,SAAS,CAAC;EAAA;EAErG,MAAMf,cAAc,GAAG,SAAAA,CAAA,EAAwB;IAAA,IAAvB;MAAEuD;IAAU,CAAC,GAAA9H,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsF,SAAA,GAAAtF,SAAA,MAAG,CAAC,CAAC;IACxC,IAAI,CAAC8H,SAAS,EAAE;IAEhB3E,QAAQ,CAAC,CAAC;IACVM,UAAU,CAAC,CAAC;IAEZ,MAAM0C,IAAI,GAAG,IAAA5C,mBAAU,EAACjB,WAAW,CAAC;IACpCgB,QAAQ,CAAC6C,IAAI,CAAC;IACdE,aAAa,CAACF,IAAI,CAAC;EACrB,CAAC;EAED,MAAM4B,iBAAiB,GAAInC,KAAK,IAAK;IACnCjC,UAAU,CAAC,KAAK,CAAC;IACjB4D,YAAY,CAACS,aAAI,CAACC,KAAK,EAAErC,KAAK,CAAC;IAC/B,CAAC3B,EAAE,CAAC+B,KAAK,IAAIkC,SAAS,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMnB,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAAAoB,eAAA,EAAAC,UAAA;IAAA,IAA/B;MAAEpB,SAAS,GAAG/E;IAAM,CAAC,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsF,SAAA,GAAAtF,SAAA,MAAG,CAAC,CAAC;IAC9C,IAAIqI,UAAU,CAACC,MAAM,IAAIrG,KAAK,CAAC2D,KAAK,KAAKN,SAAS,EAAE,OAAOnC,QAAQ,CAAC6E,aAAI,CAACC,KAAK,CAAC;IAE/E,IAAI,EAAAE,eAAA,GAAAlG,KAAK,CAAC6E,QAAQ,cAAAqB,eAAA,uBAAdA,eAAA,CAAgBlI,MAAM,MAAK,CAAC,EAAE,OAAOkD,QAAQ,CAAC6E,aAAI,CAACO,QAAQ,CAAC;IAEhE,MAAM,CAACC,UAAU,CAAC,GAAGtJ,MAAM,CAACuJ,IAAI,CAACzF,KAAK,CAAC,CAAC0F,MAAM,CAAEvI,GAAG,IAAK,CAAC,CAAC6C,KAAK,CAAC7C,GAAG,CAAC,CAAC;IACrE,IAAIqI,UAAU,EAAE,OAAOrF,QAAQ,CAACqF,UAAU,CAAC;IAE3C7E,UAAU,CAAC,KAAK,CAAC;IACjBR,QAAQ,CAACmC,SAAS,CAAC;IACnB,IAAI,GAAA8C,UAAA,GAACpB,SAAS,cAAAoB,UAAA,eAATA,UAAA,CAAWtE,UAAU,GAAE;MAC1B;MACAK,OAAO,CAACC,GAAG,CAAC,oBAAoB,CAAC;MACjC4C,SAAS,GAAG;QAAE,GAAGA,SAAS;QAAElD,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE,CAAC;IACrE;IACAtE,GAAG,CAAC;MAAE2C,MAAM,EAAE2E;IAAU,CAAC,CAAC;IAC1B,MAAM2B,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAG5B,SAAS;MAAE7E,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEI,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhGxB,OAAO,IAAI,IAAA0H,mBAAU,EAAC7B,SAAS,EAAEpE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,EAAE,CAAC;IAC3C,IAAIxD,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAG0F,SAAS;MAAE2B;IAAa,CAAC,CAAC,CAAC,KAClDtE,MAAM,CAACmC,QAAQ,CAACsC,IAAI,GAAGH,YAAY;IAExC,IAAIzH,OAAO,EAAEwD,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;MAAEC,EAAE,KAAAwC,MAAA,CAAKpG,OAAO,YAAS;MAAE,GAAG8F;IAAU,CAAC,CAAC;EACtF,CAAC;EAED,MAAMkB,SAAS,GAAGA,CAAA,KAAM;IACtB,MAAM;MAAEpB,QAAQ,GAAG;IAAG,CAAC,GAAG7E,KAAK;IAC/B,IAAIiB,KAAK,KAAK8E,aAAI,CAACC,KAAK,IAAI,CAACzE,OAAO,CAACsD,QAAQ,IAAIA,QAAQ,CAAC7G,MAAM,KAAK,CAAC,EAAEkD,QAAQ,CAAC6E,aAAI,CAACO,QAAQ,CAAC,CAAC,KAC3F,IAAI,CAACxH,SAAS,IAAI,CAACiH,aAAI,CAACO,QAAQ,EAAEP,aAAI,CAACC,KAAK,CAAC,CAACc,QAAQ,CAAC7F,KAAK,CAAC,EAAEC,QAAQ,CAACmC,SAAS,CAAC;EACzF,CAAC;EAED,MAAMe,aAAa,GAAIF,IAAI,IACzBjH,MAAM,CAACuJ,IAAI,CAACtC,IAAI,IAAI,EAAE,CAAC,CAAC6C,OAAO,CAAExB,KAAK,IAAK;IACzC,IAAIJ,IAAI,CAACC,SAAS,CAACpF,KAAK,CAACuF,KAAK,CAAC,CAAC,KAAKJ,IAAI,CAACC,SAAS,CAAClB,IAAI,CAACqB,KAAK,CAAC,CAAC,EAAE;MAChE9C,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACqE,mBAAmB,EAAE;QAAEzB,KAAK;QAAE0B,aAAa,EAAEjH,KAAK,CAACuF,KAAK,CAAC;QAAEvF,KAAK,EAAEkE,IAAI,CAACqB,KAAK;MAAE,CAAC,CAAC;IACtG;EACF,CAAC,CAAC;EAEJ,MAAM;IAAEV,QAAQ,GAAG,EAAE;IAAEhD,UAAU;IAAE8B,KAAK,GAAG,CAAC,CAAC;IAAEQ;EAAU,CAAC,GAAGnE,KAAK;EAClE,MAAM;IAAE6C,EAAE,EAAEqE,GAAG,GAAG,EAAE;IAAErD;EAAQ,CAAC,GAAGF,KAAK;EACvC,MAAMyC,UAAU,GAAG,IAAAe,sBAAa,EAAC;IAAEzG,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAEyG,KAAK,EAAE;MAAEvE,EAAE,EAAEwE;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG1G,KAAK;EAC7C,MAAMkC,EAAE,GAAGnC,IAAI,KAAKrC,KAAK,GAAIwF,OAAO,IAAIqD,GAAG,CAAClJ,MAAM,KAAK,CAAC,GAAGkJ,GAAG,CAAC,CAAC,CAAC,GAAG7D,SAAS,GAAIgE,OAAO;EAExF,MAAM;IAAEC,cAAc,GAAG,EAAE;IAAE,GAAGC;EAAa,CAAC,GAAGC,SAAK,CAAC3K,GAAG,CAAC,uBAAuB,CAAC;EAEnF,MAAMmF,EAAE,GAAG;IACTyF,MAAM,EAAEH,cAAc,KAAK,aAAa;IACxCrE,MAAM,EAAEjE,MAAM,KAAK,QAAQ;IAC3B0I,MAAM,EAAE,CAACnI,QAAQ,IAAIP,MAAM,KAAK,QAAQ;IACxCF,SAAS,EAAEE,MAAM,KAAK,QAAQ,KAAKO,QAAQ,IAAKT,SAAS,IAAI,CAACmC,KAAM,CAAC;IACrEgB,KAAK,EAAE,CAAAtB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,EAAE,MAAK,QAAQ;IAC7BkB,KAAK,EAAE9D,UAAU,CAAC8D,KAAK,KAAKV;EAC9B,CAAC;EAED,MAAMsE,UAAU,GAAG;IACjB7I,SAAS,EAAEkD,EAAE,CAAClD,SAAS;IACvB8I,SAAS,EAAE,CAAC,CAACxB,UAAU,CAACC,MAAM;IAC9BoB,MAAM,EAAEzF,EAAE,CAACyF,MAAM;IACjB,IAAI,CAACzF,EAAE,CAAClD,SAAS,GAAG,IAAA+I,yBAAgB,EAAC/H,GAAG,CAAC,GAAGuD,SAAS,CAAC;IACtDlE,IAAI,EAAE6C,EAAE,CAAC+B,KAAK,GAAGnE,SAAS,CAACkI,aAAI,CAACC,aAAa,CAAC,GAAGnI,SAAS,CAACkI,aAAI,CAACE,YAAY,CAAC;IAC7EC,OAAO,EAAEhL,MAAM,CAACuJ,IAAI,CAACe,YAAY,CAAC,CAACvJ,MAAM,GAAGuJ,YAAY,GAAGlE,SAAS;IACpE6E,SAAS,EAAErM,KAAK,CAAC0J,KAAK;IACtB1J,KAAK,EAAEmG,EAAE,CAACiB,MAAM,IAAIzD,KAAK,GAAG;MAAE2I,QAAQ,EAAE3I,KAAK;MAAEA;IAAM,CAAC,GAAG6D;EAC3D,CAAC;;EAED;EACArB,EAAE,CAACC,KAAK,IAAIC,OAAO,CAACC,GAAG,CAAC;IAAEwB,KAAK;IAAEkB,QAAQ;IAAEhD;EAAW,CAAC,CAAC;EAExD,oBACEtG,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAA7M,MAAA,CAAAoB,OAAA,CAAA0L,QAAA,QACGrG,EAAE,CAAClD,SAAS,iBACXvD,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAC1M,OAAA,CAAA4M,OAAO,EAAA3K,QAAA;IACAyI,UAAU;IAAE3F,QAAQ;IAAET,KAAK;IACjCuI,QAAQ,EAAErH,QAAS;IACnB7B,QAAQ,EAAE,CAAC2C,EAAE,CAAC+B,KAAK,IAAK/B,EAAE,CAAC+B,KAAK,IAAI,CAACxE,QAAS,GAAGuF,YAAY,GAAGzB;EAAU,GACtE/D,MAAM,CACX,CACF,eAED/D,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAoN,IAAI;IACH1I,GAAG,EAAEA,GAAI;IACT2I,IAAI,EAAC,QAAQ;IACbC,GAAG,EAAE,CAAC1G,EAAE,CAACiB,MAAO;IAChB0F,GAAG,EAAC,QAAQ;IACZC,MAAM,EAAEtJ,MAAM,CAACsJ,MAAO;IACtBV,SAAS,EACP,CAAClG,EAAE,CAAClD,SAAS,GACT,IAAA+J,UAAM,EAAChN,KAAK,CAACuE,MAAM,EAAE4B,EAAE,CAACiB,MAAM,IAAIpH,KAAK,CAACoH,MAAM,EAAEjB,EAAE,CAAC0F,MAAM,IAAI7L,KAAK,CAAC6L,MAAM,EAAEpI,MAAM,CAAC4I,SAAS,CAAC,GAC5F7E;EACL,GAEA,CAAC+C,UAAU,CAACC,MAAM,IAAK5F,QAAQ,IAAIC,IAAI,KAAKtC,KAAM,kBACjD7C,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAA7M,MAAA,CAAAoB,OAAA,CAAA0L,QAAA,qBACE9M,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAClM,SAAA,CAAA4M,KAAK,EAAAnL,QAAA,KACAoL,cAAK,CAAC/C,KAAK;IACfgD,OAAO,EAAE,IAAAC,wBAAe,EAACtF,KAAK,CAAC3D,KAAK,GAAAtB,kBAAA,GAAE0H,UAAU,CAACC,MAAM,cAAA3H,kBAAA,uBAAjBA,kBAAA,CAAmBwK,OAAO,CAAE;IAClEC,KAAK,EAAEvJ,SAAS,CAACkI,aAAI,CAACsB,WAAW,CAAE;IACnCC,QAAQ,EAAE,KAAM;IAChBC,WAAW,EAAE,CAAAlD,UAAU,aAAVA,UAAU,wBAAAzH,mBAAA,GAAVyH,UAAU,CAAEC,MAAM,cAAA1H,mBAAA,uBAAlBA,mBAAA,CAAoB2K,WAAW,KAAI1J,SAAS,CAACkI,aAAI,CAACyB,uBAAuB,CAAE;IACxFC,OAAO,EAAEvI,KAAK,KAAK8E,aAAI,CAACC,KAAM;IAC9ByD,OAAO,EAAEA,CAAA,KAAMvI,QAAQ,CAACD,KAAK,KAAK8E,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAG3C,SAAS;EAAE,GACnEsE,UAAU,gBAEdpM,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAC3M,WAAA,CAAAiO,MAAM;IACLC,UAAU,EAAE1I,KAAK,KAAK8E,aAAI,CAACC,KAAM;IACjCI,UAAU,EAAEA,UAAU,aAAVA,UAAU,wBAAAxH,mBAAA,GAAVwH,UAAU,CAAEC,MAAM,cAAAzH,mBAAA,uBAAlBA,mBAAA,CAAoBsK,OAAQ;IACxC/J,IAAI,EAAEL,SAAS,GAAGK,IAAI,GAAGkE,SAAU;IACnCrD,KAAK,EAAE2D,KAAK,CAAC3D,KAAM;IACnBZ,QAAQ,EAAE0G,iBAAkB;IAC5BzG,QAAQ,EAAE2C,EAAE,CAAC+B,KAAK,GAAGe,YAAY,GAAGzB,SAAU;IAC9CuF,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,eAAYvF;EAAU,CAC/D,CACI,CAAC,EAEPrB,EAAE,CAACyF,MAAM,iBAAIlM,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAoN,IAAI;IAACN,SAAS,EAAErM,KAAK,CAAC+N;EAAU,CAAE,CACjD,CACH,eAEDrO,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAClM,SAAA,CAAA4M,KAAK,EAAAnL,QAAA,KACAoL,cAAK,CAACzC,QAAQ;IAClB0C,OAAO,EAAEnE,QAAQ,CAAC7G,MAAM,GAAG,IAAA6L,4BAAkB,EAAChF,QAAQ,EAAEjF,SAAS,EAAED,UAAU,CAAC,GAAG0D,SAAU;IAC3FyG,QAAQ,EAAEpJ,IAAI,KAAKrC,KAAK,IAAI,CAAC2D,EAAE,CAACiB,MAAO;IACvCkG,KAAK,EAAEvJ,SAAS,CAACkI,aAAI,CAACiC,UAAU,CAAE;IAClCT,WAAW,EAAE,IAAAO,4BAAkB,EAACxG,SAAS,EAAEzD,SAAS,EAAED,UAAU,CAAE;IAClE6J,OAAO,EAAEvI,KAAK,KAAK8E,aAAI,CAACO,QAAS;IACjCmD,OAAO,EAAEA,CAAA,KAAMvI,QAAQ,CAACD,KAAK,KAAK8E,aAAI,CAACO,QAAQ,GAAGP,aAAI,CAACO,QAAQ,GAAGjD,SAAS,CAAE;IAC7EuF,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,uBAAoBvF;EAAU,GAClEsE,UAAU,gBAEdpM,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAC3M,WAAA,CAAAuO,QAAQ,EAAArM,QAAA,KACH,IAAAsM,2BAAkB,EAAC7D,UAAU,CAACvB,QAAQ,EAAEhC,EAAE,EAAEhB,UAAU,EAAEnB,IAAI,EAAES,cAAc,EAAEiF,UAAU,CAACpC,QAAQ,CAAC;IACtGnB,EAAE,EAAEA,EAAG;IACP3C,QAAQ,EAAEA,QAAQ,IAAIC,YAAa;IACnCI,MAAM,EAAEA,MAAO;IACf2J,YAAY,EAAE,CAAE;IAChB/K,IAAI,EAAEL,SAAS,GAAGK,IAAI,GAAGkE,SAAU;IACnC8G,GAAG,EAAExC,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEwC,GAAI;IACrB1J,QAAQ,EAAEA,QAAS;IACnBU,cAAc,EAAEA,cAAe;IAC/BnB,KAAK,EAAE6E,QAAS;IAChBzF,QAAQ,EAAEA,CAACgL,YAAY,EAAEzF,KAAK,KAAK;MACjCW,YAAY,CAACS,aAAI,CAACO,QAAQ,EAAE8D,YAAY,EAAEzF,KAAK,CAAC;MAChD,IAAIyF,YAAY,CAACpM,MAAM,KAAK,CAAC,IAAI,CAACgE,EAAE,CAAC+B,KAAK,EAAE;QAC1C/C,QAAQ,CAAC;UAAE,GAAGD,KAAK;UAAE8D,QAAQ,EAAExB;QAAU,CAAC,CAAC;QAC3C4C,SAAS,CAAC,CAAC;MACb;IACF,CAAE;IACFoE,OAAO,EAAGxF,QAAQ,IAAK7D,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAE8D;IAAS,CAAC,CAAE;IACxDxF,QAAQ,EAAE2C,EAAE,CAAC+B,KAAK,GAAGe,YAAY,GAAGzB,SAAU;IAC9CiH,OAAO,EAAEA,CAAA,KAAMtJ,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAE8D,QAAQ,EAAExB;IAAU,CAAC,CAAE;IAC3DuF,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,iBAAcvF;EAAU,EACjE,CACI,CAAC,EAEPrB,EAAE,CAACyF,MAAM,iBAAIlM,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAoN,IAAI;IAACN,SAAS,EAAErM,KAAK,CAAC+N;EAAU,CAAE,CAAC,eAElDrO,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAClM,SAAA,CAAAqO,eAAe,EAAA5M,QAAA;IACdyI,UAAU,EAAE,IAAAoE,gCAAuB,EAAC;MAClC,GAAGpE,UAAU;MACbC,MAAM,GAAAxH,mBAAA,GAAEuH,UAAU,CAACC,MAAM,cAAAxH,mBAAA,uBAAjBA,mBAAA,CAAmBqK,OAAO;MAClCvF,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3D;IAChB,CAAC,CAAE;IACHyK,MAAM,EAAE,IAAAC,kBAAS,EAACtE,UAAU,CAACuE,YAAY,EAAEhH,KAAK,CAAC3D,KAAK,CAAE;IACxD4K,QAAQ,EAAExE,UAAU,CAACwE,QAAS;IAC9BzL,IAAI,EAAEL,SAAS,GAAGK,IAAI,GAAGkE,SAAU;IACnCrD,KAAK,EAAE6B,UAAW;IAClB2H,OAAO,EAAEvI,KAAK,KAAK8E,aAAI,CAAC8E,UAAW;IACnCC,WAAW,EAAErJ,OAAQ;IACrBrC,QAAQ,EAAEA,CAACyC,UAAU,EAAE8C,KAAK,KAAKW,YAAY,CAACS,aAAI,CAAC8E,UAAU,EAAEhJ,UAAU,EAAE8C,KAAK,CAAE;IAClF0F,OAAO,EAAGxI,UAAU,IAAK;MACvB,IAAI,CAACtC,QAAQ,IAAI0B,KAAK,KAAK8E,aAAI,CAAC8E,UAAU,EAAE3J,QAAQ,CAAC6E,aAAI,CAAC8E,UAAU,CAAC;MACrE7J,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEc;MAAW,CAAC,CAAC;IACpC,CAAE;IACF4H,OAAO,EAAEA,CAAA,KAAMvI,QAAQ,CAACD,KAAK,KAAK8E,aAAI,CAAC8E,UAAU,GAAG9E,aAAI,CAAC8E,UAAU,GAAGxH,SAAS,CAAE;IACjFhE,QAAQ,EAAE2C,EAAE,CAAC+B,KAAK,GAAGe,YAAY,GAAGvF,QAAQ,IAAIyC,EAAE,CAAClD,SAAS,GAAG,MAAMoC,QAAQ,CAAC,CAAC,GAAGmC,SAAU;IAC5FiH,OAAO,EAAEA,CAAA,KAAMtJ,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEc,UAAU,EAAEwB;IAAU,CAAC,CAAE;IAC7D0H,SAAS,EAAEA,CAAA,KAAM;MACf,IAAI,CAACxL,QAAQ,IAAI0B,KAAK,KAAK8E,aAAI,CAAC8E,UAAU,EAAE3J,QAAQ,CAAC6E,aAAI,CAAC8E,UAAU,CAAC;IACvE,CAAE;IACFjC,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,mBAAgBvF;EAAU,GAC9DsE,UAAU,CACf,CAAC,EAED3F,EAAE,CAACyF,MAAM,iBAAIlM,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAoN,IAAI;IAACN,SAAS,EAAErM,KAAK,CAAC+N;EAAU,CAAE,CAAC,eAElDrO,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAClM,SAAA,CAAA8O,cAAc,EAAArN,QAAA;IACbqC,KAAK,EAAEmE,SAAU;IACjBqF,OAAO,EAAEvI,KAAK,KAAK8E,aAAI,CAACkF,SAAU;IAClC7L,QAAQ,EAAEA,CAAC+E,SAAS,EAAEQ,KAAK,KAAKW,YAAY,CAACS,aAAI,CAACkF,SAAS,EAAE9G,SAAS,EAAEQ,KAAK,CAAE;IAC/EuG,OAAO,EAAE,CAAClJ,EAAE,CAAClD,SAAS,GAAG,MAAMoC,QAAQ,CAAC6E,aAAI,CAACkF,SAAS,CAAC,GAAG5H,SAAU;IACpE8H,OAAO,EAAE,CAACnJ,EAAE,CAAClD,SAAS,GAAG,MAAMoC,QAAQ,CAACmC,SAAS,CAAC,GAAGA,SAAU;IAC/DoG,OAAO,EACLlK,QAAQ,IAAIyC,EAAE,CAAClD,SAAS,GAAG,MAAMoC,QAAQ,CAACD,KAAK,KAAK8E,aAAI,CAACkF,SAAS,GAAGlF,aAAI,CAACkF,SAAS,GAAG5H,SAAS,CAAC,GAAGA,SACpG;IACDhE,QAAQ,EAAEE,QAAQ,IAAIyC,EAAE,CAAClD,SAAS,GAAIkD,EAAE,CAAC+B,KAAK,GAAGe,YAAY,GAAG,MAAM5D,QAAQ,CAAC,CAAC,GAAImC,SAAU;IAC9FuF,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,kBAAevF;EAAU,GAC7DsE,UAAU,CACf,CAAC,EAED,CAAC3F,EAAE,CAAClD,SAAS,GACZ2B,QAAQ,gBACNlF,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAClM,SAAA,CAAAkP,QAAQ;IAACC,KAAK;IAACC,MAAM;IAACC,KAAK,EAAE;EAAE,CAAE,CAAC,gBAEnChQ,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAoQ,MAAM;IACLC,QAAQ,EAAEhL,QAAS;IACnB4K,KAAK;IACLK,QAAQ,EAAE,CAAE;IACZjD,IAAI,EAAC,eAAe;IACpBkD,IAAI,EAAE3J,EAAE,CAACiB,MAAO;IAChBwG,OAAO,EAAE3E,YAAa;IACtBoD,SAAS,EAAE,IAAAW,UAAM,EAAChN,KAAK,CAACyP,MAAM,EAAEvM,IAAI,IAAI,CAACiD,EAAE,CAACiB,MAAM,IAAIpH,KAAK,CAAC+P,QAAQ,CAAE;IACtEhD,MAAM,EAAEtJ,MAAM,CAACsJ,MAAM,MAAAvD,MAAA,CAAM/F,MAAM,CAACsJ,MAAM,eAAYvF;EAAU,GAE7DtE,IAAI,IAAI,CAACiD,EAAE,CAACiB,MAAM,gBAAG1H,MAAA,CAAAoB,OAAA,CAAAyL,aAAA,CAAChN,GAAA,CAAAyQ,IAAI;IAAC7L,KAAK,EAAE8L,cAAI,CAACC;EAAO,CAAE,CAAC,GAAG5M,IAAI,IAAIS,SAAS,CAACkI,aAAI,CAACC,aAAa,CACnF,CACT,GACC,IACA,CACN,CAAC;AAEP,CAAC;AAACiE,OAAA,CAAAxN,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAACyN,WAAW,GAAG,mBAAmB;AAExCzN,MAAM,CAAC0N,SAAS,GAAG;EACjBpN,SAAS,EAAEqN,kBAAS,CAACC,IAAI;EACzBrN,IAAI,EAAEoN,kBAAS,CAACC,IAAI;EACpBpN,MAAM,EAAEmN,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;EAC7CpN,OAAO,EAAEkN,kBAAS,CAACG,MAAM;EACzBpN,OAAO,EAAEiN,kBAAS,CAACC,IAAI;EACvBjN,IAAI,EAAEgN,kBAAS,CAACG,MAAM;EACtBlN,QAAQ,EAAE+M,kBAAS,CAACI,IAAI;EACxBlN,QAAQ,EAAE8M,kBAAS,CAACI;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Finder.js","names":["_dataSources","require","_locale","_ui","Sentry","_interopRequireWildcard","_propTypes","_interopRequireDefault","_react2","_components","_Finder","_Finder2","_Finder3","style","_helpers","_getAvailableWidth","_helpers2","_prepareRoom","_shared__","_Occupation","_helpers3","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CHAIN","HOTEL","TYPE","timeoutMetricChange","Finder","_ref","_dataSource$places","_dataSource$places2","_dataSource$places2$o","_dataSource$places3","_dataSource$places4","_dataSource$places5","compacted","icon","layout","metrics","storage","text","onChange","onSubmit","others","isMobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","promo","skeleton","type","store","useStore","setCurrency","useState","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","is","debug","console","log","window","addEventListener","handlePageShow","document","handleClickOutside","Event","publish","EVENT","METRICS","id","removeEventListener","current","el","column","observer","IntersectionObserver","isIntersecting","undefined","getAvailableWidth","threshold","observe","unobserve","disabledDates","place","hotelId","isHotel","nextPromocode","rates","variants","code","next","promocode","publishChange","_fetchUrlParams","fetchUrlParams","location","search","fetchCurrency","FINDER_READY","event","handleFinder","calendar","handleSubmit","nextValue","subscribe","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","clearTimeout","setTimeout","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","_value$calendar","_nextValue","dataSource","places","CALENDAR","firstError","keys","filter","captureMessage","forwarderUrl","getForwarderUrl","setStorage","href","includes","forEach","FINDER_FIELD_CHANGE","previousValue","ids","getDataSource","hotel","idHotel","separatorColor","fieldVariant","Theme","inline","expand","fieldProps","hasPlaces","getFieldPosition","L10N","ACTION_SEARCH","ACTION_APPLY","variant","className","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","LABEL_WHERE","expanded","PLACES_LENGTH_LIMIT","markdown","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","centered","LABEL_WHEN","Calendar","parseCalendarProps","rangeMinDays","top","nextCalendar","onError","onValid","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Skeleton","large","button","words","Button","disabled","tabindex","wide","withIcon","Icon","ICON","SEARCH","exports","displayName","propTypes","PropTypes","bool","oneOf","string","func"],"sources":["../../../src/components/Finder/Finder.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Icon, Button, styles, Theme, useDevice, View } from '@mirai/ui';\nimport * as Sentry from '@sentry/react';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { Calendar, Places } from './components';\nimport { Compact } from './Finder.compact';\nimport { FIELD, PLACES_LENGTH_LIMIT, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getFieldPosition,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage } from './helpers';\nimport { getAvailableWidth } from './helpers/getAvailableWidth';\nimport { fetchCurrency, fetchUrlParams } from '../../helpers';\n// ! TODO: Why we don't publish prepareRoom in ../../helpers\nimport { prepareRoom } from '../../helpers/prepareRoom';\nimport { Field, FieldOccupation, FieldPromocode } from '../__shared__';\nimport { Skeleton } from '../__shared__';\nimport { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { CHAIN, HOTEL } = TYPE;\nlet timeoutMetricChange;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n layout,\n metrics = 'finder',\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: {\n components = {},\n currency: propCurrency,\n finder: storeFinder,\n forwarder,\n locale,\n promo = {},\n skeleton = false,\n type = HOTEL,\n ...store\n },\n } = useStore();\n\n const [currency, setCurrency] = useState();\n const [error, setError] = useState({});\n const [focus, setFocus] = useState();\n const [unavailability, setUnavailability] = useState();\n const [value, setValue] = useState(parseValue(storeFinder));\n const [visited, setVisited] = useState({});\n const [warning, setWarning] = useState();\n const [width, setWidth] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n if (!storeFinder?.occupation) set({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n\n if (is.debug && !storeFinder?.occupation) {\n // eslint-disable-next-line no-console\n console.log({ finder: { ...storeFinder, occupation: [prepareRoom(DATASOURCE)] } });\n }\n window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\n\n if (metrics === 'finder') Event.publish(EVENT.METRICS, { id: 'FINDER:RENDER' });\n\n return () => {\n window.removeEventListener('pageshow', handlePageShow);\n !isMobile && document.removeEventListener('click', handleClickOutside, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const { current: el } = ref || {};\n if (!is.column || !el) return;\n\n const observer = new IntersectionObserver(\n ([{ isIntersecting } = {}] = []) => isIntersecting && setWidth(getAvailableWidth(el)),\n { threshold: 0.1 },\n );\n if (el) observer.observe(el);\n\n return () => {\n if (el) observer.unobserve(el);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [deviceWidth]);\n\n useEffect(() => {\n unavailability && setUnavailability({ disabledDates: [] });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.occupation, value?.place]);\n\n useEffect(() => {\n const { place: { id: [hotelId] = [], isHotel } = {} } = value || {};\n const nextPromocode = !is.rates && ((promo.variants && promo.variants[hotelId]) || promo.code);\n if (nextPromocode) {\n const next = { ...value, promocode: nextPromocode };\n setValue(next);\n publishChange(next);\n }\n\n if (isHotel) {\n if (!fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(hotelId));\n })();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n !onSubmit && !skeleton && Event.publish(EVENT.FINDER_READY, { event: EVENT.FINDER_READY });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const handleFinder = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n Event.subscribe(EVENT.FINDER, handleFinder);\n\n return () => Event.unsubscribe(EVENT.FINDER, handleFinder);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, propCurrency]);\n\n // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.\n useEffect(() => setCurrency(propCurrency), [propCurrency]);\n\n useEffect(\n () => {\n const next = parseValue({ ...value, ...storeFinder });\n if (JSON.stringify(value) !== JSON.stringify(next)) {\n setValue(next);\n publishChange(next);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [storeFinder],\n );\n\n useEffect(() => {\n focus && setVisited({ ...visited, [`${focus}`]: true });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focus]);\n\n const handleChange = (field, fieldValue) => {\n const next = { ...value, [field]: fieldValue };\n\n setValue(next);\n onChange(next, field, fieldValue);\n publishChange(next);\n\n if (metrics) {\n clearTimeout(timeoutMetricChange);\n timeoutMetricChange = setTimeout(() => Event.publish(EVENT.METRICS, { id: `${metrics}:CHANGE:${field}` }), 500);\n }\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n\n const next = parseValue(storeFinder);\n setValue(next);\n publishChange(next);\n };\n\n const handlePlaceChange = (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n !is.rates && assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\n\n if (value.calendar?.length !== 2) return setFocus(VIEW.CALENDAR);\n\n const [firstError] = Object.keys(error).filter((key) => !!error[key]);\n if (firstError) return setFocus(firstError);\n\n setWarning(false);\n setFocus(undefined);\n if (!nextValue?.occupation) {\n try {\n Sentry.captureMessage(`FINDER:No occupation. NextValue: ${JSON.stringify(nextValue)}`);\n // eslint-disable-next-line no-empty\n } catch {}\n nextValue = { ...nextValue, occupation: [prepareRoom(DATASOURCE)] };\n }\n set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n storage && setStorage(nextValue, store?.id);\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\n\n if (metrics) Event.publish(EVENT.METRICS, { id: `${metrics}:SUBMIT`, ...nextValue });\n };\n\n const assistant = () => {\n const { calendar = [] } = value;\n if (focus === VIEW.PLACE && !visited.calendar && calendar.length !== 2) setFocus(VIEW.CALENDAR);\n else if (!compacted || [VIEW.CALENDAR, VIEW.PLACE].includes(focus)) setFocus(undefined);\n };\n\n const publishChange = (next) =>\n Object.keys(next || []).forEach((field) => {\n if (JSON.stringify(value[field]) !== JSON.stringify(next[field])) {\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: next[field] });\n }\n });\n\n const { calendar = [], occupation, place = {}, promocode } = value;\n const { id: ids = [], isHotel } = place;\n const dataSource = getDataSource({ type, ...store });\n const { hotel: { id: idHotel } = {} } = store;\n const id = type !== HOTEL ? (isHotel && ids.length === 1 ? ids[0] : undefined) : idHotel;\n\n const { separatorColor = '', ...fieldVariant } = Theme.get('--mirai-finder-field-');\n\n const is = {\n inline: separatorColor !== 'transparent',\n column: layout === 'column',\n expand: !isMobile && layout === 'expand',\n compacted: layout !== 'column' && (isMobile || (compacted && !focus)),\n debug: store?.id === '500138',\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n hasPlaces: !!dataSource.places,\n inline: is.inline,\n ...(!is.compacted ? getFieldPosition(ref) : undefined),\n text: is.rates ? translate(L10N.ACTION_SEARCH) : translate(L10N.ACTION_APPLY),\n variant: Object.keys(fieldVariant).length ? fieldVariant : undefined,\n className: style.field,\n style: is.column && width ? { maxWidth: width, width } : undefined,\n };\n\n // eslint-disable-next-line no-console\n is.debug && console.log({ place, calendar, occupation });\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ dataSource, skeleton, value }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n {...others}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={\n !is.compacted\n ? styles(style.finder, is.column && style.column, is.expand && style.expand, others.className)\n : undefined\n }\n >\n {(dataSource.places || (skeleton && type === CHAIN)) && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places?.options)}\n label={translate(L10N.LABEL_WHERE)}\n expanded={dataSource?.places?.options?.length >= PLACES_LENGTH_LIMIT}\n markdown={false}\n placeholder={dataSource?.places?.placeholder || translate(L10N.LABEL_WHERE_PLACEHOLDER)}\n visible={focus === VIEW.PLACE}\n onPress={() => setFocus(focus !== VIEW.PLACE ? VIEW.PLACE : undefined)}\n {...fieldProps}\n >\n <Places\n autoColumn={focus === VIEW.PLACE}\n dataSource={dataSource?.places?.options}\n text={compacted ? text : undefined}\n value={place.value}\n onChange={handlePlaceChange}\n onSubmit={is.rates ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-places` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n </>\n )}\n\n <Field\n {...FIELD.CALENDAR}\n caption={calendar.length ? getCalendarCaption(calendar, translate, dateFormat) : undefined}\n centered={type !== HOTEL && !is.column}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency || propCurrency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n top={fieldProps?.top}\n skeleton={skeleton}\n unavailability={unavailability}\n value={calendar}\n onChange={(nextCalendar, event) => {\n handleChange(VIEW.CALENDAR, nextCalendar, event);\n if (nextCalendar.length === 2 && !is.rates) {\n setError({ ...error, calendar: undefined });\n assistant();\n }\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {is.inline && <View className={style.separator} />}\n\n <FieldOccupation\n dataSource={getOccupationDataSource({\n ...dataSource,\n places: dataSource.places?.options,\n place: place?.value,\n })}\n hotels={getHotels(dataSource.placesSource, place.value)}\n maxRooms={dataSource.maxRooms}\n text={compacted ? text : undefined}\n value={occupation}\n visible={focus === VIEW.OCCUPATION}\n withWarning={warning}\n onChange={(occupation, event) => handleChange(VIEW.OCCUPATION, occupation, event)}\n onError={(occupation) => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n setError({ ...error, occupation });\n }}\n onPress={() => setFocus(focus !== VIEW.OCCUPATION ? VIEW.OCCUPATION : undefined)}\n onSubmit={is.rates ? handleSubmit : isMobile && is.compacted ? () => setFocus() : undefined}\n onValid={() => setError({ ...error, occupation: undefined })}\n onWarning={() => {\n if (!isMobile && focus !== VIEW.OCCUPATION) setFocus(VIEW.OCCUPATION);\n }}\n testId={others.testId ? `${others.testId}-occupation` : undefined}\n {...fieldProps}\n />\n\n {is.inline && <View className={style.separator} />}\n\n <FieldPromocode\n value={promocode}\n visible={focus === VIEW.PROMOCODE}\n onChange={(promocode, event) => handleChange(VIEW.PROMOCODE, promocode, event)}\n onEnter={!is.compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!is.compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && is.compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && is.compacted ? (is.rates ? handleSubmit : () => setFocus()) : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted ? (\n skeleton ? (\n <Skeleton large button words={1} />\n ) : (\n <Button\n disabled={skeleton}\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, icon && !is.column && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {icon && !is.column ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )\n ) : null}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n layout: PropTypes.oneOf(['column', 'expand']),\n metrics: PropTypes.string,\n storage: PropTypes.bool,\n text: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Finder };\n"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ var _helpers = require("./helpers");
|
|
|
12
12
|
var _Places = require("./Places.l10n");
|
|
13
13
|
var style = _interopRequireWildcard(require("./Places.module.css"));
|
|
14
14
|
var _helpers2 = require("../../../helpers");
|
|
15
|
+
var _Finder = require("../../Finder.constants");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -52,7 +53,7 @@ const Places = _ref => {
|
|
|
52
53
|
return /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
53
54
|
role: "places",
|
|
54
55
|
className: (0, _ui.styles)(style.container, onSubmit && style.withSubmit)
|
|
55
|
-
}, dataSource.length >=
|
|
56
|
+
}, dataSource.length >= _Finder.PLACES_LENGTH_LIMIT && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
56
57
|
row: true,
|
|
57
58
|
className: style.header
|
|
58
59
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","search","setSearch","useEffect","isMobile","calcColumns","hasSubmit","undefined","testId","results","filter","item","arguments","length","normalizeString","JSON","stringify","includes","createElement","View","role","className","styles","container","withSubmit","row","header","Icon","ICON","SEARCH","Input","placeholder","concat","L10N","ACTION_SEARCH","type","input","ScrollView","defaultScrollIndicator","scrollIndicator","snap","tag","scrollview","map","index","id","idHotel","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","Text","action","bold","markdown","repeat","footer","Button","disabled","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Icon, Input, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns, normalizeString } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\nimport { ICON } from '../../../helpers';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn)\n setColumns(autoColumn ? calcColumns({ dataSource, device, hasSubmit: !!onSubmit }) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n const results = search\n ? dataSource.filter((item = {}) => normalizeString(JSON.stringify(item)).includes(normalizeString(search)))\n : dataSource;\n\n return (\n <View role=\"places\" className={styles(style.container, onSubmit && style.withSubmit)}>\n {dataSource.length >= 10 && (\n <View row className={style.header}>\n <Icon value={ICON.SEARCH} />\n <Input\n placeholder={`${translate(L10N.ACTION_SEARCH)}...`}\n type=\"search\"\n value={search}\n onChange={setSearch}\n className={style.input}\n />\n </View>\n )}\n\n {results.length > 0 ? (\n <ScrollView\n defaultScrollIndicator\n scrollIndicator={columns == 1}\n snap={device?.isMobile}\n tag=\"ul\"\n className={styles(style.scrollview, columns > 1 && style.columns, columns > 1 && style[`columns${columns}`])}\n testId={testId}\n >\n {results.map((item = {}, index) => {\n const { id: [idHotel] = [], isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n ...(isHotel ? { ['data-hotel-id']: idHotel } : undefined),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n ) : null}\n\n {onSubmit && (\n <View className={style.footer}>\n <Button disabled={!value} onPress={onSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Places.js","names":["_locale","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Places","style","_helpers2","_Finder","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Places","_ref","autoColumn","dataSource","text","value","onChange","onSubmit","others","device","useDevice","translate","useLocale","columns","setColumns","useState","search","setSearch","useEffect","isMobile","calcColumns","hasSubmit","undefined","testId","results","filter","item","arguments","length","normalizeString","JSON","stringify","includes","createElement","View","role","className","styles","container","withSubmit","PLACES_LENGTH_LIMIT","row","header","Icon","ICON","SEARCH","Input","placeholder","concat","L10N","ACTION_SEARCH","type","input","ScrollView","defaultScrollIndicator","scrollIndicator","snap","tag","scrollview","map","index","id","idHotel","isHotel","level","title","itemValue","React","Pressable","key","selected","head","onPress","Text","action","bold","markdown","repeat","footer","Button","disabled","exports","displayName","propTypes","PropTypes","bool","arrayOf","shape","string","isRequired","number","func"],"sources":["../../../../../src/components/Finder/components/Places/Places.jsx"],"sourcesContent":["import { useLocale } from '@mirai/locale';\nimport { Button, Icon, Input, Pressable, styles, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { calcColumns, normalizeString } from './helpers';\nimport { L10N } from './Places.l10n';\nimport * as style from './Places.module.css';\nimport { ICON } from '../../../helpers';\nimport { PLACES_LENGTH_LIMIT } from '../../Finder.constants';\n\nconst Places = ({ autoColumn = true, dataSource = [], text, value, onChange = () => {}, onSubmit, ...others }) => {\n const device = useDevice();\n const { translate } = useLocale();\n\n const [columns, setColumns] = useState();\n const [search, setSearch] = useState();\n\n useEffect(() => {\n const { isMobile } = device;\n\n if (!isMobile && autoColumn)\n setColumns(autoColumn ? calcColumns({ dataSource, device, hasSubmit: !!onSubmit }) : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoColumn, device, dataSource]);\n\n const { testId } = others;\n\n const results = search\n ? dataSource.filter((item = {}) => normalizeString(JSON.stringify(item)).includes(normalizeString(search)))\n : dataSource;\n\n return (\n <View role=\"places\" className={styles(style.container, onSubmit && style.withSubmit)}>\n {dataSource.length >= PLACES_LENGTH_LIMIT && (\n <View row className={style.header}>\n <Icon value={ICON.SEARCH} />\n <Input\n placeholder={`${translate(L10N.ACTION_SEARCH)}...`}\n type=\"search\"\n value={search}\n onChange={setSearch}\n className={style.input}\n />\n </View>\n )}\n\n {results.length > 0 ? (\n <ScrollView\n defaultScrollIndicator\n scrollIndicator={columns == 1}\n snap={device?.isMobile}\n tag=\"ul\"\n className={styles(style.scrollview, columns > 1 && style.columns, columns > 1 && style[`columns${columns}`])}\n testId={testId}\n >\n {results.map((item = {}, index) => {\n const { id: [idHotel] = [], isHotel, level, title, value: itemValue } = item;\n\n return React.createElement(\n itemValue ? Pressable : View,\n {\n key: `place:${index}`,\n tag: 'li',\n className: styles(style.item, itemValue ? itemValue === value && style.selected : style.head),\n ...(itemValue ? { onPress: () => onChange(item) } : { row: true }),\n ...(isHotel ? { ['data-hotel-id']: idHotel } : undefined),\n testId: testId ? `${testId}-item-${index}` : undefined,\n },\n <Text action={level !== 0} bold={!isHotel} markdown={false} className={style.title}>\n {'\\u00A0'.repeat(level)}\n {title}\n </Text>,\n );\n })}\n </ScrollView>\n ) : null}\n\n {onSubmit && (\n <View className={style.footer}>\n <Button disabled={!value} onPress={onSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {text || translate(L10N.ACTION_SEARCH)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nPlaces.displayName = 'Mirai:Core:Finder:Places';\n\nPlaces.propTypes = {\n autoColumn: PropTypes.bool,\n dataSource: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.arrayOf(PropTypes.string).isRequired,\n isHotel: PropTypes.bool,\n level: PropTypes.number,\n title: PropTypes.string.isRequired,\n value: PropTypes.number.isRequired,\n }),\n ),\n text: PropTypes.string,\n value: PropTypes.number,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Places };\n"],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ const Field = _ref => {
|
|
|
21
21
|
children,
|
|
22
22
|
compacted = false,
|
|
23
23
|
error = false,
|
|
24
|
+
expanded = false,
|
|
24
25
|
hasPlaces = false,
|
|
25
26
|
icon,
|
|
26
27
|
inline = false,
|
|
@@ -108,7 +109,7 @@ const Field = _ref => {
|
|
|
108
109
|
visible,
|
|
109
110
|
onClose: onPress,
|
|
110
111
|
onOverflow: onPress,
|
|
111
|
-
className: style.modal,
|
|
112
|
+
className: (0, _ui.styles)(style.modal, expanded && style.expanded),
|
|
112
113
|
['testId']: testId ? "".concat(testId, "-modal") : undefined
|
|
113
114
|
} : undefined, children));
|
|
114
115
|
};
|
|
@@ -119,6 +120,7 @@ Field.propTypes = {
|
|
|
119
120
|
children: _propTypes.default.node,
|
|
120
121
|
compacted: _propTypes.default.bool,
|
|
121
122
|
error: _propTypes.default.bool,
|
|
123
|
+
expanded: _propTypes.default.bool,
|
|
122
124
|
hasPlaces: _propTypes.default.bool,
|
|
123
125
|
icon: _propTypes.default.func,
|
|
124
126
|
inline: _propTypes.default.bool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_Skeleton","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Field","_ref","caption","children","compacted","error","hasPlaces","icon","inline","inputMode","label","markdown","placeholder","variant","visible","warning","onPress","others","isMobile","useDevice","value","skeleton","useStore","hover","setHover","useState","Wrapper","Layer","Fragment","bottom","centered","tabIndex","testId","top","createElement","className","layerContent","undefined","Pressable","onEnter","onLeave","role","styles","field","focus","borderColor","borderActive","borderStyle","borderRadius","borderWidth","Icon","context","iconColor","color","View","input","Text","small","action","Skeleton","words","ICON","ERROR","WARNING","React","Modal","LayerContent","forceRender","portal","title","onClose","onOverflow","modal","concat","exports","displayName","propTypes","PropTypes","oneOfType","string","array","node","bool","func","number","shape","border","any"],"sources":["../../../../src/components/__shared__/Field/Field.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Icon, Layer, LayerContent, Modal, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState, Fragment } from 'react';\n\nimport * as style from './Field.module.css';\nimport { ICON } from '../../helpers';\nimport { Skeleton } from '../Skeleton';\n\nconst Field = ({\n caption,\n children,\n compacted = false,\n error = false,\n hasPlaces = false,\n icon,\n inline = false,\n inputMode = false,\n label,\n markdown = true,\n placeholder,\n variant = {},\n visible,\n warning = false,\n onPress = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { value: { skeleton = false } = {} } = useStore();\n\n const [hover, setHover] = useState(false);\n\n const Wrapper = !isMobile ? Layer : Fragment;\n const { bottom, centered, tabIndex, testId, top } = others;\n\n return (\n <Wrapper {...(!isMobile ? { bottom, centered, top, visible, className: style.layerContent } : undefined)}>\n {!compacted && (\n <Pressable\n {...(!skeleton\n ? {\n onPress,\n onEnter: () => setHover(true),\n onLeave: () => setHover(false),\n }\n : undefined)}\n role=\"field\"\n tabIndex={tabIndex}\n className={styles(\n style.field,\n hasPlaces && style.hasPlaces,\n inline && style.inline,\n visible && style.focus,\n hover && style.hover,\n error && style.error,\n others.className,\n )}\n style={{\n ...others.style,\n borderColor: hover || visible ? variant.borderActive : variant.borderColor,\n borderStyle: variant.borderStyle,\n borderRadius: variant.borderRadius,\n borderWidth: variant.borderWidth,\n }}\n testId={testId}\n >\n {icon && (\n <Icon\n value={icon}\n className={[style.icon, style.context, skeleton && style.skeleton]}\n style={variant.iconColor && !skeleton ? { color: variant.iconColor } : undefined}\n />\n )}\n\n {!skeleton ? (\n <View className={style.input}>\n {label && (\n <Text small className={style.label}>\n {label}\n </Text>\n )}\n {inputMode ? (\n children\n ) : (\n <Text\n action\n markdown={markdown}\n className={styles(style.caption, !caption && placeholder && style.placeholder)}\n >\n {caption || placeholder}\n </Text>\n )}\n </View>\n ) : (\n <View className={style.input}>\n <Skeleton small words={1} className={style.label} />\n <Skeleton\n action\n words={2}\n className={styles(style.caption, !caption && placeholder && style.placeholder)}\n />\n </View>\n )}\n\n {(error || warning) && (\n <Icon\n value={error ? ICON.ERROR : ICON.WARNING}\n className={styles(style.icon, error ? style.error : style.warning)}\n />\n )}\n </Pressable>\n )}\n\n {children &&\n !inputMode &&\n React.createElement(\n isMobile ? Modal : LayerContent,\n isMobile\n ? {\n forceRender: others?.forceRender,\n portal: true,\n title: label,\n visible,\n onClose: onPress,\n onOverflow: onPress,\n className: style.modal,\n ['testId']: testId ? `${testId}-modal` : undefined,\n }\n : undefined,\n children,\n )}\n </Wrapper>\n );\n};\n\nField.displayName = 'Mirai:Core:Field';\n\nField.propTypes = {\n caption: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n children: PropTypes.node,\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n hasPlaces: PropTypes.bool,\n icon: PropTypes.func,\n inline: PropTypes.bool,\n inputMode: PropTypes.bool,\n label: PropTypes.string,\n markdown: PropTypes.bool,\n placeholder: PropTypes.string,\n tabIndex: PropTypes.number,\n variant: PropTypes.shape({\n border: PropTypes.any,\n borderActive: PropTypes.any,\n borderRadius: PropTypes.any,\n }),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { Field };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Field.js","names":["_dataSources","require","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_helpers","_Skeleton","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Field","_ref","caption","children","compacted","error","expanded","hasPlaces","icon","inline","inputMode","label","markdown","placeholder","variant","visible","warning","onPress","others","isMobile","useDevice","value","skeleton","useStore","hover","setHover","useState","Wrapper","Layer","Fragment","bottom","centered","tabIndex","testId","top","createElement","className","layerContent","undefined","Pressable","onEnter","onLeave","role","styles","field","focus","borderColor","borderActive","borderStyle","borderRadius","borderWidth","Icon","context","iconColor","color","View","input","Text","small","action","Skeleton","words","ICON","ERROR","WARNING","React","Modal","LayerContent","forceRender","portal","title","onClose","onOverflow","modal","concat","exports","displayName","propTypes","PropTypes","oneOfType","string","array","node","bool","func","number","shape","border","any"],"sources":["../../../../src/components/__shared__/Field/Field.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { Icon, Layer, LayerContent, Modal, Pressable, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useState, Fragment } from 'react';\n\nimport * as style from './Field.module.css';\nimport { ICON } from '../../helpers';\nimport { Skeleton } from '../Skeleton';\n\nconst Field = ({\n caption,\n children,\n compacted = false,\n error = false,\n expanded = false,\n hasPlaces = false,\n icon,\n inline = false,\n inputMode = false,\n label,\n markdown = true,\n placeholder,\n variant = {},\n visible,\n warning = false,\n onPress = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { value: { skeleton = false } = {} } = useStore();\n\n const [hover, setHover] = useState(false);\n\n const Wrapper = !isMobile ? Layer : Fragment;\n const { bottom, centered, tabIndex, testId, top } = others;\n\n return (\n <Wrapper {...(!isMobile ? { bottom, centered, top, visible, className: style.layerContent } : undefined)}>\n {!compacted && (\n <Pressable\n {...(!skeleton\n ? {\n onPress,\n onEnter: () => setHover(true),\n onLeave: () => setHover(false),\n }\n : undefined)}\n role=\"field\"\n tabIndex={tabIndex}\n className={styles(\n style.field,\n hasPlaces && style.hasPlaces,\n inline && style.inline,\n visible && style.focus,\n hover && style.hover,\n error && style.error,\n others.className,\n )}\n style={{\n ...others.style,\n borderColor: hover || visible ? variant.borderActive : variant.borderColor,\n borderStyle: variant.borderStyle,\n borderRadius: variant.borderRadius,\n borderWidth: variant.borderWidth,\n }}\n testId={testId}\n >\n {icon && (\n <Icon\n value={icon}\n className={[style.icon, style.context, skeleton && style.skeleton]}\n style={variant.iconColor && !skeleton ? { color: variant.iconColor } : undefined}\n />\n )}\n\n {!skeleton ? (\n <View className={style.input}>\n {label && (\n <Text small className={style.label}>\n {label}\n </Text>\n )}\n {inputMode ? (\n children\n ) : (\n <Text\n action\n markdown={markdown}\n className={styles(style.caption, !caption && placeholder && style.placeholder)}\n >\n {caption || placeholder}\n </Text>\n )}\n </View>\n ) : (\n <View className={style.input}>\n <Skeleton small words={1} className={style.label} />\n <Skeleton\n action\n words={2}\n className={styles(style.caption, !caption && placeholder && style.placeholder)}\n />\n </View>\n )}\n\n {(error || warning) && (\n <Icon\n value={error ? ICON.ERROR : ICON.WARNING}\n className={styles(style.icon, error ? style.error : style.warning)}\n />\n )}\n </Pressable>\n )}\n\n {children &&\n !inputMode &&\n React.createElement(\n isMobile ? Modal : LayerContent,\n isMobile\n ? {\n forceRender: others?.forceRender,\n portal: true,\n title: label,\n visible,\n onClose: onPress,\n onOverflow: onPress,\n className: styles(style.modal, expanded && style.expanded),\n ['testId']: testId ? `${testId}-modal` : undefined,\n }\n : undefined,\n children,\n )}\n </Wrapper>\n );\n};\n\nField.displayName = 'Mirai:Core:Field';\n\nField.propTypes = {\n caption: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),\n children: PropTypes.node,\n compacted: PropTypes.bool,\n error: PropTypes.bool,\n expanded: PropTypes.bool,\n hasPlaces: PropTypes.bool,\n icon: PropTypes.func,\n inline: PropTypes.bool,\n inputMode: PropTypes.bool,\n label: PropTypes.string,\n markdown: PropTypes.bool,\n placeholder: PropTypes.string,\n tabIndex: PropTypes.number,\n variant: PropTypes.shape({\n border: PropTypes.any,\n borderActive: PropTypes.any,\n borderRadius: PropTypes.any,\n }),\n visible: PropTypes.bool,\n warning: PropTypes.bool,\n onPress: PropTypes.func,\n};\n\nexport { Field };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAD,uBAAA,CAAAL,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAAuC,SAAAS,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAf,uBAAA2B,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAhB,UAAA,GAAAgB,GAAA,KAAAf,OAAA,EAAAe,GAAA;AAAA,SAAAC,SAAA,IAAAA,QAAA,GAAAV,MAAA,CAAAW,MAAA,GAAAX,MAAA,CAAAW,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAN,CAAA,MAAAA,CAAA,GAAAO,SAAA,CAAAC,MAAA,EAAAR,CAAA,UAAAS,MAAA,GAAAF,SAAA,CAAAP,CAAA,YAAAU,GAAA,IAAAD,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAEvC,MAAMK,KAAK,GAAGC,IAAA,IAkBR;EAAA,IAlBS;IACbC,OAAO;IACPC,QAAQ;IACRC,SAAS,GAAG,KAAK;IACjBC,KAAK,GAAG,KAAK;IACbC,QAAQ,GAAG,KAAK;IAChBC,SAAS,GAAG,KAAK;IACjBC,IAAI;IACJC,MAAM,GAAG,KAAK;IACdC,SAAS,GAAG,KAAK;IACjBC,KAAK;IACLC,QAAQ,GAAG,IAAI;IACfC,WAAW;IACXC,OAAO,GAAG,CAAC,CAAC;IACZC,OAAO;IACPC,OAAO,GAAG,KAAK;IACfC,OAAO,GAAGA,CAAA,KAAM,CAAC,CAAC;IAClB,GAAGC;EACL,CAAC,GAAAjB,IAAA;EACC,MAAM;IAAEkB;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,KAAK,EAAE;MAAEC,QAAQ,GAAG;IAAM,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEvD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEzC,MAAMC,OAAO,GAAG,CAACR,QAAQ,GAAGS,SAAK,GAAGC,eAAQ;EAC5C,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAI,CAAC,GAAGhB,MAAM;EAE1D,oBACEtD,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAACR,OAAO,EAAM,CAACR,QAAQ,GAAG;IAAEW,MAAM;IAAEC,QAAQ;IAAEG,GAAG;IAAEnB,OAAO;IAAEqB,SAAS,EAAEtE,KAAK,CAACuE;EAAa,CAAC,GAAGC,SAAS,EACpG,CAAClC,SAAS,iBACTxC,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAA8E,SAAS,EAAAhD,QAAA,KACH,CAAC+B,QAAQ,GACV;IACEL,OAAO;IACPuB,OAAO,EAAEA,CAAA,KAAMf,QAAQ,CAAC,IAAI,CAAC;IAC7BgB,OAAO,EAAEA,CAAA,KAAMhB,QAAQ,CAAC,KAAK;EAC/B,CAAC,GACDa,SAAS;IACbI,IAAI,EAAC,OAAO;IACZV,QAAQ,EAAEA,QAAS;IACnBI,SAAS,EAAE,IAAAO,UAAM,EACf7E,KAAK,CAAC8E,KAAK,EACXrC,SAAS,IAAIzC,KAAK,CAACyC,SAAS,EAC5BE,MAAM,IAAI3C,KAAK,CAAC2C,MAAM,EACtBM,OAAO,IAAIjD,KAAK,CAAC+E,KAAK,EACtBrB,KAAK,IAAI1D,KAAK,CAAC0D,KAAK,EACpBnB,KAAK,IAAIvC,KAAK,CAACuC,KAAK,EACpBa,MAAM,CAACkB,SACT,CAAE;IACFtE,KAAK,EAAE;MACL,GAAGoD,MAAM,CAACpD,KAAK;MACfgF,WAAW,EAAEtB,KAAK,IAAIT,OAAO,GAAGD,OAAO,CAACiC,YAAY,GAAGjC,OAAO,CAACgC,WAAW;MAC1EE,WAAW,EAAElC,OAAO,CAACkC,WAAW;MAChCC,YAAY,EAAEnC,OAAO,CAACmC,YAAY;MAClCC,WAAW,EAAEpC,OAAO,CAACoC;IACvB,CAAE;IACFjB,MAAM,EAAEA;EAAO,IAEdzB,IAAI,iBACH5C,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAA0F,IAAI;IACH9B,KAAK,EAAEb,IAAK;IACZ4B,SAAS,EAAE,CAACtE,KAAK,CAAC0C,IAAI,EAAE1C,KAAK,CAACsF,OAAO,EAAE9B,QAAQ,IAAIxD,KAAK,CAACwD,QAAQ,CAAE;IACnExD,KAAK,EAAEgD,OAAO,CAACuC,SAAS,IAAI,CAAC/B,QAAQ,GAAG;MAAEgC,KAAK,EAAExC,OAAO,CAACuC;IAAU,CAAC,GAAGf;EAAU,CAClF,CACF,EAEA,CAAChB,QAAQ,gBACR1D,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAA8F,IAAI;IAACnB,SAAS,EAAEtE,KAAK,CAAC0F;EAAM,GAC1B7C,KAAK,iBACJ/C,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAAgG,IAAI;IAACC,KAAK;IAACtB,SAAS,EAAEtE,KAAK,CAAC6C;EAAM,GAChCA,KACG,CACP,EACAD,SAAS,GACRP,QAAQ,gBAERvC,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAAgG,IAAI;IACHE,MAAM;IACN/C,QAAQ,EAAEA,QAAS;IACnBwB,SAAS,EAAE,IAAAO,UAAM,EAAC7E,KAAK,CAACoC,OAAO,EAAE,CAACA,OAAO,IAAIW,WAAW,IAAI/C,KAAK,CAAC+C,WAAW;EAAE,GAE9EX,OAAO,IAAIW,WACR,CAEJ,CAAC,gBAEPjD,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAA8F,IAAI;IAACnB,SAAS,EAAEtE,KAAK,CAAC0F;EAAM,gBAC3B5F,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAACnE,SAAA,CAAA4F,QAAQ;IAACF,KAAK;IAACG,KAAK,EAAE,CAAE;IAACzB,SAAS,EAAEtE,KAAK,CAAC6C;EAAM,CAAE,CAAC,eACpD/C,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAACnE,SAAA,CAAA4F,QAAQ;IACPD,MAAM;IACNE,KAAK,EAAE,CAAE;IACTzB,SAAS,EAAE,IAAAO,UAAM,EAAC7E,KAAK,CAACoC,OAAO,EAAE,CAACA,OAAO,IAAIW,WAAW,IAAI/C,KAAK,CAAC+C,WAAW;EAAE,CAChF,CACG,CACP,EAEA,CAACR,KAAK,IAAIW,OAAO,kBAChBpD,MAAA,CAAAW,OAAA,CAAA4D,aAAA,CAAC1E,GAAA,CAAA0F,IAAI;IACH9B,KAAK,EAAEhB,KAAK,GAAGyD,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACE,OAAQ;IACzC5B,SAAS,EAAE,IAAAO,UAAM,EAAC7E,KAAK,CAAC0C,IAAI,EAAEH,KAAK,GAAGvC,KAAK,CAACuC,KAAK,GAAGvC,KAAK,CAACkD,OAAO;EAAE,CACpE,CAEM,CACZ,EAEAb,QAAQ,IACP,CAACO,SAAS,iBACVuD,cAAK,CAAC9B,aAAa,CACjBhB,QAAQ,GAAG+C,SAAK,GAAGC,gBAAY,EAC/BhD,QAAQ,GACJ;IACEiD,WAAW,EAAElD,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEkD,WAAW;IAChCC,MAAM,EAAE,IAAI;IACZC,KAAK,EAAE3D,KAAK;IACZI,OAAO;IACPwD,OAAO,EAAEtD,OAAO;IAChBuD,UAAU,EAAEvD,OAAO;IACnBmB,SAAS,EAAE,IAAAO,UAAM,EAAC7E,KAAK,CAAC2G,KAAK,EAAEnE,QAAQ,IAAIxC,KAAK,CAACwC,QAAQ,CAAC;IAC1D,CAAC,QAAQ,GAAG2B,MAAM,MAAAyC,MAAA,CAAMzC,MAAM,cAAWK;EAC3C,CAAC,GACDA,SAAS,EACbnC,QACF,CACK,CAAC;AAEd,CAAC;AAACwE,OAAA,CAAA3E,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAAC4E,WAAW,GAAG,kBAAkB;AAEtC5E,KAAK,CAAC6E,SAAS,GAAG;EAChB3E,OAAO,EAAE4E,kBAAS,CAACC,SAAS,CAAC,CAACD,kBAAS,CAACE,MAAM,EAAEF,kBAAS,CAACG,KAAK,CAAC,CAAC;EACjE9E,QAAQ,EAAE2E,kBAAS,CAACI,IAAI;EACxB9E,SAAS,EAAE0E,kBAAS,CAACK,IAAI;EACzB9E,KAAK,EAAEyE,kBAAS,CAACK,IAAI;EACrB7E,QAAQ,EAAEwE,kBAAS,CAACK,IAAI;EACxB5E,SAAS,EAAEuE,kBAAS,CAACK,IAAI;EACzB3E,IAAI,EAAEsE,kBAAS,CAACM,IAAI;EACpB3E,MAAM,EAAEqE,kBAAS,CAACK,IAAI;EACtBzE,SAAS,EAAEoE,kBAAS,CAACK,IAAI;EACzBxE,KAAK,EAAEmE,kBAAS,CAACE,MAAM;EACvBpE,QAAQ,EAAEkE,kBAAS,CAACK,IAAI;EACxBtE,WAAW,EAAEiE,kBAAS,CAACE,MAAM;EAC7BhD,QAAQ,EAAE8C,kBAAS,CAACO,MAAM;EAC1BvE,OAAO,EAAEgE,kBAAS,CAACQ,KAAK,CAAC;IACvBC,MAAM,EAAET,kBAAS,CAACU,GAAG;IACrBzC,YAAY,EAAE+B,kBAAS,CAACU,GAAG;IAC3BvC,YAAY,EAAE6B,kBAAS,CAACU;EAC1B,CAAC,CAAC;EACFzE,OAAO,EAAE+D,kBAAS,CAACK,IAAI;EACvBnE,OAAO,EAAE8D,kBAAS,CAACK,IAAI;EACvBlE,OAAO,EAAE6D,kBAAS,CAACM;AACrB,CAAC"}
|