@mirai/core 0.4.211 → 0.4.212
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.
|
@@ -26,7 +26,6 @@ const ModalExtras = _ref => {
|
|
|
26
26
|
extras: propExtras = [],
|
|
27
27
|
taxesType,
|
|
28
28
|
visible = false,
|
|
29
|
-
onCancel = () => {},
|
|
30
29
|
onSubmit = () => {},
|
|
31
30
|
...others
|
|
32
31
|
} = _ref;
|
|
@@ -44,8 +43,7 @@ const ModalExtras = _ref => {
|
|
|
44
43
|
hotel: {
|
|
45
44
|
accommodationType: hotelAccommodationType,
|
|
46
45
|
variants = {}
|
|
47
|
-
} = {}
|
|
48
|
-
variant
|
|
46
|
+
} = {}
|
|
49
47
|
} = {}
|
|
50
48
|
} = (0, _dataSources.useStore)();
|
|
51
49
|
const [extras, setExtras] = (0, _react.useState)(propExtras);
|
|
@@ -155,7 +153,7 @@ const ModalExtras = _ref => {
|
|
|
155
153
|
fit: true,
|
|
156
154
|
title: translate(_ModalExtras.L10N.LABEL_ENHANCED_YOUR_STAY),
|
|
157
155
|
visible: visible,
|
|
158
|
-
onClose:
|
|
156
|
+
onClose: handleSubmit,
|
|
159
157
|
className: style.modal,
|
|
160
158
|
testId: testId
|
|
161
159
|
}, /*#__PURE__*/_react.default.createElement(_ui.ScrollView, {
|
|
@@ -310,7 +308,7 @@ const ModalExtras = _ref => {
|
|
|
310
308
|
busy: busy,
|
|
311
309
|
onPress: handleSubmit,
|
|
312
310
|
testId: testId ? "".concat(testId, "-submit") : undefined
|
|
313
|
-
}, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE :
|
|
311
|
+
}, translate(hasSelected ? _ModalExtras.L10N.ACTION_RESERVE : _ModalExtras.L10N.ACTION_CONTINUE_WITHOUT_EXTRAS))));
|
|
314
312
|
};
|
|
315
313
|
exports.ModalExtras = ModalExtras;
|
|
316
314
|
ModalExtras.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onCancel","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","variant","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_NEXT","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onCancel = () => {},\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: {\n currency,\n finder = {},\n hotel: { accommodationType: hotelAccommodationType, variants = {} } = {},\n variant,\n } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={variant === 'A' ? onCancel : handleSubmit}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(\n hasSelected\n ? L10N.ACTION_RESERVE\n : variant === 'A'\n ? L10N.ACTION_NEXT\n : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS,\n )}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAH,uBAAA,CAAAN,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AAEA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AAAkD,SAAAa,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,SAAAR,wBAAAQ,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,SAAAlB,uBAAA8B,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;AAElD,MAAMK,WAAW,GAAGC,IAAA,IASd;EAAA,IATe;IACnBC,IAAI;IACJC,IAAI,GAAG,EAAE;IACTC,MAAM,EAAEC,UAAU,GAAG,EAAE;IACvBC,SAAS;IACTC,OAAO,GAAG,KAAK;IACfC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnBC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;IACnB,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAChC,MAAM;IAAEC,cAAc;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjD,MAAM;IACJC,KAAK,EAAE;MACLC,QAAQ;MACRC,MAAM,GAAG,CAAC,CAAC;MACXC,KAAK,EAAE;QAAEC,iBAAiB,EAAEC,sBAAsB;QAAEC,QAAQ,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC,CAAC;MACxEC;IACF,CAAC,GAAG,CAAC;EACP,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACpB,MAAM,EAAEqB,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAACrB,UAAU,CAAC;EAEhD,IAAAsB,gBAAS,EAAC,MAAM;IACd,IAAIpB,OAAO,EAAE;MACXkB,SAAS,CAACpB,UAAU,CAAC;MACrBuB,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;QAAEC,EAAE,EAAE;MAAe,CAAC,CAAC;IACtD;EACF,CAAC,EAAE,CAAC3B,UAAU,EAAEE,OAAO,CAAC,CAAC;EAEzB,MAAM0B,YAAY,GAAG,SAAAA,CAAA,EAA+B;IAAA,IAA9B;MAAED,EAAE;MAAEE,KAAK;MAAElB;IAAM,CAAC,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAwC,SAAA,GAAAxC,SAAA,MAAG,CAAC,CAAC;IAC7C;IACA8B,SAAS,CAACrB,MAAM,CAACgC,GAAG,CAAEC,KAAK,KAAM;MAAE,GAAGA,KAAK;MAAE,CAACH,KAAK,GAAGG,KAAK,CAACL,EAAE,KAAKA,EAAE,GAAGM,QAAQ,CAACtB,KAAK,CAAC,GAAGqB,KAAK,CAACH,KAAK;IAAE,CAAC,CAAC,CAAC,CAAC;EAC7G,CAAC;EAED,MAAMK,YAAY,GAAIP,EAAE,IAAK;IAC3B,MAAMQ,IAAI,GAAGpC,MAAM,CAACgC,GAAG,CAACK,KAAA;MAAA,IAAC;QAAEC,QAAQ,GAAG,KAAK;QAAE,GAAGL;MAAM,CAAC,GAAAI,KAAA;MAAA,OAAM;QAC3D,GAAGJ,KAAK;QACRK,QAAQ,EAAEL,KAAK,CAACL,EAAE,KAAKA,EAAE,GAAG,CAACU,QAAQ,GAAGA;MAC1C,CAAC;IAAA,CAAC,CAAC;IAEHjB,SAAS,CAACe,IAAI,CAAC;IAEfZ,kBAAK,CAACC,OAAO,CAACC,eAAK,CAACC,OAAO,EAAE;MAC3BC,EAAE,kBAAAW,MAAA,CACAH,IAAI,CAACI,MAAM,CAACC,KAAA;QAAA,IAAC;UAAEH;QAAS,CAAC,GAAAG,KAAA;QAAA,OAAKH,QAAQ;MAAA,EAAC,CAAC9C,MAAM,GAAGQ,MAAM,CAACwC,MAAM,CAACE,KAAA;QAAA,IAAC;UAAEJ;QAAS,CAAC,GAAAI,KAAA;QAAA,OAAKJ,QAAQ;MAAA,EAAC,CAAC9C,MAAM,GAC7F,KAAK,GACL,QAAQ;IAEhB,CAAC,CAAC;EACJ,CAAC;EAED,MAAMmD,YAAY,GAAGA,CAAA,KAAM;IACzBtC,QAAQ,CACNL,MAAM,CACHwC,MAAM,CAAEI,IAAI,IAAKA,IAAI,CAACN,QAAQ,IAAIM,IAAI,CAACC,QAAQ,CAAC,CAChDb,GAAG,CAACc,KAAA;MAAA,IAAAC,UAAA;MAAA,IAAC;QAAEC,MAAM;QAAEC,SAAS;QAAEC,MAAM;QAAEtB,EAAE;QAAEiB,QAAQ;QAAEM,WAAW;QAAEC;MAAY,CAAC,GAAAN,KAAA;MAAA,OAAM;QAC/ElB,EAAE;QACFiB,QAAQ;QACRG,MAAM,EAAEd,QAAQ,CAACiB,WAAW,IAAIH,MAAM,CAAC;QACvCE,MAAM,EAAEhB,QAAQ,CAACkB,WAAW,IAAIF,MAAM,CAAC;QACvCtC,KAAK,GAAAmC,UAAA,GAAEE,SAAS,CAACE,WAAW,IAAIH,MAAM,CAAC,CAACI,WAAW,IAAIF,MAAM,CAAC,cAAAH,UAAA,uBAAvDA,UAAA,CAAyDM;MAClE,CAAC;IAAA,CAAC,CACN,CAAC;EACH,CAAC;EAED,MAAMC,WAAW,GAAGtD,MAAM,CAACwC,MAAM,CAAEI,IAAI,IAAK,CAAC,CAACA,IAAI,CAACN,QAAQ,CAAC,CAAC9C,MAAM,GAAG,CAAC;EACvE,MAAM+D,KAAK,GAAGxD,IAAI,CAACyD,MAAM,CAAC,UAAC5C,KAAK;IAAA,IAAE;MAAEyC;IAAM,CAAC,GAAA9D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAwC,SAAA,GAAAxC,SAAA,MAAG,CAAC,CAAC;IAAA,OAAKqB,KAAK,GAAGyC,KAAK;EAAA,GAAE,CAAC,CAAC;EACtE,MAAMI,WAAW,GAAGzD,MAAM,CACvBwC,MAAM,CAAEI,IAAI,IAAKA,IAAI,CAACN,QAAQ,CAAC,CAC/BkB,MAAM,CACL,UAACD,KAAK;IAAA,IAAAG,MAAA;IAAA,IAAE;MAAEV,MAAM;MAAEE,MAAM;MAAEC,WAAW;MAAEC,WAAW;MAAExC,KAAK,GAAG,CAAC;IAAE,CAAC,GAAArB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAwC,SAAA,GAAAxC,SAAA,MAAG,CAAC,CAAC;IAAA,OACnEgE,KAAK,IAAI,EAAAG,MAAA,GAAA9C,KAAK,CAACuC,WAAW,IAAIH,MAAM,CAAC,CAACI,WAAW,IAAIF,MAAM,CAAC,cAAAQ,MAAA,uBAAnDA,MAAA,CAAqDL,KAAK,KAAI,CAAC,CAAC;EAAA,GAC3E,CACF,CAAC;EACH,MAAM;IAAEM,KAAK,EAAE;MAAE/B,EAAE,EAAE,CAACA,EAAE,CAAC,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGd,MAAM;EAChD,MAAM;IAAEE,iBAAiB,GAAGC;EAAuB,CAAC,GAAGC,QAAQ,CAACU,EAAE,CAAC,IAAI,CAAC,CAAC;EACzE,MAAMgC,cAAc,GAAG5D,MAAM,CAACR,MAAM,KAAK,CAAC;EAC1C,MAAMqE,mBAAmB,GAAG;IAAEhD,QAAQ;IAAEiD,qBAAqB,EAAE,CAAC;IAAEC,qBAAqB,EAAE;EAAE,CAAC;EAC5F,MAAM;IAAEC;EAAO,CAAC,GAAG1D,MAAM;EAEzB,oBACEjD,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAgH,KAAK;IACJC,GAAG;IACHC,KAAK,EAAE1D,SAAS,CAAC2D,iBAAI,CAACC,wBAAwB,CAAE;IAChDnE,OAAO,EAAEA,OAAQ;IACjBoE,OAAO,EAAEpD,OAAO,KAAK,GAAG,GAAGf,QAAQ,GAAGuC,YAAa;IACnD6B,SAAS,EAAE/G,KAAK,CAACgH,KAAM;IACvBT,MAAM,EAAEA;EAAO,gBAEf3G,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAwH,UAAU;IAACC,eAAe;IAACC,QAAQ,EAAEzE,OAAO,GAAG,GAAG,GAAG4B,SAAU;IAAC8C,IAAI,EAAE,KAAM;IAACL,SAAS,EAAE/G,KAAK,CAACqH;EAAW,gBACxGzH,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;IAACC,GAAG;IAACR,SAAS,EAAE/G,KAAK,CAACwH;EAAU,GAClCjF,MAAM,CAACgC,GAAG,CACT,YAoBW;IAAA,IApBV;MACCkD,sBAAsB,GAAG,CAAC;MAC1BlC,MAAM,GAAG,CAAC;MACVmC,UAAU;MACVC,SAAS;MACTC,cAAc,GAAG,CAAC;MAClBC,SAAS;MACT1D,EAAE;MACF2D,KAAK;MACL1C,QAAQ,GAAG,KAAK;MAChB2C,WAAW,GAAG,KAAK;MACnBC,WAAW,GAAG,KAAK;MACnBvC,MAAM,GAAG,CAAC;MACVZ,QAAQ,GAAG,KAAK;MAChBoD,IAAI;MACJtB,KAAK;MACLuB,IAAI;MACJ/E,KAAK,GAAG,CAAC,CAAC;MACVuC,WAAW,GAAGH,MAAM;MACpBI,WAAW,GAAGF;IAChB,CAAC,GAAA3D,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAwC,SAAA,GAAAxC,SAAA,MAAG,CAAC,CAAC;IACJ,MAAM;MAAE8D,KAAK,EAAEE;IAAM,CAAC,GAAG3C,KAAK,CAACuC,WAAW,CAAC,CAACC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE9D,oBACE/F,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;MACHrF,GAAG,EAAEkC,EAAG;MACRgE,IAAI;MACJpB,SAAS,EAAE,IAAAqB,UAAM,EACfpI,KAAK,CAACqI,IAAI,EACVlC,cAAc,IAAInG,KAAK,CAACsI,UAAU,EAClCzC,WAAW,IAAIhB,QAAQ,GAAG7E,KAAK,CAAC6E,QAAQ,GAAGP,SAC7C;IAAE,gBAEF1E,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;MAACP,SAAS,EAAE/G,KAAK,CAAC8H,KAAM;MAAC9H,KAAK,EAAE;QAAEuI,eAAe,SAAAzD,MAAA,CAASgD,KAAK;MAAI;IAAE,CAAE,CAAC,eAE7ElI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;MAACa,IAAI;MAACpB,SAAS,EAAE,CAAC/G,KAAK,CAACwI,GAAG,EAAExI,KAAK,CAACyI,MAAM,EAAEzI,KAAK,CAAC0I,MAAM;IAAE,gBAC5D9I,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;MAACC,IAAI;IAAA,GAAEjC,KAAY,CAAC,EACxBsB,IAAI,iBAAIrI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;MAACE,KAAK;IAAA,GAAEZ,IAAW,CAAC,EAEjCR,sBAAsB,GAAG,CAAC,iBACzB7H,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAqJ,YAAY;MAACC,MAAM;MAACF,KAAK;MAACG,OAAO;IAAA,GAC/B/F,SAAS,CAAC2D,iBAAI,CAACqC,4BAA4B,EAAE;MAAE9F,KAAK,EAAEsE;IAAuB,CAAC,CACnE,CACf,EAEAG,cAAc,GAAG,CAAC,iBACjBhI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAqJ,YAAY;MAACC,MAAM;MAACF,KAAK;MAACG,OAAO;IAAA,GAC/B/F,SAAS,CAAC2D,iBAAI,CAACsC,qCAAqC,EAAE;MAAE/F,KAAK,EAAEyE;IAAe,CAAC,CACpE,CACf,EAEAF,UAAU,iBACT9H,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;MAACQ,KAAK;MAACN,KAAK;IAAA,GACdnB,UACG,CACP,EAEA,CAACK,WAAW,IAAIC,WAAW,kBAC1BpI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;MAACC,GAAG;MAACR,SAAS,EAAE,IAAAqB,UAAM,EAACpI,KAAK,CAACwI,GAAG,EAAExI,KAAK,CAACoJ,MAAM;IAAE,GAClDrB,WAAW,iBACVnI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA4J,WAAW;MACVC,UAAU;MACVC,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAE,IAAAC,uBAAa,EAAC;QAAEC,MAAM,EAAE,IAAI;QAAExB,IAAI,EAAEL;MAAU,CAAC,EAAE5E,SAAS,CAAE;MACnE0G,OAAO,EAAEC,KAAK,CAACC,IAAI,CAAC;QAAE9H,MAAM,EAAEwD;MAAO,CAAC,CAAC,CAAChB,GAAG,CAAC,CAACuF,CAAC,EAAEC,KAAK,KAAKA,KAAK,GAAG,CAAC,CAAE;MACrE5G,KAAK,EAAEuC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsE,QAAQ,CAAC,CAAE;MAC/BC,QAAQ,EAAG9G,KAAK,IAAKiB,YAAY,CAAC;QAAED,EAAE;QAAEE,KAAK,EAAE,aAAa;QAAElB;MAAM,CAAC;IAAE,CACxE,CACF,EACA6E,WAAW,iBACVpI,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA4J,WAAW;MACVE,IAAI,EAAC,QAAQ;MACbC,KAAK,EAAEvG,SAAS,CAAC2D,iBAAI,CAACsD,YAAY,CAAE;MACpCP,OAAO,EAAEC,KAAK,CAACC,IAAI,CAAC;QAAE9H,MAAM,EAAE0D;MAAO,CAAC,CAAC,CAAClB,GAAG,CAAC,CAACuF,CAAC,EAAEC,KAAK,KAAKA,KAAK,GAAG,CAAC,CAAE;MACrE5G,KAAK,EAAEwC,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEqE,QAAQ,CAAC,CAAE;MAC/BC,QAAQ,EAAG9G,KAAK,IAAKiB,YAAY,CAAC;QAAED,EAAE;QAAEE,KAAK,EAAE,aAAa;QAAElB;MAAM,CAAC;IAAE,CACxE,CAEC,CAEJ,CAAC,eAEPvD,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;MAACC,GAAG;MAACR,SAAS,EAAE,CAAC/G,KAAK,CAACyI,MAAM,EAAEzI,KAAK,CAACmK,YAAY;IAAE,gBACtDvK,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI,qBACH1H,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;MAACC,IAAI;MAACwB,QAAQ;IAAA,GAChBtE,KAAK,GAAG9C,cAAc,CAAC;MAAE,GAAGoD,mBAAmB;MAAEjD,KAAK,EAAE2C;IAAM,CAAC,CAAC,GAAG7C,SAAS,CAAC2D,iBAAI,CAACyD,UAAU,CACzF,CAAC,eACPzK,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;MAACQ,KAAK;MAACN,KAAK;IAAA,GACd,IAAAyB,mBAAU,EACT;MACE/G,iBAAiB;MACjBgC,MAAM;MACNoC,SAAS;MACTE,SAAS;MACTE,WAAW;MACXG,IAAI;MACJxC,WAAW;MACXC;IACF,CAAC,EACD1C,SACF,CACI,CACF,CAAC,eAEPrD,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA8K,MAAM;MACL1B,KAAK;MACL2B,SAAS,EAAE,CAAC3F,QAAQ,IAAI,CAACO,QAAS;MAClCqF,OAAO,EAAE,CAACrF,QAAQ,GAAG,MAAMV,YAAY,CAACP,EAAE,CAAC,GAAGG;IAAU,GAEvDrB,SAAS,CAACmC,QAAQ,GAAGwB,iBAAI,CAAC8D,cAAc,GAAG7F,QAAQ,GAAG+B,iBAAI,CAAC+D,aAAa,GAAG/D,iBAAI,CAACgE,UAAU,CACrF,CACJ,CACF,CAAC;EAEX,CACF,CACI,CACI,CAAC,eAEbhL,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;IAACC,GAAG;IAACR,SAAS,EAAE/G,KAAK,CAAC6K;EAAO,GAC/B/E,KAAK,GAAG,CAAC,iBACRlG,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA6H,IAAI;IAACP,SAAS,EAAE/G,KAAK,CAAC8F;EAAM,gBAC3BlG,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;IAACC,IAAI;IAACwB,QAAQ;IAACU,KAAK,EAAEhI,QAAQ,GAAG,CAAC,GAAG;EAAE,GACzCE,cAAc,CAAC;IAAE,GAAGoD,mBAAmB;IAAEjD,KAAK,EAAE2C,KAAK,GAAGE;EAAY,CAAC,CAClE,CAAC,EAEN,CAAC,CAACvD,SAAS,iBACV7C,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAAkJ,IAAI;IAACQ,KAAK;IAACN,KAAK;EAAA,GACd5F,SAAS,CAAC,IAAA8H,uBAAa,EAACtI,SAAS,CAAC,CAC/B,CACP,eAED7C,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAACrG,WAAA,CAAA6K,YAAY,EAAAtJ,QAAA;IACXa,MAAM,EAAEA,MAAM,CAACwC,MAAM,CAACkG,KAAA;MAAA,IAAC;QAAEpG;MAAS,CAAC,GAAAoG,KAAA;MAAA,OAAKpG,QAAQ;IAAA,EAAE;IAClDvC,IAAI,EAAEA,IAAK;IACX4I,OAAO,EAAC,cAAc;IACtBzI,SAAS,EAAEA;EAAU,GACjBI,MAAM;IACVkE,SAAS,EAAE/G,KAAK,CAACmL;EAAa,EAC/B,CACG,CACP,eAEDvL,MAAA,CAAAc,OAAA,CAAA8F,aAAA,CAAC/G,GAAA,CAAA8K,MAAM;IAAClI,IAAI,EAAEA,IAAK;IAACoI,OAAO,EAAEvF,YAAa;IAACqB,MAAM,EAAEA,MAAM,MAAAzB,MAAA,CAAMyB,MAAM,eAAYjC;EAAU,GACxFrB,SAAS,CACR4C,WAAW,GACPe,iBAAI,CAACwE,cAAc,GACnB1H,OAAO,KAAK,GAAG,GACfkD,iBAAI,CAACyE,WAAW,GAChBzE,iBAAI,CAAC0E,8BACX,CACM,CACJ,CACD,CAAC;AAEZ,CAAC;AAACC,OAAA,CAAApJ,WAAA,GAAAA,WAAA;AAEFA,WAAW,CAACqJ,SAAS,GAAG;EACtBnJ,IAAI,EAAEoJ,kBAAS,CAACC,IAAI;EACpBpJ,IAAI,EAAEmJ,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC5CrJ,MAAM,EAAEkJ,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;EAC9CnJ,SAAS,EAAEgJ,kBAAS,CAACI,MAAM;EAC3BnJ,OAAO,EAAE+I,kBAAS,CAACC,IAAI;EACvB/I,QAAQ,EAAE8I,kBAAS,CAACK,IAAI;EACxBlJ,QAAQ,EAAE6I,kBAAS,CAACK;AACtB,CAAC;AAED3J,WAAW,CAAC4J,WAAW,GAAG,8BAA8B"}
|
|
1
|
+
{"version":3,"file":"ModalExtras.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_ModalExtras","style","_helpers2","_helpers3","_components","_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","ModalExtras","_ref","busy","cart","extras","propExtras","taxesType","visible","onSubmit","others","isMobile","useDevice","currencyFormat","translate","useLocale","value","currency","finder","hotel","accommodationType","hotelAccommodationType","variants","useStore","setExtras","useState","useEffect","Event","publish","EVENT","METRICS","id","handleChange","field","undefined","map","extra","parseInt","handleSelect","next","_ref2","selected","concat","filter","_ref3","_ref4","handleSubmit","item","included","_ref5","_baseValue","amount","baseValue","nights","valueAmount","valueNights","price","hasSelected","total","reduce","totalExtras","_value","place","standaloneCard","currencyFormatProps","maximumFractionDigits","minimumFractionDigits","testId","createElement","Modal","fit","title","L10N","LABEL_ENHANCED_YOUR_STAY","onClose","className","modal","ScrollView","scrollIndicator","scrollTo","snap","scrollView","View","row","container","accommodationThreshold","conditions","frequency","guestThreshold","guestType","image","inputGuests","inputNights","text","type","wide","styles","card","standalone","backgroundImage","gap","offset","anchor","Text","bold","small","Notification","inline","warning","LABEL_APPLIES_SELECTED_ROOMS","LABEL_APPLIES_INDIVIDUALS_RESERVATION","light","inputs","InputSelect","capitalize","name","label","getGuestLabel","plural","options","Array","from","_","index","toString","onChange","LABEL_NIGHTS","spaceBetween","headline","LABEL_FREE","getCaption","Button","secondary","onPress","LABEL_INCLUDED","ACTION_REMOVE","ACTION_ADD","footer","level","getLabelTaxes","PriceDetails","_ref6","metrics","priceDetails","ACTION_RESERVE","ACTION_CONTINUE_WITHOUT_EXTRAS","exports","propTypes","PropTypes","bool","arrayOf","shape","number","onCancel","func","displayName"],"sources":["../../../../../src/components/Rates/components/ModalExtras/ModalExtras.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Button, InputSelect, Modal, Notification, ScrollView, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { getCaption } from './helpers';\nimport { L10N } from './ModalExtras.l10n';\nimport * as style from './ModalExtras.module.css';\nimport { getGuestLabel } from '../../../helpers';\nimport { EVENT } from '../../../helpers';\nimport { getLabelTaxes } from '../../helpers';\nimport { PriceDetails } from '../Item/components';\n\nconst ModalExtras = ({\n busy,\n cart = [],\n extras: propExtras = [],\n taxesType,\n visible = false,\n onSubmit = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n const { currencyFormat, translate } = useLocale();\n const {\n value: { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = {},\n } = useStore();\n\n const [extras, setExtras] = useState(propExtras);\n\n useEffect(() => {\n if (visible) {\n setExtras(propExtras);\n Event.publish(EVENT.METRICS, { id: 'RATES:EXTRAS' });\n }\n }, [propExtras, visible]);\n\n const handleChange = ({ id, field, value } = {}) => {\n // ! Why parse Number()? should come from the service.\n setExtras(extras.map((extra) => ({ ...extra, [field]: extra.id === id ? parseInt(value) : extra[field] })));\n };\n\n const handleSelect = (id) => {\n const next = extras.map(({ selected = false, ...extra }) => ({\n ...extra,\n selected: extra.id === id ? !selected : selected,\n }));\n\n setExtras(next);\n\n Event.publish(EVENT.METRICS, {\n id: `RATES:EXTRAS:${\n next.filter(({ selected }) => selected).length > extras.filter(({ selected }) => selected).length\n ? 'ADD'\n : 'REMOVE'\n }`,\n });\n };\n\n const handleSubmit = () => {\n onSubmit(\n extras\n .filter((item) => item.selected || item.included)\n .map(({ amount, baseValue, nights, id, included, valueAmount, valueNights }) => ({\n id,\n included,\n amount: parseInt(valueAmount || amount),\n nights: parseInt(valueNights || nights),\n value: baseValue[valueAmount || amount][valueNights || nights]?.price,\n })),\n );\n };\n\n const hasSelected = extras.filter((item) => !!item.selected).length > 0;\n const total = cart.reduce((value, { price } = {}) => value + price, 0);\n const totalExtras = extras\n .filter((item) => item.selected)\n .reduce(\n (total, { amount, nights, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n const standaloneCard = extras.length === 1;\n const currencyFormatProps = { currency, maximumFractionDigits: 0, minimumFractionDigits: 0 };\n const { testId } = others;\n\n return (\n <Modal\n fit\n title={translate(L10N.LABEL_ENHANCED_YOUR_STAY)}\n visible={visible}\n onClose={handleSubmit}\n className={style.modal}\n testId={testId}\n >\n <ScrollView scrollIndicator scrollTo={visible ? 0.5 : undefined} snap={false} className={style.scrollView}>\n <View row className={style.container}>\n {extras.map(\n ({\n accommodationThreshold = 0,\n amount = 0,\n conditions,\n frequency,\n guestThreshold = 0,\n guestType,\n id,\n image,\n included = false,\n inputGuests = false,\n inputNights = false,\n nights = 0,\n selected = false,\n text,\n title,\n type,\n value = {},\n valueAmount = amount,\n valueNights = nights,\n } = {}) => {\n const { price: total } = value[valueAmount][valueNights] || {};\n\n return (\n <View\n key={id}\n wide\n className={styles(\n style.card,\n standaloneCard && style.standalone,\n hasSelected && selected ? style.selected : undefined,\n )}\n >\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n\n <View wide className={[style.gap, style.offset, style.anchor]}>\n <Text bold>{title}</Text>\n {text && <Text small>{text}</Text>}\n\n {accommodationThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_SELECTED_ROOMS, { value: accommodationThreshold })}\n </Notification>\n )}\n\n {guestThreshold > 0 && (\n <Notification inline small warning>\n {translate(L10N.LABEL_APPLIES_INDIVIDUALS_RESERVATION, { value: guestThreshold })}\n </Notification>\n )}\n\n {conditions && (\n <Text light small>\n {conditions}\n </Text>\n )}\n\n {(inputGuests || inputNights) && (\n <View row className={styles(style.gap, style.inputs)}>\n {inputGuests && (\n <InputSelect\n capitalize\n name=\"guests\"\n label={getGuestLabel({ plural: true, type: guestType }, translate)}\n options={Array.from({ length: amount }).map((_, index) => index + 1)}\n value={valueAmount?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueAmount', value })}\n />\n )}\n {inputNights && (\n <InputSelect\n name=\"nights\"\n label={translate(L10N.LABEL_NIGHTS)}\n options={Array.from({ length: nights }).map((_, index) => index + 1)}\n value={valueNights?.toString()}\n onChange={(value) => handleChange({ id, field: 'valueNights', value })}\n />\n )}\n </View>\n )}\n </View>\n\n <View row className={[style.offset, style.spaceBetween]}>\n <View>\n <Text bold headline>\n {total ? currencyFormat({ ...currencyFormatProps, value: total }) : translate(L10N.LABEL_FREE)}\n </Text>\n <Text light small>\n {getCaption(\n {\n accommodationType,\n amount,\n frequency,\n guestType,\n inputGuests,\n type,\n valueAmount,\n valueNights,\n },\n translate,\n )}\n </Text>\n </View>\n\n <Button\n small\n secondary={!selected && !included}\n onPress={!included ? () => handleSelect(id) : undefined}\n >\n {translate(included ? L10N.LABEL_INCLUDED : selected ? L10N.ACTION_REMOVE : L10N.ACTION_ADD)}\n </Button>\n </View>\n </View>\n );\n },\n )}\n </View>\n </ScrollView>\n\n <View row className={style.footer}>\n {total > 0 && (\n <View className={style.total}>\n <Text bold headline level={isMobile ? 3 : 2}>\n {currencyFormat({ ...currencyFormatProps, value: total + totalExtras })}\n </Text>\n\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n\n <PriceDetails\n extras={extras.filter(({ selected }) => selected)}\n cart={cart}\n metrics=\"RATES:EXTRAS\"\n taxesType={taxesType}\n {...others}\n className={style.priceDetails}\n />\n </View>\n )}\n\n <Button busy={busy} onPress={handleSubmit} testId={testId ? `${testId}-submit` : undefined}>\n {translate(hasSelected ? L10N.ACTION_RESERVE : L10N.ACTION_CONTINUE_WITHOUT_EXTRAS)}\n </Button>\n </View>\n </Modal>\n );\n};\n\nModalExtras.propTypes = {\n busy: PropTypes.bool,\n cart: PropTypes.arrayOf(PropTypes.shape({})),\n extras: PropTypes.arrayOf(PropTypes.shape({})),\n taxesType: PropTypes.number,\n visible: PropTypes.bool,\n onCancel: PropTypes.func,\n onSubmit: PropTypes.func,\n};\n\nModalExtras.displayName = 'Mirai:Core:Rates:ModalExtras';\n\nexport { ModalExtras };\n"],"mappings":"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"}
|
|
@@ -237,7 +237,15 @@ const consolidateStore = async function () {
|
|
|
237
237
|
promo,
|
|
238
238
|
session,
|
|
239
239
|
tags,
|
|
240
|
-
|
|
240
|
+
// Disabled variants manager
|
|
241
|
+
// variant:
|
|
242
|
+
// IS_JEST && !window.IS_PLAYWRIGHT
|
|
243
|
+
// ? undefined
|
|
244
|
+
// : urlParams.variant
|
|
245
|
+
// ? urlParams.variant
|
|
246
|
+
// : Math.random() < 0.5
|
|
247
|
+
// ? 'A'
|
|
248
|
+
// : 'B',
|
|
241
249
|
// -- components
|
|
242
250
|
checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,
|
|
243
251
|
deals: undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","variant","Math","random","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation || undefined,\n promocode: clientCode || promoCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n variant:\n IS_JEST && !window.IS_PLAYWRIGHT\n ? undefined\n : urlParams.variant\n ? urlParams.variant\n : Math.random() < 0.5\n ? 'A'\n : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consolidateStore.js","names":["_dataSources","require","_locale","_fetchCurrency","_getAccommodationType","_getClub","_getLocale","_getMetaRates","_getPerformance","_getTags","_prepareRoom","_toOccupation","_Core","_process","_process$env","IS_JEST","process","env","JEST_WORKER_ID","consolidateStore","_config$accomodation","_config$accomodation2","_config$accomodation3","_config$accomodation4","_config$accomodation5","_config$accomodation6","_tags","_promo","_config$languages","components","config","cookies","instance","el","hotel","hotelId","id","type","session","urlParams","arguments","length","undefined","miraiId","isRates","some","component","maxDays","maxNights","rangeMaxDays","nightsForDeal","rangeMinDays","prices","showPrices","pricesWithTaxes","pricesLegend","accomodation","calendar","TAXES","includes","TAX_DEFAULT","to","dateFormat","dateCalc","Date","format","CALENDAR_FORMAT","language","country","locale","getLocale","currency","TYPE","HOTEL","fetchCurrency","DEFAULT_CURRENCY","accommodationType","getAccommodationType","lodgingDenomination","features","CHAIN","idtokenprovider","idHotel","url","home","window","location","origin","warningAvailability","minRoomsEngineNotification","hotels","variants","Object","entries","map","_ref","key","occupation","dataSource","ADULT","min","age","CHILD","fulfill","maxRooms","rooms","maxOccupation","commissionCode","hsri","TYPE_COMMISSION","chainSelector","tags","placeHolder","trees","options","getTags","placeholder","storageFinder","Storage","adapter","LocalAdapter","get","concat","FINDER_STORAGE_KEY","chainSelectorValue","checkin","clientCode","nights","parties","promo","promoCode","parseDate","UTC","checkout","parseInt","showPromoNav","configPromo","promoText","place","find","isHotel","value","Number","finder","dateDiff","days","toOccupation","places","prepareRoom","promocode","code","host","document","protocol","isDevelopment","NODE_ENV","IS_PLAYWRIGHT","forwarder","rates","SERVICE_BOOKING","booking","signup","SERVICE_USER","profile","locales","languages","COUNTRIES","club","getClub","reduce","_ref2","props","performance","getPerformance","checkoutForm","JSON","parse","deals","lisa","cart","split","getMetaRates","meta","exports"],"sources":["../../src/helpers/consolidateStore.js"],"sourcesContent":["import { LocalAdapter, Storage } from '@mirai/data-sources';\nimport { COUNTRIES, dateCalc, dateDiff, dateFormat, DEFAULT_CURRENCY, parseDate, UTC } from '@mirai/locale';\n\nimport { fetchCurrency } from './fetchCurrency';\nimport { getAccommodationType } from './getAccommodationType';\nimport { getClub } from './getClub';\nimport { getLocale } from './getLocale';\nimport { getMetaRates } from './getMetaRates';\nimport { getPerformance } from './getPerformance';\nimport { getTags } from './getTags';\nimport { prepareRoom } from './prepareRoom';\nimport { toOccupation } from './toOccupation';\nimport { CALENDAR_FORMAT, FINDER_STORAGE_KEY, TAX_DEFAULT, TAXES, TYPE, TYPE_COMMISSION } from '../Core.constants';\n\nconst IS_JEST = !!process?.env?.JEST_WORKER_ID;\n\n/* eslint-disable no-unused-vars */\nexport const consolidateStore = async ({\n components = [],\n config = {},\n cookies = {},\n instance: { el, hotel: hotelId, id, type, ...instance } = {},\n session,\n urlParams = {},\n} = {}) => {\n const { miraiId } = urlParams;\n const isRates = components.some(({ component } = {}) => component === 'rates');\n\n // -- calendar -------------------------------------------------------------------------------------------------------\n const {\n maxDays = 365,\n maxNights: rangeMaxDays = 31,\n nightsForDeal: rangeMinDays,\n prices: showPrices = false,\n pricesWithTaxes: pricesLegend,\n } = config.accomodation?.calendar || {};\n const calendar = {\n rangeMaxDays,\n rangeMinDays,\n pricesLegend: TAXES.includes(pricesLegend) ? pricesLegend : showPrices ? TAX_DEFAULT : undefined,\n showPrices,\n to: !IS_JEST ? dateFormat(dateCalc(new Date(), maxDays, 'days'), { format: CALENDAR_FORMAT }) : undefined,\n };\n\n // -- language, country & locale -------------------------------------------------------------------------------------\n const { language, country, locale } = getLocale(instance, urlParams);\n\n // -- currency -------------------------------------------------------------------------------------------------------\n const currency =\n urlParams.currency ||\n instance.currency ||\n (type === TYPE.HOTEL && !IS_JEST ? await fetchCurrency(id) : DEFAULT_CURRENCY);\n\n // -- hotel ----------------------------------------------------------------------------------------------------------\n const hotel = {\n accommodationType: getAccommodationType(config.lodgingDenomination, hotelId),\n features: config.accomodation?.features || {},\n id: type === TYPE.CHAIN ? urlParams.idtokenprovider || urlParams.idHotel || hotelId : id,\n url: urlParams.home || window.location.origin,\n warningAvailability: config.minRoomsEngineNotification,\n };\n\n if (type === TYPE.CHAIN) {\n const { hotels = {} } = config;\n hotel.variants = {};\n\n Object.entries(hotels).map(([key, { lodgingDenomination: accommodationType }]) => {\n hotel.variants[key] = { accommodationType };\n });\n }\n\n // -- occupation -----------------------------------------------------------------------------------------------------\n const occupation = {\n dataSource: config.accomodation?.occupation || [\n { type: TYPE.ADULT, min: 1, age: [18] },\n { type: TYPE.CHILD, age: [0, 17], fulfill: true },\n ],\n maxRooms: config.accomodation?.rooms?.maxOccupation,\n variants: config.accomodation?.variants || [],\n };\n\n // -- origin ---------------------------------------------------------------------------------------------------------\n const origin = {\n commissionCode: urlParams.hsri || TYPE_COMMISSION[type],\n };\n\n // -- tags -----------------------------------------------------------------------------------------------------------\n const { chainSelector } = config;\n let tags;\n if (type === TYPE.CHAIN && chainSelector) {\n const { placeHolder = {}, trees = [] } = chainSelector;\n tags = { options: getTags(trees, language), placeholder: placeHolder[language] };\n }\n\n // -- finder ---------------------------------------------------------------------------------------------------------\n const storageFinder = !isRates ? new Storage({ adapter: LocalAdapter }).get(`${FINDER_STORAGE_KEY}:${id}`) || {} : {};\n\n let { chainSelectorValue, checkin, clientCode, nights = isRates ? 1 : 0, parties, promo: promoCode } = urlParams;\n checkin = checkin ? parseDate(checkin) : isRates ? UTC(new Date()) : undefined;\n let checkout;\n\n if (checkin) checkout = dateCalc(checkin, parseInt(nights), 'days');\n\n let promo;\n if (config.showPromoNav) {\n const { accomodation: { promo: configPromo = {} } = {}, promoText: placeholder = {} } = config;\n promo = { ...configPromo, placeholder };\n }\n\n let place;\n if (tags) {\n place = tags.options.find(\n ({ id: [idHotel] = [], isHotel, value } = {}) =>\n (chainSelectorValue && value === Number(chainSelectorValue)) || (isHotel && hotel.id === idHotel),\n );\n\n const { id: [id] = [] } = place || {};\n const { accommodationType } = hotel.variants[id] || {};\n if (accommodationType) hotel.accommodationType = accommodationType;\n }\n\n let finder = {\n place: place || storageFinder.place,\n calendar: checkin\n ? [checkin, checkout]\n : storageFinder.calendar && dateDiff(new Date(), new Date(storageFinder.calendar[0])).days > -1\n ? [new Date(storageFinder.calendar[0]), new Date(storageFinder.calendar[1])]\n : [],\n occupation: parties\n ? toOccupation({ chainSelectorValue, occupation, parties, places: tags?.options })\n : isRates\n ? [prepareRoom(occupation.dataSource)]\n : storageFinder.occupation || undefined,\n promocode: clientCode || promoCode || promo?.code || storageFinder.promocode,\n };\n\n // -- forwarder ------------------------------------------------------------------------------------------------------\n const host = `${document.location.protocol}//${document.location.host}`;\n const isDevelopment = process.env.NODE_ENV === 'development' || window.IS_PLAYWRIGHT;\n const forwarder = {\n rates: miraiId ? `${host}/step1-rates` : `${process.env.SERVICE_BOOKING}/miraiFrontDispatcher.htm`,\n checkout: miraiId ? `${host}/step2-checkout` : `${process.env.SERVICE_BOOKING}/forwarder_client_form.htm`,\n booking: miraiId ? `${host}/step3-booking` : `${process.env.SERVICE_BOOKING}/forwarder_manage_reservation.htm`,\n signup:\n miraiId || isDevelopment\n ? `${host}/signup`\n : `${process.env.SERVICE_USER}/club/v1/forwarder/registration_process`,\n profile:\n miraiId || isDevelopment ? `${host}/profile` : `${process.env.SERVICE_USER}/club/v1/forwarder/members_area`,\n };\n\n return {\n config,\n cookies,\n urlParams,\n ...instance,\n id,\n type,\n\n // region\n currency,\n language,\n country,\n locale,\n locales: config.languages\n ?.map((language) => (language === 'no' ? 'nb' : language))\n .map((language) => `${language}-${COUNTRIES[language]}`),\n\n // entities,\n calendar,\n club: getClub({ config, type, urlParams }),\n components: components.reduce((value, { component, ...props }) => {\n value[component] = props;\n return value;\n }, {}),\n forwarder,\n hotel,\n occupation,\n origin,\n performance: getPerformance(config, hotel.id),\n promo,\n session,\n tags,\n // Disabled variants manager\n // variant:\n // IS_JEST && !window.IS_PLAYWRIGHT\n // ? undefined\n // : urlParams.variant\n // ? urlParams.variant\n // : Math.random() < 0.5\n // ? 'A'\n // : 'B',\n // -- components\n checkout: !IS_JEST && urlParams.checkoutForm ? JSON.parse(urlParams.checkoutForm) : undefined,\n deals: undefined,\n finder,\n lisa: undefined,\n rates: {\n cart: urlParams.cart ? urlParams.cart.split(',') : urlParams.rates ? getMetaRates(urlParams.rates) : undefined,\n meta: !!urlParams.rates,\n },\n rooms: undefined,\n signup: undefined,\n };\n};\n"],"mappings":"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"}
|