@mirai/core 0.3.379 → 0.3.381

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/__tests__/Checkout/__mocks__/checkout-get.json +935 -0
  2. package/__tests__/Checkout/__mocks__/checkout-post-PAYLATER.json +10 -0
  3. package/__tests__/Checkout/__mocks__/checkout-post-TPV.json +7 -0
  4. package/__tests__/Checkout/__mocks__/checkout-post-TRANSFER.json +10 -0
  5. package/__tests__/Checkout/checkout.constants.js +8 -0
  6. package/__tests__/Checkout/checkout.spec.jsx +40 -0
  7. package/__tests__/Checkout/workflows/form.workflow.js +17 -0
  8. package/__tests__/Checkout/workflows/index.js +4 -0
  9. package/__tests__/Checkout/workflows/payment.workflow.js +10 -0
  10. package/__tests__/Checkout/workflows/review.workflow.js +19 -0
  11. package/__tests__/Checkout/workflows/submit.workflow.js +9 -0
  12. package/__tests__/Finder/finder.spec.js +64 -0
  13. package/__tests__/Finder/workflows/calendar.workflow.js +9 -0
  14. package/__tests__/Finder/workflows/index.js +3 -0
  15. package/__tests__/Finder/workflows/occupation.workflow.js +13 -0
  16. package/__tests__/Finder/workflows/promocode.workflow.js +8 -0
  17. package/__tests__/Rates/__mocks__/rates-success.json +731 -0
  18. package/__tests__/Rates/rates.spec.jsx +20 -0
  19. package/__tests__/Session/workflows/forgotPassword.workflow.js +4 -2
  20. package/__tests__/Session/workflows/login.workflow.js +5 -3
  21. package/__tests__/Session/workflows/profile.workflow.js +11 -9
  22. package/__tests__/Signup/workflows/signup.workflow.js +9 -7
  23. package/__tests__/constants.js +18 -0
  24. package/__tests__/helpers/getWeekNumber.js +8 -0
  25. package/__tests__/helpers/index.js +1 -0
  26. package/build/components/Checkout/Checkout.js +1 -0
  27. package/build/components/Checkout/Checkout.js.map +1 -1
  28. package/build/components/Checkout/__tests__/__snapshots__/Checkout.test.js.snap +16 -16
  29. package/build/components/Checkout/partials/Checkout.Confirmation.js +2 -1
  30. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  31. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +6 -0
  32. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +28 -8
  33. package/build/components/Deals/__tests__/__snapshots__/Deals.Calendar.test.js.snap +114 -114
  34. package/build/components/Deals/__tests__/__snapshots__/Deals.test.js.snap +211 -209
  35. package/build/components/Environment/Environment.js +4 -2
  36. package/build/components/Environment/Environment.js.map +1 -1
  37. package/build/components/Finder/Finder.compact.js +10 -5
  38. package/build/components/Finder/Finder.compact.js.map +1 -1
  39. package/build/components/Finder/Finder.constants.js +1 -2
  40. package/build/components/Finder/Finder.constants.js.map +1 -1
  41. package/build/components/Finder/Finder.js +4 -20
  42. package/build/components/Finder/Finder.js.map +1 -1
  43. package/build/components/Finder/__tests__/__snapshots__/Finder.test.js.snap +734 -730
  44. package/build/components/Finder/components/Calendar/__tests__/__snapshots__/Calendar.test.js.snap +419 -419
  45. package/build/components/__shared__/BookingDetails/BookingDetails.js +2 -1
  46. package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
  47. package/build/components/__shared__/BookingDetails/__tests__/__snapshots__/BookingDetails.test.js.snap +5 -0
  48. package/build/components/__shared__/BookingSummary/BookingSummary.js +2 -1
  49. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  50. package/build/components/__shared__/ButtonMore/ButtonMore.js +1 -1
  51. package/build/components/__shared__/ButtonMore/ButtonMore.js.map +1 -1
  52. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +2 -0
  53. package/build/components/__shared__/FieldOccupation/__tests__/__snapshots__/FieldOccupation.test.js.snap +1 -0
  54. package/build/components/__shared__/FieldPromocode/FieldPromocode.js +4 -2
  55. package/build/components/__shared__/FieldPromocode/FieldPromocode.js.map +1 -1
  56. package/build/components/__shared__/FieldPromocode/__tests__/__snapshots__/FieldPromocode.test.jsx.snap +2 -1
  57. package/build/components/__shared__/Occupation/Occupation.Group.js +2 -1
  58. package/build/components/__shared__/Occupation/Occupation.Group.js.map +1 -1
  59. package/build/components/__shared__/Occupation/__tests__/__snapshots__/Occupation.test.js.snap +6 -0
  60. package/build/components/__shared__/Payment/Payment.js +2 -1
  61. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  62. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +25 -10
  63. package/build/helpers/consolidateStore.js +1 -1
  64. package/build/helpers/consolidateStore.js.map +1 -1
  65. package/package.json +2 -1
  66. package/playwright.config.js +10 -7
  67. package/public/index.html +6 -1
  68. package/public/routes/Home.jsx +3 -2
  69. package/__tests__/Finder/finder._spec.js +0 -18
@@ -26,10 +26,12 @@ const Environment = _ref => {
26
26
  className: [style.container, others.className]
27
27
  }, showCurrencies && /*#__PURE__*/_react.default.createElement(_shared__.SelectEnvironment, {
28
28
  name: "currency",
29
- small: true
29
+ small: true,
30
+ testId: "select-currency"
30
31
  }), showLocale && /*#__PURE__*/_react.default.createElement(_shared__.SelectEnvironment, {
31
32
  name: "locale",
32
- small: true
33
+ small: true,
34
+ testId: "select-locale"
33
35
  }), showState && /*#__PURE__*/_react.default.createElement(_Environment.State, null)) : null;
34
36
  };
35
37
  exports.Environment = Environment;
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Environment","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Environment","_ref","currencies","showCurrencies","locale","showLocale","state","showState","others","createElement","View","row","testId","className","container","SelectEnvironment","name","small","State","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Environment/Environment.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Environment.module.css';\nimport { State } from './Environment.State';\nimport { SelectEnvironment } from '../__shared__';\n\nexport const Environment = ({\n currencies: showCurrencies = false,\n locale: showLocale = true,\n state: showState = true,\n ...others\n}) =>\n showLocale || showCurrencies || showState ? (\n <View row testId={others.testId} className={[style.container, others.className]}>\n {showCurrencies && <SelectEnvironment name=\"currency\" small />}\n {showLocale && <SelectEnvironment name=\"locale\" small />}\n {showState && <State />}\n </View>\n ) : null;\n\nEnvironment.displayName = 'Mirai:Core:Environment';\n\nEnvironment.propTypes = {\n currencies: PropTypes.bool,\n locale: PropTypes.bool,\n state: PropTypes.bool,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Environment.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","style","_interopRequireWildcard","_Environment","_shared__","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Environment","_ref","currencies","showCurrencies","locale","showLocale","state","showState","others","createElement","View","row","testId","className","container","SelectEnvironment","name","small","State","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Environment/Environment.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport * as style from './Environment.module.css';\nimport { State } from './Environment.State';\nimport { SelectEnvironment } from '../__shared__';\n\nexport const Environment = ({\n currencies: showCurrencies = false,\n locale: showLocale = true,\n state: showState = true,\n ...others\n}) =>\n showLocale || showCurrencies || showState ? (\n <View row testId={others.testId} className={[style.container, others.className]}>\n {showCurrencies && <SelectEnvironment name=\"currency\" small testId=\"select-currency\" />}\n {showLocale && <SelectEnvironment name=\"locale\" small testId=\"select-locale\" />}\n {showState && <State />}\n </View>\n ) : null;\n\nEnvironment.displayName = 'Mirai:Core:Environment';\n\nEnvironment.propTypes = {\n currencies: PropTypes.bool,\n locale: PropTypes.bool,\n state: PropTypes.bool,\n};\n"],"mappings":"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"}
@@ -41,7 +41,8 @@ const Compact = function () {
41
41
  promocode
42
42
  } = {},
