@mirai/core 0.3.289 → 0.3.290
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/Rates/Rates.Footer.js +25 -8
- package/build/components/Rates/Rates.Footer.js.map +1 -1
- package/build/components/Rates/Rates.constants.js +1 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +14 -7
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/Rates.module.css +1 -0
- package/build/components/Rates/components/Item/Item.js +15 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/helpers/getFeatures.js +2 -0
- package/build/components/Rates/helpers/getFeatures.js.map +1 -1
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ var _helpers2 = require("../helpers");
|
|
|
16
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); }
|
|
17
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; }
|
|
18
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
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); }
|
|
19
20
|
const Footer = _ref => {
|
|
20
21
|
let {
|
|
21
22
|
cart = [],
|
|
@@ -24,6 +25,7 @@ const Footer = _ref => {
|
|
|
24
25
|
} = {},
|
|
25
26
|
extras,
|
|
26
27
|
login,
|
|
28
|
+
multiRoom,
|
|
27
29
|
occupation = [],
|
|
28
30
|
onSubmit = () => {}
|
|
29
31
|
} = _ref;
|
|
@@ -78,31 +80,45 @@ const Footer = _ref => {
|
|
|
78
80
|
row: true,
|
|
79
81
|
key: "".concat(id).concat(index),
|
|
80
82
|
className: style.cartItem
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
83
|
+
}, multiRoom && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
82
84
|
row: true,
|
|
83
85
|
className: style.room
|
|
84
86
|
}, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
|
|
85
87
|
value: guests === 1 ? _helpers2.ICON.PERSON : guests === 2 ? _helpers2.ICON.GROUP : _helpers2.ICON.GROUPS
|
|
86
88
|
}), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
87
89
|
small: true
|
|
88
|
-
}, guests)), /*#__PURE__*/_react.default.createElement(_ui.
|
|
90
|
+
}, guests)), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
91
|
+
className: style.description
|
|
92
|
+
}, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
89
93
|
bold: true,
|
|
90
94
|
action: !isMobile,
|
|
91
95
|
small: isMobile,
|
|
92
96
|
className: style.description
|
|
93
|
-
}, "".concat(roomName, " "), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
97
|
+
}, "".concat(roomName, " "), multiRoom && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
94
98
|
light: true,
|
|
95
99
|
small: true
|
|
96
|
-
}, "| ".concat(boardName))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
97
|
-
|
|
100
|
+
}, " | ".concat(boardName))), !multiRoom && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
101
|
+
light: true,
|
|
102
|
+
small: true
|
|
103
|
+
}, boardName)), /*#__PURE__*/_react.default.createElement(_ui.Text, _extends({
|
|
104
|
+
bold: true
|
|
105
|
+
}, multiRoom ? {
|
|
98
106
|
action: !isMobile,
|
|
99
107
|
small: isMobile
|
|
100
|
-
}
|
|
108
|
+
} : {
|
|
109
|
+
action: isMobile
|
|
110
|
+
}), currencyFormat({
|
|
101
111
|
currency,
|
|
102
112
|
maximumFractionDigits: 0,
|
|
103
113
|
value: amount * price
|
|
104
|
-
}))
|
|
105
|
-
|
|
114
|
+
})), !multiRoom && /*#__PURE__*/_react.default.createElement(_ui.Button, {
|
|
115
|
+
small: true,
|
|
116
|
+
busy: busy,
|
|
117
|
+
disabled: !valid,
|
|
118
|
+
large: !isMobile,
|
|
119
|
+
onPress: handleSubmit
|
|
120
|
+
}, translate(_Rates.L10N.ACTION_RESERVE)));
|
|
121
|
+
}))), multiRoom && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
106
122
|
row: true,
|
|
107
123
|
className: [style.wrapper, style.summary]
|
|
108
124
|
}, /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
@@ -133,6 +149,7 @@ Footer.propTypes = {
|
|
|
133
149
|
dataSource: _propTypes.default.shape({}),
|
|
134
150
|
extras: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
135
151
|
login: _propTypes.default.bool,
|
|
152
|
+
multiRoom: _propTypes.default.bool,
|
|
136
153
|
occupation: _propTypes.default.arrayOf(_propTypes.default.arrayOf(_propTypes.default.shape({
|
|
137
154
|
ages: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
138
155
|
amount: _propTypes.default.number,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","Footer","_ref","cart","dataSource","taxesType","extras","login","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","arguments","length","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","key","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","bold","action","description","light","maximumFractionDigits","summary","headline","level","tiny","getLabelTaxes","Button","disabled","large","onPress","L10N","ACTION_RESERVE","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({ cart = [], dataSource: { taxesType } = {}, extras, login, occupation = [], onSubmit = () => {} }) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n <Text light small>{`| ${boardName}`}</Text>\n </Text>\n\n <Text bold action={!isMobile} small={isMobile}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n </View>\n );\n })}\n </View>\n </View>\n\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rates.Footer.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_Rates","style","_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","Footer","_ref","cart","dataSource","taxesType","extras","login","multiRoom","occupation","onSubmit","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","useStore","busy","setBusy","useState","useEffect","items","filter","item","undefined","totalPrice","reduce","price","valid","handleSubmit","createElement","View","className","styles","footer","visible","wrapper","wide","map","amount","id","name","boardName","roomName","index","guests","total","row","concat","cartItem","room","Icon","ICON","PERSON","GROUP","GROUPS","Text","small","description","bold","action","light","maximumFractionDigits","Button","disabled","large","onPress","L10N","ACTION_RESERVE","summary","headline","level","tiny","getLabelTaxes","exports","displayName","propTypes","PropTypes","arrayOf","shape","bool","ages","number","type","func"],"sources":["../../../src/components/Rates/Rates.Footer.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { useDevice } from '@mirai/ui';\nimport { Button, Icon, styles, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getLabelTaxes } from './helpers';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { ICON } from '../helpers';\n\nconst Footer = ({\n cart = [],\n dataSource: { taxesType } = {},\n extras,\n login,\n multiRoom,\n occupation = [],\n onSubmit = () => {},\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const { value: { currency } = {} } = useStore();\n\n const [busy, setBusy] = useState(false);\n\n useEffect(() => !extras && setBusy(false), [extras]);\n\n useEffect(() => !login && setBusy(false), [login]);\n\n const items = cart.filter((item) => item !== undefined);\n const totalPrice = cart.reduce((value, { price = 0 } = {}) => value + price, 0);\n const valid = items.length === occupation.length;\n\n const handleSubmit = () => {\n setBusy(true);\n onSubmit();\n };\n\n return (\n <View className={styles(style.footer, items.length && style.visible)}>\n <View>\n <View className={style.wrapper} wide>\n {items.map(({ amount = 1, id, name: boardName, price, roomName } = {}, index) => {\n const guests = occupation[index].reduce((total, { amount } = {}) => total + amount, 0);\n\n return (\n <View row key={`${id}${index}`} className={style.cartItem}>\n {multiRoom && (\n <View row className={style.room}>\n <Icon value={guests === 1 ? ICON.PERSON : guests === 2 ? ICON.GROUP : ICON.GROUPS} />\n <Text small>{guests}</Text>\n </View>\n )}\n\n <View className={style.description}>\n <Text bold action={!isMobile} small={isMobile} className={style.description}>\n {`${roomName} `}\n {multiRoom && <Text light small>{` | ${boardName}`}</Text>}\n </Text>\n {!multiRoom && (\n <Text light small>\n {boardName}\n </Text>\n )}\n </View>\n\n <Text bold {...(multiRoom ? { action: !isMobile, small: isMobile } : { action: isMobile })}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: amount * price })}\n </Text>\n\n {!multiRoom && (\n <Button small busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n )}\n </View>\n );\n })}\n </View>\n </View>\n\n {multiRoom && (\n <View row className={[style.wrapper, style.summary]}>\n <View className={style.totalPrice}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, maximumFractionDigits: 0, value: totalPrice })}\n </Text>\n\n {!!taxesType && (\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button busy={busy} disabled={!valid} large={!isMobile} onPress={handleSubmit}>\n {translate(L10N.ACTION_RESERVE)}\n </Button>\n </View>\n )}\n </View>\n );\n};\n\nFooter.displayName = 'Mirai:Core:Rates:Footer';\n\nFooter.propTypes = {\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n dataSource: PropTypes.shape({}),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n login: PropTypes.bool,\n multiRoom: PropTypes.bool,\n occupation: PropTypes.arrayOf(\n PropTypes.arrayOf(\n PropTypes.shape({\n ages: PropTypes.arrayOf(PropTypes.number),\n amount: PropTypes.number,\n type: PropTypes.number,\n }),\n ),\n ),\n onSubmit: PropTypes.func,\n};\n\nexport { Footer };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAAkC,SAAAW,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,SAAAN,wBAAAM,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,SAAAhB,uBAAA4B,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;AAElC,MAAMK,MAAM,GAAGC,IAAA,IAQT;EAAA,IARU;IACdC,IAAI,GAAG,EAAE;IACTC,UAAU,EAAE;MAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAC9BC,MAAM;IACNC,KAAK;IACLC,SAAS;IACTC,UAAU,GAAG,EAAE;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC;EACpB,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE/C,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAEvC,IAAAC,gBAAS,EAAC,MAAM,CAAChB,MAAM,IAAIc,OAAO,CAAC,KAAK,CAAC,EAAE,CAACd,MAAM,CAAC,CAAC;EAEpD,IAAAgB,gBAAS,EAAC,MAAM,CAACf,KAAK,IAAIa,OAAO,CAAC,KAAK,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAElD,MAAMgB,KAAK,GAAGpB,IAAI,CAACqB,MAAM,CAAEC,IAAI,IAAKA,IAAI,KAAKC,SAAS,CAAC;EACvD,MAAMC,UAAU,GAAGxB,IAAI,CAACyB,MAAM,CAAC,UAACZ,KAAK;IAAA,IAAE;MAAEa,KAAK,GAAG;IAAE,CAAC,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKoB,KAAK,GAAGa,KAAK;EAAA,GAAE,CAAC,CAAC;EAC/E,MAAMC,KAAK,GAAGP,KAAK,CAAC1B,MAAM,KAAKY,UAAU,CAACZ,MAAM;EAEhD,MAAMkC,YAAY,GAAGA,CAAA,KAAM;IACzBX,OAAO,CAAC,IAAI,CAAC;IACbV,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,oBACE9C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACnE,KAAK,CAACoE,MAAM,EAAEb,KAAK,CAAC1B,MAAM,IAAI7B,KAAK,CAACqE,OAAO;EAAE,gBACnEzE,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI,qBACHrE,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAElE,KAAK,CAACsE,OAAQ;IAACC,IAAI;EAAA,GACjChB,KAAK,CAACiB,GAAG,CAAC,YAAsE;IAAA,IAArE;MAAEC,MAAM,GAAG,CAAC;MAAEC,EAAE;MAAEC,IAAI,EAAEC,SAAS;MAAEf,KAAK;MAAEgB;IAAS,CAAC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;IAAA,IAAEkD,KAAK,GAAAlD,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAA8B,SAAA;IAC1E,MAAMqB,MAAM,GAAGtC,UAAU,CAACqC,KAAK,CAAC,CAAClB,MAAM,CAAC,UAACoB,KAAK;MAAA,IAAE;QAAEP;MAAO,CAAC,GAAA7C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA8B,SAAA,GAAA9B,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKoD,KAAK,GAAGP,MAAM;IAAA,GAAE,CAAC,CAAC;IAEtF,oBACE7E,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACgB,GAAG;MAAClD,GAAG,KAAAmD,MAAA,CAAKR,EAAE,EAAAQ,MAAA,CAAGJ,KAAK,CAAG;MAACZ,SAAS,EAAElE,KAAK,CAACmF;IAAS,GACvD3C,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACgB,GAAG;MAACf,SAAS,EAAElE,KAAK,CAACoF;IAAK,gBAC9BxF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAA4F,IAAI;MAACrC,KAAK,EAAE+B,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACC,MAAM,GAAGR,MAAM,KAAK,CAAC,GAAGO,cAAI,CAACE,KAAK,GAAGF,cAAI,CAACG;IAAO,CAAE,CAAC,eACrF7F,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACC,KAAK;IAAA,GAAEZ,MAAa,CACtB,CACP,eAEDnF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;MAACC,SAAS,EAAElE,KAAK,CAAC4F;IAAY,gBACjChG,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACG,IAAI;MAACC,MAAM,EAAE,CAACnD,QAAS;MAACgD,KAAK,EAAEhD,QAAS;MAACuB,SAAS,EAAElE,KAAK,CAAC4F;IAAY,MAAAV,MAAA,CACtEL,QAAQ,QACXrC,SAAS,iBAAI5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,SAAAT,MAAA,CAAQN,SAAS,CAAS,CACrD,CAAC,EACN,CAACpC,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;MAACK,KAAK;MAACJ,KAAK;IAAA,GACdf,SACG,CAEJ,CAAC,eAEPhF,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI,EAAAlE,QAAA;MAACqE,IAAI;IAAA,GAAMrD,SAAS,GAAG;MAAEsD,MAAM,EAAE,CAACnD,QAAQ;MAAEgD,KAAK,EAAEhD;IAAS,CAAC,GAAG;MAAEmD,MAAM,EAAEnD;IAAS,CAAC,GACtFE,cAAc,CAAC;MAAEI,QAAQ;MAAE+C,qBAAqB,EAAE,CAAC;MAAEhD,KAAK,EAAEyB,MAAM,GAAGZ;IAAM,CAAC,CACzE,CAAC,EAEN,CAACrB,SAAS,iBACT5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwG,MAAM;MAACN,KAAK;MAACxC,IAAI,EAAEA,IAAK;MAAC+C,QAAQ,EAAE,CAACpC,KAAM;MAACqC,KAAK,EAAE,CAACxD,QAAS;MAACyD,OAAO,EAAErC;IAAa,GACjFjB,SAAS,CAACuD,WAAI,CAACC,cAAc,CACxB,CAEN,CAAC;EAEX,CAAC,CACG,CACF,CAAC,EAEN9D,SAAS,iBACR5C,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACgB,GAAG;IAACf,SAAS,EAAE,CAAClE,KAAK,CAACsE,OAAO,EAAEtE,KAAK,CAACuG,OAAO;EAAE,gBAClD3G,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwE,IAAI;IAACC,SAAS,EAAElE,KAAK,CAAC2D;EAAW,gBAChC/D,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;IAACG,IAAI;IAACW,QAAQ;IAACC,KAAK,EAAE9D,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAEI,QAAQ;IAAE+C,qBAAqB,EAAE,CAAC;IAAEhD,KAAK,EAAEW;EAAW,CAAC,CACrE,CAAC,EAEN,CAAC,CAACtB,SAAS,iBACVzC,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAiG,IAAI;IAACK,KAAK;IAACJ,KAAK,EAAE,CAAChD,QAAS;IAAC+D,IAAI,EAAE/D;EAAS,GAC1CG,SAAS,CAAC,IAAA6D,sBAAa,EAACtE,SAAS,CAAC,CAC/B,CAEJ,CAAC,eAEPzC,MAAA,CAAAY,OAAA,CAAAwD,aAAA,CAACvE,GAAA,CAAAwG,MAAM;IAAC9C,IAAI,EAAEA,IAAK;IAAC+C,QAAQ,EAAE,CAACpC,KAAM;IAACqC,KAAK,EAAE,CAACxD,QAAS;IAACyD,OAAO,EAAErC;EAAa,GAC3EjB,SAAS,CAACuD,WAAI,CAACC,cAAc,CACxB,CACJ,CAEJ,CAAC;AAEX,CAAC;AAACM,OAAA,CAAA3E,MAAA,GAAAA,MAAA;AAEFA,MAAM,CAAC4E,WAAW,GAAG,yBAAyB;AAE9C5E,MAAM,CAAC6E,SAAS,GAAG;EACjB3E,IAAI,EAAE4E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5C7E,UAAU,EAAE2E,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B3E,MAAM,EAAEyE,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9C1E,KAAK,EAAEwE,kBAAS,CAACG,IAAI;EACrB1E,SAAS,EAAEuE,kBAAS,CAACG,IAAI;EACzBzE,UAAU,EAAEsE,kBAAS,CAACC,OAAO,CAC3BD,kBAAS,CAACC,OAAO,CACfD,kBAAS,CAACE,KAAK,CAAC;IACdE,IAAI,EAAEJ,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACK,MAAM,CAAC;IACzC3C,MAAM,EAAEsC,kBAAS,CAACK,MAAM;IACxBC,IAAI,EAAEN,kBAAS,CAACK;EAClB,CAAC,CACH,CACF,CAAC;EACD1E,QAAQ,EAAEqE,kBAAS,CAACO;AACtB,CAAC"}
|
|
@@ -28,6 +28,7 @@ const FEATURES = exports.FEATURES = {
|
|
|
28
28
|
SHOW_CLUB_DISCOUNT: 'showClubDiscount',
|
|
29
29
|
SHOW_MAX_OCCUPATION: 'showMaxOccupation',
|
|
30
30
|
SHOW_OFFERS_FIRST: 'showOffersFirst',
|
|
31
|
+
SHOW_PREVIEW_PRICE: 'showPreviewPrice',
|
|
31
32
|
SHOW_RATE_INCLUDED: 'showRateIncluded'
|
|
32
33
|
};
|
|
33
34
|
//# sourceMappingURL=Rates.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","PESTANA","COLUMN_MODE","HIDE_RADIO","ROW_MODE","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_CLUB_DISCOUNT","SHOW_MAX_OCCUPATION","SHOW_OFFERS_FIRST","SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n PESTANA: 'pestana',\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n ROW_MODE: 'rowMode',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_CLUB_DISCOUNT: 'showClubDiscount',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nexport { BED_TYPE, DATE_FORMAT, DISCOUNT_TYPE, FEATURES };\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAX,OAAA,CAAAW,QAAA,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.constants.js","names":["BED_TYPE","exports","SINGLE","DOUBLE","DATE_FORMAT","weekday","month","day","DISCOUNT_TYPE","CLUB","DEAL","PROMOTION","FEATURES","PESTANA","COLUMN_MODE","HIDE_RADIO","ROW_MODE","SHOW_ALL_BOARDS","SHOW_ALL_OFFERS","SHOW_CLUB_DISCOUNT","SHOW_MAX_OCCUPATION","SHOW_OFFERS_FIRST","SHOW_PREVIEW_PRICE","SHOW_RATE_INCLUDED"],"sources":["../../../src/components/Rates/Rates.constants.js"],"sourcesContent":["const BED_TYPE = {\n SINGLE: 1,\n DOUBLE: 2,\n};\n\nconst DATE_FORMAT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst DISCOUNT_TYPE = {\n CLUB: 0,\n DEAL: 1,\n PROMOTION: 2,\n};\n\nconst FEATURES = {\n PESTANA: 'pestana',\n COLUMN_MODE: 'columnMode',\n HIDE_RADIO: 'hideRadio',\n ROW_MODE: 'rowMode',\n SHOW_ALL_BOARDS: 'showAllBoards',\n SHOW_ALL_OFFERS: 'showAllOffers',\n SHOW_CLUB_DISCOUNT: 'showClubDiscount',\n SHOW_MAX_OCCUPATION: 'showMaxOccupation',\n SHOW_OFFERS_FIRST: 'showOffersFirst',\n SHOW_PREVIEW_PRICE: 'showPreviewPrice',\n SHOW_RATE_INCLUDED: 'showRateIncluded',\n};\n\nexport { BED_TYPE, DATE_FORMAT, DISCOUNT_TYPE, FEATURES };\n"],"mappings":";;;;;;AAAA,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACfE,MAAM,EAAE,CAAC;EACTC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,WAAW,GAAAH,OAAA,CAAAG,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAExE,MAAMC,aAAa,GAAAP,OAAA,CAAAO,aAAA,GAAG;EACpBC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,QAAQ,GAAAX,OAAA,CAAAW,QAAA,GAAG;EACfC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,YAAY;EACzBC,UAAU,EAAE,WAAW;EACvBC,QAAQ,EAAE,SAAS;EACnBC,eAAe,EAAE,eAAe;EAChCC,eAAe,EAAE,eAAe;EAChCC,kBAAkB,EAAE,kBAAkB;EACtCC,mBAAmB,EAAE,mBAAmB;EACxCC,iBAAiB,EAAE,iBAAiB;EACpCC,kBAAkB,EAAE,kBAAkB;EACtCC,kBAAkB,EAAE;AACtB,CAAC"}
|
|
@@ -81,6 +81,7 @@ const Rates = _ref => {
|
|
|
81
81
|
const [itemInfo, setItemInfo] = (0, _react.useState)();
|
|
82
82
|
const [itemRateInfo, setItemRateInfo] = (0, _react.useState)();
|
|
83
83
|
const [itemUrl, setItemUrl] = (0, _react.useState)();
|
|
84
|
+
const [itemPreview, setItemPreview] = (0, _react.useState)();
|
|
84
85
|
const [login, setLogin] = (0, _react.useState)(false);
|
|
85
86
|
const [responseError, setResponseError] = (0, _react.useState)();
|
|
86
87
|
const [room, setRoom] = (0, _react.useState)();
|
|
@@ -215,6 +216,7 @@ const Rates = _ref => {
|
|
|
215
216
|
let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
216
217
|
setCart([]);
|
|
217
218
|
setDataSource(undefined);
|
|
219
|
+
setItemPreview(undefined);
|
|
218
220
|
setRoom();
|
|
219
221
|
scrollTo(0);
|
|
220
222
|
(0, _helpers3.replaceUrlParams)((0, _helpers.getFinderParams)({
|
|
@@ -313,10 +315,6 @@ const Rates = _ref => {
|
|
|
313
315
|
const {
|
|
314
316
|
contentBackground
|
|
315
317
|
} = _ui.Theme.get();
|
|
316
|
-
const features = (0, _helpers.getFeatures)(id, urlParams, {
|
|
317
|
-
isDesktop,
|
|
318
|
-
isMobile
|
|
319
|
-
});
|
|
320
318
|
const multiRoom = (occupation === null || occupation === void 0 ? void 0 : occupation.length) > 1 || metaCart.length > 0;
|
|
321
319
|
const nights = (0, _locale.dateDiff)(calendar[0], calendar[1]).days;
|
|
322
320
|
const response = dataSource !== undefined;
|
|
@@ -327,6 +325,13 @@ const Rates = _ref => {
|
|
|
327
325
|
onPress: setRoom
|
|
328
326
|
};
|
|
329
327
|
const showStrictSearch = !!(finder !== null && finder !== void 0 && finder.promocode) || !!(urlParams !== null && urlParams !== void 0 && urlParams.idoffers) || (urlParams === null || urlParams === void 0 ? void 0 : urlParams.roomTypeId);
|
|
328
|
+
const {
|
|
329
|
+
showPreviewPrice,
|
|
330
|
+
...features
|
|
331
|
+
} = (0, _helpers.getFeatures)(id, urlParams, {
|
|
332
|
+
isDesktop,
|
|
333
|
+
isMobile
|
|
334
|
+
}, multiRoom);
|
|
330
335
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
|
|
331
336
|
currency: true,
|
|
332
337
|
locale: true,
|
|
@@ -382,6 +387,7 @@ const Rates = _ref => {
|
|
|
382
387
|
ref: el => refItems.current[id] = el,
|
|
383
388
|
selected: cart[room || 0],
|
|
384
389
|
onMoreInfo: () => setItemInfo(item),
|
|
390
|
+
onPreview: showPreviewPrice && !multiRoom ? setItemPreview : undefined,
|
|
385
391
|
onRateInfo: rate => setItemRateInfo({
|
|
386
392
|
...rate,
|
|
387
393
|
name: item.name
|
|
@@ -396,13 +402,14 @@ const Rates = _ref => {
|
|
|
396
402
|
}, item));
|
|
397
403
|
})) : responseError ? /*#__PURE__*/_react.default.createElement(_Rates8.Unavailability, responseError) : /*#__PURE__*/_react.default.createElement(_Rates7.default, {
|
|
398
404
|
multiRoom: multiRoom
|
|
399
|
-
})),
|
|
400
|
-
cart,
|
|
405
|
+
})), /*#__PURE__*/_react.default.createElement(_Rates3.Footer, {
|
|
406
|
+
cart: multiRoom ? cart : [itemPreview],
|
|
401
407
|
dataSource,
|
|
402
408
|
extras,
|
|
403
409
|
login,
|
|
410
|
+
multiRoom,
|
|
404
411
|
occupation,
|
|
405
|
-
onSubmit: () => handleSubmit(cart)
|
|
412
|
+
onSubmit: () => multiRoom ? handleSubmit(cart) : handleSelect(itemPreview)
|
|
406
413
|
})), response && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_components.ModalItemInfo, _extends({}, itemInfo, {
|
|
407
414
|
features,
|
|
408
415
|
room,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","features","getFeatures","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const features = getFeatures(id, urlParams, { isDesktop, isMobile });\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n {multiRoom && (\n <Footer {...{ cart, dataSource, extras, login, occupation }} onSubmit={() => handleSubmit(cart)} />\n )}\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,GAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAC,uBAAA,CAAAP,OAAA;AAEA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAUA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAX,OAAA;AACA,IAAAY,OAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,KAAA,GAAAR,uBAAA,CAAAP,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AACA,IAAAiB,OAAA,GAAAZ,sBAAA,CAAAL,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,SAAA,GAAAnB,OAAA;AACA,IAAAoB,UAAA,GAAApB,OAAA;AACA,IAAAqB,SAAA,GAAArB,OAAA;AACA,IAAAsB,OAAA,GAAAtB,OAAA;AACA,IAAAuB,OAAA,GAAAvB,OAAA;AACA,IAAAwB,SAAA,GAAAxB,OAAA;AACA,IAAAyB,aAAA,GAAAzB,OAAA;AAAqE,SAAA0B,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,SAAApB,wBAAAoB,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,SAAA9B,uBAAA0C,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;AAErE,IAAIK,UAAU,GAAG,KAAK;AAEtB,MAAMC,KAAK,GAAGC,IAAA,IAA6B;EAAA,IAAAC,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAL,IAAA;EACpC,MAAM;IAAEM,SAAS;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAClD,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAMC,eAAe,GAAG,IAAAC,aAAM,EAAC,CAAC;EAChC,MAAMC,QAAQ,GAAG,IAAAD,aAAM,EAAC,CAAC,CAAC,CAAC;EAC3B,MAAM;IACJ1B,GAAG;IACH4B,KAAK,EAAE;MACLC,IAAI,EAAE;QAAEC,QAAQ;QAAE,GAAGD;MAAK,CAAC,GAAG,CAAC,CAAC;MAChCE,QAAQ;MACRC,MAAM,GAAG,CAAC,CAAC;MACXC,SAAS;MACTC,KAAK,GAAG,CAAC,CAAC;MACVC,EAAE;MACFC,QAAQ;MACRC,MAAM;MACNC,UAAU,EAAE;QAAEC;MAAS,CAAC,GAAG,CAAC,CAAC;MAC7BC,KAAK,EAAE;QAAEC,IAAI,EAAEC,QAAQ,GAAG;MAAG,CAAC,GAAG,CAAC,CAAC;MACnCC,OAAO;MACPC;IACF;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACpC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAAClB,QAAQ,CAAC;EAC1D,MAAM,CAACqB,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACK,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAN,eAAQ,EAAC,CAAC;EACtC,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAR,eAAQ,EAACS,SAAS,CAAC;EACnD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAX,eAAQ,EAAC,CAAC;EAC1C,MAAM,CAACY,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAb,eAAQ,EAAC,CAAC;EAClD,MAAM,CAACc,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAf,eAAQ,EAAC,CAAC;EACxC,MAAM,CAACgB,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAjB,eAAQ,EAAC,KAAK,CAAC;EACzC,MAAM,CAACkB,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAnB,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACoB,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAArB,eAAQ,EAAC,CAAC;EAClC,MAAM,CAACsB,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAvB,eAAQ,EAAC,CAAC;EAElD,MAAM;IAAEwB,QAAQ,GAAG,EAAE;IAAElC,UAAU,GAAG,EAAE;IAAEmC,KAAK,GAAG,CAAC;EAAE,CAAC,GAAGzC,MAAM;;EAE7D;EACA,IAAA0C,gBAAS,EAAC,MAAMzD,QAAQ,IAAIuC,WAAW,CAAC,IAAI,CAAC,EAAE,CAACvC,QAAQ,CAAC,CAAC;;EAE1D;EACA,IAAAyD,gBAAS,EAAC,MAAM;IACd,IAAI,CAACvB,UAAU,IAAI,CAACT,QAAQ,CAACnC,MAAM,EAAE;IAErC,IAAAoE,qBAAY,EAAC;MAAE7B,IAAI;MAAEK,UAAU;MAAET;IAAS,CAAC,CAAC,CACzCkC,IAAI,CAAEC,KAAK,IAAK;MACf,MAAMC,YAAY,GAAGD,KAAK,GAAGE,YAAI,CAACC,4BAA4B,GAAGD,YAAI,CAACE,gCAAgC;MACtGC,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,YAAY,EAAE;QAAEC,QAAQ,EAAE,IAAI;QAAEC,cAAc,EAAEhE,SAAS,CAACuD,YAAY,EAAElC,SAAS;MAAE,CAAC,CAAC;MACzG,IAAIiC,KAAK,EAAEW,YAAY,CAACX,KAAK,CAAC;IAChC,CAAC,CAAC,CACDY,KAAK,CAAC,MAAMzF,GAAG,CAAC;MAAEwC,KAAK,EAAEiB;IAAU,CAAC,CAAC,CAAC;;IAEzC;EACF,CAAC,EAAE,CAACN,UAAU,EAAET,QAAQ,CAAC,CAAC;EAE1B,IAAAgC,gBAAS,EAAC,MAAM;IACd,IAAI,CAACzB,YAAY,IAAI,CAAClB,QAAQ,IAAI,CAACY,OAAO,IAAI2B,YAAY,KAAKb,SAAS,EAAE;IAE1E,CAACO,KAAK,IAAIjB,OAAO,CAAC,EAAE,CAAC;IACrBsB,OAAO,CAACZ,SAAS,CAAC;IAClBiC,aAAa,CAAC,CAAC;IACf;EACF,CAAC,EAAE,CAACzC,YAAY,EAAElB,QAAQ,EAAEY,OAAO,EAAE2B,YAAY,CAAC,CAAC;EAEnD,IAAAI,gBAAS,EAAC,MAAM;IACd,IAAI,CAACrC,MAAM,EAAE;IACbqD,aAAa,CAACtB,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAAC/B,MAAM,CAAC,CAAC;EAEZ,IAAAqC,gBAAS,EAAC,MAAM;IACd,IAAIiB,SAAS,EAAE;MACb,IAAIvB,IAAI,GAAG,CAAC,EAAE;QACZ,MAAM;UAAEwB,OAAO,EAAE;YAAEC,YAAY,GAAG,CAAC;YAAEC,SAAS,GAAG;UAAE,CAAC,GAAG,CAAC;QAAE,CAAC,GAAGrE,eAAe,IAAI,CAAC,CAAC;QACnFsE,QAAQ,CAACD,SAAS,IAAI1E,QAAQ,GAAGyE,YAAY,GAAG,CAAC,CAAC,CAAC;MACrD;MACAzC,aAAa,CAAC,CAAC;IACjB;IAEAsC,aAAa,CAACtB,IAAI,CAAC;IACnB;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAI,CAACvB,UAAU,IAAIiB,IAAI,EAAE;IACzB,IAAA4B,wBAAe,EAAC;MAAE,GAAG7C,UAAU;MAAE,GAAG,IAAA8C,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;MAAE/E,QAAQ;MAAEkB,UAAU;MAAEmC;IAAM,CAAC,CAAC;IACnG;EACF,CAAC,EAAE,CAACtB,UAAU,CAAC,CAAC;;EAEhB;EACA,MAAMiD,KAAK,GAAG,eAAAA,CAAOhC,IAAI,EAAkC;IAAA,IAAhCiC,cAAc,GAAA/F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAGgC,UAAU;IACpD,IAAIrB,QAAQ,EAAE;IAEdiE,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACkB,MAAM,EAAE;MAAE9B,QAAQ,EAAEf;IAAU,CAAC,CAAC;IACpDD,WAAW,CAAC,IAAI,CAAC;IACjBW,gBAAgB,CAAC,CAAC;IAElB,IAAIvB,SAAS,GAAG,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;IAC/C,IAAI,CAACvD,SAAS,CAAC2D,OAAO,IAAI,CAAC3D,SAAS,CAAC4D,MAAM,IAAI,CAAC5D,SAAS,CAAC6D,OAAO,EAAE;MACjE7D,SAAS,GAAG;QAAE,GAAGA,SAAS;QAAE,GAAG,IAAA8D,wBAAe,EAAC;UAAE,GAAG1E,MAAM;UAAEE;QAAM,CAAC;MAAE,CAAC;MACtE,IAAAyE,0BAAgB,EAAC/D,SAAS,CAAC;IAC7B;IAEA,MAAMgE,MAAM,GAAG;MACb,GAAGhE,SAAS;MACZf,IAAI;MACJoB,YAAY;MACZd,EAAE;MACFE,MAAM;MACNE,QAAQ;MACRD,UAAU,EAAE+D,cAAc;MAC1B5B,KAAK;MACLoC,WAAW,EAAE/D,IAAI,CAACgE,GAAG,CAAC;QAAA,IAAC;UAAE3E;QAAG,CAAC,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;QAAA,OAAK6B,EAAE;MAAA,EAAC,CAAC4E,IAAI,CAAC,GAAG,CAAC;MACpDpE,OAAO;MACP2B;IACF,CAAC;IACD,IAAIF,IAAI,KAAKX,SAAS,EAAEmD,MAAM,CAACH,OAAO,GAAG,IAAAO,wBAAc,EAAC,CAACX,cAAc,CAACjC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpF,MAAM6C,cAAc,GAAG,MAAMC,uBAAY,CAAC9H,GAAG,CAACwH,MAAM,CAAC,CAACnB,KAAK,CAACtB,gBAAgB,CAAC;IAC7E,IAAI8C,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEE,eAAe,EAAE,IAAAC,gBAAO,EAAC;MAAEvF,IAAI;MAAEO;IAAS,CAAC,CAAC,CAAC,KAC5DgB,aAAa,CAAC6D,cAAc,CAAC;IAElC,IAAIA,cAAc,IAAI,CAAAZ,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAE9F,MAAM,IAAG,CAAC,IAAI6D,IAAI,KAAKX,SAAS,EAAEY,OAAO,CAAC,CAAC,CAAC;IAElFb,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC;EAED,MAAMkC,aAAa,GAAG,IAAA2B,kBAAQ,EAACjB,KAAK,EAAE,EAAE,CAAC;;EAEzC;EACA,MAAMkB,kBAAkB,GAAG,MAAOC,IAAI,IAAK;IACzCrE,eAAe,CAACqE,IAAI,CAAC;IACrBvD,KAAK,IAAIC,QAAQ,CAAC,KAAK,CAAC;EAC1B,CAAC;EAED,MAAMuD,kBAAkB,GAAI5F,KAAK,IAAK;IACpC2C,eAAe,CAAC3C,KAAK,CAAC;EACxB,CAAC;EAED,MAAM6F,YAAY,GAAG,SAAAA,CAAA,EAAiB;IAAA,IAAhBC,MAAM,GAAApH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;IAC/ByC,OAAO,CAAC,EAAE,CAAC;IACXK,aAAa,CAACK,SAAS,CAAC;IACxBY,OAAO,CAAC,CAAC;IACT0B,QAAQ,CAAC,CAAC,CAAC;IAEX,IAAAY,0BAAgB,EAAC,IAAAD,wBAAe,EAAC;MAAE,GAAGgB,MAAM;MAAExF;IAAM,CAAC,CAAC,CAAC;IACvDwD,aAAa,CAACjC,SAAS,EAAEiE,MAAM,CAACpF,UAAU,CAAC;EAC7C,CAAC;EAED,MAAMkD,YAAY,GAAGA,CAACX,KAAK,EAAE3D,MAAM,KAAK;IACtC,MAAMyG,QAAQ,GAAG,CAAC,GAAG7E,IAAI,CAAC;IAC1B6E,QAAQ,CAACvD,IAAI,IAAI,CAAC,CAAC,GAAGS,KAAK,GAAG;MAAE,GAAGA,KAAK;MAAE,GAAG3D;IAAO,CAAC,GAAGuC,SAAS;IAEjE,IAAIoB,KAAK,EAAE;MACT+C,YAAY,CAAC/C,KAAK,CAACgD,MAAM,CAAC;MAE1B,IAAAC,wBAAe,EAAC;QACd,GAAG3E,UAAU;QACb,GAAG,IAAA8C,wBAAc,EAACC,QAAQ,CAACC,MAAM,CAAC;QAClCtB,KAAK;QACL/B,IAAI,EAAE6E,QAAQ;QACdvG,QAAQ;QACRkB;MACF,CAAC,CAAC;IACJ;IAEAS,OAAO,CAAC4E,QAAQ,CAAC;IACjBrE,SAAS,CAAC,CAAC;IACXU,KAAK,IAAIC,QAAQ,CAAC,KAAK,CAAC;IAExB,IAAI,CAAC0B,SAAS,IAAI,CAAC,CAACd,KAAK,EAAEkD,YAAY,CAACJ,QAAQ,CAAC;IACjD,IAAIhC,SAAS,IAAId,KAAK,IAAIT,IAAI,GAAG9B,UAAU,CAAC/B,MAAM,GAAG,CAAC,EAAE,OAAO8D,OAAO,CAACD,IAAI,GAAG,CAAC,CAAC;IAChF,IAAIuB,SAAS,IAAI,CAACd,KAAK,EAAE7E,GAAG,CAAC;MAAEwC,KAAK,EAAEiB;IAAU,CAAC,CAAC;EACpD,CAAC;;EAED;EACA,MAAMsE,YAAY,GAAG,MAAOjF,IAAI,IAAK;IACnC,MAAMkF,SAAS,GAAGC,yBAAe,CAAC7I,GAAG,CAAC8I,eAAQ,CAACC,OAAO,EAAEhG,EAAE,CAAC,IAAI,KAAK;IACpE8B,QAAQ,CAAC,KAAK,CAAC;IAEf,IAAI,CAAC+D,SAAS,IAAI/E,YAAY,IAAI,CAACN,OAAO,IAAI,CAAChC,UAAU,EAAE;MACzDA,UAAU,GAAG,IAAI;MACjB,OAAOsD,QAAQ,CAAC,IAAI,CAAC;IACvB;IAEA,MAAM;MAAEZ,MAAM,GAAG;IAAG,CAAC,GAAG,MAAM6D,uBAAY,CAAC7D,MAAM,CAAC;MAChD,GAAG,IAAA+E,0BAAiB,EAAC;QAAEtF,IAAI;QAAEG,YAAY;QAAElB,QAAQ;QAAEE,SAAS;QAAEW,SAAS,EAAE,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM;MAAE,CAAC,CAAC;MAC7G,GAAG,IAAAkC,6BAAmB,EAAC;QAAEC,SAAS,EAAEnF,UAAU,CAACmF,SAAS;QAAEhG;MAAW,CAAC,CAAC;MACvEiG,aAAa,EAAEpF,UAAU,CAACpB,QAAQ;MAClCM;IACF,CAAC,CAAC,CAACoD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClB,MAAM+C,gBAAgB,GAAGnF,MAAM,CAACoF,IAAI,CAAC;MAAA,IAAC;QAAEC;MAAS,CAAC,GAAApI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK,CAACoI,QAAQ;IAAA,EAAC;IAEtE,IAAIF,gBAAgB,EAAElF,SAAS,CAACD,MAAM,CAAC,CAAC,KACnCsF,cAAc,CAAC7F,IAAI,EAAEO,MAAM,CAAC;EACnC,CAAC;EAED,MAAMsF,cAAc,GAAG,SAAAA,CAAA,EAA4B;IAAA,IAA3B7F,IAAI,GAAAxC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,EAAE;IAAA,IAAE+C,MAAM,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,EAAE;IAC5CsI,QAAQ,CAAC1C,QAAQ,CAAC2C,IAAI,GAAG,IAAAC,wBAAe,EAAC;MACvChG,IAAI;MACJG,YAAY;MACZlB,QAAQ;MACRsB,MAAM;MACNpB,SAAS;MACTU,OAAO;MACPC,SAAS,EAAE,IAAAqD,wBAAc,EAACC,QAAQ,CAACC,MAAM;IAC3C,CAAC,CAAC;EACJ,CAAC;EAED,MAAMJ,QAAQ,GAAG,SAAAA,CAAA;IAAA,IAACnE,KAAK,GAAAtB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC;IAAA,OAAKyI,MAAM,CAAChD,QAAQ,CAAC;MAAEiD,GAAG,EAAEpH,KAAK;MAAEqH,QAAQ,EAAE;IAAS,CAAC,CAAC;EAAA;EAEnF,MAAMrB,YAAY,GAAIC,MAAM,IAAK;IAAA,IAAAqB,qBAAA;IAC/B,MAAM;MAAEF;IAAI,CAAC,GAAG,CAAArH,QAAQ,aAARA,QAAQ,wBAAAuH,qBAAA,GAARvH,QAAQ,CAAEiE,OAAO,CAACiC,MAAM,CAAC,cAAAqB,qBAAA,uBAAzBA,qBAAA,CAA2BC,qBAAqB,CAAC,CAAC,KAAI,CAAC,CAAC;IAExE,IAAIH,GAAG,EAAEjD,QAAQ,CAACiD,GAAG,GAAGD,MAAM,CAACK,OAAO,IAAIhI,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;EACpE,CAAC;EAED,MAAM;IAAEiI;EAAkB,CAAC,GAAGC,SAAK,CAAClK,GAAG,CAAC,CAAC;EACzC,MAAMmK,QAAQ,GAAG,IAAAC,oBAAW,EAACrH,EAAE,EAAES,SAAS,EAAE;IAAEzB,SAAS;IAAEC;EAAS,CAAC,CAAC;EACpE,MAAMuE,SAAS,GAAG,CAAArD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE/B,MAAM,IAAG,CAAC,IAAImC,QAAQ,CAACnC,MAAM,GAAG,CAAC;EAC/D,MAAMiG,MAAM,GAAG,IAAAiD,gBAAQ,EAACjF,QAAQ,CAAC,CAAC,CAAC,EAAEA,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACkF,IAAI;EACtD,MAAMC,QAAQ,GAAGxG,UAAU,KAAKM,SAAS;EACzC,MAAMmG,iBAAiB,GAAG;IAAE9G,IAAI;IAAER,UAAU;IAAE8B,IAAI;IAAEyF,OAAO,EAAExF;EAAQ,CAAC;EACtE,MAAMyF,gBAAgB,GAAG,CAAC,EAAC9H,MAAM,aAANA,MAAM,eAANA,MAAM,CAAE+H,SAAS,KAAI,CAAC,EAACnH,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEoH,QAAQ,MAAIpH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEqH,UAAU;EAE9F,oBACEzM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAA1M,MAAA,CAAA0B,OAAA,CAAAiL,QAAA,qBACE3M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACzL,OAAA,CAAA2L,MAAM;IAACrI,QAAQ;IAACM,MAAM;IAAC2B,KAAK;IAACqG,IAAI;EAAA,CAAE,CAAC,eAErC7M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IACHC,GAAG,EAAE9I,eAAgB;IACrB+I,SAAS,EAAE,IAAAC,UAAM,EAACxM,KAAK,CAAC+D,MAAM,EAAE/D,KAAK,CAACyM,IAAI,EAAE,CAAC,CAAC/E,SAAS,IAAIzB,aAAa,KAAKjG,KAAK,CAAC0M,MAAM,CAAE;IAC3F1M,KAAK,EAAE,CAACmD,QAAQ,GAAG;MAAEwJ,eAAe,EAAE,IAAAC,iBAAO,EAACxB,iBAAiB,EAAE,IAAI;IAAE,CAAC,GAAG5F;EAAU,gBAErFjG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC1L,OAAA,CAAAsM,MAAM;IAACC,QAAQ,EAAE,CAAC3J,QAAS;IAAC4J,SAAS;IAACC,IAAI,EAAE1J,SAAS,CAACwD,YAAI,CAACmG,aAAa,CAAE;IAACC,QAAQ,EAAE1D;EAAa,CAAE,CACjG,CAAC,eAEPjK,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAA+N,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE/H,QAAQ,IAAI,CAACW,aAAc;IAACsG,SAAS,EAAEvM,KAAK,CAACsN;EAAS,CAAE,CAAC,EAEzFnK,QAAQ,IAAI,CAAC8C,aAAa,iBAAI1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAChM,OAAA,CAAAsN,YAAY,EAAK5B,iBAAoB,CAAC,eAEtEpM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IAACmB,IAAI,EAAC,OAAO;IAACC,MAAM,EAAExK,MAAM,CAACwK,MAAO;IAAClB,SAAS,EAAE,IAAAC,UAAM,EAACxM,KAAK,CAAC0N,SAAS,EAAEzK,MAAM,CAACsJ,SAAS;EAAE,gBAC7FhN,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC7M,GAAA,CAAAiN,IAAI;IAACE,SAAS,EAAE,CAACvM,KAAK,CAAC2N,OAAO,EAAE3N,KAAK,CAAC4N,OAAO;EAAE,GAC7C,CAAC3H,aAAa,iBAAI1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACrM,OAAA,CAAAiO,OAAO,EAAA5L,QAAA,KAAKiD,UAAU,EAAMjC,MAAM;IAAED,QAAQ,EAAEA;EAAS,EAAE,CAAC,EAE7E,CAAC0I,QAAQ,IAAKhE,SAAS,IAAI,CAACzB,aAAc,kBACzC1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACnM,OAAA,CAAAqM,MAAW;IAERnH,YAAY;IACZE,UAAU;IACVoG,QAAQ;IACR5D,SAAS;IACTmE,gBAAgB;IAChBxF,YAAY;IACZyH,cAAc,EAAEzE,kBAAkB;IAClC0E,QAAQ,EAAExG,YAAY;IACtByG,cAAc,EAAEzE;EAAkB,GAGnC,CAACpG,QAAQ,iBAAI5D,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAChM,OAAA,CAAAsN,YAAY,EAAK5B,iBAAoB,CACzC,CACd,EAEAD,QAAQ,gBACPnM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC3L,SAAA,CAAA2N,KAAK,SAAApL,iBAAA,GACHqC,UAAU,CAACgJ,KAAK,cAAArL,iBAAA,uBAAhBA,iBAAA,CAAkBgG,GAAG,CAAC,CAAAsF,KAAA,EAAkBC,KAAK;IAAA,IAAtB;MAAElK,EAAE;MAAE,GAAGmK;IAAK,CAAC,GAAAF,KAAA;IAAA,oBACrC5O,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA6O,IAAI,EAAArM,QAAA,KACCoM,IAAI;MAENnK,EAAE;MACFW,IAAI;MACJyG,QAAQ;MACR5D,SAAS;MACTa,MAAM;MACNpC,IAAI;MACJoI,SAAS,EAAErJ,UAAU,CAACqJ,SAAS;MAEjC/L,GAAG,KAAAgM,MAAA,CAAKtK,EAAE,IAAIkK,KAAK,OAAAI,MAAA,CAAIlJ,QAAQ,OAAAkJ,MAAA,CAAIpL,KAAK,CAAG;MAC3CkJ,GAAG,EAAGmC,EAAE,IAAM/K,QAAQ,CAACiE,OAAO,CAACzD,EAAE,CAAC,GAAGuK,EAAI;MACzCC,QAAQ,EAAE7J,IAAI,CAACsB,IAAI,IAAI,CAAC,CAAE;MAC1BwI,UAAU,EAAEA,CAAA,KAAMjJ,WAAW,CAAC2I,IAAI,CAAE;MACpCO,UAAU,EAAGC,IAAI,IAAKjJ,eAAe,CAAC;QAAE,GAAGiJ,IAAI;QAAEzC,IAAI,EAAEiC,IAAI,CAACjC;MAAK,CAAC,CAAE;MACpE2B,QAAQ,EAAExG,YAAa;MACvBuH,SAAS,EAAGC,IAAI,IAAKjJ,UAAU,CAACiJ,IAAI;IAAE,EACvC,CAAC;EAAA,CACH,CAAC,GAAAjM,kBAAA,GAEDoC,UAAU,CAAC8J,MAAM,cAAAlM,kBAAA,uBAAjBA,kBAAA,CAAmB+F,GAAG,CAAC;IAAA,IAACwF,IAAI,GAAAhM,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmD,SAAA,GAAAnD,SAAA,MAAG,CAAC,CAAC;IAAA,oBAChC9C,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAAwP,SAAS,EAAAhN,QAAA;MAACO,GAAG,EAAE6L,IAAI,CAACnK;IAAG,GAAKmK,IAAI,CAAG,CAAC;EAAA,CACtC,CACI,CAAC,GACNpI,aAAa,gBACf1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC9L,OAAA,CAAA+O,cAAc,EAAKjJ,aAAgB,CAAC,gBAErC1G,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAC/L,OAAA,CAAAe,OAAQ;IAACyG,SAAS,EAAEA;EAAU,CAAE,CAE/B,CAAC,EAENA,SAAS,iBACRnI,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACpM,OAAA,CAAAsP,MAAM;IAAOtK,IAAI;IAAEK,UAAU;IAAEE,MAAM;IAAEW,KAAK;IAAE1B,UAAU;IAAI6I,QAAQ,EAAEA,CAAA,KAAMpD,YAAY,CAACjF,IAAI;EAAE,CAAE,CAEhG,CAAC,EAEN6G,QAAQ,iBACPnM,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAAA1M,MAAA,CAAA0B,OAAA,CAAAiL,QAAA,qBACE3M,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA2P,aAAa,EAAAnN,QAAA,KACHwD,QAAQ;IAAE6F,QAAQ;IAAEnF,IAAI;IACjCkH,OAAO,EAAE,CAAC,CAAC5H,QAAS;IACpB4J,OAAO,EAAEA,CAAA,KAAM3J,WAAW,CAAC,CAAE;IAC7BoJ,SAAS,EAAGC,IAAI,IAAKjJ,UAAU,CAACiJ,IAAI;EAAE,EACvC,CAAC,eACFxP,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA6P,iBAAiB,EAAArN,QAAA,KAAK0D,YAAY;IAAE0H,OAAO,EAAE,CAAC,CAAC1H,YAAa;IAAC0J,OAAO,EAAEA,CAAA,KAAMzJ,eAAe,CAAC;EAAE,EAAE,CAAC,eAClGrG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA8P,YAAY,EAAAtN,QAAA,KAAK4D,OAAO;IAAEwH,OAAO,EAAE,CAAC,CAACxH,OAAQ;IAACwJ,OAAO,EAAEA,CAAA,KAAMvJ,UAAU,CAAC;EAAE,EAAE,CAAC,eAC9EvG,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAA+P,WAAW,EAAAvN,QAAA,KACDiD,UAAU;IAAEL,IAAI;IAAEO,MAAM;IACjCiI,OAAO,EAAE,CAAC,CAACjI,MAAO;IAClBqK,QAAQ,EAAEA,CAAA,KAAO/H,SAAS,GAAGrC,SAAS,CAAC,CAAC,GAAGkC,YAAY,CAAC,CAAG;IAC3D2F,QAAQ,EAAG9H,MAAM,IAAKsF,cAAc,CAAC7F,IAAI,EAAEO,MAAM;EAAE,EACpD,CAAC,EACDxB,IAAI,CAAC8L,MAAM,IAAI,EAAA3M,kBAAA,GAAAmC,UAAU,CAACgJ,KAAK,cAAAnL,kBAAA,uBAAhBA,kBAAA,CAAkBT,MAAM,IAAG,CAAC,iBAC1C/C,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACvL,aAAA,CAAAiP,KAAU;IACTC,UAAU,EAAE,KAAM;IAClBC,KAAK,EAAEvM,SAAS,CAACwD,YAAI,CAACgJ,4BAA4B,CAAE;IACpDzC,OAAO,EAAEtH,KAAM;IACfsJ,OAAO,EAAEA,CAAA,KAAO3H,SAAS,GAAG1B,QAAQ,CAAC,KAAK,CAAC,GAAGuB,YAAY,CAAC,CAAG;IAC9DwI,SAAS,EAAEA,CAAA,KAAMjG,YAAY,CAACjF,IAAI;EAAE,gBAEpCtF,MAAA,CAAA0B,OAAA,CAAAgL,aAAA,CAACxM,WAAA,CAAAuQ,QAAQ;IAACP,QAAQ,EAAEA,CAAA,KAAMpG,kBAAkB,CAAC,KAAK,CAAE;IAAC6D,QAAQ,EAAEA,CAAA,KAAMpD,YAAY,CAACjF,IAAI;EAAE,CAAE,CAChF,CAEd,CAEJ,CAAC;AAEP,CAAC;AAACoL,OAAA,CAAAtN,KAAA,GAAAA,KAAA;AAEFA,KAAK,CAACuN,WAAW,GAAG,kBAAkB;AAEtCvN,KAAK,CAACwN,SAAS,GAAG;EAChBnN,QAAQ,EAAEoN,kBAAS,CAACC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Rates.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","_Rates3","_Rates4","_Rates5","style","_Rates6","_Rates7","_Rates8","_helpers2","_services2","_shared__","_Finder","_Header","_helpers3","_SessionLogin","_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","loginShown","Rates","_ref","_dataSource$items","_dataSource$hotels","_dataSource$items2","skeleton","others","isDesktop","isMobile","width","useDevice","translate","useLocale","refRoomSelector","useRef","refItems","value","club","discount","currency","finder","forwarder","hotel","id","language","locale","occupation","maxRooms","rates","meta","metaCart","session","urlParams","useStore","cart","setCart","useState","clubDiscount","setClubDiscount","dataSource","setDataSource","extras","setExtras","fetching","setFetching","undefined","itemInfo","setItemInfo","itemRateInfo","setItemRateInfo","itemUrl","setItemUrl","itemPreview","setItemPreview","login","setLogin","responseError","setResponseError","room","setRoom","strictSearch","setStrictSearch","calendar","place","useEffect","getMetaBoard","then","board","notification","L10N","NOTIFICATION_META_RATE_FOUND","NOTIFICATION_META_RATE_NOT_FOUND","Event","publish","EVENT","NOTIFICATION","contrast","defaultMessage","handleSelect","catch","debounceFetch","multiRoom","current","offsetHeight","offsetTop","scrollTo","trackDataSource","fetchUrlParams","location","search","fetch","nextOccupation","FINDER","checkin","nights","parties","getFinderParams","replaceUrlParams","params","selectedIds","map","join","parseToParties","nextDataSource","ServiceRates","externalSignout","signout","debounce","handleClubDiscount","next","handleStrictSearch","handleFinder","values","nextCart","scrollToRoom","roomId","trackSelectItem","handleSubmit","isPestana","ServiceFeatures","FEATURES","PESTANA","getCheckoutParams","getOccupationTotals","infantAge","hotelCurrency","selectableExtras","some","included","handleCheckout","document","href","getForwarderUrl","window","top","behavior","_refItems$current$roo","getBoundingClientRect","scrollY","contentBackground","Theme","dateDiff","days","response","roomSelectorProps","onPress","showStrictSearch","promocode","idoffers","roomTypeId","showPreviewPrice","features","getFeatures","createElement","Fragment","Header","name","View","ref","className","styles","blur","sticky","backgroundColor","opacity","Finder","assisted","compacted","text","ACTION_SEARCH","onSubmit","Progress","indeterminate","visible","progress","RoomSelector","role","testId","container","wrapper","content","Content","onClubDiscount","onSelect","onStrictSearch","Cards","items","_ref2","index","item","Item","taxesType","concat","el","selected","onMoreInfo","onPreview","onRateInfo","rate","onViewUrl","info","hotels","CardHotel","Unavailability","Footer","ModalItemInfo","onClose","ModalItemRateInfo","ModalItemUrl","ModalExtras","onCancel","active","Modal","showSignup","title","LABEL_FARE_EXCLUSIVE_MEMBERS","onSuccess","ClubRate","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Rates/Rates.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { dateDiff, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Progress, styles, Theme, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { CardHotel, ClubRate, Item, ModalExtras, ModalItemInfo, ModalItemRateInfo, ModalItemUrl } from './components';\nimport {\n getCheckoutParams,\n getFeatures,\n getFinderParams,\n getForwarderUrl,\n getMetaBoard,\n signout,\n trackDataSource,\n trackSelectItem,\n} from './helpers';\nimport { FEATURES } from './Rates.constants';\nimport { Content } from './Rates.Content';\nimport { Footer } from './Rates.Footer';\nimport { Header as RatesHeader } from './Rates.Header';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { RoomSelector } from './Rates.RoomSelector';\nimport Skeleton from './Rates.Skeleton';\nimport { Unavailability } from './Rates.Unavailability';\nimport { debounce, fetchUrlParams } from '../../helpers';\nimport { ServiceRates } from '../../services';\nimport { Cards } from '../__shared__';\nimport { Finder } from '../Finder';\nimport { Header } from '../Header';\nimport { EVENT, getOccupationTotals, opacity, parseToParties, replaceUrlParams } from '../helpers';\nimport { Modal as ModalLogin } from '../Session/Session.Login.Modal';\n\nlet loginShown = false;\n\nconst Rates = ({ skeleton, ...others }) => {\n const { isDesktop, isMobile, width } = useDevice();\n const { translate } = useLocale();\n const refRoomSelector = useRef();\n const refItems = useRef({});\n const {\n set,\n value: {\n club: { discount, ...club } = {},\n currency,\n finder = {},\n forwarder,\n hotel = {},\n id,\n language,\n locale,\n occupation: { maxRooms } = {},\n rates: { meta: metaCart = [] } = {},\n session,\n urlParams,\n },\n } = useStore();\n\n const [cart, setCart] = useState([]);\n const [clubDiscount, setClubDiscount] = useState(discount);\n const [dataSource, setDataSource] = useState();\n const [extras, setExtras] = useState();\n const [fetching, setFetching] = useState(undefined);\n const [itemInfo, setItemInfo] = useState();\n const [itemRateInfo, setItemRateInfo] = useState();\n const [itemUrl, setItemUrl] = useState();\n const [itemPreview, setItemPreview] = useState();\n const [login, setLogin] = useState(false);\n const [responseError, setResponseError] = useState();\n const [room, setRoom] = useState();\n const [strictSearch, setStrictSearch] = useState();\n\n const { calendar = [], occupation = [], place = {} } = finder;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => skeleton && setFetching(true), [skeleton]);\n\n // -- hooks ----------------------------------------------------------------------------------------------------------\n useEffect(() => {\n if (!dataSource || !metaCart.length) return;\n\n getMetaBoard({ cart, dataSource, metaCart })\n .then((board) => {\n const notification = board ? L10N.NOTIFICATION_META_RATE_FOUND : L10N.NOTIFICATION_META_RATE_NOT_FOUND;\n Event.publish(EVENT.NOTIFICATION, { contrast: true, defaultMessage: translate(notification, urlParams) });\n if (board) handleSelect(board);\n })\n .catch(() => set({ rates: undefined }));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource, metaCart]);\n\n useEffect(() => {\n if (!clubDiscount && !currency && !session && strictSearch === undefined) return;\n\n !login && setCart([]);\n setRoom(undefined);\n debounceFetch();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clubDiscount, currency, session, strictSearch]);\n\n useEffect(() => {\n if (!locale) return;\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale]);\n\n useEffect(() => {\n if (multiRoom) {\n if (room > 0) {\n const { current: { offsetHeight = 0, offsetTop = 0 } = {} } = refRoomSelector || {};\n scrollTo(offsetTop + (isMobile ? offsetHeight : 0));\n }\n setDataSource();\n }\n\n debounceFetch(room);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [room]);\n\n useEffect(() => {\n if (!dataSource || room) return;\n trackDataSource({ ...dataSource, ...fetchUrlParams(location.search), isMobile, occupation, place });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataSource]);\n\n // -- methods --------------------------------------------------------------------------------------------------------\n const fetch = async (room, nextOccupation = occupation) => {\n if (skeleton) return;\n\n Event.publish(EVENT.FINDER, { calendar: undefined });\n setFetching(true);\n setResponseError();\n\n let urlParams = fetchUrlParams(location.search);\n if (!urlParams.checkin || !urlParams.nights || !urlParams.parties) {\n urlParams = { ...urlParams, ...getFinderParams({ ...finder, hotel }) };\n replaceUrlParams(urlParams);\n }\n\n const params = {\n ...urlParams,\n club,\n clubDiscount,\n id,\n locale,\n maxRooms,\n occupation: nextOccupation,\n place,\n selectedIds: cart.map(({ id } = {}) => id).join(','),\n session,\n strictSearch,\n };\n if (room !== undefined) params.parties = parseToParties([nextOccupation[room || 0]]);\n\n const nextDataSource = await ServiceRates.get(params).catch(setResponseError);\n if (nextDataSource?.externalSignout) signout({ club, language });\n else setDataSource(nextDataSource);\n\n if (nextDataSource && nextOccupation?.length > 1 && room === undefined) setRoom(0);\n\n setFetching(false);\n };\n\n const debounceFetch = debounce(fetch, 60);\n\n // -- handlers -------------------------------------------------------------------------------------------------------\n const handleClubDiscount = async (next) => {\n setClubDiscount(next);\n login && setLogin(false);\n };\n\n const handleStrictSearch = (value) => {\n setStrictSearch(value);\n };\n\n const handleFinder = (values = {}) => {\n setCart([]);\n setDataSource(undefined);\n setItemPreview(undefined);\n setRoom();\n scrollTo(0);\n\n replaceUrlParams(getFinderParams({ ...values, hotel }));\n debounceFetch(undefined, values.occupation);\n };\n\n const handleSelect = (board, others) => {\n const nextCart = [...cart];\n nextCart[room || 0] = board ? { ...board, ...others } : undefined;\n\n if (board) {\n scrollToRoom(board.roomId);\n\n trackSelectItem({\n ...dataSource,\n ...fetchUrlParams(location.search),\n board,\n cart: nextCart,\n isMobile,\n occupation,\n });\n }\n\n setCart(nextCart);\n setExtras();\n login && setLogin(false);\n\n if (!multiRoom && !!board) handleSubmit(nextCart);\n if (multiRoom && board && room < occupation.length - 1) return setRoom(room + 1);\n if (multiRoom && !board) set({ rates: undefined });\n };\n\n // eslint-disable-next-line no-unused-vars\n const handleSubmit = async (cart) => {\n const isPestana = ServiceFeatures.get(FEATURES.PESTANA, id) || false;\n setLogin(false);\n\n if (!isPestana && clubDiscount && !session && !loginShown) {\n loginShown = true;\n return setLogin(true);\n }\n\n const { extras = [] } = await ServiceRates.extras({\n ...getCheckoutParams({ cart, clubDiscount, currency, forwarder, urlParams: fetchUrlParams(location.search) }),\n ...getOccupationTotals({ infantAge: dataSource.infantAge, occupation }),\n hotelCurrency: dataSource.currency,\n locale,\n }).catch(() => {});\n const selectableExtras = extras.some(({ included } = {}) => !included);\n\n if (selectableExtras) setExtras(extras);\n else handleCheckout(cart, extras);\n };\n\n const handleCheckout = (cart = [], extras = []) => {\n document.location.href = getForwarderUrl({\n cart,\n clubDiscount,\n currency,\n extras,\n forwarder,\n session,\n urlParams: fetchUrlParams(location.search),\n });\n };\n\n const scrollTo = (value = 0) => window.scrollTo({ top: value, behavior: 'smooth' });\n\n const scrollToRoom = (roomId) => {\n const { top } = refItems?.current[roomId]?.getBoundingClientRect() || {};\n\n if (top) scrollTo(top + window.scrollY - (isMobile ? 16 : 16 * 5));\n };\n\n const { contentBackground } = Theme.get();\n const multiRoom = occupation?.length > 1 || metaCart.length > 0;\n const nights = dateDiff(calendar[0], calendar[1]).days;\n const response = dataSource !== undefined;\n const roomSelectorProps = { cart, occupation, room, onPress: setRoom };\n const showStrictSearch = !!finder?.promocode || !!urlParams?.idoffers || urlParams?.roomTypeId;\n const { showPreviewPrice, ...features } = getFeatures(id, urlParams, { isDesktop, isMobile }, multiRoom);\n\n return (\n <>\n <Header currency locale login name />\n\n <View\n ref={refRoomSelector}\n className={styles(style.finder, style.blur, (!multiRoom || responseError) && style.sticky)}\n style={!isMobile ? { backgroundColor: opacity(contentBackground, 0.66) } : undefined}\n >\n <Finder assisted={!isMobile} compacted text={translate(L10N.ACTION_SEARCH)} onSubmit={handleFinder} />\n </View>\n\n <Progress indeterminate visible={fetching && !responseError} className={style.progress} />\n\n {isMobile && !responseError && <RoomSelector {...roomSelectorProps} />}\n\n <View role=\"rates\" testId={others.testId} className={styles(style.container, others.className)}>\n <View className={[style.wrapper, style.content]}>\n {!responseError && <Content {...dataSource} {...others} skeleton={skeleton} />}\n\n {(response || (multiRoom && !responseError)) && (\n <RatesHeader\n {...{\n clubDiscount,\n dataSource,\n features,\n multiRoom,\n showStrictSearch,\n strictSearch,\n onClubDiscount: handleClubDiscount,\n onSelect: handleSelect,\n onStrictSearch: handleStrictSearch,\n }}\n >\n {!isMobile && <RoomSelector {...roomSelectorProps} />}\n </RatesHeader>\n )}\n\n {response ? (\n <Cards>\n {dataSource.items?.map(({ id, ...item }, index) => (\n <Item\n {...item}\n {...{\n id,\n cart,\n features,\n multiRoom,\n nights,\n room,\n taxesType: dataSource.taxesType,\n }}\n key={`${id || index}:${fetching}:${width}`}\n ref={(el) => (refItems.current[id] = el)}\n selected={cart[room || 0]}\n onMoreInfo={() => setItemInfo(item)}\n onPreview={showPreviewPrice && !multiRoom ? setItemPreview : undefined}\n onRateInfo={(rate) => setItemRateInfo({ ...rate, name: item.name })}\n onSelect={handleSelect}\n onViewUrl={(info) => setItemUrl(info)}\n />\n ))}\n\n {dataSource.hotels?.map((item = {}) => (\n <CardHotel key={item.id} {...item} />\n ))}\n </Cards>\n ) : responseError ? (\n <Unavailability {...responseError} />\n ) : (\n <Skeleton multiRoom={multiRoom} />\n )}\n </View>\n\n <Footer\n {...{ cart: multiRoom ? cart : [itemPreview], dataSource, extras, login, multiRoom, occupation }}\n onSubmit={() => (multiRoom ? handleSubmit(cart) : handleSelect(itemPreview))}\n />\n </View>\n\n {response && (\n <>\n <ModalItemInfo\n {...{ ...itemInfo, features, room }}\n visible={!!itemInfo}\n onClose={() => setItemInfo()}\n onViewUrl={(info) => setItemUrl(info)}\n />\n <ModalItemRateInfo {...itemRateInfo} visible={!!itemRateInfo} onClose={() => setItemRateInfo()} />\n <ModalItemUrl {...itemUrl} visible={!!itemUrl} onClose={() => setItemUrl()} />\n <ModalExtras\n {...{ ...dataSource, cart, extras }}\n visible={!!extras}\n onCancel={() => (multiRoom ? setExtras() : handleSelect())}\n onSubmit={(extras) => handleCheckout(cart, extras)}\n />\n {club.active && dataSource.items?.length > 0 && (\n <ModalLogin\n showSignup={false}\n title={translate(L10N.LABEL_FARE_EXCLUSIVE_MEMBERS)}\n visible={login}\n onClose={() => (multiRoom ? setLogin(false) : handleSelect())}\n onSuccess={() => handleSubmit(cart)}\n >\n <ClubRate onCancel={() => handleClubDiscount(false)} onSubmit={() => handleSubmit(cart)} />\n </ModalLogin>\n )}\n </>\n )}\n </>\n );\n};\n\nRates.displayName = 'Mirai:Core:Rates';\n\nRates.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Rates };\n"],"mappings":"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"}
|
|
@@ -24,10 +24,12 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
24
24
|
multiRoom,
|
|
25
25
|
rates = [],
|
|
26
26
|
selected,
|
|
27
|
+
onPreview,
|
|
27
28
|
onSelect = () => {},
|
|
28
29
|
...others
|
|
29
30
|
} = _ref;
|
|
30
31
|
const [selectedBoard, setSelectedBoard] = (0, _react.useState)();
|
|
32
|
+
const [touched, setTouched] = (0, _react.useState)(false);
|
|
31
33
|
(0, _react.useEffect)(() => {
|
|
32
34
|
if (selectedBoard) return;
|
|
33
35
|
const [{
|
|
@@ -40,6 +42,14 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
40
42
|
if (nextBoard) setSelectedBoard(nextBoard);
|
|
41
43
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
42
44
|
}, [boards]);
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
onPreview && touched && onPreview({
|
|
47
|
+
...selectedBoard,
|
|
48
|
+
roomId: others.id,
|
|
49
|
+
roomName: others.name
|
|
50
|
+
});
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
}, [selectedBoard]);
|
|
43
53
|
(0, _react.useEffect)(() => {
|
|
44
54
|
if (!selected) return;
|
|
45
55
|
const nextBoard = boards.find(board => board.id === selected.id);
|
|
@@ -74,7 +84,10 @@ const Item = exports.Item = /*#__PURE__*/_react.default.forwardRef((_ref, ref) =
|
|
|
74
84
|
return item.id === id;
|
|
75
85
|
}) || {}).price || 0;
|
|
76
86
|
};
|
|
77
|
-
const clearSelection = () =>
|
|
87
|
+
const clearSelection = () => {
|
|
88
|
+
onPreview && setTouched(true);
|
|
89
|
+
multiRoom && (selected === null || selected === void 0 ? void 0 : selected.id) === id && onSelect(undefined);
|
|
90
|
+
};
|
|
78
91
|
const {
|
|
79
92
|
columnMode,
|
|
80
93
|
rowMode,
|
|
@@ -170,6 +183,7 @@ Item.propTypes = {
|
|
|
170
183
|
id: _propTypes.default.string
|
|
171
184
|
}),
|
|
172
185
|
showAllOffers: _propTypes.default.bool,
|
|
186
|
+
onPreview: _propTypes.default.func,
|
|
173
187
|
onSelect: _propTypes.default.func
|
|
174
188
|
};
|
|
175
189
|
//# sourceMappingURL=Item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","multiRoom","rates","selected","onSelect","others","selectedBoard","setSelectedBoard","useState","useEffect","id","cancellationId","rateId","nextBoard","find","board","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","roomId","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","name","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","bool","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n { boards = [], cancellations = [], features = {}, multiRoom, rates = [], selected, onSelect = () => {}, ...others },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n\n useEffect(() => {\n if (selectedBoard) return;\n\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => multiRoom && selected?.id === id && onSelect(undefined);\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id;\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card {...{ columnMode, rowMode }} disabled={isSoldOut} focus={selected && selected.id === id}>\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Item.js","names":["_ui","require","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","style","_Item","_Item2","_Item3","_shared__","_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","Item","exports","React","forwardRef","_ref","ref","boards","cancellations","features","multiRoom","rates","selected","onPreview","onSelect","others","selectedBoard","setSelectedBoard","useState","touched","setTouched","useEffect","id","cancellationId","rateId","nextBoard","find","board","roomId","roomName","name","handleBoard","clearSelection","handleCancellation","_ref2","handleRate","_ref3","findPrice","dataSource","undefined","item","price","columnMode","rowMode","showAllBoards","showAllOffers","showOffersFirst","cancellationPrice","ratePrice","visibleBoards","filter","isSoldOut","soldOut","values","cart","props","availableBoards","availableRates","map","increment","boardCancellationPrice","boardRatePrice","disabled","visible","push","sort","b","rate","selectedCancellation","createElement","Card","focus","View","row","className","card","Preview","Fragment","wide","Rates","onBoard","onCancellation","onRate","Summary","displayName","propTypes","PropTypes","arrayOf","shape","bool","string","func"],"sources":["../../../../../src/components/Rates/components/Item/Item.jsx"],"sourcesContent":["import { View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport * as style from './Item.module.css';\nimport { Preview } from './Item.Preview';\nimport { Rates } from './Item.Rates';\nimport { Summary } from './Item.Summary';\nimport { Card } from '../../../__shared__';\n\nconst Item = React.forwardRef(\n (\n {\n boards = [],\n cancellations = [],\n features = {},\n multiRoom,\n rates = [],\n selected,\n onPreview,\n onSelect = () => {},\n ...others\n },\n ref,\n ) => {\n const [selectedBoard, setSelectedBoard] = useState();\n const [touched, setTouched] = useState(false);\n\n useEffect(() => {\n if (selectedBoard) return;\n\n const [{ id: cancellationId } = {}] = cancellations;\n const [{ id: rateId } = {}] = rates;\n const nextBoard = boards.find((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [boards]);\n\n useEffect(() => {\n onPreview && touched && onPreview({ ...selectedBoard, roomId: others.id, roomName: others.name });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedBoard]);\n\n useEffect(() => {\n if (!selected) return;\n\n const nextBoard = boards.find((board) => board.id === selected.id);\n if (nextBoard) setSelectedBoard(nextBoard);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected]);\n\n const handleBoard = (board) => {\n clearSelection();\n\n setSelectedBoard(board);\n };\n\n const handleCancellation = (id) => {\n clearSelection();\n\n setSelectedBoard(boards.find(({ cancellationId }) => cancellationId === id));\n };\n\n const handleRate = ({ id, cancellationId }) => {\n clearSelection();\n\n setSelectedBoard(boards.find((board) => board.cancellationId === cancellationId && board.rateId == id));\n };\n\n const findPrice = (id, dataSource = []) => (dataSource.find((item = {}) => item.id === id) || {}).price || 0;\n\n const clearSelection = () => {\n onPreview && setTouched(true);\n multiRoom && selected?.id === id && onSelect(undefined);\n };\n\n const { columnMode, rowMode, showAllBoards, showAllOffers, showOffersFirst } = features;\n const { id, cancellationId, rateId } = selectedBoard || {};\n const cancellationPrice = findPrice(cancellationId, cancellations);\n const ratePrice = findPrice(rateId, rates);\n const visibleBoards = boards.filter((board) => board.cancellationId === cancellationId && board.rateId === rateId);\n\n const isSoldOut =\n others.soldOut &&\n Object.values(others.cart || {}).filter(({ roomId } = {}) => roomId === selectedBoard?.roomId).length > 0 &&\n selected?.id != id;\n\n const props = {\n ...others,\n availableBoards: boards,\n availableRates: rates,\n boards: showAllBoards\n ? boards\n .map((board) => {\n const selectedBoard = board.cancellationId === cancellationId && board.rateId === rateId;\n let { increment } = board;\n\n if (!selectedBoard) {\n const boardCancellationPrice = findPrice(board.cancellationId, cancellations);\n const boardRatePrice = findPrice(board.rateId, rates);\n increment = increment - (cancellationPrice + ratePrice) + boardCancellationPrice + boardRatePrice;\n }\n\n return { ...board, disabled: !selectedBoard, increment };\n })\n .filter((board) => {\n if (!board.disabled) return true;\n\n const visible = !visibleBoards.find((item) => item.name === board.name);\n if (visible) visibleBoards.push(board);\n\n return visible;\n })\n .sort((a, b) => a.increment - b.increment)\n : visibleBoards,\n cancellations,\n features,\n isSoldOut,\n multiRoom,\n rates: showOffersFirst\n ? rates\n .map((rate) => ({ ...rate, price: rate.price + findPrice(rate.cancellationId, cancellations) }))\n .sort((a, b) => a.price - b.price)\n : showAllOffers\n ? rates\n .map((rate) => {\n const selectedCancellation = rate.cancellationId === cancellationId;\n const price = selectedCancellation\n ? rate.price\n : rate.price - cancellationPrice + findPrice(rate.cancellationId, cancellations);\n\n return { ...rate, disabled: !showOffersFirst && !selectedCancellation, price };\n })\n .sort((a, b) => a.price - b.price)\n : rates.filter((rate) => rate.cancellationId === cancellationId),\n selected,\n selectedBoard,\n onSelect,\n };\n\n return (\n <Card {...{ columnMode, rowMode }} disabled={isSoldOut} focus={selected && selected.id === id}>\n <View ref={ref} row={rowMode} className={[style.card, rowMode && style.rowMode, others.className]}>\n <Preview {...props} />\n\n {React.createElement(\n rowMode ? View : React.Fragment,\n rowMode ? { className: [style.card, style.rowMode], wide: true } : undefined,\n <>\n {!isSoldOut && (\n <Rates {...props} onBoard={handleBoard} onCancellation={handleCancellation} onRate={handleRate} />\n )}\n <Summary {...props} />\n </>,\n )}\n </View>\n </Card>\n );\n },\n);\n\nItem.displayName = 'Mirai:Core:Rates:Item';\n\nItem.propTypes = {\n boards: PropTypes.arrayOf(PropTypes.shape({})),\n cancellations: PropTypes.arrayOf(PropTypes.shape({})),\n features: PropTypes.shape({}),\n multiRoom: PropTypes.bool,\n rates: PropTypes.arrayOf(PropTypes.shape({})),\n selected: PropTypes.shape({\n id: PropTypes.string,\n }),\n showAllOffers: PropTypes.bool,\n onPreview: PropTypes.func,\n onSelect: PropTypes.func,\n};\n\nexport { Item };\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,KAAA,GAAAD,uBAAA,CAAAJ,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAA2C,SAAAU,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,SAAAP,wBAAAO,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,SAAAjB,uBAAA6B,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;AAE3C,MAAMK,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAGE,cAAK,CAACC,UAAU,CAC3B,CAAAC,IAAA,EAYEC,GAAG,KACA;EAAA,IAZH;IACEC,MAAM,GAAG,EAAE;IACXC,aAAa,GAAG,EAAE;IAClBC,QAAQ,GAAG,CAAC,CAAC;IACbC,SAAS;IACTC,KAAK,GAAG,EAAE;IACVC,QAAQ;IACRC,SAAS;IACTC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAV,IAAA;EAGD,MAAM,CAACW,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EACpD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAE7C,IAAAG,gBAAS,EAAC,MAAM;IACd,IAAIL,aAAa,EAAE;IAEnB,MAAM,CAAC;MAAEM,EAAE,EAAEC;IAAe,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGf,aAAa;IACnD,MAAM,CAAC;MAAEc,EAAE,EAAEE;IAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGb,KAAK;IACnC,MAAMc,SAAS,GAAGlB,MAAM,CAACmB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACJ,cAAc,KAAKA,cAAc,IAAII,KAAK,CAACH,MAAM,KAAKA,MAAM,CAAC;IAE5G,IAAIC,SAAS,EAAER,gBAAgB,CAACQ,SAAS,CAAC;IAC1C;EACF,CAAC,EAAE,CAAClB,MAAM,CAAC,CAAC;EAEZ,IAAAc,gBAAS,EAAC,MAAM;IACdR,SAAS,IAAIM,OAAO,IAAIN,SAAS,CAAC;MAAE,GAAGG,aAAa;MAAEY,MAAM,EAAEb,MAAM,CAACO,EAAE;MAAEO,QAAQ,EAAEd,MAAM,CAACe;IAAK,CAAC,CAAC;IACjG;EACF,CAAC,EAAE,CAACd,aAAa,CAAC,CAAC;EAEnB,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAI,CAACT,QAAQ,EAAE;IAEf,MAAMa,SAAS,GAAGlB,MAAM,CAACmB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACL,EAAE,KAAKV,QAAQ,CAACU,EAAE,CAAC;IAClE,IAAIG,SAAS,EAAER,gBAAgB,CAACQ,SAAS,CAAC;IAC1C;EACF,CAAC,EAAE,CAACb,QAAQ,CAAC,CAAC;EAEd,MAAMmB,WAAW,GAAIJ,KAAK,IAAK;IAC7BK,cAAc,CAAC,CAAC;IAEhBf,gBAAgB,CAACU,KAAK,CAAC;EACzB,CAAC;EAED,MAAMM,kBAAkB,GAAIX,EAAE,IAAK;IACjCU,cAAc,CAAC,CAAC;IAEhBf,gBAAgB,CAACV,MAAM,CAACmB,IAAI,CAACQ,KAAA;MAAA,IAAC;QAAEX;MAAe,CAAC,GAAAW,KAAA;MAAA,OAAKX,cAAc,KAAKD,EAAE;IAAA,EAAC,CAAC;EAC9E,CAAC;EAED,MAAMa,UAAU,GAAGC,KAAA,IAA4B;IAAA,IAA3B;MAAEd,EAAE;MAAEC;IAAe,CAAC,GAAAa,KAAA;IACxCJ,cAAc,CAAC,CAAC;IAEhBf,gBAAgB,CAACV,MAAM,CAACmB,IAAI,CAAEC,KAAK,IAAKA,KAAK,CAACJ,cAAc,KAAKA,cAAc,IAAII,KAAK,CAACH,MAAM,IAAIF,EAAE,CAAC,CAAC;EACzG,CAAC;EAED,MAAMe,SAAS,GAAG,SAAAA,CAACf,EAAE;IAAA,IAAEgB,UAAU,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,EAAE;IAAA,OAAK,CAAC0C,UAAU,CAACZ,IAAI,CAAC;MAAA,IAACc,IAAI,GAAA5C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;MAAA,OAAK4C,IAAI,CAAClB,EAAE,KAAKA,EAAE;IAAA,EAAC,IAAI,CAAC,CAAC,EAAEmB,KAAK,IAAI,CAAC;EAAA;EAE5G,MAAMT,cAAc,GAAGA,CAAA,KAAM;IAC3BnB,SAAS,IAAIO,UAAU,CAAC,IAAI,CAAC;IAC7BV,SAAS,IAAI,CAAAE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEU,EAAE,MAAKA,EAAE,IAAIR,QAAQ,CAACyB,SAAS,CAAC;EACzD,CAAC;EAED,MAAM;IAAEG,UAAU;IAAEC,OAAO;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAAGrC,QAAQ;EACvF,MAAM;IAAEa,EAAE;IAAEC,cAAc;IAAEC;EAAO,CAAC,GAAGR,aAAa,IAAI,CAAC,CAAC;EAC1D,MAAM+B,iBAAiB,GAAGV,SAAS,CAACd,cAAc,EAAEf,aAAa,CAAC;EAClE,MAAMwC,SAAS,GAAGX,SAAS,CAACb,MAAM,EAAEb,KAAK,CAAC;EAC1C,MAAMsC,aAAa,GAAG1C,MAAM,CAAC2C,MAAM,CAAEvB,KAAK,IAAKA,KAAK,CAACJ,cAAc,KAAKA,cAAc,IAAII,KAAK,CAACH,MAAM,KAAKA,MAAM,CAAC;EAElH,MAAM2B,SAAS,GACbpC,MAAM,CAACqC,OAAO,IACdtE,MAAM,CAACuE,MAAM,CAACtC,MAAM,CAACuC,IAAI,IAAI,CAAC,CAAC,CAAC,CAACJ,MAAM,CAAC;IAAA,IAAC;MAAEtB;IAAO,CAAC,GAAAhC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA2C,SAAA,GAAA3C,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKgC,MAAM,MAAKZ,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEY,MAAM;EAAA,EAAC,CAAC/B,MAAM,GAAG,CAAC,IACzG,CAAAe,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEU,EAAE,KAAIA,EAAE;EAEpB,MAAMiC,KAAK,GAAG;IACZ,GAAGxC,MAAM;IACTyC,eAAe,EAAEjD,MAAM;IACvBkD,cAAc,EAAE9C,KAAK;IACrBJ,MAAM,EAAEqC,aAAa,GACjBrC,MAAM,CACHmD,GAAG,CAAE/B,KAAK,IAAK;MACd,MAAMX,aAAa,GAAGW,KAAK,CAACJ,cAAc,KAAKA,cAAc,IAAII,KAAK,CAACH,MAAM,KAAKA,MAAM;MACxF,IAAI;QAAEmC;MAAU,CAAC,GAAGhC,KAAK;MAEzB,IAAI,CAACX,aAAa,EAAE;QAClB,MAAM4C,sBAAsB,GAAGvB,SAAS,CAACV,KAAK,CAACJ,cAAc,EAAEf,aAAa,CAAC;QAC7E,MAAMqD,cAAc,GAAGxB,SAAS,CAACV,KAAK,CAACH,MAAM,EAAEb,KAAK,CAAC;QACrDgD,SAAS,GAAGA,SAAS,IAAIZ,iBAAiB,GAAGC,SAAS,CAAC,GAAGY,sBAAsB,GAAGC,cAAc;MACnG;MAEA,OAAO;QAAE,GAAGlC,KAAK;QAAEmC,QAAQ,EAAE,CAAC9C,aAAa;QAAE2C;MAAU,CAAC;IAC1D,CAAC,CAAC,CACDT,MAAM,CAAEvB,KAAK,IAAK;MACjB,IAAI,CAACA,KAAK,CAACmC,QAAQ,EAAE,OAAO,IAAI;MAEhC,MAAMC,OAAO,GAAG,CAACd,aAAa,CAACvB,IAAI,CAAEc,IAAI,IAAKA,IAAI,CAACV,IAAI,KAAKH,KAAK,CAACG,IAAI,CAAC;MACvE,IAAIiC,OAAO,EAAEd,aAAa,CAACe,IAAI,CAACrC,KAAK,CAAC;MAEtC,OAAOoC,OAAO;IAChB,CAAC,CAAC,CACDE,IAAI,CAAC,CAACpF,CAAC,EAAEqF,CAAC,KAAKrF,CAAC,CAAC8E,SAAS,GAAGO,CAAC,CAACP,SAAS,CAAC,GAC5CV,aAAa;IACjBzC,aAAa;IACbC,QAAQ;IACR0C,SAAS;IACTzC,SAAS;IACTC,KAAK,EAAEmC,eAAe,GAClBnC,KAAK,CACF+C,GAAG,CAAES,IAAI,KAAM;MAAE,GAAGA,IAAI;MAAE1B,KAAK,EAAE0B,IAAI,CAAC1B,KAAK,GAAGJ,SAAS,CAAC8B,IAAI,CAAC5C,cAAc,EAAEf,aAAa;IAAE,CAAC,CAAC,CAAC,CAC/FyD,IAAI,CAAC,CAACpF,CAAC,EAAEqF,CAAC,KAAKrF,CAAC,CAAC4D,KAAK,GAAGyB,CAAC,CAACzB,KAAK,CAAC,GACpCI,aAAa,GACblC,KAAK,CACF+C,GAAG,CAAES,IAAI,IAAK;MACb,MAAMC,oBAAoB,GAAGD,IAAI,CAAC5C,cAAc,KAAKA,cAAc;MACnE,MAAMkB,KAAK,GAAG2B,oBAAoB,GAC9BD,IAAI,CAAC1B,KAAK,GACV0B,IAAI,CAAC1B,KAAK,GAAGM,iBAAiB,GAAGV,SAAS,CAAC8B,IAAI,CAAC5C,cAAc,EAAEf,aAAa,CAAC;MAElF,OAAO;QAAE,GAAG2D,IAAI;QAAEL,QAAQ,EAAE,CAAChB,eAAe,IAAI,CAACsB,oBAAoB;QAAE3B;MAAM,CAAC;IAChF,CAAC,CAAC,CACDwB,IAAI,CAAC,CAACpF,CAAC,EAAEqF,CAAC,KAAKrF,CAAC,CAAC4D,KAAK,GAAGyB,CAAC,CAACzB,KAAK,CAAC,GACpC9B,KAAK,CAACuC,MAAM,CAAEiB,IAAI,IAAKA,IAAI,CAAC5C,cAAc,KAAKA,cAAc,CAAC;IAClEX,QAAQ;IACRI,aAAa;IACbF;EACF,CAAC;EAED,oBACEnD,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAACpG,SAAA,CAAAqG,IAAI;IAAO5B,UAAU;IAAEC,OAAO;IAAImB,QAAQ,EAAEX,SAAU;IAACoB,KAAK,EAAE3D,QAAQ,IAAIA,QAAQ,CAACU,EAAE,KAAKA;EAAG,gBAC5F3D,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAAC9G,GAAA,CAAAiH,IAAI;IAAClE,GAAG,EAAEA,GAAI;IAACmE,GAAG,EAAE9B,OAAQ;IAAC+B,SAAS,EAAE,CAAC7G,KAAK,CAAC8G,IAAI,EAAEhC,OAAO,IAAI9E,KAAK,CAAC8E,OAAO,EAAE5B,MAAM,CAAC2D,SAAS;EAAE,gBAChG/G,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAACvG,KAAA,CAAA8G,OAAO,EAAKrB,KAAQ,CAAC,eAErBpD,cAAK,CAACkE,aAAa,CAClB1B,OAAO,GAAG6B,QAAI,GAAGrE,cAAK,CAAC0E,QAAQ,EAC/BlC,OAAO,GAAG;IAAE+B,SAAS,EAAE,CAAC7G,KAAK,CAAC8G,IAAI,EAAE9G,KAAK,CAAC8E,OAAO,CAAC;IAAEmC,IAAI,EAAE;EAAK,CAAC,GAAGvC,SAAS,eAC5E5E,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAAA1G,MAAA,CAAAa,OAAA,CAAAqG,QAAA,QACG,CAAC1B,SAAS,iBACTxF,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAACtG,MAAA,CAAAgH,KAAK,EAAAvF,QAAA,KAAK+D,KAAK;IAAEyB,OAAO,EAAEjD,WAAY;IAACkD,cAAc,EAAEhD,kBAAmB;IAACiD,MAAM,EAAE/C;EAAW,EAAE,CAClG,eACDxE,MAAA,CAAAa,OAAA,CAAA6F,aAAA,CAACrG,MAAA,CAAAmH,OAAO,EAAK5B,KAAQ,CACrB,CACJ,CACI,CACF,CAAC;AAEX,CACF,CAAC;AAEDtD,IAAI,CAACmF,WAAW,GAAG,uBAAuB;AAE1CnF,IAAI,CAACoF,SAAS,GAAG;EACf9E,MAAM,EAAE+E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9ChF,aAAa,EAAE8E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EACrD/E,QAAQ,EAAE6E,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7B9E,SAAS,EAAE4E,kBAAS,CAACG,IAAI;EACzB9E,KAAK,EAAE2E,kBAAS,CAACC,OAAO,CAACD,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7C5E,QAAQ,EAAE0E,kBAAS,CAACE,KAAK,CAAC;IACxBlE,EAAE,EAAEgE,kBAAS,CAACI;EAChB,CAAC,CAAC;EACF7C,aAAa,EAAEyC,kBAAS,CAACG,IAAI;EAC7B5E,SAAS,EAAEyE,kBAAS,CAACK,IAAI;EACzB7E,QAAQ,EAAEwE,kBAAS,CAACK;AACtB,CAAC"}
|
|
@@ -11,6 +11,7 @@ const getFeatures = function (id) {
|
|
|
11
11
|
let {
|
|
12
12
|
isDesktop
|
|
13
13
|
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
14
|
+
let multiRoom = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
14
15
|
const urlFeatures = urlParams.features ? urlParams.features.split(',') : [];
|
|
15
16
|
let features = {};
|
|
16
17
|
Object.values(_Rates.FEATURES).forEach(feature => {
|
|
@@ -18,6 +19,7 @@ const getFeatures = function (id) {
|
|
|
18
19
|
});
|
|
19
20
|
if (features.columnMode) features.columnMode = isDesktop && features.columnMode;
|
|
20
21
|
if (features.rowMode) features.rowMode = isDesktop && features.rowMode;
|
|
22
|
+
if (features.showPreviewPrice) features.showPreviewPrice = !multiRoom && features.showPreviewPrice;
|
|
21
23
|
return features;
|
|
22
24
|
};
|
|
23
25
|
exports.getFeatures = getFeatures;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFeatures.js","names":["_services","require","_Rates","getFeatures","id","urlParams","arguments","length","undefined","isDesktop","urlFeatures","features","split","Object","values","FEATURES","forEach","feature","includes","ServiceFeatures","get","columnMode","rowMode","exports"],"sources":["../../../../src/components/Rates/helpers/getFeatures.js"],"sourcesContent":["import { ServiceFeatures } from '@mirai/services';\n\nimport { FEATURES } from '../Rates.constants';\n\nexport const getFeatures = (id, urlParams = {}, { isDesktop } = {}) => {\n const urlFeatures = urlParams.features ? urlParams.features.split(',') : [];\n let features = {};\n\n Object.values(FEATURES).forEach((feature) => {\n features[feature] = urlFeatures.includes(feature) || ServiceFeatures.get(feature, id) || false;\n });\n\n if (features.columnMode) features.columnMode = isDesktop && features.columnMode;\n if (features.rowMode) features.rowMode = isDesktop && features.rowMode;\n\n return features;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,SAAAA,CAACC,EAAE,
|
|
1
|
+
{"version":3,"file":"getFeatures.js","names":["_services","require","_Rates","getFeatures","id","urlParams","arguments","length","undefined","isDesktop","multiRoom","urlFeatures","features","split","Object","values","FEATURES","forEach","feature","includes","ServiceFeatures","get","columnMode","rowMode","showPreviewPrice","exports"],"sources":["../../../../src/components/Rates/helpers/getFeatures.js"],"sourcesContent":["import { ServiceFeatures } from '@mirai/services';\n\nimport { FEATURES } from '../Rates.constants';\n\nexport const getFeatures = (id, urlParams = {}, { isDesktop } = {}, multiRoom = false) => {\n const urlFeatures = urlParams.features ? urlParams.features.split(',') : [];\n let features = {};\n\n Object.values(FEATURES).forEach((feature) => {\n features[feature] = urlFeatures.includes(feature) || ServiceFeatures.get(feature, id) || false;\n });\n\n if (features.columnMode) features.columnMode = isDesktop && features.columnMode;\n if (features.rowMode) features.rowMode = isDesktop && features.rowMode;\n if (features.showPreviewPrice) features.showPreviewPrice = !multiRoom && features.showPreviewPrice;\n\n return features;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,WAAW,GAAG,SAAAA,CAACC,EAAE,EAA4D;EAAA,IAA1DC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAE;IAAEG;EAAU,CAAC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEI,SAAS,GAAAJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EACnF,MAAMK,WAAW,GAAGN,SAAS,CAACO,QAAQ,GAAGP,SAAS,CAACO,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;EAC3E,IAAID,QAAQ,GAAG,CAAC,CAAC;EAEjBE,MAAM,CAACC,MAAM,CAACC,eAAQ,CAAC,CAACC,OAAO,CAAEC,OAAO,IAAK;IAC3CN,QAAQ,CAACM,OAAO,CAAC,GAAGP,WAAW,CAACQ,QAAQ,CAACD,OAAO,CAAC,IAAIE,yBAAe,CAACC,GAAG,CAACH,OAAO,EAAEd,EAAE,CAAC,IAAI,KAAK;EAChG,CAAC,CAAC;EAEF,IAAIQ,QAAQ,CAACU,UAAU,EAAEV,QAAQ,CAACU,UAAU,GAAGb,SAAS,IAAIG,QAAQ,CAACU,UAAU;EAC/E,IAAIV,QAAQ,CAACW,OAAO,EAAEX,QAAQ,CAACW,OAAO,GAAGd,SAAS,IAAIG,QAAQ,CAACW,OAAO;EACtE,IAAIX,QAAQ,CAACY,gBAAgB,EAAEZ,QAAQ,CAACY,gBAAgB,GAAG,CAACd,SAAS,IAAIE,QAAQ,CAACY,gBAAgB;EAElG,OAAOZ,QAAQ;AACjB,CAAC;AAACa,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
|