@mirai/core 0.4.545 → 0.4.547
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/Banner/Banner.js +11 -0
- package/build/components/Banner/Banner.js.map +1 -1
- package/build/components/Booking/Booking.js +19 -28
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/partials/Booking.Menu.js +12 -0
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Booking/partials/Booking.Modal.js +2 -2
- package/build/components/Booking/partials/Booking.Modal.js.map +1 -1
- package/build/components/Booking/partials/Booking.ModalCalendar.js +5 -1
- package/build/components/Booking/partials/Booking.ModalCalendar.js.map +1 -1
- package/build/components/Chat/Chat.js +10 -3
- package/build/components/Chat/Chat.js.map +1 -1
- package/build/components/Chat/components/Aura/Aura.js +2 -2
- package/build/components/Chat/components/Aura/Aura.js.map +1 -1
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js +4 -4
- package/build/components/Chat/components/Aura/hooks/useOpenAiRealtimeSession.js.map +1 -1
- package/build/components/Chat/components/Rating/Rating.js +1 -1
- package/build/components/Chat/components/Rating/Rating.js.map +1 -1
- package/build/components/Checkout/Checkout.js +74 -15
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +22 -3
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +36 -18
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Rates/Rates.Unavailability.js +28 -3
- package/build/components/Rates/Rates.Unavailability.js.map +1 -1
- package/build/components/Rates/Rates.js +47 -14
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Filters/Filters.js +11 -0
- package/build/components/Rates/components/Filters/Filters.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Preview.js +17 -2
- package/build/components/Rates/components/Item/Item.Preview.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Rates.js +32 -10
- package/build/components/Rates/components/Item/Item.Rates.js.map +1 -1
- package/build/components/Rates/components/Item/Item.Summary.js +4 -1
- package/build/components/Rates/components/Item/Item.Summary.js.map +1 -1
- package/build/components/Rates/components/Item/Item.js +4 -1
- package/build/components/Rates/components/Item/Item.js.map +1 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js +9 -1
- package/build/components/Rates/components/Item/components/PriceDetails/PriceDetails.js.map +1 -1
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js +31 -2
- package/build/components/Rates/components/ModalClubRate/ModalClubRate.js.map +1 -1
- package/build/components/Rates/components/ModalExtras/ModalExtras.js +46 -6
- package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
- package/build/components/Rates/components/ModalTwin/ModalTwin.js +51 -5
- package/build/components/Rates/components/ModalTwin/ModalTwin.js.map +1 -1
- package/build/components/Rates/components/OTAPrices/OTAPrices.js +66 -2
- package/build/components/Rates/components/OTAPrices/OTAPrices.js.map +1 -1
- package/build/components/Rates/hooks/useRates.js +13 -0
- package/build/components/Rates/hooks/useRates.js.map +1 -1
- package/build/components/Session/Session.Account.js +4 -0
- package/build/components/Session/Session.Account.js.map +1 -1
- package/build/components/Session/Session.Login.Modal.js +38 -4
- package/build/components/Session/Session.Login.Modal.js.map +1 -1
- package/build/components/Signup/Signup.js +12 -0
- package/build/components/Signup/Signup.js.map +1 -1
- package/build/components/__shared__/BookingDetails/BookingDetails.js +5 -0
- package/build/components/__shared__/BookingDetails/BookingDetails.js.map +1 -1
- package/build/components/__shared__/BookingSummary/BookingSummary.js +10 -0
- package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
- package/build/components/__shared__/BookingTerms/BookingTerms.js +13 -3
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
- package/build/components/__shared__/Payment/Payment.js +11 -1
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/helpers/constants.js +22 -1
- package/build/components/helpers/constants.js.map +1 -1
- package/build/contexts/PerformanceManager/PerformanceManager.js +30 -8
- package/build/contexts/PerformanceManager/PerformanceManager.js.map +1 -1
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js +6 -83
- package/build/contexts/PerformanceManager/providers/helpers/SHA256.js.map +1 -1
- package/build/helpers/SHA256.js +73 -0
- package/build/helpers/SHA256.js.map +1 -0
- package/build/helpers/getRefundableFromItems.js +22 -0
- package/build/helpers/getRefundableFromItems.js.map +1 -0
- package/build/helpers/getSearchProps.js +100 -0
- package/build/helpers/getSearchProps.js.map +1 -0
- package/build/helpers/getSuperProps.js +54 -0
- package/build/helpers/getSuperProps.js.map +1 -0
- package/build/helpers/index.js +48 -4
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/trackError.js +2 -1
- package/build/helpers/trackError.js.map +1 -1
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","key","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","_ref","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","children","currency","repositories","countries","form","tracking","showErrors","onError","others","isDesktop","useDevice","translate","useLocale","club","language","payment","method","session","useStore","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","getSchemaProps","useLayoutEffect","checkout","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","getFields","nextFiltered","_ref5","undefined","handleLeave","email","firstName","lastName","Event","publish","EVENT","CHECKOUT_FORM","event","response","handleFormError","errors","_ref6","_ref7","visible","testId","formProps","autoComplete","validateOnMount","onChange","onLeave","className","styles","box","createElement","Fragment","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","_ref8","field","required","_ref9","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","date","parseDate","requiredText","LABEL_REQUIRED","LABEL_ADDITIONAL_INFO","_ref0","_ref1","Modal","fit","title","LABEL_CONDITIONS","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","node","shape","bool","variant","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useState } from 'react';\n\nimport { BookingTerms, Payment } from '../../__shared__';\nimport { EVENT, generateId, getCountryCode } from '../../helpers';\nimport { FIELD, FORM_STORAGE_CACHE, FORM_STORAGE_KEY, INPUT } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n children,\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { set, value: { club, language, payment: { method } = {}, session } = {} } = useStore();\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, schema)) ||\n Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource, schema), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n const handleChange = async (value) => {\n const next = { ...form, ...value };\n\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n Event.publish(EVENT.CHECKOUT_FORM, { event: EVENT.CHECKOUT_FORM, response: { tracking } });\n setFormTracked(true);\n }\n };\n\n const handleFormError = (errors) => {\n setErrorForm(errors);\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\n\n const { payment } = dataSource || {};\n const { testId } = others;\n const formProps = {\n ...others,\n autoComplete: 'off',\n showErrors,\n validateOnMount: true,\n onChange: handleChange,\n onError: handleFormError,\n onLeave: handleLeave,\n className: styles(style.form, style.box),\n };\n\n return (\n <>\n <FormBase {...formProps} testId={`${testId}-required`}>\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n {getFields(form)\n .filter(([, field]) => field.required)\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], language, session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n {children}\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n requiredText={translate(L10N.LABEL_REQUIRED)}\n onError={setErrorPayment}\n />\n )}\n\n <FormBase {...formProps} testId={`${testId}-adittional`}>\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_ADDITIONAL_INFO)}\n </Text>\n {getFields(form)\n .filter(([, field]) => !field.required)\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], language, session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\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,SAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAL,uBAAA,CAAAP,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AAA2D,MAAAc,SAAA;EAAAC,UAAA;AAAA,SAAAR,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAZ,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,SAAA,WAAAA,QAAA,GAAAH,MAAA,CAAAI,MAAA,GAAAJ,MAAA,CAAAI,MAAA,CAAAC,IAAA,eAAAjB,CAAA,aAAAJ,CAAA,MAAAA,CAAA,GAAAsB,SAAA,CAAAC,MAAA,EAAAvB,CAAA,UAAAC,CAAA,GAAAqB,SAAA,CAAAtB,CAAA,YAAAG,CAAA,IAAAF,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAd,CAAA,EAAAE,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAF,CAAA,CAAAE,CAAA,aAAAC,CAAA,KAAAe,QAAA,CAAAK,KAAA,OAAAF,SAAA;AAAA,SAAAG,yBAAAzB,CAAA,EAAAC,CAAA,gBAAAD,CAAA,iBAAAM,CAAA,EAAAH,CAAA,EAAAI,CAAA,GAAAmB,6BAAA,CAAA1B,CAAA,EAAAC,CAAA,OAAAe,MAAA,CAAAW,qBAAA,QAAAvB,CAAA,GAAAY,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,QAAAG,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAAmB,MAAA,EAAApB,CAAA,IAAAG,CAAA,GAAAF,CAAA,CAAAD,CAAA,UAAAF,CAAA,CAAA2B,OAAA,CAAAtB,CAAA,QAAAuB,oBAAA,CAAAd,IAAA,CAAAf,CAAA,EAAAM,CAAA,MAAAC,CAAA,CAAAD,CAAA,IAAAN,CAAA,CAAAM,CAAA,aAAAC,CAAA;AAAA,SAAAmB,8BAAAvB,CAAA,EAAAH,CAAA,gBAAAG,CAAA,iBAAAF,CAAA,gBAAAG,CAAA,IAAAD,CAAA,SAAAW,cAAA,CAAAC,IAAA,CAAAZ,CAAA,EAAAC,CAAA,gBAAAJ,CAAA,CAAA4B,OAAA,CAAAxB,CAAA,aAAAH,CAAA,CAAAG,CAAA,IAAAD,CAAA,CAAAC,CAAA,YAAAH,CAAA;AAAA,SAAA6B,QAAA9B,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAe,IAAA,CAAA/B,CAAA,OAAAgB,MAAA,CAAAW,qBAAA,QAAArB,CAAA,GAAAU,MAAA,CAAAW,qBAAA,CAAA3B,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAA0B,MAAA,WAAA7B,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAA8B,UAAA,OAAAhC,CAAA,CAAAiC,IAAA,CAAAV,KAAA,CAAAvB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAkC,cAAAnC,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmB,SAAA,CAAAC,MAAA,EAAApB,CAAA,UAAAF,CAAA,WAAAqB,SAAA,CAAAnB,CAAA,IAAAmB,SAAA,CAAAnB,CAAA,QAAAA,CAAA,OAAA2B,OAAA,CAAAd,MAAA,CAAAf,CAAA,OAAAmC,OAAA,WAAAjC,CAAA,IAAAkC,eAAA,CAAArC,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAsB,yBAAA,GAAAtB,MAAA,CAAAuB,gBAAA,CAAAvC,CAAA,EAAAgB,MAAA,CAAAsB,yBAAA,CAAArC,CAAA,KAAA6B,OAAA,CAAAd,MAAA,CAAAf,CAAA,GAAAmC,OAAA,WAAAjC,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAAA,SAAAqC,gBAAArC,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAqC,cAAA,CAAArC,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAAsC,KAAA,EAAAxC,CAAA,EAAAgC,UAAA,MAAAS,YAAA,MAAAC,QAAA,UAAA3C,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAwC,eAAAvC,CAAA,QAAAM,CAAA,GAAAqC,YAAA,CAAA3C,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAqC,aAAA3C,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAA4C,MAAA,CAAAC,WAAA,kBAAA9C,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAwC,SAAA,yEAAA5C,CAAA,GAAA6C,MAAA,GAAAC,MAAA,EAAAhD,CAAA;AAE3D,MAAMiD,OAAO,GAAG,IAAIC,oBAAO,CAAC;EAAEC,OAAO,EAAEC,yBAAY;EAAEC,KAAK,EAAEC;AAAmB,CAAC,CAAC;AAEjF,MAAMC,GAAG,GAAGA,CAACC,UAAU,EAAEC,MAAM,QAAAC,MAAA,CAC1BC,0BAAgB,OAAAD,MAAA,CAAI,IAAAE,mBAAU,EAC/BC,IAAI,CAACC,SAAS,CAAA5B,aAAA,CAAAA,aAAA,KACTsB,UAAU;EACbC,MAAM,EAAE1C,MAAM,CAACgD,OAAO,CAACN,MAAM,CAAC,CAC3B1B,MAAM,CAACiC,IAAA;IAAA,IAAC,GAAGxB,KAAK,CAAC,GAAAwB,IAAA;IAAA,OAAKxB,KAAK,CAACyB,KAAK,KAAKC,eAAK,CAACC,IAAI;EAAA,EAAC,CACjDC,GAAG,CAACC,KAAA;IAAA,IAAC,CAACd,GAAG,CAAC,GAAAc,KAAA;IAAA,OAAKd,GAAG;EAAA;AAAC,EACvB,CACH,CAAC,CAAE;AAEL,MAAMe,IAAI,GAAGC,KAAA,IAMP;EAAA,IAAAC,eAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,cAAA;EAAA,IANQ;MACZC,QAAQ;MACRpB,UAAU,EAAE;QAAEqB,QAAQ;QAAEC,YAAY,EAAE;UAAEC;QAAU,CAAC,GAAG,CAAC,CAAC;QAAEC,IAAI,EAAEvB,MAAM,GAAG,CAAC,CAAC;QAAEwB,QAAQ,GAAG,CAAC;MAAiB,CAAC,GAAG,CAAC,CAAC;MAChHC,UAAU,GAAG,KAAK;MAClBC,OAAO,GAAGA,CAAA,KAAM,CAAC;IAEnB,CAAC,GAAAZ,KAAA;IAJgGf,UAAU,GAAAhC,wBAAA,CAAA+C,KAAA,CAAzGf,UAAU,EAAA3D,SAAA;IAGPuF,MAAM,GAAA5D,wBAAA,CAAA+C,KAAA,EAAAzE,UAAA;EAET,MAAM;IAAEuF;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAE5E,GAAG;IAAE4B,KAAK,EAAE;MAAEiD,IAAI;MAAEC,QAAQ;MAAEC,OAAO,EAAE;QAAEC;MAAO,CAAC,GAAG,CAAC,CAAC;MAAEC;IAAQ,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAE7F,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC9C,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC,CAAC,CAAC;EACpD,MAAM,CAACjB,IAAI,EAAEoB,OAAO,CAAC,GAAG,IAAAH,eAAQ,EAC9BhD,OAAO,CAACtC,GAAG,CAAC4C,GAAG,CAACC,UAAU,EAAEC,MAAM,CAAC,CAAC,IAClC1C,MAAM,CAACsF,WAAW,CAACtF,MAAM,CAACgD,OAAO,CAACN,MAAM,CAAC,CAACW,GAAG,CAACkC,KAAA;IAAA,IAAC,CAAC/C,GAAG,EAAE;MAAEf;IAAM,CAAC,CAAC,GAAA8D,KAAA;IAAA,OAAK,CAAC/C,GAAG,EAAEf,KAAK,CAAC;EAAA,EAAC,CACrF,CAAC;EACD,MAAM,CAAC+D,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAP,eAAQ,EAAC,CAAC;EAChD,MAAM,CAACQ,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EAEzC,IAAAU,gBAAS,EAAC,MAAM;IACdP,OAAO,CAAAlE,aAAA,CAAAA,aAAA,KAAM8C,IAAI,GAAK,IAAA4B,wBAAc,EAAC;MAAEnD,MAAM;MAAEjB,KAAK,EAAEqD;IAAQ,CAAC,CAAC,CAAE,CAAC;IACnE;EACF,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAAgB,sBAAe,EAAC,MAAM;IACpB,IAAI9F,MAAM,CAACe,IAAI,CAACkD,IAAI,CAAC,CAAC1D,MAAM,EAAE2B,OAAO,CAACrC,GAAG,CAAC2C,GAAG,CAACC,UAAU,EAAEC,MAAM,CAAC,EAAEuB,IAAI,CAAC;IACxEpE,GAAG,CAAC;MAAEkG,QAAQ,EAAE9B;IAAK,CAAC,CAAC;IACvB;EACF,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAA2B,gBAAS,EAAC,MAAM;IACdxB,OAAO,CAAAjD,aAAA,CAAAA,aAAA,KAAM6D,SAAS,GAAKG,YAAY,CAAE,CAAC;IAC1C;EACF,CAAC,EAAE,CAACH,SAAS,EAAEG,YAAY,CAAC,CAAC;EAE7B,MAAMa,YAAY,GAAG,MAAOvE,KAAK,IAAK;IACpC,MAAMwE,IAAI,GAAA9E,aAAA,CAAAA,aAAA,KAAQ8C,IAAI,GAAKxC,KAAK,CAAE;IAElC,IAAI,CAAC,CAACiB,MAAM,CAACwD,OAAO,IAAID,IAAI,CAACC,OAAO,IAAI,CAACD,IAAI,CAACE,KAAK,EAAE;MACnD,MAAM;QAAEC;MAAK,CAAC,GAAG,MAAMC,wBAAc,CAACC,IAAI,CAAC,IAAAC,uBAAc,EAACN,IAAI,CAACC,OAAO,EAAElC,SAAS,CAAC,CAAC;MACnF,IAAIoC,IAAI,EAAEH,IAAI,CAACE,KAAK,GAAGC,IAAI;IAC7B;IAEA,MAAMI,UAAU,GAAGC,SAAS,CAACR,IAAI,CAAC;IAClC,MAAMS,YAAY,GAChBF,UAAU,CAACjG,MAAM,GAAGkG,SAAS,CAACxC,IAAI,CAAC,CAAC1D,MAAM,GACtCP,MAAM,CAACsF,WAAW,CAACtF,MAAM,CAACgD,OAAO,CAACiD,IAAI,CAAC,CAACjF,MAAM,CAAC2F,KAAA;MAAA,IAAC,CAACnE,GAAG,CAAC,GAAAmE,KAAA;MAAA,OAAK3G,MAAM,CAACsF,WAAW,CAACkB,UAAU,CAAC,CAAChE,GAAG,CAAC,KAAKoE,SAAS;IAAA,EAAC,CAAC,GAC7GA,SAAS;IAEfvB,OAAO,CAACqB,YAAY,IAAIT,IAAI,CAAC;EAC/B,CAAC;EAED,MAAMY,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAM;MAAEC,KAAK;MAAEC,SAAS;MAAEC,QAAQ;MAAEb;IAAM,CAAC,GAAGnB,SAAS;IAEvD,IAAI,CAACQ,WAAW,IAAI,CAACsB,KAAK,IAAI,CAACC,SAAS,IAAI,CAACC,QAAQ,IAAI,CAACb,KAAK,EAAE;MAC/Dc,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,aAAa,EAAE;QAAEC,KAAK,EAAEF,cAAK,CAACC,aAAa;QAAEE,QAAQ,EAAE;UAAEpD;QAAS;MAAE,CAAC,CAAC;MAC1FuB,cAAc,CAAC,IAAI,CAAC;IACtB;EACF,CAAC;EAED,MAAM8B,eAAe,GAAIC,MAAM,IAAK;IAClCvC,YAAY,CAACuC,MAAM,CAAC;EACtB,CAAC;EAED,MAAMf,SAAS,GAAIhF,KAAK,IACtBzB,MAAM,CAACgD,OAAO,CAACN,MAAM,CAAC,CACnB1B,MAAM,CAACyG,KAAA;IAAA,IAAC,CAACjF,GAAG,CAAC,GAAAiF,KAAA;IAAA,OAAK,CAAC,CAAC/E,MAAM,CAACF,GAAG,CAAC;EAAA,EAAC,CAChCxB,MAAM,CAAC0G,KAAA;IAAA,IAAC,GAAG;MAAEC;IAAQ,CAAC,CAAC,GAAAD,KAAA;IAAA,OAAK,CAACC,OAAO,IAAIA,OAAO,CAAClG,KAAK,CAAC;EAAA,EAAC;EAE5D,MAAM;IAAEmD;EAAQ,CAAC,GAAGnC,UAAU,IAAI,CAAC,CAAC;EACpC,MAAM;IAAEmF;EAAO,CAAC,GAAGvD,MAAM;EACzB,MAAMwD,SAAS,GAAA1G,aAAA,CAAAA,aAAA,KACVkD,MAAM;IACTyD,YAAY,EAAE,KAAK;IACnB3D,UAAU;IACV4D,eAAe,EAAE,IAAI;IACrBC,QAAQ,EAAEhC,YAAY;IACtB5B,OAAO,EAAEmD,eAAe;IACxBU,OAAO,EAAEpB,WAAW;IACpBqB,SAAS,EAAE,IAAAC,UAAM,EAACvJ,KAAK,CAACqF,IAAI,EAAErF,KAAK,CAACwJ,GAAG;EAAC,EACzC;EAED,oBACE9J,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAA/J,MAAA,CAAAoB,OAAA,CAAA4I,QAAA,qBACEhK,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAAoF,IAAQ,EAAApD,QAAA,KAAK0H,SAAS;IAAED,MAAM,KAAAjF,MAAA,CAAKiF,MAAM;EAAY,iBACpDtJ,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAAoK,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAEnE,SAAU;IAACoE,IAAI;EAAA,GACjClE,SAAS,CAACmE,eAAI,CAACC,sBAAsB,CAClC,CAAC,EAENnC,SAAS,CAACxC,IAAI,CAAC,CACbjD,MAAM,CAAC6H,KAAA;IAAA,IAAC,GAAGC,KAAK,CAAC,GAAAD,KAAA;IAAA,OAAKC,KAAK,CAACC,QAAQ;EAAA,EAAC,CACrC1F,GAAG,CAAC2F,KAAA;IAAA,IAAC,CAACxG,GAAG,EAAEsG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAAE,KAAA;IAAA,oBACrBC,cAAK,CAACZ,aAAa,CACjBa,eAAK,CAACJ,KAAK,CAAC5F,KAAK,CAAC,IAAIiG,aAAS,EAC/B,IAAAC,uBAAa,EACX5G,GAAG,EACHsG,KAAK,EAAA3H,aAAA;MACHM,KAAK,EAAEwC,IAAI,CAACzB,GAAG,CAAC;MAAE6G,KAAK,EAAErE,SAAS,CAACxC,GAAG,CAAC;MAAEmC,QAAQ;MAAEG,OAAO;MAAEN;IAAS,GAAK/B,UAAU,GACtFiC,IAAI,EACJ,MAAMiB,QAAQ,CAAC,IAAI,CACrB,CACF,CAAC;EAAA,CACH,CACM,CAAC,EAEV9B,QAAQ,EAERe,OAAO,iBACNtG,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAC7J,SAAA,CAAA8K,OAAO,EAAAnJ,QAAA,KAAAgB,aAAA,CAAAA,aAAA,KAEDyD,OAAO;IACV2E,MAAM,EAAApI,aAAA,CAAAA,aAAA,KAAOyD,OAAO,CAAC2E,MAAM;MAAEC,SAAS,GAAA/F,eAAA,GAAEmB,OAAO,CAAC2E,MAAM,cAAA9F,eAAA,wBAAAC,qBAAA,GAAdD,eAAA,CAAgB+F,SAAS,cAAA9F,qBAAA,uBAAzBA,qBAAA,CAA4BmB,MAAM;IAAC,EAAE;IAC7EyB,IAAI,EAAAnF,aAAA,CAAAA,aAAA,KAAOyD,OAAO,CAAC0B,IAAI;MAAEmD,IAAI,EAAE,CAAA9F,aAAA,GAAAiB,OAAO,CAAC0B,IAAI,cAAA3C,aAAA,eAAZA,aAAA,CAAc8F,IAAI,GAAG,IAAAC,iBAAS,GAAA9F,cAAA,GAACgB,OAAO,CAAC0B,IAAI,cAAA1C,cAAA,uBAAZA,cAAA,CAAc6F,IAAI,CAAC,GAAG7C;IAAS,EAAE;IAC/FzC;EAAU;IAEZL,QAAQ,EAAEA,QAAS;IACnB6F,YAAY,EAAEnF,SAAS,CAACmE,eAAI,CAACiB,cAAc,CAAE;IAC7CxF,OAAO,EAAEgB;EAAgB,EAC1B,CACF,eAED9G,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAAoF,IAAQ,EAAApD,QAAA,KAAK0H,SAAS;IAAED,MAAM,KAAAjF,MAAA,CAAKiF,MAAM;EAAc,iBACtDtJ,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAAoK,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAEnE,SAAU;IAACoE,IAAI;EAAA,GACjClE,SAAS,CAACmE,eAAI,CAACkB,qBAAqB,CACjC,CAAC,EACNpD,SAAS,CAACxC,IAAI,CAAC,CACbjD,MAAM,CAAC8I,KAAA;IAAA,IAAC,GAAGhB,KAAK,CAAC,GAAAgB,KAAA;IAAA,OAAK,CAAChB,KAAK,CAACC,QAAQ;EAAA,EAAC,CACtC1F,GAAG,CAAC0G,KAAA;IAAA,IAAC,CAACvH,GAAG,EAAEsG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAAiB,KAAA;IAAA,oBACrBd,cAAK,CAACZ,aAAa,CACjBa,eAAK,CAACJ,KAAK,CAAC5F,KAAK,CAAC,IAAIiG,aAAS,EAC/B,IAAAC,uBAAa,EACX5G,GAAG,EACHsG,KAAK,EAAA3H,aAAA;MACHM,KAAK,EAAEwC,IAAI,CAACzB,GAAG,CAAC;MAAE6G,KAAK,EAAErE,SAAS,CAACxC,GAAG,CAAC;MAAEmC,QAAQ;MAAEG,OAAO;MAAEN;IAAS,GAAK/B,UAAU,GACtFiC,IAAI,EACJ,MAAMiB,QAAQ,CAAC,IAAI,CACrB,CACF,CAAC;EAAA,CACH,CACM,CAAC,eAEXrH,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAA6L,KAAK;IACJC,GAAG;IACHC,KAAK,EAAE1F,SAAS,CAACmE,eAAI,CAACwB,gBAAgB,CAAE;IACxCxC,OAAO,EAAEjC,KAAM;IACf0E,OAAO,EAAEA,CAAA,KAAMzE,QAAQ,CAAC,KAAK,CAAE;IAC/BuC,SAAS,EAAEtJ,KAAK,CAAC8G;EAAM,gBAEvBpH,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAClK,GAAA,CAAAkM,UAAU;IAACC,IAAI,EAAE,KAAM;IAACC,QAAQ;IAACrC,SAAS,EAAEtJ,KAAK,CAAC4L;EAAW,gBAC5DlM,MAAA,CAAAoB,OAAA,CAAA2I,aAAA,CAAC7J,SAAA,CAAAiM,YAAY;IAAChI,UAAU,EAAEA,UAAW;IAACiI,KAAK;IAACxC,SAAS,EAAEtJ,KAAK,CAACyF;EAAO,CAAE,CAC5D,CACP,CACP,CAAC;AAEP,CAAC;AAACsG,OAAA,CAAApH,IAAA,GAAAA,IAAA;AAEFA,IAAI,CAACqH,WAAW,GAAG,0BAA0B;AAE7CrH,IAAI,CAACsH,SAAS,GAAG;EACfhH,QAAQ,EAAEiH,kBAAS,CAACC,IAAI;EACxBtI,UAAU,EAAEqI,kBAAS,CAACE,KAAK,CAAC;IAC1B/G,IAAI,EAAE6G,kBAAS,CAACE,KAAK,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC;EACF7G,UAAU,EAAE2G,kBAAS,CAACG,IAAI;EAC1BC,OAAO,EAAEJ,kBAAS,CAACK,MAAM;EACzB/G,OAAO,EAAE0G,kBAAS,CAACM;AACrB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Checkout.Form.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_excluded","_excluded2","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","storage","Storage","adapter","LocalAdapter","cache","FORM_STORAGE_CACHE","key","dataSource","schema","concat","FORM_STORAGE_KEY","generateId","JSON","stringify","entries","_ref","input","INPUT","HTML","map","_ref2","Form","_ref3","_payment$config","_payment$config$publi","_payment$info","_payment$info2","children","currency","repositories","countries","form","tracking","showErrors","onError","others","isDesktop","useDevice","translate","useLocale","club","language","payment","storePayment","session","useStore","formReady","useRef","errorForm","setErrorForm","useState","errorPayment","setErrorPayment","setForm","fromEntries","_ref4","formTracked","setFormTracked","modal","setModal","useEffect","getSchemaProps","useLayoutEffect","checkout","current","hasRequiredValues","getFields","_ref5","field","required","_ref6","every","undefined","hasErrors","Event","publish","EVENT","METRICS","id","METRICS_EVENTS","CHECKOUT_INTERACTION","action","handleChange","next","country","phone","code","ServiceCountry","info","getCountryCode","nextFields","nextFiltered","_ref7","handleLeave","email","firstName","lastName","CHECKOUT_FORM","event","response","handleFormError","errors","_ref8","_ref9","visible","testId","formProps","autoComplete","validateOnMount","onChange","onLeave","className","styles","box","createElement","Fragment","Text","bold","headline","wide","L10N","LABEL_PERSONAL_DETAILS","_ref0","_ref1","React","FIELD","InputText","getFieldProps","error","Payment","config","publicKey","method","date","parseDate","requiredText","LABEL_REQUIRED","LABEL_ADDITIONAL_INFO","_ref10","_ref11","Modal","fit","title","LABEL_CONDITIONS","onClose","ScrollView","snap","vertical","scrollview","BookingTerms","small","exports","displayName","propTypes","PropTypes","node","shape","bool","variant","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Form.jsx"],"sourcesContent":["import { Event, LocalAdapter, Storage, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceCountry } from '@mirai/services';\nimport { InputText, Form as FormBase, Modal, ScrollView, styles, Text, useDevice } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { BookingTerms, Payment } from '../../__shared__';\nimport { EVENT, generateId, getCountryCode, METRICS_EVENTS } from '../../helpers';\nimport { FIELD, FORM_STORAGE_CACHE, FORM_STORAGE_KEY, INPUT } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getFieldProps, getSchemaProps } from '../helpers';\n\nconst storage = new Storage({ adapter: LocalAdapter, cache: FORM_STORAGE_CACHE });\n\nconst key = (dataSource, schema) =>\n `${FORM_STORAGE_KEY}:${generateId(\n JSON.stringify({\n ...dataSource,\n schema: Object.entries(schema)\n .filter(([, value]) => value.input !== INPUT.HTML)\n .map(([key]) => key),\n }),\n )}`;\n\nconst Form = ({\n children,\n dataSource: { currency, repositories: { countries } = {}, form: schema = {}, tracking = {}, ...dataSource } = {},\n showErrors = false,\n onError = () => {},\n ...others\n}) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { set, value: { club, language, payment: storePayment, session } = {} } = useStore();\n\n const formReady = useRef(false);\n\n const [errorForm, setErrorForm] = useState({});\n const [errorPayment, setErrorPayment] = useState({});\n const [form, setForm] = useState(\n storage.get(key(dataSource, schema)) ||\n Object.fromEntries(Object.entries(schema).map(([key, { value }]) => [key, value])),\n );\n const [formTracked, setFormTracked] = useState();\n const [modal, setModal] = useState(false);\n\n useEffect(() => {\n setForm({ ...form, ...getSchemaProps({ schema, value: session }) });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n useLayoutEffect(() => {\n if (Object.keys(form).length) storage.set(key(dataSource, schema), form);\n set({ checkout: form });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError({ ...errorForm, ...errorPayment });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment]);\n\n useEffect(() => {\n if (formReady.current) return;\n const hasRequiredValues = getFields(form)\n .filter(([, field]) => field.required)\n .map(([key]) => key)\n .every((key) => form[key] !== undefined && form[key] !== '');\n const hasErrors = Object.keys(errorForm).length > 0 || Object.keys(errorPayment).length > 0;\n\n if (!hasErrors && hasRequiredValues && Object.keys(storePayment || {}).length > 0) {\n Event.publish(EVENT.METRICS, { id: METRICS_EVENTS.CHECKOUT_INTERACTION, action: 'form_ready' });\n formReady.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errorForm, errorPayment, storePayment]);\n\n const handleChange = async (value) => {\n const next = { ...form, ...value };\n\n if (!!schema.country && next.country && !next.phone) {\n const { code } = await ServiceCountry.info(getCountryCode(next.country, countries));\n if (code) next.phone = code;\n }\n\n const nextFields = getFields(next);\n const nextFiltered =\n nextFields.length < getFields(form).length\n ? Object.fromEntries(Object.entries(next).filter(([key]) => Object.fromEntries(nextFields)[key] !== undefined))\n : undefined;\n\n setForm(nextFiltered || next);\n };\n\n const handleLeave = () => {\n const { email, firstName, lastName, phone } = errorForm;\n\n if (!formTracked && !email && !firstName && !lastName && !phone) {\n Event.publish(EVENT.CHECKOUT_FORM, { event: EVENT.CHECKOUT_FORM, response: { tracking } });\n setFormTracked(true);\n }\n };\n\n const handleFormError = (errors) => {\n setErrorForm(errors);\n };\n\n const getFields = (value) =>\n Object.entries(schema)\n .filter(([key]) => !!schema[key])\n .filter(([, { visible }]) => !visible || visible(value));\n\n const { payment } = dataSource || {};\n const { testId } = others;\n const formProps = {\n ...others,\n autoComplete: 'off',\n showErrors,\n validateOnMount: true,\n onChange: handleChange,\n onError: handleFormError,\n onLeave: handleLeave,\n className: styles(style.form, style.box),\n };\n\n return (\n <>\n <FormBase {...formProps} testId={`${testId}-required`}>\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_PERSONAL_DETAILS)}\n </Text>\n\n {getFields(form)\n .filter(([, field]) => field.required)\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], language, session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n {children}\n\n {payment && (\n <Payment\n {...{\n ...payment,\n config: { ...payment.config, publicKey: payment.config?.publicKey?.[storePayment.method] },\n info: { ...payment.info, date: payment.info?.date ? parseDate(payment.info?.date) : undefined },\n showErrors,\n }}\n currency={currency}\n requiredText={translate(L10N.LABEL_REQUIRED)}\n onError={setErrorPayment}\n />\n )}\n\n <FormBase {...formProps} testId={`${testId}-adittional`}>\n <Text bold headline={isDesktop} wide>\n {translate(L10N.LABEL_ADDITIONAL_INFO)}\n </Text>\n {getFields(form)\n .filter(([, field]) => !field.required)\n .map(([key, field = {}]) =>\n React.createElement(\n FIELD[field.input] || InputText,\n getFieldProps(\n key,\n field,\n { value: form[key], error: errorForm[key], language, session, translate, ...dataSource },\n club,\n () => setModal(true),\n ),\n ),\n )}\n </FormBase>\n\n <Modal\n fit\n title={translate(L10N.LABEL_CONDITIONS)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <ScrollView snap={false} vertical className={style.scrollview}>\n <BookingTerms dataSource={dataSource} small className={style.others} />\n </ScrollView>\n </Modal>\n </>\n );\n};\n\nForm.displayName = 'Mirai:Core:Checkout:Form';\n\nForm.propTypes = {\n children: PropTypes.node,\n dataSource: PropTypes.shape({\n form: PropTypes.shape({}),\n }),\n showErrors: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n};\n\nexport { Form };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ var _helpers = require("./helpers");
|
|
|
14
14
|
var _Rates = require("./Rates.constants");
|
|
15
15
|
var _Rates2 = require("./Rates.l10n");
|
|
16
16
|
var style = _interopRequireWildcard(require("./Rates.module.css"));
|
|
17
|
+
var _getSearchProps = require("../../helpers/getSearchProps");
|
|
17
18
|
var _shared__ = require("../__shared__");
|
|
18
19
|
var _helpers2 = require("../helpers");
|
|
19
20
|
const _excluded = ["price", "taxes"];
|
|
@@ -60,6 +61,12 @@ const Unavailability = _ref => {
|
|
|
60
61
|
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
61
62
|
calendar
|
|
62
63
|
});
|
|
64
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, _objectSpread({
|
|
65
|
+
id: _helpers2.METRICS_EVENTS.RATES_NO_AVAILABILITY,
|
|
66
|
+
error_type: (calendarSuggestions === null || calendarSuggestions === void 0 ? void 0 : calendarSuggestions.length) > 0 ? 'calendar' : (occupationSuggestions === null || occupationSuggestions === void 0 ? void 0 : occupationSuggestions.length) > 0 ? 'occupation' : description
|
|
67
|
+
}, (0, _getSearchProps.getSearchProps)({
|
|
68
|
+
store
|
|
69
|
+
})));
|
|
63
70
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
64
71
|
}, []);
|
|
65
72
|
const {
|
|
@@ -71,15 +78,22 @@ const Unavailability = _ref => {
|
|
|
71
78
|
} = {}
|
|
72
79
|
} = store;
|
|
73
80
|
const cardImageHeight = (0, _helpers.getCardImageHeight)();
|
|
74
|
-
const handleCalendar = (from, to) => {
|
|
81
|
+
const handleCalendar = (from, to, position) => {
|
|
75
82
|
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
76
83
|
finder: _objectSpread(_objectSpread({}, finder), {}, {
|
|
77
84
|
calendar: [from, to]
|
|
78
85
|
})
|
|
79
86
|
});
|
|
87
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
88
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
89
|
+
action: 'no_availability_action',
|
|
90
|
+
suggestion_type: 'alternative_dates',
|
|
91
|
+
suggestion_position: position
|
|
92
|
+
});
|
|
80
93
|
};
|
|
81
94
|
const handleOccupation = function () {
|
|
82
95
|
let rooms = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
96
|
+
let position = arguments.length > 1 ? arguments[1] : undefined;
|
|
83
97
|
_dataSources.Event.publish(_helpers2.EVENT.FINDER, {
|
|
84
98
|
finder: _objectSpread(_objectSpread({}, finder), {}, {
|
|
85
99
|
occupation: rooms.map(function () {
|
|
@@ -90,6 +104,12 @@ const Unavailability = _ref => {
|
|
|
90
104
|
})
|
|
91
105
|
})
|
|
92
106
|
});
|
|
107
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
108
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
109
|
+
action: 'no_availability_action',
|
|
110
|
+
suggestion_type: 'alternative_occupancy',
|
|
111
|
+
suggestion_position: position
|
|
112
|
+
});
|
|
93
113
|
};
|
|
94
114
|
const handleFinder = () => {
|
|
95
115
|
_dataSources.Event.publish(_helpers2.EVENT.FINDER, occupationSuggestions ? {
|
|
@@ -98,6 +118,11 @@ const Unavailability = _ref => {
|
|
|
98
118
|
calendar,
|
|
99
119
|
focus: 'calendar'
|
|
100
120
|
});
|
|
121
|
+
_dataSources.Event.publish(_helpers2.EVENT.METRICS, {
|
|
122
|
+
id: _helpers2.METRICS_EVENTS.RATES_INTERACTION,
|
|
123
|
+
action: 'no_availability_action',
|
|
124
|
+
suggestion_type: 'refine_search'
|
|
125
|
+
});
|
|
101
126
|
};
|
|
102
127
|
const renderPrice = function () {
|
|
103
128
|
let {
|
|
@@ -209,7 +234,7 @@ const Unavailability = _ref => {
|
|
|
209
234
|
}, "".concat((0, _locale.dateDiff)(from, to).days, " ").concat(translate(_Rates2.L10N.LABEL_NIGHTS)))), renderPrice({
|
|
210
235
|
price,
|
|
211
236
|
taxes,
|
|
212
|
-
onPress: () => handleCalendar(from, to)
|
|
237
|
+
onPress: () => handleCalendar(from, to, index + 1)
|
|
213
238
|
})));
|
|
214
239
|
})), (occupationSuggestions === null || occupationSuggestions === void 0 ? void 0 : occupationSuggestions.length) > 0 && /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, occupationSuggestions.map((_ref3, index) => {
|
|
215
240
|
let {
|
|
@@ -259,7 +284,7 @@ const Unavailability = _ref => {
|
|
|
259
284
|
})), renderPrice({
|
|
260
285
|
price,
|
|
261
286
|
taxes,
|
|
262
|
-
onPress: () => handleOccupation(rooms)
|
|
287
|
+
onPress: () => handleOccupation(rooms, index + 1)
|
|
263
288
|
})));
|
|
264
289
|
})), hasSuggestions && hotels.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
265
290
|
row: !isMobile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_shared__","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","store","useStore","useEffect","Event","publish","EVENT","FINDER","currency","finder","accommodationType","hotelAccommodationType","variants","cardImageHeight","getCardImageHeight","handleCalendar","from","to","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","action","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","target","underline","place","id","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","_ref2","taxes","others","index","parseDate","Card","key","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref3","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getCardImageHeight, getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, getAccommodationLabel, getOccupationLabel, ICON, OCCUPATION_TYPE } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n const cardImageHeight = getCardImageHeight();\n\n const handleCalendar = (from, to) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n };\n\n const handleOccupation = (rooms = []) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action href={`mailto:${email}`} target=\"_blank\" underline className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action href={`tel:${phone}`} target=\"_blank\" underline className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>—</Text>\n <Text bold headline>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action>{`${dateDiff(from, to).days} ${translate(L10N.LABEL_NIGHTS)}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n cardImageHeight={cardImageHeight}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Rates.Unavailability.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_components","_helpers","_Rates","_Rates2","style","_getSearchProps","_shared__","_helpers2","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","keys","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","Unavailability","_ref","calendar","hotel","email","phone","hotels","nights","priceFactor","suggestions","calendarSuggestions","description","occupation","occupationSuggestions","taxesType","onMapView","isMobile","width","useDevice","locale","translate","useLocale","store","useStore","useEffect","Event","publish","EVENT","FINDER","METRICS","id","METRICS_EVENTS","RATES_NO_AVAILABILITY","error_type","getSearchProps","currency","finder","accommodationType","hotelAccommodationType","variants","cardImageHeight","getCardImageHeight","handleCalendar","from","to","position","RATES_INTERACTION","action","suggestion_type","suggestion_position","handleOccupation","rooms","undefined","map","handleFinder","focus","renderPrice","price","propPrice","onPress","createElement","View","row","className","Text","small","L10N","LABEL_FROM","bold","headline","level","currencyFormat","maximumFractionDigits","minimumFractionDigits","light","getLabelTaxes","Button","ACTION_VIEW_MORE","renderContactInfo","contactInfo","LABEL_CONTACT_INFO","Action","href","concat","target","underline","place","hasSuggestions","unavailability","banner","Icon","accent","ICON","PERSON_OFF","CALENDAR_BUSY","icon","wide","texts","title","LABEL_NO_AVAILABILITY_OCCUPATION","LABEL_NO_AVAILABILITY_CALENDAR","button","ACTION_REFINE_SEARCH","LABEL_AVAILABLE_ALTERNATIVES","Cards","_ref2","taxes","others","index","parseDate","Card","key","card","dateFormat","DATE_FORMAT","anchorDates","dateDiff","days","LABEL_NIGHTS","_ref3","capitalize","getAccommodationLabel","plural","type","distribution","name","roomIndex","room","_item$ages","item","itemIndex","getOccupationLabel","ages","OCCUPATION_TYPE","CHILD","LABEL_YEARS_OLD","amount","sort","join","spaceBetween","LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS","secondary","ACTION_SHOW_ON_MAP","CardHotel","exports","displayName","propTypes","PropTypes","shape","string","arrayOf","number","func"],"sources":["../../../src/components/Rates/Rates.Unavailability.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, dateDiff, dateFormat, parseDate, useLocale } from '@mirai/locale';\nimport { Action, Button, Icon, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { CardHotel } from './components';\nimport { getCardImageHeight, getLabelTaxes } from './helpers';\nimport { DATE_FORMAT } from './Rates.constants';\nimport { L10N } from './Rates.l10n';\nimport * as style from './Rates.module.css';\nimport { getSearchProps } from '../../helpers/getSearchProps';\nimport { Card, Cards } from '../__shared__';\nimport { EVENT, getAccommodationLabel, getOccupationLabel, ICON, METRICS_EVENTS, OCCUPATION_TYPE } from '../helpers';\n\nconst Unavailability = ({\n calendar = {},\n hotel: { email, phone } = {},\n hotels = [],\n nights = 1,\n priceFactor,\n suggestions: { calendar: calendarSuggestions, description, occupation: occupationSuggestions } = {},\n taxesType,\n onMapView,\n}) => {\n const { isMobile, width } = useDevice();\n const { locale, translate } = useLocale();\n const { value: store } = useStore();\n\n useEffect(() => {\n Event.publish(EVENT.FINDER, { calendar });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_NO_AVAILABILITY,\n error_type:\n calendarSuggestions?.length > 0 ? 'calendar' : occupationSuggestions?.length > 0 ? 'occupation' : description,\n ...getSearchProps({ store }),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const { currency, finder = {}, hotel: { accommodationType: hotelAccommodationType, variants = {} } = {} } = store;\n const cardImageHeight = getCardImageHeight();\n\n const handleCalendar = (from, to, position) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, calendar: [from, to] } });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'no_availability_action',\n suggestion_type: 'alternative_dates',\n suggestion_position: position,\n });\n };\n\n const handleOccupation = (rooms = [], position) => {\n Event.publish(EVENT.FINDER, { finder: { ...finder, occupation: rooms.map(({ occupation } = {}) => occupation) } });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'no_availability_action',\n suggestion_type: 'alternative_occupancy',\n suggestion_position: position,\n });\n };\n\n const handleFinder = () => {\n Event.publish(EVENT.FINDER, occupationSuggestions ? { focus: 'occupation' } : { calendar, focus: 'calendar' });\n Event.publish(EVENT.METRICS, {\n id: METRICS_EVENTS.RATES_INTERACTION,\n action: 'no_availability_action',\n suggestion_type: 'refine_search',\n });\n };\n\n const renderPrice = ({ price: propPrice, onPress } = {}) => {\n const price = propPrice / priceFactor;\n\n return (\n <View row className={style.price}>\n <View>\n <Text small>{translate(L10N.LABEL_FROM)}</Text>\n <Text bold headline level={price >= 10000 ? 3 : 2}>\n {currencyFormat({ currency, locale, maximumFractionDigits: 0, minimumFractionDigits: 0, value: price })}\n </Text>\n {!!taxesType && (\n <Text light small>\n {translate(getLabelTaxes(taxesType))}\n </Text>\n )}\n </View>\n\n <Button onPress={onPress}>{translate(L10N.ACTION_VIEW_MORE)}</Button>\n </View>\n );\n };\n\n const renderContactInfo = () => (\n <Text action className={style.contactInfo}>\n {translate(L10N.LABEL_CONTACT_INFO, {\n email: (\n <Action href={`mailto:${email}`} target=\"_blank\" underline className={style.action}>\n {email}\n </Action>\n ),\n phone: (\n <Action href={`tel:${phone}`} target=\"_blank\" underline className={style.action}>\n {phone}\n </Action>\n ),\n })}\n </Text>\n );\n\n const { place: { id: [id] = [] } = {} } = finder;\n const { accommodationType = hotelAccommodationType } = variants[id] || {};\n\n const hasSuggestions = calendarSuggestions?.length > 0 || occupationSuggestions?.length > 0;\n\n return (\n <View className={style.unavailability}>\n <View row={!isMobile} className={style.banner}>\n <Icon accent value={occupationSuggestions ? ICON.PERSON_OFF : ICON.CALENDAR_BUSY} className={style.icon} />\n <View wide className={style.texts}>\n <Text accent bold headline className={style.title}>\n {occupationSuggestions\n ? translate(L10N.LABEL_NO_AVAILABILITY_OCCUPATION)\n : description || translate(L10N.LABEL_NO_AVAILABILITY_CALENDAR)}\n </Text>\n {!isMobile && email && phone && renderContactInfo()}\n </View>\n <Button onPress={handleFinder} className={style.button}>\n {translate(L10N.ACTION_REFINE_SEARCH)}\n </Button>\n {isMobile && renderContactInfo()}\n </View>\n\n {hasSuggestions && (\n <Text bold headline>\n {translate(L10N.LABEL_AVAILABLE_ALTERNATIVES)}\n </Text>\n )}\n\n {calendarSuggestions?.length > 0 && (\n <Cards>\n {calendarSuggestions.map(({ price = 0, taxes, ...others } = {}, index) => {\n const from = parseDate(others?.from);\n const to = parseDate(others?.to);\n\n return (\n <Card key={`calendar:${index}`}>\n <View className={style.card}>\n <View>\n <View row>\n <Text bold headline>\n {dateFormat(from, { locale, ...DATE_FORMAT })}\n </Text>\n <Text className={style.anchorDates}>—</Text>\n <Text bold headline>\n {dateFormat(to || focus, { locale, ...DATE_FORMAT })}\n </Text>\n </View>\n <Text action>{`${dateDiff(from, to).days} ${translate(L10N.LABEL_NIGHTS)}`}</Text>\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleCalendar(from, to, index + 1) })}\n </View>\n </Card>\n );\n })}\n </Cards>\n )}\n\n {occupationSuggestions?.length > 0 && (\n <Cards>\n {occupationSuggestions.map(({ rooms = [], price = 0, taxes }, index) => (\n <Card key={`rooms:${index}`}>\n <View className={style.card}>\n <Text bold capitalize headline>\n {`${rooms.length} ${getAccommodationLabel(\n { plural: rooms.length > 1, type: accommodationType },\n translate,\n )}`}\n </Text>\n\n <View className={style.distribution}>\n {rooms.map(({ name, occupation = [] } = {}, roomIndex) => (\n <View key={`occupation:${index}:room:${roomIndex}`} className={style.room}>\n <Text action capitalize>\n {name}\n </Text>\n {occupation.map((item = {}, itemIndex) => (\n <Text key={`occupation:${index}:room:${roomIndex}:${itemIndex}`} light small>\n {`${getOccupationLabel({ ...item, ages: [] }, translate)} ${\n item.type === OCCUPATION_TYPE.CHILD\n ? `(${translate(L10N.LABEL_YEARS_OLD, { amount: item.ages?.sort().join('-') })})`\n : ''\n }`}\n </Text>\n ))}\n </View>\n ))}\n </View>\n\n {renderPrice({ price, taxes, onPress: () => handleOccupation(rooms, index + 1) })}\n </View>\n </Card>\n ))}\n </Cards>\n )}\n\n {hasSuggestions && hotels.length > 0 && (\n <View row={!isMobile} className={style.spaceBetween}>\n <Text bold headline>\n {translate(L10N.LABEL_ALTERNATIVE_HOTEL_SUGGESTIONS, { value: hotels.length })}\n </Text>\n {hotels.length > 1 && (\n <Button secondary wide={isMobile} onPress={() => onMapView(hotels)}>\n {translate(L10N.ACTION_SHOW_ON_MAP)}\n </Button>\n )}\n </View>\n )}\n <Cards>\n {hotels.map((item, index) => (\n <CardHotel\n key={`${item.index || index}:${width}`}\n {...item}\n cardImageHeight={cardImageHeight}\n nights={nights}\n priceFactor={priceFactor}\n unavailability\n />\n ))}\n </Cards>\n </View>\n );\n};\n\nUnavailability.displayName = 'Mirai:Core:Rates:Unavailability';\n\nUnavailability.propTypes = {\n calendar: PropTypes.shape({}),\n hotel: PropTypes.shape({\n email: PropTypes.string,\n phone: PropTypes.string,\n }),\n hotels: PropTypes.arrayOf(PropTypes.shape({})),\n nights: PropTypes.number,\n priceFactor: PropTypes.number,\n suggestions: PropTypes.shape({\n calendar: PropTypes.arrayOf(PropTypes.shape({})),\n occupation: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n taxesType: PropTypes.number,\n onMapView: PropTypes.func,\n};\n\nexport { Unavailability };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,7 +41,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
41
41
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
42
42
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
43
43
|
const Rates = _ref => {
|
|
44
|
-
var
|
|
44
|
+
var _dataSource$hotels, _responseError$tracki, _responseError$tracki2, _responseError$tracki3, _dataSource$items;
|
|
45
45
|
let {
|
|
46
46
|
testId
|
|
47
47
|
} = _ref,
|
|
@@ -69,6 +69,7 @@ const Rates = _ref => {
|
|
|
69
69
|
forwarder,
|
|
70
70
|
hotel = {},
|
|
71
71
|
id,
|
|
72
|
+
language,
|
|
72
73
|
locale,
|
|
73
74
|
session,
|
|
74
75
|
skeleton = false,
|
|
@@ -80,6 +81,7 @@ const Rates = _ref => {
|
|
|
80
81
|
translate
|
|
81
82
|
} = (0, _locale.useLocale)();
|
|
82
83
|
const refItems = (0, _react.useRef)({});
|
|
84
|
+
const ratesMetricsSent = (0, _react.useRef)(false);
|
|
83
85
|
const [busy, setBusy] = (0, _react.useState)(false);
|
|
84
86
|
const [cancellationInfo, setCancellationInfo] = (0, _react.useState)();
|
|
85
87
|
const [extras, setExtras] = (0, _react.useState)();
|
|
@@ -113,15 +115,26 @@ const Rates = _ref => {
|
|
|
113
115
|
setStrictSearch
|
|
114
116
|
} = actions;
|
|
115
117
|
(0, _react.useEffect)(() => {
|
|
116
|
-
if (skeleton) return;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
if (skeleton || responseError || !dataSource || ratesMetricsSent.current) return;
|
|
119
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, _objectSpread(_objectSpread({
|
|
120
|
+
id: _helpers3.METRICS_EVENTS.RATES_READY,
|
|
121
|
+
multiRoom,
|
|
122
|
+
variant
|
|
123
|
+
}, (0, _helpers2.getSearchProps)({
|
|
124
|
+
store: {
|
|
125
|
+
finder,
|
|
126
|
+
currency,
|
|
127
|
+
language,
|
|
128
|
+
locale,
|
|
129
|
+
urlParams
|
|
130
|
+
},
|
|
131
|
+
dataSource
|
|
132
|
+
})), {}, {
|
|
133
|
+
is_refundable: refundable
|
|
134
|
+
}));
|
|
135
|
+
ratesMetricsSent.current = true;
|
|
123
136
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
124
|
-
}, []);
|
|
137
|
+
}, [dataSource]);
|
|
125
138
|
(0, _react.useEffect)(() => {
|
|
126
139
|
if (!filterBoard) return;
|
|
127
140
|
setMetaBoard(filterBoard);
|
|
@@ -175,6 +188,17 @@ const Rates = _ref => {
|
|
|
175
188
|
cart: nextCart
|
|
176
189
|
}, dataSource)
|
|
177
190
|
});
|
|
191
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
192
|
+
id: _helpers3.METRICS_EVENTS.RATES_INTERACTION,
|
|
193
|
+
action: 'room_selected',
|
|
194
|
+
result_position: itemsFiltered.findIndex(function () {
|
|
195
|
+
let {
|
|
196
|
+
id
|
|
197
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
198
|
+
return id === board.roomId;
|
|
199
|
+
}) + 1,
|
|
200
|
+
loyalty_discount_active: !!session || clubDiscount
|
|
201
|
+
});
|
|
178
202
|
}
|
|
179
203
|
setCart(nextCart);
|
|
180
204
|
setExtras();
|
|
@@ -229,9 +253,14 @@ const Rates = _ref => {
|
|
|
229
253
|
};
|
|
230
254
|
const handleCheckout = function () {
|
|
231
255
|
let cart = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
232
|
-
let
|
|
256
|
+
let selectedExtras = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
233
257
|
let variant = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'A';
|
|
234
258
|
setBusy(true);
|
|
259
|
+
_dataSources.Event.publish(_helpers3.EVENT.METRICS, {
|
|
260
|
+
id: _helpers3.METRICS_EVENTS.RATES_INTERACTION,
|
|
261
|
+
action: 'rates_submit',
|
|
262
|
+
has_extras: (extras === null || extras === void 0 ? void 0 : extras.length) > 0
|
|
263
|
+
});
|
|
235
264
|
setTimeout(() => {
|
|
236
265
|
setBusy(false);
|
|
237
266
|
document.location.href = (0, _helpers.getForwarderUrl)({
|
|
@@ -239,9 +268,10 @@ const Rates = _ref => {
|
|
|
239
268
|
clubDiscount,
|
|
240
269
|
currency,
|
|
241
270
|
dataSource,
|
|
242
|
-
extras,
|
|
271
|
+
extras: selectedExtras,
|
|
243
272
|
forwarder,
|
|
244
273
|
meta: !!urlParams.rates,
|
|
274
|
+
refundable,
|
|
245
275
|
session,
|
|
246
276
|
urlParams: _objectSpread(_objectSpread({}, (0, _helpers2.fetchUrlParams)(location.search)), {}, {
|
|
247
277
|
device
|
|
@@ -304,6 +334,10 @@ const Rates = _ref => {
|
|
|
304
334
|
} = _ref2;
|
|
305
335
|
return boards.length === 1 && cancellations.length === 1 && rates.length === 1;
|
|
306
336
|
});
|
|
337
|
+
const itemsFiltered = (0, _helpers.select)(dataSource === null || dataSource === void 0 ? void 0 : dataSource.items, filters, {
|
|
338
|
+
priceFactor
|
|
339
|
+
});
|
|
340
|
+
const refundable = (0, _helpers2.getRefundableFromItems)(dataSource === null || dataSource === void 0 ? void 0 : dataSource.items);
|
|
307
341
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Header.Header, {
|
|
308
342
|
currency: true,
|
|
309
343
|
login: !!club,
|
|
@@ -351,9 +385,7 @@ const Rates = _ref => {
|
|
|
351
385
|
onSelect: handleSelect
|
|
352
386
|
}, !isMobile ? /*#__PURE__*/_react.default.createElement(_Rates6.RoomSelector, _extends({}, roomSelectorProps, {
|
|
353
387
|
testId: testId ? "".concat(testId, "-multiroom") : undefined
|
|
354
|
-
})) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null,
|
|
355
|
-
priceFactor
|
|
356
|
-
})) === null || _select === void 0 ? void 0 : _select.map((_ref3, index) => {
|
|
388
|
+
})) : undefined), response ? /*#__PURE__*/_react.default.createElement(_shared__.Cards, null, itemsFiltered === null || itemsFiltered === void 0 ? void 0 : itemsFiltered.map((_ref3, index) => {
|
|
357
389
|
let {
|
|
358
390
|
id
|
|
359
391
|
} = _ref3,
|
|
@@ -365,6 +397,7 @@ const Rates = _ref => {
|
|
|
365
397
|
filters,
|
|
366
398
|
metaBoard,
|
|
367
399
|
id,
|
|
400
|
+
resultPosition: index + 1,
|
|
368
401
|
multiRoom,
|
|
369
402
|
nights,
|
|
370
403
|
priceFactor,
|