43
43
  onExpand = () => {},
44
- onSubmit
44
+ onSubmit,
45
+ ...others
45
46
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
46
47
  const {
47
48
  isMobile
@@ -81,7 +82,8 @@ const Compact = function () {
81
82
  className: [style.place, style.textEllipsis]
82
83
  }), (0, _helpers.getPlaceCaption)(place, places.options))), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
83
84
  onPress: () => onExpand(_Finder.VIEW.CALENDAR),
84
- className: [style.calendar, style.pressable]
85
+ className: [style.calendar, style.pressable],
86
+ testId: others.testId ? "".concat(others.testId, "-calendar-field") : undefined
85
87
  }, (!isMobile || isMobile && !hasPlaces) && /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, icon, {
86
88
  value: _Finder.FIELD.CALENDAR.icon
87
89
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, text, "".concat(from ? dateFormat(from, {
@@ -92,7 +94,8 @@ const Compact = function () {
92
94
  ...DATE_FORMAT_COMPACT
93
95
  }) : translate(_BookingDates.L10N.LABEL_CHECK_OUT)))), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
94
96
  onPress: () => onExpand(_Finder.VIEW.OCCUPATION),
95
- className: style.pressable
97
+ className: style.pressable,
98
+ testId: others.testId ? "".concat(others.testId, "-occupation-field") : undefined
96
99
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, icon, {
97
100
  value: _Finder.FIELD.OCCUPATION.icon
98
101
  })), /*#__PURE__*/_react.default.createElement(_ui.Text, text, (0, _helpers2.getOccupationSummary)(occupation, translate, !isMobile ? (0, _helpers2.getAccommodationType)({
@@ -101,7 +104,8 @@ const Compact = function () {
101
104
  individual
102
105
  }) : undefined))), /*#__PURE__*/_react.default.createElement(_ui.Pressable, {
103
106
  onPress: () => onExpand(_Finder.VIEW.PROMOCODE),
104
- className: style.pressable
107
+ className: style.pressable,
108
+ testId: others.testId ? "".concat(others.testId, "-promocode") : undefined
105
109
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, _extends({}, icon, {
106
110
  value: _Finder.FIELD.PROMOCODE.icon
107
111
  })), promocode && !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({}, text, {
@@ -111,7 +115,8 @@ const Compact = function () {
111
115
  squared: true,
112
116
  onPress: onSubmit,
113
117
  className: style.button,
114
- "aria-label": translate(_Finder2.L10N.ACTION_SEARCH)
118
+ "aria-label": translate(_Finder2.L10N.ACTION_SEARCH),
119
+ testId: others.testId ? "".concat(others.testId, "-submit") : undefined
115
120
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
116
121
  value: _helpers2.ICON.SEARCH
117
122
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","_Finder2","style","_interopRequireWildcard","_helpers","_BookingDates","_helpers2","_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","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","undefined","isMobile","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","useStore","direction","Theme","getDirection","getHotels","hasPlaces","options","icon","className","text","action","createElement","View","row","tag","styles","finder","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","pressable","Icon","FIELD","Text","textEllipsis","getPlaceCaption","CALENDAR","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","Button","small","squared","button","L10N_FINDER","ACTION_SEARCH","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { VIEW } from './Finder.constants';\nimport { L10N as L10N_FINDER } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit,\n} = {}) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {}, locale },\n } = useStore();\n\n const direction = Theme.getDirection();\n const hotels = getHotels(placesSource, place);\n const hasPlaces = !!(place || places.options);\n const icon = { className: style.icon };\n const text = { action: true };\n\n return (\n <View\n row\n tag=\"finder-compact\"\n className={styles(style.finder, style.compact, direction === LEFT ? style.directionLeft : style.directionRight)}\n >\n {hasPlaces && (\n <Pressable onPress={() => onExpand(VIEW.PLACE)} className={style.pressable}>\n <Icon {...icon} value={FIELD.PLACE.icon} />\n {!isMobile && (\n <Text {...text} className={[style.place, style.textEllipsis]}>\n {getPlaceCaption(place, places.options)}\n </Text>\n )}\n </Pressable>\n )}\n\n <Pressable onPress={() => onExpand(VIEW.CALENDAR)} className={[style.calendar, style.pressable]}>\n {(!isMobile || (isMobile && !hasPlaces)) && <Icon {...icon} value={FIELD.CALENDAR.icon} />}\n <Text {...text}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} ─ ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.OCCUPATION)} className={style.pressable}>\n <Icon {...icon} value={FIELD.OCCUPATION.icon} />\n <Text {...text}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n </Pressable>\n\n <Pressable onPress={() => onExpand(VIEW.PROMOCODE)} className={style.pressable}>\n <Icon {...icon} value={FIELD.PROMOCODE.icon} />\n {promocode && !isMobile && (\n <Text {...text} className={[style.promocode, style.textEllipsis]}>\n {promocode}\n </Text>\n )}\n </Pressable>\n\n {onSubmit && (\n <Button\n small\n squared\n onPress={onSubmit}\n className={style.button}\n aria-label={translate(L10N_FINDER.ACTION_SEARCH)}\n >\n <Icon value={ICON.SEARCH} />\n </Button>\n )}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Finder.compact.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_Finder","_Finder2","style","_interopRequireWildcard","_helpers","_BookingDates","_helpers2","_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","DATE_FORMAT_COMPACT","month","day","LEFT","DIRECTION_TYPE","Compact","dataSource","places","placesSource","value","calendar","from","to","occupation","place","promocode","onExpand","onSubmit","others","undefined","isMobile","useDevice","dateFormat","translate","useLocale","config","hotels","lodgingDenomination","individual","locale","useStore","direction","Theme","getDirection","getHotels","hasPlaces","options","icon","className","text","action","createElement","View","row","tag","styles","finder","compact","directionLeft","directionRight","Pressable","onPress","VIEW","PLACE","pressable","Icon","FIELD","Text","textEllipsis","getPlaceCaption","CALENDAR","testId","concat","L10N","LABEL_CHECK_IN","LABEL_CHECK_OUT","OCCUPATION","getOccupationSummary","getAccommodationType","PROMOCODE","Button","small","squared","button","L10N_FINDER","ACTION_SEARCH","ICON","SEARCH","exports","propTypes","PropTypes","any","func"],"sources":["../../../src/components/Finder/Finder.compact.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, DIRECTION_TYPE, Icon, Pressable, styles, Text, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { FIELD } from './Finder.constants';\nimport { VIEW } from './Finder.constants';\nimport { L10N as L10N_FINDER } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport { getHotels, getPlaceCaption } from './helpers';\nimport { L10N } from '../__shared__/BookingDates/BookingDates.l10n';\nimport { ICON } from '../helpers';\nimport { getAccommodationType, getOccupationSummary } from '../helpers';\n\nconst DATE_FORMAT_COMPACT = { month: 'short', day: 'numeric' };\nconst { LEFT } = DIRECTION_TYPE;\n\nconst Compact = ({\n dataSource: { places = {}, placesSource } = {},\n value: { calendar: [from, to] = [], occupation = [], place: { value: place } = {}, promocode } = {},\n onExpand = () => {},\n onSubmit,\n ...others\n} = {}) => {\n const { isMobile } = useDevice();\n const { dateFormat, translate } = useLocale();\n const {\n value: { config: { hotels: dataSource, lodgingDenomination: individual } = {}, locale },\n } = useStore();\n\n const direction = Theme.getDirection();\n const hotels = getHotels(placesSource, place);\n const hasPlaces = !!(place || places.options);\n const icon = { className: style.icon };\n const text = { action: true };\n\n return (\n <View\n row\n tag=\"finder-compact\"\n className={styles(style.finder, style.compact, direction === LEFT ? style.directionLeft : style.directionRight)}\n >\n {hasPlaces && (\n <Pressable onPress={() => onExpand(VIEW.PLACE)} className={style.pressable}>\n <Icon {...icon} value={FIELD.PLACE.icon} />\n {!isMobile && (\n <Text {...text} className={[style.place, style.textEllipsis]}>\n {getPlaceCaption(place, places.options)}\n </Text>\n )}\n </Pressable>\n )}\n\n <Pressable\n onPress={() => onExpand(VIEW.CALENDAR)}\n className={[style.calendar, style.pressable]}\n testId={others.testId ? `${others.testId}-calendar-field` : undefined}\n >\n {(!isMobile || (isMobile && !hasPlaces)) && <Icon {...icon} value={FIELD.CALENDAR.icon} />}\n <Text {...text}>\n {`${from ? dateFormat(from, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_IN)} ─ ${\n to ? dateFormat(to, { locale, ...DATE_FORMAT_COMPACT }) : translate(L10N.LABEL_CHECK_OUT)\n }`}\n </Text>\n </Pressable>\n\n <Pressable\n onPress={() => onExpand(VIEW.OCCUPATION)}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-occupation-field` : undefined}\n >\n <Icon {...icon} value={FIELD.OCCUPATION.icon} />\n <Text {...text}>\n {getOccupationSummary(\n occupation,\n translate,\n !isMobile ? getAccommodationType({ dataSource, hotels, individual }) : undefined,\n )}\n </Text>\n </Pressable>\n\n <Pressable\n onPress={() => onExpand(VIEW.PROMOCODE)}\n className={style.pressable}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n >\n <Icon {...icon} value={FIELD.PROMOCODE.icon} />\n {promocode && !isMobile && (\n <Text {...text} className={[style.promocode, style.textEllipsis]}>\n {promocode}\n </Text>\n )}\n </Pressable>\n\n {onSubmit && (\n <Button\n small\n squared\n onPress={onSubmit}\n className={style.button}\n aria-label={translate(L10N_FINDER.ACTION_SEARCH)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n <Icon value={ICON.SEARCH} />\n </Button>\n )}\n </View>\n );\n};\n\nCompact.propTypes = {\n dataSource: PropTypes.any,\n value: PropTypes.any,\n onExpand: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nexport { Compact };\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VIEW = exports.TYPE = exports.GAP_SCROLL = exports.FIELD = void 0;
6
+ exports.VIEW = exports.TYPE = exports.FIELD = void 0;
7
7
  var _Core = require("../../Core.constants");
8
8
  var _helpers = require("../helpers");
9
9
  const {
@@ -29,7 +29,6 @@ const FIELD = exports.FIELD = {
29
29
  tabIndex: 3
30
30
  }
31
31
  };
32
- const GAP_SCROLL = exports.GAP_SCROLL = 32;
33
32
  const VIEW = exports.VIEW = {
34
33
  PLACE: 'place',
35
34
  CALENDAR: 'calendar',
@@ -1 +1 @@
1
- {"version":3,"file":"Finder.constants.js","names":["_Core","require","_helpers","CHAIN","HOTEL","coreTYPE","FIELD","exports","PLACE","icon","ICON","LOCATION","tabIndex","CALENDAR","OCCUPATION","PEOPLE","PROMOCODE","DISCOUNT","inputMode","GAP_SCROLL","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 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 GAP_SCROLL = 32;\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, GAP_SCROLL, 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,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACZE,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,UAAU,GAAAZ,OAAA,CAAAY,UAAA,GAAG,EAAE;AAErB,MAAMC,IAAI,GAAAb,OAAA,CAAAa,IAAA,GAAG;EACXZ,KAAK,EAAE,OAAO;EACdK,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBE,SAAS,EAAE;AACb,CAAC;AAED,MAAMK,IAAI,GAAAd,OAAA,CAAAc,IAAA,GAAG;EACXlB,KAAK;EACLC;AACF,CAAC"}
1
+ {"version":3,"file":"Finder.constants.js","names":["_Core","require","_helpers","CHAIN","HOTEL","coreTYPE","FIELD","exports","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 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, 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,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACZE,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,GAAAZ,OAAA,CAAAY,IAAA,GAAG;EACXX,KAAK,EAAE,OAAO;EACdK,QAAQ,EAAE,UAAU;EACpBC,UAAU,EAAE,YAAY;EACxBE,SAAS,EAAE;AACb,CAAC;AAED,MAAMI,IAAI,GAAAb,OAAA,CAAAa,IAAA,GAAG;EACXjB,KAAK;EACLC;AACF,CAAC"}
@@ -28,7 +28,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
28
28
  const {
29
29
  HOTEL
30
30
  } = _Finder2.TYPE;
31
- let memoizedScrollY = 0;
32
31
  const Finder = _ref => {
33
32
  var _dataSource$places;
34
33
  let {
@@ -142,22 +141,6 @@ const Finder = _ref => {
142
141
 
143
142
  // ! TODO: Why this one? Is not responsibility of <Finder> change the currency when prop changes.
144
143
  (0, _react.useEffect)(() => setCurrency(propCurrency), [propCurrency]);
145
- (0, _react.useEffect)(() => {
146
- if (!compacted) return;
147
- let timeout;
148
- const handleScroll = () => {
149
- clearTimeout(timeout);
150
- timeout = setTimeout(() => {
151
- if (window.scrollY > memoizedScrollY + _Finder2.GAP_SCROLL || window.scrollY < memoizedScrollY - _Finder2.GAP_SCROLL) {
152
- memoizedScrollY = window.scrollY;
153
- setFocus(undefined);
154
- }
155
- }, 16);
156
- };
157
- window.addEventListener('scroll', handleScroll);
158
- return () => window.removeEventListener('scroll', handleScroll);
159
- // eslint-disable-next-line react-hooks/exhaustive-deps
160
- }, [compacted]);
161
144
  (0, _react.useEffect)(() => {
162
145
  if (JSON.stringify(value) !== JSON.stringify((0, _helpers.parseValue)(storeFinder))) setValue((0, _helpers.parseValue)(storeFinder));
163
146
  },
@@ -273,12 +256,12 @@ const Finder = _ref => {
273
256
  } : undefined
274
257
  } : undefined)
275
258
  };
276
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, is.compacted && /*#__PURE__*/_react.default.createElement(_Finder.Compact, {
259
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, is.compacted && /*#__PURE__*/_react.default.createElement(_Finder.Compact, _extends({
277
260
  value,
278
261
  dataSource,
279
262
  onExpand: setFocus,
280
263
  onSubmit: !is.rates || is.rates && !isMobile ? handleSubmit : undefined
281
- }), /*#__PURE__*/_react.default.createElement(_ui.View, {
264
+ }, others)), /*#__PURE__*/_react.default.createElement(_ui.View, {
282
265
  ref: ref,
283
266
  role: "finder",
284
267
  row: !is.column,
@@ -308,7 +291,8 @@ const Finder = _ref => {
308
291
  placeholder: (0, _helpers3.getCalendarCaption)(undefined, translate, dateFormat),
309
292
  visible: focus === _Finder2.VIEW.CALENDAR,
310
293
  onPosition: setCalendarPosition,
311
- onPress: () => setFocus(focus !== _Finder2.VIEW.CALENDAR ? _Finder2.VIEW.CALENDAR : undefined)
294
+ onPress: () => setFocus(focus !== _Finder2.VIEW.CALENDAR ? _Finder2.VIEW.CALENDAR : undefined),
295
+ testId: others.testId ? "".concat(others.testId, "-calendar-field") : undefined
312
296
  }, fieldProps), /*#__PURE__*/_react.default.createElement(_components.Calendar, _extends({}, (0, _helpers.parseCalendarProps)(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants), {
313
297
  id: id,
314
298
  currency: currency,
@@ -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","HOTEL","TYPE","memoizedScrollY","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","id","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","timeout","handleScroll","clearTimeout","scrollY","GAP_SCROLL","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","publish","FINDER_FIELD_CHANGE","previousValue","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_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, 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, GAP_SCROLL, TYPE, VIEW } from './Finder.constants';\nimport { L10N } from './Finder.l10n';\nimport * as style from './Finder.module.css';\nimport {\n getDataSource,\n getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } 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 { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\nlet memoizedScrollY = 0;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\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 window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\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 if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\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, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\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 if (!compacted) return;\n let timeout;\n\n const handleScroll = () => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n if (window.scrollY > memoizedScrollY + GAP_SCROLL || window.scrollY < memoizedScrollY - GAP_SCROLL) {\n memoizedScrollY = window.scrollY;\n setFocus(undefined);\n }\n }, 16);\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => window.removeEventListener('scroll', handleScroll);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [compacted]);\n\n useEffect(\n () => {\n if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\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 storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\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 set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\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 { 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 is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\n onExpand={setFocus}\n onSubmit={!is.rates || (is.rates && !isMobile) ? handleSubmit : undefined}\n />\n )}\n\n <View\n ref={ref}\n role=\"finder\"\n row={!is.column}\n tag=\"finder\"\n testId={others.testId}\n className={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\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 {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}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\n onPress={() => setFocus(focus !== VIEW.CALENDAR ? VIEW.CALENDAR : undefined)}\n {...fieldProps}\n >\n <Calendar\n {...parseCalendarProps(dataSource.calendar, id, occupation, type, unavailability, dataSource.variants)}\n id={id}\n currency={currency}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {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 : 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 {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={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n skeleton: PropTypes.bool,\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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"}
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","HOTEL","TYPE","Finder","_ref","_dataSource$places","compacted","icon","inline","layout","skeleton","storage","text","onChange","onSubmit","others","isMobile","isTablet","mobile","width","deviceWidth","useDevice","dateFormat","translate","useLocale","ref","useRef","value","components","currency","propCurrency","finder","storeFinder","forwarder","locale","type","store","useStore","calendarPosition","setCalendarPosition","useState","setCurrency","error","setError","focus","setFocus","unavailability","setUnavailability","setValue","parseValue","visited","setVisited","warning","setWarning","setWidth","useEffect","occupation","prepareRoom","DATASOURCE","window","addEventListener","handlePageShow","document","handleClickOutside","removeEventListener","current","getAvailableWidth","disabledDates","place","_fetchUrlParams","id","isHotel","fetchUrlParams","location","search","fetchCurrency","callback","calendar","undefined","handleSubmit","nextValue","setTimeout","track","Event","subscribe","EVENT","FINDER","unsubscribe","JSON","stringify","concat","handleChange","field","fieldValue","next","setStorage","publish","FINDER_FIELD_CHANGE","previousValue","_ref$current","contains","persisted","handlePlaceChange","VIEW","PLACE","assistant","dataSource","places","firstError","keys","filter","forwarderUrl","getForwarderUrl","href","CALENDAR","includes","promocode","ids","getDataSource","hotel","idHotel","is","column","rates","fieldProps","className","centered","maxWidth","createElement","Fragment","Compact","onExpand","View","role","row","tag","testId","styles","Field","FIELD","caption","getPlaceCaption","options","label","L10N","LABEL_WHERE","placeholder","LABEL_WHERE_PLACEHOLDER","visible","onPress","Places","autoColumn","separator","getCalendarCaption","LABEL_WHEN","onPosition","Calendar","parseCalendarProps","variants","rangeMinDays","event","onError","onValid","top","calendarOnTop","FieldOccupation","getOccupationDataSource","hotels","getHotels","placesSource","maxRooms","OCCUPATION","withWarning","onWarning","FieldPromocode","PROMOCODE","onEnter","onLeave","Button","large","tabindex","wide","button","withIcon","Icon","ICON","SEARCH","ACTION_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, 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 getForwarderUrl,\n getHotels,\n getOccupationDataSource,\n getPlaceCaption,\n parseCalendarProps,\n parseValue,\n} from './helpers';\nimport { setStorage, track } 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 { DATASOURCE } from '../__shared__/Occupation/Occupation.constants';\nimport { EVENT, getCalendarCaption, ICON } from '../helpers';\n\nconst { HOTEL } = TYPE;\n\nconst Finder = ({\n compacted = false,\n icon = false,\n inline = true,\n layout,\n skeleton,\n storage = true,\n text,\n onChange = () => {},\n onSubmit,\n ...others\n}) => {\n const { isMobile, isTablet, mobile, width: deviceWidth } = useDevice();\n const { dateFormat, translate } = useLocale();\n const ref = useRef(null);\n const {\n set,\n value: { components = {}, currency: propCurrency, finder: storeFinder, forwarder, locale, type = HOTEL, ...store },\n } = useStore();\n\n const [calendarPosition, setCalendarPosition] = useState();\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 window.addEventListener('pageshow', handlePageShow);\n !isMobile && document.addEventListener('click', handleClickOutside, true);\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 if (layout === 'column' && ref.current) setWidth(getAvailableWidth(ref.current));\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, isHotel } = {} } = value || {};\n if (isHotel && !fetchUrlParams(window.location.search)?.currency) {\n // ! TODO: Same here, this should be responsibility of <Core>...\n (async () => {\n setCurrency(await fetchCurrency(id[0]));\n })();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value?.place]);\n\n useEffect(() => {\n const callback = ({ calendar, finder, focus } = {}) => {\n if (finder) return handleSubmit({ nextValue: finder });\n\n setUnavailability(calendar);\n if (focus) setFocus(focus);\n };\n\n !others?.skeleton && !onSubmit && setTimeout(() => track({ mobile, type, ...store }), 10);\n\n Event.subscribe(EVENT.FINDER, callback);\n\n return () => Event.unsubscribe(EVENT.FINDER, callback);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\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 if (JSON.stringify(value) !== JSON.stringify(parseValue(storeFinder))) setValue(parseValue(storeFinder));\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 storage && setStorage(next, store?.id);\n\n Event.publish(EVENT.FINDER_FIELD_CHANGE, { field, previousValue: value[field], value: fieldValue });\n };\n\n const handleClickOutside = ({ target } = {}) => !ref.current?.contains(target) && setFocus(undefined);\n\n const handlePageShow = async ({ persisted } = {}) => {\n if (!persisted) return;\n\n setFocus();\n setVisited();\n setValue(parseValue(storeFinder));\n };\n\n const handlePlaceChange = async (place) => {\n setWarning(false);\n handleChange(VIEW.PLACE, place);\n\n assistant();\n };\n\n const handleSubmit = ({ nextValue = value } = {}) => {\n if (dataSource.places && value.place === undefined) return setFocus(VIEW.PLACE);\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 set({ finder: nextValue });\n const forwarderUrl = getForwarderUrl({ ...nextValue, currency, forwarder, locale, store, type });\n\n if (onSubmit) onSubmit({ ...nextValue, forwarderUrl });\n else window.location.href = forwarderUrl;\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 { 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 is = {\n column: isMobile || layout === 'column',\n compacted: (compacted && isMobile) || (compacted && !isMobile && !focus),\n rates: components.rates !== undefined,\n };\n\n const fieldProps = {\n compacted: is.compacted,\n inline,\n className: style.field,\n ...(is.column ? { centered: true, style: width ? { maxWidth: width, width } : undefined } : undefined),\n };\n\n return (\n <>\n {is.compacted && (\n <Compact\n {...{ value, dataSource }}\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={!is.compacted ? styles(style.finder, is.column && style.column, others.className) : undefined}\n >\n {dataSource.places && (\n <>\n <Field\n {...FIELD.PLACE}\n caption={getPlaceCaption(place.value, dataSource.places.options)}\n label={translate(L10N.LABEL_WHERE)}\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 {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}\n label={translate(L10N.LABEL_WHEN)}\n placeholder={getCalendarCaption(undefined, translate, dateFormat)}\n visible={focus === VIEW.CALENDAR}\n onPosition={setCalendarPosition}\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}\n locale={locale}\n rangeMinDays={1}\n text={compacted ? text : undefined}\n unavailability={unavailability}\n value={calendar}\n onChange={(calendar, event) => {\n handleChange(VIEW.CALENDAR, calendar, event);\n if (calendar.length === 2 && !is.rates) assistant();\n }}\n onError={(calendar) => setError({ ...error, calendar })}\n onSubmit={is.rates ? handleSubmit : undefined}\n onValid={() => setError({ ...error, calendar: undefined })}\n className={styles(calendarPosition?.top && style.calendarOnTop)}\n testId={others.testId ? `${others.testId}-calendar` : undefined}\n />\n </Field>\n\n {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 : 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 {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={!compacted ? () => setFocus(VIEW.PROMOCODE) : undefined}\n onLeave={!compacted ? () => setFocus(undefined) : undefined}\n onPress={\n isMobile && compacted ? () => setFocus(focus !== VIEW.PROMOCODE ? VIEW.PROMOCODE : undefined) : undefined\n }\n onSubmit={isMobile && compacted ? handleSubmit : undefined}\n testId={others.testId ? `${others.testId}-promocode` : undefined}\n {...fieldProps}\n />\n\n {!is.compacted && (\n <Button\n large\n tabindex={4}\n role=\"finder-button\"\n wide={is.column}\n onPress={handleSubmit}\n className={styles(style.button, ((icon && !is.column) || isTablet) && style.withIcon)}\n testId={others.testId ? `${others.testId}-submit` : undefined}\n >\n {(icon && !is.column) || isTablet ? <Icon value={ICON.SEARCH} /> : text || translate(L10N.ACTION_SEARCH)}\n </Button>\n )}\n </View>\n </>\n );\n};\n\nFinder.displayName = 'Mirai:Core:Finder';\n\nFinder.propTypes = {\n compacted: PropTypes.bool,\n icon: PropTypes.bool,\n inline: PropTypes.bool,\n layout: PropTypes.oneOf(['column']),\n skeleton: PropTypes.bool,\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;AAUA,IAAAa,kBAAA,GAAAb,OAAA;AACA,IAAAc,SAAA,GAAAd,OAAA;AAEA,IAAAe,YAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AACA,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,KAJ7D;AAMA,MAAM;EAAEK;AAAM,CAAC,GAAGC,aAAI;AAEtB,MAAMC,MAAM,GAAGC,IAAA,IAWT;EAAA,IAAAC,kBAAA;EAAA,IAXU;IACdC,SAAS,GAAG,KAAK;IACjBC,IAAI,GAAG,KAAK;IACZC,MAAM,GAAG,IAAI;IACbC,MAAM;IACNC,QAAQ;IACRC,OAAO,GAAG,IAAI;IACdC,IAAI;IACJC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAX,IAAA;EACC,MAAM;IAAEY,QAAQ;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,KAAK,EAAEC;EAAY,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACtE,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACxB,MAAM;IACJpC,GAAG;IACHqC,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC,CAAC;MAAEC,QAAQ,EAAEC,YAAY;MAAEC,MAAM,EAAEC,WAAW;MAAEC,SAAS;MAAEC,MAAM;MAAEC,IAAI,GAAGlC,KAAK;MAAE,GAAGmC;IAAM;EACnH,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC1D,MAAM,CAACX,QAAQ,EAAEY,WAAW,CAAC,GAAG,IAAAD,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAAC,CAAC,CAAC,CAAC;EACtC,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAL,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACM,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACb,KAAK,EAAEqB,QAAQ,CAAC,GAAG,IAAAR,eAAQ,EAAC,IAAAS,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC3D,MAAM,CAACkB,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC1C,MAAM,CAACY,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACrB,KAAK,EAAEmC,QAAQ,CAAC,GAAG,IAAAd,eAAQ,EAAC,CAAC;EAEpC,IAAAe,gBAAS,EAAC,MAAM;IACd,IAAI7C,QAAQ,EAAE;IAEd,IAAI,EAACsB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEwB,UAAU,GAAElE,GAAG,CAAC;MAAEyC,MAAM,EAAE;QAAE,GAAGC,WAAW;QAAEwB,UAAU,EAAE,CAAC,IAAAC,wBAAW,EAACC,sBAAU,CAAC;MAAE;IAAE,CAAC,CAAC;IAExGC,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAEC,cAAc,CAAC;IACnD,CAAC7C,QAAQ,IAAI8C,QAAQ,CAACF,gBAAgB,CAAC,OAAO,EAAEG,kBAAkB,EAAE,IAAI,CAAC;IAEzE,OAAO,MAAM;MACXJ,MAAM,CAACK,mBAAmB,CAAC,UAAU,EAAEH,cAAc,CAAC;MACtD,CAAC7C,QAAQ,IAAI8C,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAED,kBAAkB,EAAE,IAAI,CAAC;IAC9E,CAAC;IACD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAR,gBAAS,EAAC,MAAM;IACd,IAAI9C,MAAM,KAAK,QAAQ,IAAIgB,GAAG,CAACwC,OAAO,EAAEX,QAAQ,CAAC,IAAAY,oCAAiB,EAACzC,GAAG,CAACwC,OAAO,CAAC,CAAC;IAChF;EACF,CAAC,EAAE,CAAC7C,WAAW,CAAC,CAAC;EAEjB,IAAAmC,gBAAS,EAAC,MAAM;IACdT,cAAc,IAAIC,iBAAiB,CAAC;MAAEoB,aAAa,EAAE;IAAG,CAAC,CAAC;IAC1D;EACF,CAAC,EAAE,CAACxC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE6B,UAAU,EAAE7B,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyC,KAAK,CAAC,CAAC;EAErC,IAAAb,gBAAS,EAAC,MAAM;IAAA,IAAAc,eAAA;IACd,MAAM;MAAED,KAAK,EAAE;QAAEE,EAAE;QAAEC;MAAQ,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG5C,KAAK,IAAI,CAAC,CAAC;IACnD,IAAI4C,OAAO,IAAI,GAAAF,eAAA,GAAC,IAAAG,wBAAc,EAACb,MAAM,CAACc,QAAQ,CAACC,MAAM,CAAC,cAAAL,eAAA,eAAtCA,eAAA,CAAwCxC,QAAQ,GAAE;MAChE;MACA,CAAC,YAAY;QACXY,WAAW,CAAC,MAAM,IAAAkC,uBAAa,EAACL,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;MACzC,CAAC,EAAE,CAAC;IACN;IACA;EACF,CAAC,EAAE,CAAC3C,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyC,KAAK,CAAC,CAAC;EAElB,IAAAb,gBAAS,EAAC,MAAM;IACd,MAAMqB,QAAQ,GAAG,SAAAA,CAAA,EAAsC;MAAA,IAArC;QAAEC,QAAQ;QAAE9C,MAAM;QAAEa;MAAM,CAAC,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;MAChD,IAAImC,MAAM,EAAE,OAAOgD,YAAY,CAAC;QAAEC,SAAS,EAAEjD;MAAO,CAAC,CAAC;MAEtDgB,iBAAiB,CAAC8B,QAAQ,CAAC;MAC3B,IAAIjC,KAAK,EAAEC,QAAQ,CAACD,KAAK,CAAC;IAC5B,CAAC;IAED,EAAC7B,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEL,QAAQ,KAAI,CAACI,QAAQ,IAAImE,UAAU,CAAC,MAAM,IAAAC,cAAK,EAAC;MAAEhE,MAAM;MAAEiB,IAAI;MAAE,GAAGC;IAAM,CAAC,CAAC,EAAE,EAAE,CAAC;IAEzF+C,kBAAK,CAACC,SAAS,CAACC,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IAEvC,OAAO,MAAMO,kBAAK,CAACI,WAAW,CAACF,eAAK,CAACC,MAAM,EAAEV,QAAQ,CAAC;IACtD;EACF,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAArB,gBAAS,EAAC,MAAMd,WAAW,CAACX,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE1D,IAAAyB,gBAAS,EACP,MAAM;IACJ,IAAIiC,IAAI,CAACC,SAAS,CAAC9D,KAAK,CAAC,KAAK6D,IAAI,CAACC,SAAS,CAAC,IAAAxC,mBAAU,EAACjB,WAAW,CAAC,CAAC,EAAEgB,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EAC1G,CAAC;EACD;EACA,CAACA,WAAW,CACd,CAAC;EAED,IAAAuB,gBAAS,EAAC,MAAM;IACdX,KAAK,IAAIO,UAAU,CAAC;MAAE,GAAGD,OAAO;MAAE,IAAAwC,MAAA,CAAI9C,KAAK,IAAK;IAAK,CAAC,CAAC;IACvD;EACF,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,MAAM+C,YAAY,GAAGA,CAACC,KAAK,EAAEC,UAAU,KAAK;IAC1C,MAAMC,IAAI,GAAG;MAAE,GAAGnE,KAAK;MAAE,CAACiE,KAAK,GAAGC;IAAW,CAAC;IAE9C7C,QAAQ,CAAC8C,IAAI,CAAC;IACdjF,QAAQ,CAACiF,IAAI,EAAEF,KAAK,EAAEC,UAAU,CAAC;IACjClF,OAAO,IAAI,IAAAoF,mBAAU,EAACD,IAAI,EAAE1D,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkC,EAAE,CAAC;IAEtCa,kBAAK,CAACa,OAAO,CAACX,eAAK,CAACY,mBAAmB,EAAE;MAAEL,KAAK;MAAEM,aAAa,EAAEvE,KAAK,CAACiE,KAAK,CAAC;MAAEjE,KAAK,EAAEkE;IAAW,CAAC,CAAC;EACrG,CAAC;EAED,MAAM9B,kBAAkB,GAAG,SAAAA,CAAA;IAAA,IAAAoC,YAAA;IAAA,IAAC;MAAExG;IAAO,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,GAAAuG,YAAA,GAAC1E,GAAG,CAACwC,OAAO,cAAAkC,YAAA,eAAXA,YAAA,CAAaC,QAAQ,CAACzG,MAAM,CAAC,KAAIkD,QAAQ,CAACiC,SAAS,CAAC;EAAA;EAErG,MAAMjB,cAAc,GAAG,eAAAA,CAAA,EAA8B;IAAA,IAAvB;MAAEwC;IAAU,CAAC,GAAAzG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAC9C,IAAI,CAACyG,SAAS,EAAE;IAEhBxD,QAAQ,CAAC,CAAC;IACVM,UAAU,CAAC,CAAC;IACZH,QAAQ,CAAC,IAAAC,mBAAU,EAACjB,WAAW,CAAC,CAAC;EACnC,CAAC;EAED,MAAMsE,iBAAiB,GAAG,MAAOlC,KAAK,IAAK;IACzCf,UAAU,CAAC,KAAK,CAAC;IACjBsC,YAAY,CAACY,aAAI,CAACC,KAAK,EAAEpC,KAAK,CAAC;IAE/BqC,SAAS,CAAC,CAAC;EACb,CAAC;EAED,MAAM1B,YAAY,GAAG,SAAAA,CAAA,EAAgC;IAAA,IAA/B;MAAEC,SAAS,GAAGrD;IAAM,CAAC,GAAA/B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAkF,SAAA,GAAAlF,SAAA,MAAG,CAAC,CAAC;IAC9C,IAAI8G,UAAU,CAACC,MAAM,IAAIhF,KAAK,CAACyC,KAAK,KAAKU,SAAS,EAAE,OAAOjC,QAAQ,CAAC0D,aAAI,CAACC,KAAK,CAAC;IAE/E,MAAM,CAACI,UAAU,CAAC,GAAG9H,MAAM,CAAC+H,IAAI,CAACnE,KAAK,CAAC,CAACoE,MAAM,CAAE/G,GAAG,IAAK,CAAC,CAAC2C,KAAK,CAAC3C,GAAG,CAAC,CAAC;IACrE,IAAI6G,UAAU,EAAE,OAAO/D,QAAQ,CAAC+D,UAAU,CAAC;IAE3CvD,UAAU,CAAC,KAAK,CAAC;IACjBR,QAAQ,CAACiC,SAAS,CAAC;IACnBxF,GAAG,CAAC;MAAEyC,MAAM,EAAEiD;IAAU,CAAC,CAAC;IAC1B,MAAM+B,YAAY,GAAG,IAAAC,wBAAe,EAAC;MAAE,GAAGhC,SAAS;MAAEnD,QAAQ;MAAEI,SAAS;MAAEC,MAAM;MAAEE,KAAK;MAAED;IAAK,CAAC,CAAC;IAEhG,IAAIrB,QAAQ,EAAEA,QAAQ,CAAC;MAAE,GAAGkE,SAAS;MAAE+B;IAAa,CAAC,CAAC,CAAC,KAClDpD,MAAM,CAACc,QAAQ,CAACwC,IAAI,GAAGF,YAAY;EAC1C,CAAC;EAED,MAAMN,SAAS,GAAGA,CAAA,KAAM;IACtB,MAAM;MAAE5B,QAAQ,GAAG;IAAG,CAAC,GAAGlD,KAAK;IAC/B,IAAIiB,KAAK,KAAK2D,aAAI,CAACC,KAAK,IAAI,CAACtD,OAAO,CAAC2B,QAAQ,IAAIA,QAAQ,CAAChF,MAAM,KAAK,CAAC,EAAEgD,QAAQ,CAAC0D,aAAI,CAACW,QAAQ,CAAC,CAAC,KAC3F,IAAI,CAAC5G,SAAS,IAAI,CAACiG,aAAI,CAACW,QAAQ,EAAEX,aAAI,CAACC,KAAK,CAAC,CAACW,QAAQ,CAACvE,KAAK,CAAC,EAAEC,QAAQ,CAACiC,SAAS,CAAC;EACzF,CAAC;EAED,MAAM;IAAED,QAAQ,GAAG,EAAE;IAAErB,UAAU;IAAEY,KAAK,GAAG,CAAC,CAAC;IAAEgD;EAAU,CAAC,GAAGzF,KAAK;EAClE,MAAM;IAAE2C,EAAE,EAAE+C,GAAG,GAAG,EAAE;IAAE9C;EAAQ,CAAC,GAAGH,KAAK;EACvC,MAAMsC,UAAU,GAAG,IAAAY,sBAAa,EAAC;IAAEnF,IAAI;IAAE,GAAGC;EAAM,CAAC,CAAC;EACpD,MAAM;IAAEmF,KAAK,EAAE;MAAEjD,EAAE,EAAEkD;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGpF,KAAK;EAC7C,MAAMkC,EAAE,GAAGnC,IAAI,KAAKlC,KAAK,GAAIsE,OAAO,IAAI8C,GAAG,CAACxH,MAAM,KAAK,CAAC,GAAGwH,GAAG,CAAC,CAAC,CAAC,GAAGvC,SAAS,GAAI0C,OAAO;EAExF,MAAMC,EAAE,GAAG;IACTC,MAAM,EAAE1G,QAAQ,IAAIP,MAAM,KAAK,QAAQ;IACvCH,SAAS,EAAGA,SAAS,IAAIU,QAAQ,IAAMV,SAAS,IAAI,CAACU,QAAQ,IAAI,CAAC4B,KAAM;IACxE+E,KAAK,EAAE/F,UAAU,CAAC+F,KAAK,KAAK7C;EAC9B,CAAC;EAED,MAAM8C,UAAU,GAAG;IACjBtH,SAAS,EAAEmH,EAAE,CAACnH,SAAS;IACvBE,MAAM;IACNqH,SAAS,EAAEnK,KAAK,CAACkI,KAAK;IACtB,IAAI6B,EAAE,CAACC,MAAM,GAAG;MAAEI,QAAQ,EAAE,IAAI;MAAEpK,KAAK,EAAEyD,KAAK,GAAG;QAAE4G,QAAQ,EAAE5G,KAAK;QAAEA;MAAM,CAAC,GAAG2D;IAAU,CAAC,GAAGA,SAAS;EACvG,CAAC;EAED,oBACE1H,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAA5K,MAAA,CAAAoB,OAAA,CAAAyJ,QAAA,QACGR,EAAE,CAACnH,SAAS,iBACXlD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACzK,OAAA,CAAA2K,OAAO,EAAA1I,QAAA;IACAmC,KAAK;IAAE+E,UAAU;IACvByB,QAAQ,EAAEtF,QAAS;IACnB/B,QAAQ,EAAE,CAAC2G,EAAE,CAACE,KAAK,IAAKF,EAAE,CAACE,KAAK,IAAI,CAAC3G,QAAS,GAAG+D,YAAY,GAAGD;EAAU,GACtE/D,MAAM,CACX,CACF,eAED3D,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IACH3G,GAAG,EAAEA,GAAI;IACT4G,IAAI,EAAC,QAAQ;IACbC,GAAG,EAAE,CAACb,EAAE,CAACC,MAAO;IAChBa,GAAG,EAAC,QAAQ;IACZC,MAAM,EAAEzH,MAAM,CAACyH,MAAO;IACtBX,SAAS,EAAE,CAACJ,EAAE,CAACnH,SAAS,GAAG,IAAAmI,UAAM,EAAC/K,KAAK,CAACqE,MAAM,EAAE0F,EAAE,CAACC,MAAM,IAAIhK,KAAK,CAACgK,MAAM,EAAE3G,MAAM,CAAC8G,SAAS,CAAC,GAAG/C;EAAU,GAExG4B,UAAU,CAACC,MAAM,iBAChBvJ,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAA5K,MAAA,CAAAoB,OAAA,CAAAyJ,QAAA,qBACE7K,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA2K,KAAK,EAAAlJ,QAAA,KACAmJ,cAAK,CAACnC,KAAK;IACfoC,OAAO,EAAE,IAAAC,wBAAe,EAACzE,KAAK,CAACzC,KAAK,EAAE+E,UAAU,CAACC,MAAM,CAACmC,OAAO,CAAE;IACjEC,KAAK,EAAExH,SAAS,CAACyH,aAAI,CAACC,WAAW,CAAE;IACnCC,WAAW,EAAExC,UAAU,CAACC,MAAM,CAACuC,WAAW,IAAI3H,SAAS,CAACyH,aAAI,CAACG,uBAAuB,CAAE;IACtFC,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACC,KAAM;IAC9B6C,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACC,KAAK,GAAGD,aAAI,CAACC,KAAK,GAAG1B,SAAS;EAAE,GACnE8C,UAAU,gBAEdxK,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC1K,WAAA,CAAAgM,MAAM;IACLC,UAAU,EAAE3G,KAAK,KAAK2D,aAAI,CAACC,KAAM;IACjCE,UAAU,EAAEA,UAAU,CAACC,MAAM,CAACmC,OAAQ;IACtClI,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnCnD,KAAK,EAAEyC,KAAK,CAACzC,KAAM;IACnBd,QAAQ,EAAEyF,iBAAkB;IAC5BxF,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9C0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,eAAY1D;EAAU,CAC/D,CACI,CAAC,EAEPtE,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAC9C,CACH,eAEDpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA2K,KAAK,EAAAlJ,QAAA,KACAmJ,cAAK,CAACzB,QAAQ;IAClB0B,OAAO,EAAE/D,QAAQ,CAAChF,MAAM,GAAG,IAAA4J,4BAAkB,EAAC5E,QAAQ,EAAEtD,SAAS,EAAED,UAAU,CAAC,GAAGwD,SAAU;IAC3FgD,QAAQ,EAAE3F,IAAI,KAAKlC,KAAM;IACzB8I,KAAK,EAAExH,SAAS,CAACyH,aAAI,CAACU,UAAU,CAAE;IAClCR,WAAW,EAAE,IAAAO,4BAAkB,EAAC3E,SAAS,EAAEvD,SAAS,EAAED,UAAU,CAAE;IAClE8H,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACW,QAAS;IACjCyC,UAAU,EAAEpH,mBAAoB;IAChC8G,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACW,QAAQ,GAAGX,aAAI,CAACW,QAAQ,GAAGpC,SAAS,CAAE;IAC7E0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,uBAAoB1D;EAAU,GAClE8C,UAAU,gBAEdxK,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC1K,WAAA,CAAAsM,QAAQ,EAAApK,QAAA,KACH,IAAAqK,2BAAkB,EAACnD,UAAU,CAAC7B,QAAQ,EAAEP,EAAE,EAAEd,UAAU,EAAErB,IAAI,EAAEW,cAAc,EAAE4D,UAAU,CAACoD,QAAQ,CAAC;IACtGxF,EAAE,EAAEA,EAAG;IACPzC,QAAQ,EAAEA,QAAS;IACnBK,MAAM,EAAEA,MAAO;IACf6H,YAAY,EAAE,CAAE;IAChBnJ,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnChC,cAAc,EAAEA,cAAe;IAC/BnB,KAAK,EAAEkD,QAAS;IAChBhE,QAAQ,EAAEA,CAACgE,QAAQ,EAAEmF,KAAK,KAAK;MAC7BrE,YAAY,CAACY,aAAI,CAACW,QAAQ,EAAErC,QAAQ,EAAEmF,KAAK,CAAC;MAC5C,IAAInF,QAAQ,CAAChF,MAAM,KAAK,CAAC,IAAI,CAAC4H,EAAE,CAACE,KAAK,EAAElB,SAAS,CAAC,CAAC;IACrD,CAAE;IACFwD,OAAO,EAAGpF,QAAQ,IAAKlC,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEmC;IAAS,CAAC,CAAE;IACxD/D,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9CoF,OAAO,EAAEA,CAAA,KAAMvH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEmC,QAAQ,EAAEC;IAAU,CAAC,CAAE;IAC3D+C,SAAS,EAAE,IAAAY,UAAM,EAAC,CAAAnG,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAE6H,GAAG,KAAIzM,KAAK,CAAC0M,aAAa,CAAE;IAChE5B,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,iBAAc1D;EAAU,EACjE,CACI,CAAC,EAEPtE,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAAC,eAE/CpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAAsM,eAAe,EAAA7K,QAAA;IACdkH,UAAU,EAAE,IAAA4D,gCAAuB,EAAC;MAClC,GAAG5D,UAAU;MACbC,MAAM,GAAAtG,kBAAA,GAAEqG,UAAU,CAACC,MAAM,cAAAtG,kBAAA,uBAAjBA,kBAAA,CAAmByI,OAAO;MAClC1E,KAAK,EAAEA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEzC;IAChB,CAAC,CAAE;IACH4I,MAAM,EAAE,IAAAC,kBAAS,EAAC9D,UAAU,CAAC+D,YAAY,EAAErG,KAAK,CAACzC,KAAK,CAAE;IACxD+I,QAAQ,EAAEhE,UAAU,CAACgE,QAAS;IAC9B9J,IAAI,EAAEN,SAAS,GAAGM,IAAI,GAAGkE,SAAU;IACnCnD,KAAK,EAAE6B,UAAW;IAClB4F,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACoE,UAAW;IACnCC,WAAW,EAAExH,OAAQ;IACrBvC,QAAQ,EAAEA,CAAC2C,UAAU,EAAEwG,KAAK,KAAKrE,YAAY,CAACY,aAAI,CAACoE,UAAU,EAAEnH,UAAU,EAAEwG,KAAK,CAAE;IAClFC,OAAO,EAAGzG,UAAU,IAAK;MACvB,IAAI,CAACxC,QAAQ,IAAI4B,KAAK,KAAK2D,aAAI,CAACoE,UAAU,EAAE9H,QAAQ,CAAC0D,aAAI,CAACoE,UAAU,CAAC;MACrEhI,QAAQ,CAAC;QAAE,GAAGD,KAAK;QAAEc;MAAW,CAAC,CAAC;IACpC,CAAE;IACF6F,OAAO,EAAEA,CAAA,KAAMxG,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACoE,UAAU,GAAGpE,aAAI,CAACoE,UAAU,GAAG7F,SAAS,CAAE;IACjFhE,QAAQ,EAAE2G,EAAE,CAACE,KAAK,GAAG5C,YAAY,GAAGD,SAAU;IAC9CoF,OAAO,EAAEA,CAAA,KAAMvH,QAAQ,CAAC;MAAE,GAAGD,KAAK;MAAEc,UAAU,EAAEsB;IAAU,CAAC,CAAE;IAC7D+F,SAAS,EAAEA,CAAA,KAAM;MACf,IAAI,CAAC7J,QAAQ,IAAI4B,KAAK,KAAK2D,aAAI,CAACoE,UAAU,EAAE9H,QAAQ,CAAC0D,aAAI,CAACoE,UAAU,CAAC;IACvE,CAAE;IACFnC,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,mBAAgB1D;EAAU,GAC9D8C,UAAU,CACf,CAAC,EAEDpH,MAAM,iBAAIpD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAmL,IAAI;IAACP,SAAS,EAAEnK,KAAK,CAAC8L;EAAU,CAAE,CAAC,eAE/CpM,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAACjK,SAAA,CAAA+M,cAAc,EAAAtL,QAAA;IACbmC,KAAK,EAAEyF,SAAU;IACjBgC,OAAO,EAAExG,KAAK,KAAK2D,aAAI,CAACwE,SAAU;IAClClK,QAAQ,EAAEA,CAACuG,SAAS,EAAE4C,KAAK,KAAKrE,YAAY,CAACY,aAAI,CAACwE,SAAS,EAAE3D,SAAS,EAAE4C,KAAK,CAAE;IAC/EgB,OAAO,EAAE,CAAC1K,SAAS,GAAG,MAAMuC,QAAQ,CAAC0D,aAAI,CAACwE,SAAS,CAAC,GAAGjG,SAAU;IACjEmG,OAAO,EAAE,CAAC3K,SAAS,GAAG,MAAMuC,QAAQ,CAACiC,SAAS,CAAC,GAAGA,SAAU;IAC5DuE,OAAO,EACLrI,QAAQ,IAAIV,SAAS,GAAG,MAAMuC,QAAQ,CAACD,KAAK,KAAK2D,aAAI,CAACwE,SAAS,GAAGxE,aAAI,CAACwE,SAAS,GAAGjG,SAAS,CAAC,GAAGA,SACjG;IACDhE,QAAQ,EAAEE,QAAQ,IAAIV,SAAS,GAAGyE,YAAY,GAAGD,SAAU;IAC3D0D,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,kBAAe1D;EAAU,GAC7D8C,UAAU,CACf,CAAC,EAED,CAACH,EAAE,CAACnH,SAAS,iBACZlD,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAiO,MAAM;IACLC,KAAK;IACLC,QAAQ,EAAE,CAAE;IACZ/C,IAAI,EAAC,eAAe;IACpBgD,IAAI,EAAE5D,EAAE,CAACC,MAAO;IAChB2B,OAAO,EAAEtE,YAAa;IACtB8C,SAAS,EAAE,IAAAY,UAAM,EAAC/K,KAAK,CAAC4N,MAAM,EAAE,CAAE/K,IAAI,IAAI,CAACkH,EAAE,CAACC,MAAM,IAAKzG,QAAQ,KAAKvD,KAAK,CAAC6N,QAAQ,CAAE;IACtF/C,MAAM,EAAEzH,MAAM,CAACyH,MAAM,MAAA9C,MAAA,CAAM3E,MAAM,CAACyH,MAAM,eAAY1D;EAAU,GAE5DvE,IAAI,IAAI,CAACkH,EAAE,CAACC,MAAM,IAAKzG,QAAQ,gBAAG7D,MAAA,CAAAoB,OAAA,CAAAwJ,aAAA,CAAC/K,GAAA,CAAAuO,IAAI;IAAC7J,KAAK,EAAE8J,cAAI,CAACC;EAAO,CAAE,CAAC,GAAG9K,IAAI,IAAIW,SAAS,CAACyH,aAAI,CAAC2C,aAAa,CACjG,CAEN,CACN,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAzL,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC0L,WAAW,GAAG,mBAAmB;AAExC1L,MAAM,CAAC2L,SAAS,GAAG;EACjBxL,SAAS,EAAEyL,kBAAS,CAACC,IAAI;EACzBzL,IAAI,EAAEwL,kBAAS,CAACC,IAAI;EACpBxL,MAAM,EAAEuL,kBAAS,CAACC,IAAI;EACtBvL,MAAM,EAAEsL,kBAAS,CAACE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;EACnCvL,QAAQ,EAAEqL,kBAAS,CAACC,IAAI;EACxBrL,OAAO,EAAEoL,kBAAS,CAACC,IAAI;EACvBpL,IAAI,EAAEmL,kBAAS,CAACG,MAAM;EACtBrL,QAAQ,EAAEkL,kBAAS,CAACI,IAAI;EACxBrL,QAAQ,EAAEiL,kBAAS,CAACI;AACtB,CAAC"}