@mirai/core 0.3.256 → 0.3.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/build/components/Booking/Booking.constants.js +2 -1
  2. package/build/components/Booking/Booking.constants.js.map +1 -1
  3. package/build/components/Booking/Booking.js +9 -9
  4. package/build/components/Booking/Booking.js.map +1 -1
  5. package/build/components/Booking/Booking.l10n.js +11 -5
  6. package/build/components/Booking/Booking.l10n.js.map +1 -1
  7. package/build/components/Booking/Booking.module.css +56 -61
  8. package/build/components/Booking/components/Field/Field.js +2 -2
  9. package/build/components/Booking/components/Field/Field.js.map +1 -1
  10. package/build/components/Booking/components/Field/Field.module.css +12 -12
  11. package/build/components/Booking/partials/Booking.Details.js +32 -18
  12. package/build/components/Booking/partials/Booking.Details.js.map +1 -1
  13. package/build/components/Booking/partials/Booking.Information.js +137 -0
  14. package/build/components/Booking/partials/Booking.Information.js.map +1 -0
  15. package/build/components/Booking/partials/Booking.PriceBreakdown.js +1 -1
  16. package/build/components/Booking/partials/Booking.PriceBreakdown.js.map +1 -1
  17. package/build/components/Booking/partials/Booking.Summary.js +61 -188
  18. package/build/components/Booking/partials/Booking.Summary.js.map +1 -1
  19. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Details.test.js.snap +567 -3431
  20. package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Summary.test.js.snap +508 -856
  21. package/build/components/Booking/partials/index.js +15 -4
  22. package/build/components/Booking/partials/index.js.map +1 -1
  23. package/build/components/Checkout/Checkout.constants.js +2 -1
  24. package/build/components/Checkout/Checkout.constants.js.map +1 -1
  25. package/build/components/Checkout/Checkout.js +8 -17
  26. package/build/components/Checkout/Checkout.js.map +1 -1
  27. package/build/components/Checkout/Checkout.module.css +54 -50
  28. package/build/components/Checkout/partials/Checkout.Confirmation.js +9 -35
  29. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  30. package/build/components/Checkout/partials/Checkout.Details.js +34 -41
  31. package/build/components/Checkout/partials/Checkout.Details.js.map +1 -1
  32. package/build/components/Checkout/partials/Checkout.Summary.js +42 -57
  33. package/build/components/Checkout/partials/Checkout.Summary.js.map +1 -1
  34. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Confirmation.test.js.snap +176 -252
  35. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Details.test.js.snap +20 -375
  36. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Summary.test.js.snap +116 -168
  37. package/build/components/__shared__/BookingTable/BookingTable.Row.js +1 -0
  38. package/build/components/__shared__/BookingTable/BookingTable.Row.js.map +1 -1
  39. package/build/components/__shared__/BookingTable/BookingTable.js +2 -2
  40. package/build/components/__shared__/BookingTable/BookingTable.js.map +1 -1
  41. package/build/components/__shared__/BookingTable/BookingTable.module.css +0 -12
  42. package/build/components/__shared__/BookingTable/__tests__/__snapshots__/BookingTable.test.js.snap +3 -3
  43. package/build/components/__shared__/BookingTerms/BookingTerms.js +1 -1
  44. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -1
  45. package/build/components/__shared__/BookingTerms/BookingTerms.module.css +5 -5
  46. package/build/components/__shared__/ButtonMore/ButtonMore.js +3 -5
  47. package/build/components/__shared__/ButtonMore/ButtonMore.js.map +1 -1
  48. package/build/components/__shared__/ButtonMore/ButtonMore.module.css +0 -5
  49. package/build/components/__shared__/ButtonMore/__tests__/__snapshots__/ButtonMore.test.js.snap +6 -6
  50. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.Line.js +1 -5
  51. package/build/components/__shared__/PriceBreakdown/PriceBreakdown.Line.js.map +1 -1
  52. package/build/helpers/theme.js +1 -1
  53. package/build/helpers/theme.js.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Core","_shared__","_helpers","_Checkout2","_Checkout3","style","_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","hasTracking","Confirmation","_ref","dataSource","error","variant","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","busy","setBusy","useState","modal","setModal","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","price","prepayment","currency","method","handleError","handleModal","concat","TRACKING","handlePress","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","className","cta","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","React","ScrollView","snap","width","scrollview","Summary","View","section","Notification","Text","lighten","footer","NOTIFICATION_SSL_ENCRYPTION","row","confirmation","Button","ACTION_BOOK_NOW","Modal","title","LABEL_BOOKING_SUMMARY","visible","onClose","exports","displayName","propTypes","PropTypes","shape","bool","string","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Button, Modal, Notification, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, variant, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [modal, setModal] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, modal, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handleModal = () => {\n hasTracking && track(`${TRACKING}:ACTION:MORE_INFO`, { locale, variant });\n setModal(true);\n };\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale, variant });\n\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n if (variant === 'B')\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n hasTracking &&\n track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale, variant });\n });\n\n if (!isDesktop && response) setModal(false);\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale, variant });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n className={variant !== 'B' && style.cta}\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n {React.createElement(\n isMobile ? ScrollView : React.Fragment,\n { ...(isMobile ? { snap: false, width: '100%', className: style.scrollview } : undefined) },\n <Summary dataSource={dataSource} />,\n )}\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text lighten small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </View>\n </>\n );\n\n return (\n <View {...others} row={isMobile} className={style.confirmation}>\n {isDesktop ? (\n content()\n ) : variant === 'B' ? (\n CTA()\n ) : (\n <Button busy={busy} large wide onPress={error ? onError : handleModal}>\n {translate(L10N.ACTION_BOOK_NOW)}\n </Button>\n )}\n\n {!isDesktop && (\n <Modal\n title={translate(L10N.LABEL_BOOKING_SUMMARY)}\n visible={modal}\n onClose={() => setModal(false)}\n className={style.modal}\n >\n <View className={style.payment}>{content()}</View>\n </Modal>\n )}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n variant: PropTypes.string,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\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,KAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,KAAA,GAAAP,uBAAA,CAAAP,OAAA;AAAgD,SAAAe,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,SAAAT,wBAAAS,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,SAAAnB,uBAAA+B,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;AAEhD,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,YAAY,GAAGC,IAAA,IAA8E;EAAA,IAA7E;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,KAAK,GAAG,KAAK;IAAEC,OAAO;IAAEC,OAAO;IAAEC,OAAO;IAAE,GAAGC;EAAO,CAAC,GAAAN,IAAA;EAC5F,MAAM;IAAEO,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK,GAAG,CAAC,CAAC;MAAEC,EAAE;MAAEC,QAAQ;MAAEC,MAAM;MAAEC,OAAO;MAAEC,OAAO,GAAG,CAAC,CAAC;MAAEC,SAAS,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GACzG,IAAAC,qBAAQ,EAAC,CAAC;EAEZ,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACzC,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EAEpD,IAAAK,gBAAS,EAAC,MAAM;IACdjC,WAAW,GAAGkC,yBAAe,CAACzD,GAAG,CAAC0D,oCAAyB,EAAEhB,EAAE,CAAC;IAChE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAc,gBAAS,EAAC,MAAMD,gBAAgB,CAAC,CAAC,EAAE,CAACf,QAAQ,EAAEY,KAAK,EAAEP,OAAO,CAAC,CAAC;EAE/D,MAAM;IAAEc,KAAK,EAAE;MAAEC,UAAU,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGlC,UAAU;EACtD,MAAM;IAAEmC,QAAQ;IAAEtB;EAAM,CAAC,GAAGqB,UAAU,CAACf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB,MAAM,CAAC,IAAI,CAAC,CAAC;EAE7D,MAAMC,WAAW,GAAGA,CAAA,KAAMb,OAAO,CAAC,KAAK,CAAC;EAExC,MAAMc,WAAW,GAAGA,CAAA,KAAM;IACxBzC,WAAW,IAAIc,KAAK,IAAA4B,MAAA,CAAIC,mBAAQ,wBAAqB;MAAEtB,MAAM;MAAEhB;IAAQ,CAAC,CAAC;IACzEyB,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,MAAMc,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIxC,KAAK,EAAE;MACTE,OAAO,CAAC,CAAC;MACT,OAAO,KAAK;IACd;IAEAqB,OAAO,CAAC,IAAI,CAAC;EACf,CAAC;EAED,MAAMkB,YAAY,GAAG,MAAO7B,KAAK,IAAK;IACpC,IAAIZ,KAAK,EAAE,OAAOE,OAAO,CAAC,CAAC;IAE3BC,OAAO,CAAC,CAAC;IACTP,WAAW,IAAIc,KAAK,IAAA4B,MAAA,CAAIC,mBAAQ,WAAQ;MAAEtB,MAAM;MAAEhB;IAAQ,CAAC,CAAC;IAE5D2B,gBAAgB,CAAC,CAAC;IAClB,MAAMc,QAAQ,GAAG,MAAMC,wBAAc,CAACC,OAAO,CAAC;MAC5CC,IAAI,EAAEhC,QAAQ;MACdd,UAAU;MACViB,QAAQ;MACRE,OAAO,EAAE;QAAE,GAAGA,OAAO;QAAE,GAAGN;MAAM,CAAC;MACjCO,OAAO,EAAEC,SAAS,CAAC0B,iBAAiB,KAAK,MAAM,GAAG3B,OAAO,GAAG4B,SAAS;MACrE,GAAG3B;IACL,CAAC,CAAC,CAAC4B,KAAK,CAAEhD,KAAK,IAAK;MAClBuB,OAAO,CAAC,KAAK,CAAC;MACdK,gBAAgB,CAAC5B,KAAK,CAAC;MACvB,IAAIC,OAAO,KAAK,GAAG,EACjBgD,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,YAAY,EAAE;QAChCpD,KAAK,EAAE,IAAI;QACXqD,KAAK,EAAE,IAAI;QACXC,cAAc,EAAE9C,SAAS,CAAC+C,eAAI,CAACC,kBAAkB,CAAC,CAAAxD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEyD,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC;MACjF,CAAC,CAAC;MACJ/D,WAAW,IACTc,KAAK,IAAA4B,MAAA,CAAIC,mBAAQ,qBAAkB;QAAEqB,OAAO,EAAE,SAAS;QAAEzB,MAAM,EAAE,SAAS;QAAEnC,KAAK;QAAEiB,MAAM;QAAEhB;MAAQ,CAAC,CAAC;IACzG,CAAC,CAAC;IAEF,IAAI,CAACI,SAAS,IAAIqC,QAAQ,EAAEhB,QAAQ,CAAC,KAAK,CAAC;IAC3C,IAAIgB,QAAQ,IAAI9C,WAAW,EAAEc,KAAK,IAAA4B,MAAA,CAAIC,mBAAQ,eAAY;MAAEtB,MAAM;MAAEhB;IAAQ,CAAC,CAAC;IAE9E,OAAOyC,QAAQ;EACjB,CAAC;EAED,MAAMmB,GAAG,GAAGA,CAAA,KAAM;IAAA,IAAAC,iBAAA,EAAAC,mBAAA;IAChB,MAAM;MAAE7C,OAAO,EAAE;QAAE8C,MAAM,GAAG,CAAC;MAAE,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGjE,UAAU;IACpD,MAAM;MAAEkE,eAAe,EAAElD;IAAG,CAAC,GAAGK,SAAS;IAEzC,oBACEhE,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAC1G,SAAA,CAAA2G,aAAa,EAAAhF,QAAA,KACHY,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmB,OAAO;MAAE8C,MAAM,EAAE;QAAE,GAAGA,MAAM;QAAEI,SAAS,GAAAN,iBAAA,GAAEE,MAAM,CAACI,SAAS,cAAAN,iBAAA,uBAAhBA,iBAAA,CAAmB5C,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB,MAAM;MAAE,CAAC;MACnGb,IAAI,EAAEA,IAAK;MACXR,KAAK,EAAE;QAAE,GAAGA,KAAK;QAAEC;MAAG,CAAE;MACxBsD,KAAK;MACLC,OAAO,EAAE7B,YAAa;MACtB8B,IAAI;MACJrE,OAAO,EAAEkC,WAAY;MACrBoC,OAAO,EAAEhC,WAAY;MACrBiC,SAAS,EAAExE,OAAO,KAAK,GAAG,IAAIrC,KAAK,CAAC8G;IAAI,IAEvClE,SAAS,CAAC,IAAAmE,4BAAmB,EAAC;MAAE,GAAGX,MAAM;MAAE,IAAGjE,UAAU,aAAVA,UAAU,wBAAAgE,mBAAA,GAAVhE,UAAU,CAAEmB,OAAO,cAAA6C,mBAAA,uBAAnBA,mBAAA,CAAqBa,IAAI;MAAEzC,MAAM,EAAEjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEiB;IAAO,CAAC,CAAC,EAAE;MACpG0C,MAAM,EAAE,IAAAC,sBAAc,EAAC;QAAE5C,QAAQ;QAAEjB,MAAM;QAAEL;MAAM,CAAC;IACpD,CAAC,CACY,CAAC;EAEpB,CAAC;EAED,MAAMmE,OAAO,GAAGA,CAAA,kBACd3H,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAA9G,MAAA,CAAAe,OAAA,CAAA6G,QAAA,qBACGC,cAAK,CAACf,aAAa,CAClB5D,QAAQ,GAAG4E,cAAU,GAAGD,cAAK,CAACD,QAAQ,EACtC;IAAE,IAAI1E,QAAQ,GAAG;MAAE6E,IAAI,EAAE,KAAK;MAAEC,KAAK,EAAE,MAAM;MAAEX,SAAS,EAAE7G,KAAK,CAACyH;IAAW,CAAC,GAAGtC,SAAS;EAAE,CAAC,eAC3F3F,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAAC5G,SAAA,CAAAgI,OAAO;IAACvF,UAAU,EAAEA;EAAW,CAAE,CACpC,CAAC,eAED3C,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAsI,IAAI;IAACd,SAAS,EAAE7G,KAAK,CAAC4H;EAAQ,GAC5B7D,aAAa,iBACZvE,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAwI,YAAY;IAACzF,KAAK;IAACqD,KAAK;IAACkB,IAAI;EAAA,GAC3B/D,SAAS,CAAC+C,eAAI,CAACC,kBAAkB,CAAC,CAAA7B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE8B,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CACf,EAEAE,GAAG,CAAC,CAAC,EAEL,CAACvD,QAAQ,iBACRlD,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAyI,IAAI;IAACC,OAAO;IAACtC,KAAK;IAACkB,IAAI;IAACE,SAAS,EAAE7G,KAAK,CAACgI;EAAO,GAC9CpF,SAAS,CAAC+C,eAAI,CAACsC,2BAA2B,CACvC,CAEJ,CACN,CACH;EAED,oBACEzI,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAsI,IAAI,EAAApG,QAAA,KAAKiB,MAAM;IAAE0F,GAAG,EAAExF,QAAS;IAACmE,SAAS,EAAE7G,KAAK,CAACmI;EAAa,IAC5D1F,SAAS,GACR0E,OAAO,CAAC,CAAC,GACP9E,OAAO,KAAK,GAAG,GACjB4D,GAAG,CAAC,CAAC,gBAELzG,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAA+I,MAAM;IAAC1E,IAAI,EAAEA,IAAK;IAAC+C,KAAK;IAACE,IAAI;IAACC,OAAO,EAAExE,KAAK,GAAGE,OAAO,GAAGmC;EAAY,GACnE7B,SAAS,CAAC+C,eAAI,CAAC0C,eAAe,CACzB,CACT,EAEA,CAAC5F,SAAS,iBACTjD,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAiJ,KAAK;IACJC,KAAK,EAAE3F,SAAS,CAAC+C,eAAI,CAAC6C,qBAAqB,CAAE;IAC7CC,OAAO,EAAE5E,KAAM;IACf6E,OAAO,EAAEA,CAAA,KAAM5E,QAAQ,CAAC,KAAK,CAAE;IAC/B+C,SAAS,EAAE7G,KAAK,CAAC6D;EAAM,gBAEvBrE,MAAA,CAAAe,OAAA,CAAA+F,aAAA,CAACjH,GAAA,CAAAsI,IAAI;IAACd,SAAS,EAAE7G,KAAK,CAACsD;EAAQ,GAAE6D,OAAO,CAAC,CAAQ,CAC5C,CAEL,CAAC;AAEX,CAAC;AAACwB,OAAA,CAAA1G,YAAA,GAAAA,YAAA;AAEFA,YAAY,CAAC2G,WAAW,GAAG,kCAAkC;AAE7D3G,YAAY,CAAC4G,SAAS,GAAG;EACvB1G,UAAU,EAAE2G,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/B3G,KAAK,EAAE0G,kBAAS,CAACE,IAAI;EACrB3G,OAAO,EAAEyG,kBAAS,CAACG,MAAM;EACzB3G,OAAO,EAAEwG,kBAAS,CAACI,IAAI;EACvB3G,OAAO,EAAEuG,kBAAS,CAACI;AACrB,CAAC"}
1
+ {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Core","_shared__","_helpers","_Checkout2","_Checkout3","style","_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","hasTracking","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","checkout","hotel","id","language","locale","payment","session","urlParams","useStore","busy","setBusy","useState","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","price","prepayment","currency","method","handleError","handlePress","handleSubmit","concat","TRACKING","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","React","ScrollView","snap","width","className","scrollview","Summary","View","section","Notification","Text","lighten","footer","NOTIFICATION_SSL_ENCRYPTION","_row","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } from '@mirai/services';\nimport { Notification, ScrollView, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\n\nlet hasTracking = false;\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const { value: { checkout, hotel = {}, id, language, locale, payment, session = {}, urlParams = {} } = {} } =\n useStore();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => setResponseError(), [checkout, payment]);\n\n const { price: { prepayment = {} } = {} } = dataSource;\n const { currency, value } = prepayment[payment?.method] || {};\n\n const handleError = () => setBusy(false);\n\n const handlePress = () => {\n if (error) {\n onError();\n return false;\n }\n\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n\n onValid();\n hasTracking && track(`${TRACKING}:CTA`, { locale });\n\n setResponseError();\n const response = await ServiceBooking.confirm({\n form: checkout,\n dataSource,\n language,\n payment: { ...payment, ...value },\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setBusy(false);\n setResponseError(error);\n\n Event.publish(EVENT.NOTIFICATION, {\n error: true,\n small: true,\n defaultMessage: translate(L10N.NOTIFICATION_ERROR[error?.code || ERROR.UNKNOWN]),\n });\n\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'confirm', error, locale });\n });\n\n if (response && hasTracking) track(`${TRACKING}:SUCCESS`, { locale });\n\n return response;\n };\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n\n return (\n <ButtonPayment\n {...{ ...dataSource?.payment, config: { ...config, publicKey: config.publicKey?.[payment?.method] } }}\n busy={busy}\n hotel={{ ...hotel, id }}\n large\n promise={handleSubmit}\n wide\n onError={handleError}\n onPress={handlePress}\n // className={style.cta}\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n );\n };\n\n const content = () => (\n <>\n {React.createElement(\n isMobile ? ScrollView : React.Fragment,\n { ...(isMobile ? { snap: false, width: '100%', className: style.scrollview } : undefined) },\n <Summary dataSource={dataSource} />,\n )}\n\n <View className={style.section}>\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text lighten small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </View>\n </>\n );\n\n return (\n <View {...others} _row={isMobile} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
@@ -10,11 +10,10 @@ var _services = require("@mirai/services");
10
10
  var _ui = require("@mirai/ui");
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
- var _Checkout = require("./Checkout.Summary");
14
13
  var _shared__ = require("../../__shared__");
15
14
  var _helpers = require("../../helpers");
16
- var _Checkout2 = require("../Checkout.constants");
17
- var _Checkout3 = require("../Checkout.l10n");
15
+ var _Checkout = require("../Checkout.constants");
16
+ var _Checkout2 = require("../Checkout.l10n");
18
17
  var style = _interopRequireWildcard(require("../Checkout.module.css"));
19
18
  var _helpers2 = require("../helpers");
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -25,7 +24,6 @@ let hasTracking = false;
25
24
  const Details = _ref => {
26
25
  let {
27
26
  dataSource = {},
28
- variant,
29
27
  ...others
30
28
  } = _ref;
31
29
  const {
@@ -56,13 +54,20 @@ const Details = _ref => {
56
54
  } = (0, _dataSources.useStore)();
57
55
  const [expanded, setExpanded] = (0, _react.useState)(false);
58
56
  (0, _react.useEffect)(() => {
59
- hasTracking = _services.ServiceFeatures.get(_Checkout2.FEATURE_CHECKOUT_TRACKING, id);
57
+ hasTracking = _services.ServiceFeatures.get(_Checkout.FEATURE_CHECKOUT_TRACKING, id);
58
+ const {
59
+ details: [{
60
+ items = []
61
+ } = {}] = [],
62
+ extras = []
63
+ } = dataSource;
64
+ setExpanded(!isDesktop || items.length <= _Checkout.MAX_VISIBLE_DETAILS && extras.length === 0);
65
+
60
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
61
67
  }, []);
62
68
  const handlePress = () => {
63
- hasTracking && track("".concat(_Checkout2.TRACKING, ":ACTION:DETAILS_EXPAND"), {
64
- locale,
65
- variant
69
+ hasTracking && track("".concat(_Checkout.TRACKING, ":ACTION:DETAILS_EXPAND"), {
70
+ locale
66
71
  });
67
72
  setExpanded(true);
68
73
  };
@@ -71,21 +76,17 @@ const Details = _ref => {
71
76
  details = [],
72
77
  extras = []
73
78
  } = dataSource;
74
- const roomNumber = (0, _helpers2.getRoomNumber)(roomNumberBySelectedRoom);
75
79
  const propsTable = {
76
80
  currency,
77
- expanded: true
81
+ tracking: _Checkout.TRACKING
78
82
  };
83
+ const roomNumber = (0, _helpers2.getRoomNumber)(roomNumberBySelectedRoom);
79
84
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
80
- className: (0, _ui.styles)(style.box, style.details, expanded && style.expanded, others.className)
85
+ className: (0, _ui.styles)(style.details, isDesktop && style.box, others.className)
81
86
  }), /*#__PURE__*/_react.default.createElement(_ui.Text, {
82
87
  bold: true,
83
88
  headline: isDesktop
84
- }, translate(_Checkout3.L10N.LABEL_BOOKING_DETAILS)), variant === 'A' && /*#__PURE__*/_react.default.createElement(_Checkout.Summary, {
85
- dataSource: dataSource,
86
- expanded: false,
87
- variant: variant
88
- }), details.map(function () {
89
+ }, translate(_Checkout2.L10N.LABEL_BOOKING_DETAILS)), details.slice(0, expanded ? undefined : 1).map(function () {
89
90
  var _variants$find;
90
91
  let {
91
92
  amount,
@@ -107,7 +108,7 @@ const Details = _ref => {
107
108
  wide: true
108
109
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
109
110
  row: true,
110
- className: (0, _ui.styles)(style.box, style.item)
111
+ className: style.item
111
112
  }, /*#__PURE__*/_react.default.createElement(_ui.View, {
112
113
  className: style.image,
113
114
  style: {
@@ -117,23 +118,20 @@ const Details = _ref => {
117
118
  row: true,
118
119
  className: style.inline
119
120
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
120
- bold: true,
121
- small: true,
122
- upperCase: true,
123
- className: style.field
124
- }, "".concat(type).concat(roomNumber ? " (".concat(translate(_Checkout3.L10N.LABEL_ROOM_NUMBER, {
121
+ action: isMobile,
122
+ bold: true
123
+ }, "".concat(type).concat(roomNumber ? " (".concat(translate(_Checkout2.L10N.LABEL_ROOM_NUMBER, {
125
124
  roomNumber
126
125
  }), ")") : '', " ").concat(amount > 1 ? " (x".concat(amount, ")") : '')), roomNumber && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
127
126
  pressable: true,
128
- text: translate(_Checkout3.L10N.LABEL_SUBJECT_TO_AVAILABILITY)
127
+ text: translate(_Checkout2.L10N.LABEL_SUBJECT_TO_AVAILABILITY)
129
128
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
130
129
  value: _ui.ICON.INFO
131
130
  }))), /*#__PURE__*/_react.default.createElement(_ui.Text, {
132
- action: isMobile,
133
- bold: true
131
+ action: true
134
132
  }, rate.replace("".concat(type, ":"), '').trim()), /*#__PURE__*/_react.default.createElement(_ui.Text, {
135
- small: isMobile,
136
- action: !isMobile
133
+ lighten: true,
134
+ small: true
137
135
  }, (0, _helpers.getRoomOccupationLabel)({
138
136
  adults,
139
137
  babies,
@@ -146,32 +144,27 @@ const Details = _ref => {
146
144
  })) === null || _variants$find === void 0 ? void 0 : _variants$find.occupation) || occupation,
147
145
  translate
148
146
  })))), /*#__PURE__*/_react.default.createElement(_shared__.BookingTable, _extends({}, propsTable, {
149
- dataSource: items,
150
- tracking: _Checkout2.TRACKING
151
- })), /*#__PURE__*/_react.default.createElement(_shared__.BookingTable, _extends({}, propsTable, {
147
+ dataSource: items.slice(0, expanded ? undefined : _Checkout.MAX_VISIBLE_DETAILS)
148
+ })), expanded && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_shared__.BookingTable, _extends({}, propsTable, {
152
149
  dataSource: extras,
153
- label: translate(_Checkout3.L10N.LABEL_EXTRAS),
154
- tracking: _Checkout2.TRACKING
150
+ label: translate(_Checkout2.L10N.LABEL_EXTRAS)
155
151
  })), observations.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
156
152
  bold: true,
157
153
  small: true
158
- }, translate(_Checkout3.L10N.LABEL_OBSERVATIONS)), observations.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
154
+ }, translate(_Checkout2.L10N.LABEL_OBSERVATIONS)), observations.map((item, index) => /*#__PURE__*/_react.default.createElement(_ui.Text, {
159
155
  key: index,
160
156
  small: true
161
- }, item))));
162
- }), /*#__PURE__*/_react.default.createElement(_shared__.BookingTable, _extends({}, propsTable, {
157
+ }, item)))));
158
+ }), expanded && /*#__PURE__*/_react.default.createElement(_shared__.BookingTable, _extends({}, propsTable, {
163
159
  dataSource: extras,
164
- label: translate(_Checkout3.L10N.LABEL_BOOKING_EXTRAS),
165
- tracking: _Checkout2.TRACKING
166
- })), !expanded && /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
160
+ label: translate(_Checkout2.L10N.LABEL_BOOKING_EXTRAS)
161
+ })), isDesktop && !expanded && /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
167
162
  onPress: handlePress,
168
163
  className: style.buttonMore
169
164
  }));
170
165
  };
171
166
  exports.Details = Details;
172
- Details.displayName = 'Mirai:Core:Checkout:Details';
173
167
  Details.propTypes = {
174
- dataSource: _propTypes.default.shape({}),
175
- variant: _propTypes.default.string
168
+ dataSource: _propTypes.default.shape({})
176
169
  };
177
170
  //# sourceMappingURL=Checkout.Details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Details.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_shared__","_helpers","_Checkout2","_Checkout3","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Details","_ref","dataSource","variant","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","config","accomodation","occupation","variants","id","locale","urlParams","idHotel","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","handlePress","concat","TRACKING","currency","details","extras","roomNumber","getRoomNumber","propsTable","createElement","View","className","styles","box","Text","bold","headline","L10N","LABEL_BOOKING_DETAILS","Summary","map","_variants$find","amount","image","items","observations","adults","babies","children","rate","type","undefined","wide","row","item","backgroundImage","inline","small","upperCase","field","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","action","replace","trim","getRoomOccupationLabel","find","_ref2","Number","BookingTable","tracking","label","LABEL_EXTRAS","LABEL_OBSERVATIONS","index","LABEL_BOOKING_EXTRAS","ButtonMore","onPress","buttonMore","exports","displayName","propTypes","PropTypes","shape","string"],"sources":["../../../../src/components/Checkout/partials/Checkout.Details.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { BookingTable, ButtonMore } from '../../__shared__';\nimport { getRoomOccupationLabel } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getRoomNumber } from '../helpers';\n\nlet hasTracking = false;\n\nconst Details = ({ dataSource = {}, variant, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n id,\n locale,\n urlParams: { idHotel, roomNumberBySelectedRoom } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = () => {\n hasTracking && track(`${TRACKING}:ACTION:DETAILS_EXPAND`, { locale, variant });\n setExpanded(true);\n };\n\n const { currency, details = [], extras = [] } = dataSource;\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n const propsTable = { currency, expanded: true };\n\n return (\n <View {...others} className={styles(style.box, style.details, expanded && style.expanded, others.className)}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_DETAILS)}\n </Text>\n\n {variant === 'A' && <Summary dataSource={dataSource} expanded={false} variant={variant} />}\n\n {details.map(\n (\n {\n amount,\n extras = [],\n image,\n items = [],\n observations = [],\n occupation: { adults, babies, children } = {},\n rate,\n type,\n } = {},\n key,\n ) => (\n <View key={key} wide>\n <View row className={styles(style.box, style.item)}>\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n <View>\n <View row className={style.inline}>\n <Text bold small upperCase className={style.field}>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n <Text action={isMobile} bold>\n {rate.replace(`${type}:`, '').trim()}\n </Text>\n <Text small={isMobile} action={!isMobile}>\n {getRoomOccupationLabel({\n adults,\n babies,\n children,\n dataSource: variants.find(({ id }) => id === Number(idHotel))?.occupation || occupation,\n translate,\n })}\n </Text>\n </View>\n </View>\n\n <BookingTable {...propsTable} dataSource={items} tracking={TRACKING} />\n\n <BookingTable\n {...propsTable}\n dataSource={extras}\n label={translate(L10N.LABEL_EXTRAS)}\n tracking={TRACKING}\n />\n\n {observations.length > 0 && (\n <View>\n <Text bold small>\n {translate(L10N.LABEL_OBSERVATIONS)}\n </Text>\n {observations.map((item, index) => (\n <Text key={index} small>\n {item}\n </Text>\n ))}\n </View>\n )}\n </View>\n ),\n )}\n\n <BookingTable\n {...propsTable}\n dataSource={extras}\n label={translate(L10N.LABEL_BOOKING_EXTRAS)}\n tracking={TRACKING}\n />\n\n {!expanded && <ButtonMore onPress={handlePress} className={style.buttonMore} />}\n </View>\n );\n};\n\nDetails.displayName = 'Mirai:Core:Checkout:Details';\n\nDetails.propTypes = {\n dataSource: PropTypes.shape({}),\n variant: PropTypes.string,\n};\n\nexport { Details };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkout.Details.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_helpers","_Checkout","_Checkout2","style","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","hasTracking","Details","_ref","dataSource","others","isDesktop","isMobile","useDevice","translate","useLocale","track","useMetrics","value","config","accomodation","occupation","variants","id","locale","urlParams","idHotel","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","details","items","extras","MAX_VISIBLE_DETAILS","handlePress","concat","TRACKING","currency","propsTable","tracking","roomNumber","getRoomNumber","createElement","View","className","styles","box","Text","bold","headline","L10N","LABEL_BOOKING_DETAILS","slice","undefined","map","_variants$find","amount","image","observations","adults","babies","children","rate","type","wide","row","item","backgroundImage","inline","action","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","replace","trim","lighten","small","getRoomOccupationLabel","find","_ref2","Number","BookingTable","Fragment","label","LABEL_EXTRAS","LABEL_OBSERVATIONS","index","LABEL_BOOKING_EXTRAS","ButtonMore","onPress","buttonMore","exports","propTypes","PropTypes","shape"],"sources":["../../../../src/components/Checkout/partials/Checkout.Details.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { BookingTable, ButtonMore } from '../../__shared__';\nimport { getRoomOccupationLabel } from '../../helpers';\nimport { FEATURE_CHECKOUT_TRACKING, MAX_VISIBLE_DETAILS, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getRoomNumber } from '../helpers';\n\nlet hasTracking = false;\n\nconst Details = ({ dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const { track } = useMetrics();\n const {\n value: {\n config: { accomodation: { occupation = [], variants = [] } = {} } = {},\n id,\n locale,\n urlParams: { idHotel, roomNumberBySelectedRoom } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n\n const { details: [{ items = [] } = {}] = [], extras = [] } = dataSource;\n setExpanded(!isDesktop || (items.length <= MAX_VISIBLE_DETAILS && extras.length === 0));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handlePress = () => {\n hasTracking && track(`${TRACKING}:ACTION:DETAILS_EXPAND`, { locale });\n setExpanded(true);\n };\n\n const { currency, details = [], extras = [] } = dataSource;\n const propsTable = { currency, tracking: TRACKING };\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n\n return (\n <View {...others} className={styles(style.details, isDesktop && style.box, others.className)}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_DETAILS)}\n </Text>\n\n {details\n .slice(0, expanded ? undefined : 1)\n .map(\n (\n {\n amount,\n extras = [],\n image,\n items = [],\n observations = [],\n occupation: { adults, babies, children } = {},\n rate,\n type,\n } = {},\n key,\n ) => (\n <View key={key} wide>\n <View row className={style.item}>\n <View className={style.image} style={{ backgroundImage: `url(${image})` }} />\n <View>\n <View row className={style.inline}>\n <Text action={isMobile} bold>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n <Text action>{rate.replace(`${type}:`, '').trim()}</Text>\n <Text lighten small>\n {getRoomOccupationLabel({\n adults,\n babies,\n children,\n dataSource: variants.find(({ id }) => id === Number(idHotel))?.occupation || occupation,\n translate,\n })}\n </Text>\n </View>\n </View>\n\n <BookingTable {...propsTable} dataSource={items.slice(0, expanded ? undefined : MAX_VISIBLE_DETAILS)} />\n\n {expanded && (\n <>\n <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_EXTRAS)} />\n\n {observations.length > 0 && (\n <View>\n <Text bold small>\n {translate(L10N.LABEL_OBSERVATIONS)}\n </Text>\n {observations.map((item, index) => (\n <Text key={index} small>\n {item}\n </Text>\n ))}\n </View>\n )}\n </>\n )}\n </View>\n ),\n )}\n\n {expanded && <BookingTable {...propsTable} dataSource={extras} label={translate(L10N.LABEL_BOOKING_EXTRAS)} />}\n\n {isDesktop && !expanded && <ButtonMore onPress={handlePress} className={style.buttonMore} />}\n </View>\n );\n};\n\nDetails.propTypes = {\n dataSource: PropTypes.shape({}),\n};\n\nexport { Details };\n"],"mappings":"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"}
@@ -20,12 +20,12 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
20
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
+ // ! TODO: Should be a __shared__ components (Booking & Checkout)
24
+
23
25
  let hasTracking = false;
24
26
  const Summary = _ref => {
25
27
  let {
26
28
  dataSource = {},
27
- expanded = true,
28
- variant,
29
29
  ...others
30
30
  } = _ref;
31
31
  const {
@@ -58,17 +58,16 @@ const Summary = _ref => {
58
58
  } = {}
59
59
  }
60
60
  } = (0, _dataSources.useStore)();
61
+ const [expanded, setExpanded] = (0, _react.useState)(isDesktop);
61
62
  (0, _react.useEffect)(() => {
62
63
  hasTracking = _services.ServiceFeatures.get(_Checkout.FEATURE_CHECKOUT_TRACKING, id);
63
64
  // eslint-disable-next-line react-hooks/exhaustive-deps
64
65
  }, []);
65
66
  const {
66
67
  checkIn,
67
- checkInTime = '15:00',
68
- // !TODO = '16:00'
68
+ checkInTime,
69
69
  checkOut,
70
- checkOutTime = '11:00',
71
- // !TODO = '11:00'
70
+ checkOutTime,
72
71
  currency,
73
72
  details = [],
74
73
  hotel: {
@@ -82,8 +81,7 @@ const Summary = _ref => {
82
81
  const roomNumber = (0, _helpers.getRoomNumber)(roomNumberBySelectedRoom);
83
82
  const handleBack = () => {
84
83
  hasTracking && track("".concat(_Checkout.TRACKING, ":ACTION:CHANGE_SELECTION"), {
85
- locale,
86
- variant
84
+ locale
87
85
  });
88
86
  document.location.href = "".concat(process.env.SERVICE_BOOKING, "/").concat(_Checkout.REDIRECT_PATH).concat((0, _toUrlParams.toUrlParams)({
89
87
  applyClubDiscount,
@@ -100,6 +98,12 @@ const Summary = _ref => {
100
98
  parties
101
99
  }));
102
100
  };
101
+ const handlePress = () => {
102
+ hasTracking && track("".concat(_Checkout.TRACKING, ":ACTION:DETAILS_EXPAND"), {
103
+ locale
104
+ });
105
+ setExpanded(true);
106
+ };
103
107
  const items = details.filter(function () {
104
108
  let {
105
109
  type
@@ -109,8 +113,8 @@ const Summary = _ref => {
109
113
  return /*#__PURE__*/_react.default.createElement(_ui.View, _extends({}, others, {
110
114
  className: (0, _ui.styles)(style.summary, others.className)
111
115
  }), /*#__PURE__*/_react.default.createElement(_ui.View, {
112
- className: isDesktop ? style.section : style.box
113
- }, (isDesktop || variant === 'B' && !isDesktop) && /*#__PURE__*/_react.default.createElement(_ui.Text, {
116
+ className: style.section
117
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
114
118
  bold: true,
115
119
  headline: isDesktop
116
120
  }, translate(_Checkout2.L10N.LABEL_BOOKING_SUMMARY)), /*#__PURE__*/_react.default.createElement(_ui.View, {
@@ -118,56 +122,30 @@ const Summary = _ref => {
118
122
  wide: true,
119
123
  className: style.group
120
124
  }, /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
121
- small: true,
122
- bold: true,
123
- upperCase: true,
124
- className: style.field
125
- }, translate(_Checkout2.L10N.LABEL_CHECK_IN)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
126
125
  action: isMobile,
127
126
  bold: true
127
+ }, translate(_Checkout2.L10N.LABEL_CHECK_IN)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
128
+ action: true
128
129
  }, dateFormat((0, _locale.parseDate)(checkIn), _Checkout.FORMAT_DATE)), checkInTime && /*#__PURE__*/_react.default.createElement(_ui.Text, {
129
- action: isDesktop,
130
- small: isMobile
130
+ lighten: true,
131
+ small: true
131
132
  }, translate(_Checkout2.L10N.LABEL_CHECKIN_TIME, {
132
133
  value: checkInTime
133
- })))), /*#__PURE__*/_react.default.createElement(_ui.View, {
134
- className: style.divider
135
- }), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
136
- small: true,
137
- bold: true,
138
- upperCase: true,
139
- className: style.field
140
- }, translate(_Checkout2.L10N.LABEL_CHECK_OUT)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
134
+ })))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
141
135
  action: isMobile,
142
136
  bold: true
137
+ }, translate(_Checkout2.L10N.LABEL_CHECK_OUT)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
138
+ action: true
143
139
  }, dateFormat((0, _locale.parseDate)(checkOut), _Checkout.FORMAT_DATE)), checkOutTime && /*#__PURE__*/_react.default.createElement(_ui.Text, {
144
- action: isDesktop,
145
- small: isMobile
140
+ lighten: true,
141
+ small: true
146
142
  }, translate(_Checkout2.L10N.LABEL_CHECKOUT_TIME, {
147
143
  value: checkOutTime
148
- }))))), variant === 'A' && /*#__PURE__*/_react.default.createElement(_ui.Action, {
149
- action: true,
150
- inline: true,
151
- onPress: handleBack
152
- }, translate(_Checkout2.L10N.ACTION_CHANGE_SELECTION)), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
153
- small: true,
154
- bold: true,
155
- upperCase: true,
156
- className: style.field
157
- }, translate(_Checkout2.L10N.LABEL_ACCOMODATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
144
+ }))))), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
158
145
  action: isMobile,
159
146
  bold: true
160
- }, hotelName), /*#__PURE__*/_react.default.createElement(_ui.Text, {
161
- action: !isMobile,
162
- small: isMobile
163
- }, "".concat(address, ", ").concat(city, ", ").concat(country))), expanded && /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
164
- small: true,
165
- bold: true,
166
- upperCase: true,
167
- className: style.field
168
147
  }, translate(_Checkout2.L10N.LABEL_YOUR_RESERVATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
169
- action: isMobile,
170
- bold: true
148
+ action: true
171
149
  }, "".concat(translate(_Checkout2.L10N.LABEL_NIGHT_COUNT, {
172
150
  value: nights
173
151
  }), ", ").concat(translate(_Checkout2.L10N.LABEL_ROOM_COUNT, {
@@ -188,8 +166,8 @@ const Summary = _ref => {
188
166
  row: true,
189
167
  className: style.info
190
168
  }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
191
- action: !isMobile,
192
- small: isMobile
169
+ lighten: true,
170
+ small: true
193
171
  }, "".concat(type).concat(roomNumber ? " (".concat(translate(_Checkout2.L10N.LABEL_ROOM_NUMBER, {
194
172
  roomNumber
195
173
  }), ")") : '', " ").concat(amount > 1 ? " (x".concat(amount, ")") : '')), roomNumber && /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
@@ -198,21 +176,28 @@ const Summary = _ref => {
198
176
  }, /*#__PURE__*/_react.default.createElement(_ui.Icon, {
199
177
  value: _ui.ICON.INFO
200
178
  })));
201
- }), /*#__PURE__*/_react.default.createElement(_ui.Action, {
202
- action: true,
179
+ })), /*#__PURE__*/_react.default.createElement(_ui.View, null, /*#__PURE__*/_react.default.createElement(_ui.Text, {
180
+ action: isMobile,
181
+ bold: true
182
+ }, translate(_Checkout2.L10N.LABEL_ACCOMODATION)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
183
+ action: true
184
+ }, hotelName), /*#__PURE__*/_react.default.createElement(_ui.Text, {
185
+ lighten: true,
186
+ small: true
187
+ }, "".concat(address, ", ").concat(city, ", ").concat(country))), /*#__PURE__*/_react.default.createElement(_ui.Action, {
203
188
  inline: true,
204
- onPress: handleBack,
205
- className: style.action
206
- }, translate(_Checkout2.L10N.ACTION_CHANGE_SELECTION)))), /*#__PURE__*/_react.default.createElement(_shared__.PriceBreakdown, {
189
+ onPress: handleBack
190
+ }, translate(_Checkout2.L10N.ACTION_CHANGE_SELECTION))), /*#__PURE__*/_react.default.createElement(_shared__.PriceBreakdown, {
207
191
  dataSource: dataSource,
208
192
  className: style.section
193
+ }), expanded ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, others.children) : /*#__PURE__*/_react.default.createElement(_shared__.ButtonMore, {
194
+ onPress: handlePress,
195
+ className: style.buttonMore
209
196
  }));
210
197
  };
211
198
  exports.Summary = Summary;
212
199
  Summary.displayName = 'Mirai:Core:Checkout:Summary';
213
200
  Summary.propTypes = {
214
- dataSource: _propTypes.default.shape({}),
215
- expanded: _propTypes.default.bool,
216
- variant: _propTypes.default.string
201
+ dataSource: _propTypes.default.shape({})
217
202
  };
218
203
  //# sourceMappingURL=Checkout.Summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Summary.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_toUrlParams","_Checkout","_Checkout2","style","_helpers","_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","hasTracking","Summary","_ref","dataSource","expanded","variant","others","isDesktop","isMobile","useDevice","track","useMetrics","dateFormat","translate","useLocale","value","id","locale","urlParams","applyClubDiscount","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idtokenprovider","lang","parties","roomNumberBySelectedRoom","useStore","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","checkIn","checkInTime","checkOut","checkOutTime","currency","details","hotel","address","city","country","name","hotelName","nights","roomNumber","getRoomNumber","handleBack","concat","TRACKING","document","location","href","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","items","filter","type","undefined","createElement","View","className","styles","summary","section","box","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","wide","group","small","upperCase","field","LABEL_CHECK_IN","action","parseDate","FORMAT_DATE","LABEL_CHECKIN_TIME","divider","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","Action","inline","onPress","ACTION_CHANGE_SELECTION","LABEL_ACCOMODATION","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","map","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","PriceBreakdown","exports","displayName","propTypes","PropTypes","shape","bool","string"],"sources":["../../../../src/components/Checkout/partials/Checkout.Summary.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\n\nimport { PriceBreakdown } from '../../__shared__';\nimport { toUrlParams } from '../../helpers/toUrlParams';\nimport { FEATURE_CHECKOUT_TRACKING, FORMAT_DATE, REDIRECT_PATH, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getRoomNumber } from '../helpers';\n\nlet hasTracking = false;\n\nconst Summary = ({ dataSource = {}, expanded = true, variant, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { track } = useMetrics();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n id,\n locale,\n urlParams: {\n applyClubDiscount,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idtokenprovider,\n lang,\n parties,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n checkIn,\n checkInTime = '15:00', // !TODO = '16:00'\n checkOut,\n checkOutTime = '11:00', // !TODO = '11:00'\n currency,\n details = [],\n hotel: { address, city, country, name: hotelName } = {},\n nights,\n } = dataSource;\n\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n\n const handleBack = () => {\n hasTracking && track(`${TRACKING}:ACTION:CHANGE_SELECTION`, { locale, variant });\n\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idtokenprovider,\n lang,\n nights,\n parties,\n })}`;\n };\n\n const items = details.filter(({ type } = {}) => !!type) || [];\n\n return (\n <View {...others} className={styles(style.summary, others.className)}>\n <View className={isDesktop ? style.section : style.box}>\n {(isDesktop || (variant === 'B' && !isDesktop)) && (\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n )}\n\n <View row wide className={style.group}>\n <View>\n <Text small bold upperCase className={style.field}>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action={isMobile} bold>\n {dateFormat(parseDate(checkIn), FORMAT_DATE)}\n </Text>\n {checkInTime && (\n <Text action={isDesktop} small={isMobile}>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View className={style.divider} />\n\n <View>\n <Text small bold upperCase className={style.field}>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action={isMobile} bold>\n {dateFormat(parseDate(checkOut), FORMAT_DATE)}\n </Text>\n {checkOutTime && (\n <Text action={isDesktop} small={isMobile}>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n {variant === 'A' && (\n <Action action inline onPress={handleBack}>\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n )}\n\n <View>\n <Text small bold upperCase className={style.field}>\n {translate(L10N.LABEL_ACCOMODATION)}\n </Text>\n <Text action={isMobile} bold>\n {hotelName}\n </Text>\n <Text action={!isMobile} small={isMobile}>\n {`${address}, ${city}, ${country}`}\n </Text>\n </View>\n\n {expanded && (\n <View>\n <Text small bold upperCase className={style.field}>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action={isMobile} bold>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text action={!isMobile} small={isMobile}>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n <Action action inline onPress={handleBack} className={style.action}>\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </View>\n )}\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n </View>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Checkout:Summary';\n\nSummary.propTypes = {\n dataSource: PropTypes.shape({}),\n expanded: PropTypes.bool,\n variant: PropTypes.string,\n};\n\nexport { Summary };\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,YAAA,GAAAT,OAAA;AACA,IAAAU,SAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAL,uBAAA,CAAAP,OAAA;AACA,IAAAa,QAAA,GAAAb,OAAA;AAA2C,SAAAc,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;AAE3C,IAAIK,WAAW,GAAG,KAAK;AAEvB,MAAMC,OAAO,GAAGC,IAAA,IAA8D;EAAA,IAA7D;IAAEC,UAAU,GAAG,CAAC,CAAC;IAAEC,QAAQ,GAAG,IAAI;IAAEC,OAAO;IAAE,GAAGC;EAAO,CAAC,GAAAJ,IAAA;EACvE,MAAM;IAAEK,SAAS;IAAEC;EAAS,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EAC3C,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,uBAAU,EAAC,CAAC;EAC9B,MAAM;IAAEC,UAAU;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EAC7C,MAAM;IACJC,KAAK,EAAE;MACLC,EAAE;MACFC,MAAM;MACNC,SAAS,EAAE;QACTC,iBAAiB;QACjBC,OAAO;QACPC,sBAAsB;QACtBC,MAAM,EAAEC,UAAU;QAClBC,GAAG;QACHC,IAAI;QACJC,IAAI;QACJC,eAAe;QACfC,IAAI;QACJC,OAAO;QACPC;MACF,CAAC,GAAG,CAAC;IACP;EACF,CAAC,GAAG,IAAAC,qBAAQ,EAAC,CAAC;EAEd,IAAAC,gBAAS,EAAC,MAAM;IACdhC,WAAW,GAAGiC,yBAAe,CAACxD,GAAG,CAACyD,mCAAyB,EAAElB,EAAE,CAAC;IAChE;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IACJmB,OAAO;IACPC,WAAW,GAAG,OAAO;IAAE;IACvBC,QAAQ;IACRC,YAAY,GAAG,OAAO;IAAE;IACxBC,QAAQ;IACRC,OAAO,GAAG,EAAE;IACZC,KAAK,EAAE;MAAEC,OAAO;MAAEC,IAAI;MAAEC,OAAO;MAAEC,IAAI,EAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IACvDC;EACF,CAAC,GAAG5C,UAAU;EAEd,MAAM6C,UAAU,GAAG,IAAAC,sBAAa,EAACnB,wBAAwB,CAAC;EAE1D,MAAMoB,UAAU,GAAGA,CAAA,KAAM;IACvBlD,WAAW,IAAIU,KAAK,IAAAyC,MAAA,CAAIC,kBAAQ,+BAA4B;MAAEnC,MAAM;MAAEZ;IAAQ,CAAC,CAAC;IAEhFgD,QAAQ,CAACC,QAAQ,CAACC,IAAI,MAAAJ,MAAA,CAAMK,OAAO,CAAChC,GAAG,CAACiC,eAAe,OAAAN,MAAA,CAAIO,uBAAa,EAAAP,MAAA,CAAG,IAAAQ,wBAAW,EAAC;MACrFxC,iBAAiB;MACjBC,OAAO;MACPC,sBAAsB;MACtBkB,QAAQ;MACRhB,UAAU;MACVC,GAAG;MACHC,IAAI;MACJC,IAAI;MACJC,eAAe;MACfC,IAAI;MACJmB,MAAM;MACNlB;IACF,CAAC,CAAC,CAAE;EACN,CAAC;EAED,MAAM+B,KAAK,GAAGpB,OAAO,CAACqB,MAAM,CAAC;IAAA,IAAC;MAAEC;IAAK,CAAC,GAAAnE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoE,SAAA,GAAApE,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,CAAC,CAACmE,IAAI;EAAA,EAAC,IAAI,EAAE;EAE7D,oBACErG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,EAAA1E,QAAA,KAAKe,MAAM;IAAE4D,SAAS,EAAE,IAAAC,UAAM,EAACpG,KAAK,CAACqG,OAAO,EAAE9D,MAAM,CAAC4D,SAAS;EAAE,iBACnEzG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI;IAACC,SAAS,EAAE3D,SAAS,GAAGxC,KAAK,CAACsG,OAAO,GAAGtG,KAAK,CAACuG;EAAI,GACpD,CAAC/D,SAAS,IAAKF,OAAO,KAAK,GAAG,IAAI,CAACE,SAAU,kBAC5C9C,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACC,IAAI;IAACC,QAAQ,EAAElE;EAAU,GAC5BM,SAAS,CAAC6D,eAAI,CAACC,qBAAqB,CACjC,CACP,eAEDlH,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI;IAACW,GAAG;IAACC,IAAI;IAACX,SAAS,EAAEnG,KAAK,CAAC+G;EAAM,gBACpCrH,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACQ,KAAK;IAACP,IAAI;IAACQ,SAAS;IAACd,SAAS,EAAEnG,KAAK,CAACkH;EAAM,GAC/CpE,SAAS,CAAC6D,eAAI,CAACQ,cAAc,CAC1B,CAAC,eACPzH,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE3E,QAAS;IAACgE,IAAI;EAAA,GACzB5D,UAAU,CAAC,IAAAwE,iBAAS,EAACjD,OAAO,CAAC,EAAEkD,qBAAW,CACvC,CAAC,EACNjD,WAAW,iBACV3E,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE5E,SAAU;IAACwE,KAAK,EAAEvE;EAAS,GACtCK,SAAS,CAAC6D,eAAI,CAACY,kBAAkB,EAAE;IAAEvE,KAAK,EAAEqB;EAAY,CAAC,CACtD,CAEJ,CACF,CAAC,eAEP3E,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI;IAACC,SAAS,EAAEnG,KAAK,CAACwH;EAAQ,CAAE,CAAC,eAElC9H,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACQ,KAAK;IAACP,IAAI;IAACQ,SAAS;IAACd,SAAS,EAAEnG,KAAK,CAACkH;EAAM,GAC/CpE,SAAS,CAAC6D,eAAI,CAACc,eAAe,CAC3B,CAAC,eACP/H,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE3E,QAAS;IAACgE,IAAI;EAAA,GACzB5D,UAAU,CAAC,IAAAwE,iBAAS,EAAC/C,QAAQ,CAAC,EAAEgD,qBAAW,CACxC,CAAC,EACN/C,YAAY,iBACX7E,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE5E,SAAU;IAACwE,KAAK,EAAEvE;EAAS,GACtCK,SAAS,CAAC6D,eAAI,CAACe,mBAAmB,EAAE;IAAE1E,KAAK,EAAEuB;EAAa,CAAC,CACxD,CAEJ,CACF,CACF,CAAC,EAENjC,OAAO,KAAK,GAAG,iBACd5C,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAoI,MAAM;IAACP,MAAM;IAACQ,MAAM;IAACC,OAAO,EAAE1C;EAAW,GACvCrC,SAAS,CAAC6D,eAAI,CAACmB,uBAAuB,CACjC,CACT,eAEDpI,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACQ,KAAK;IAACP,IAAI;IAACQ,SAAS;IAACd,SAAS,EAAEnG,KAAK,CAACkH;EAAM,GAC/CpE,SAAS,CAAC6D,eAAI,CAACoB,kBAAkB,CAC9B,CAAC,eACPrI,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE3E,QAAS;IAACgE,IAAI;EAAA,GACzB1B,SACG,CAAC,eACPrF,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE,CAAC3E,QAAS;IAACuE,KAAK,EAAEvE;EAAS,MAAA2C,MAAA,CACnCT,OAAO,QAAAS,MAAA,CAAKR,IAAI,QAAAQ,MAAA,CAAKP,OAAO,CAC5B,CACF,CAAC,EAENxC,QAAQ,iBACP3C,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI,qBACHxG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACQ,KAAK;IAACP,IAAI;IAACQ,SAAS;IAACd,SAAS,EAAEnG,KAAK,CAACkH;EAAM,GAC/CpE,SAAS,CAAC6D,eAAI,CAACqB,sBAAsB,CAClC,CAAC,eACPtI,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;IAACY,MAAM,EAAE3E,QAAS;IAACgE,IAAI;EAAA,MAAArB,MAAA,CACtBtC,SAAS,CAAC6D,eAAI,CAACsB,iBAAiB,EAAE;IAAEjF,KAAK,EAAEgC;EAAO,CAAC,CAAC,QAAAI,MAAA,CAAKtC,SAAS,CAAC6D,eAAI,CAACuB,gBAAgB,EAAE;IAC5FlF,KAAK,EAAE6C,KAAK,CAACsC,MAAM,CAAC,UAACC,KAAK;MAAA,IAAE;QAAEC,MAAM,GAAG;MAAE,CAAC,GAAAzG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoE,SAAA,GAAApE,SAAA,MAAG,CAAC,CAAC;MAAA,OAAKwG,KAAK,GAAGC,MAAM;IAAA,GAAE,CAAC;EACvE,CAAC,CAAC,CACE,CAAC,EACNxC,KAAK,CAACyC,GAAG,CAAC;IAAA,IAAC;MAAED,MAAM;MAAEtC;IAAK,CAAC,GAAAnE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAoE,SAAA,GAAApE,SAAA,MAAG,CAAC,CAAC;IAAA,IAAE2G,KAAK,GAAA3G,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAoE,SAAA;IAAA,oBACtCtG,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAA2G,IAAI;MAACnE,GAAG,EAAEwG,KAAM;MAAC1B,GAAG;MAACV,SAAS,EAAEnG,KAAK,CAACwI;IAAK,gBAC1C9I,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAiH,IAAI;MAACY,MAAM,EAAE,CAAC3E,QAAS;MAACuE,KAAK,EAAEvE;IAAS,MAAA2C,MAAA,CACnCW,IAAI,EAAAX,MAAA,CAAGH,UAAU,QAAAG,MAAA,CAAQtC,SAAS,CAAC6D,eAAI,CAAC8B,iBAAiB,EAAE;MAAExD;IAAW,CAAC,CAAC,SAAM,EAAE,OAAAG,MAAA,CACpFiD,MAAM,GAAG,CAAC,SAAAjD,MAAA,CAASiD,MAAM,SAAM,EAAE,CAE/B,CAAC,EACNpD,UAAU,iBACTvF,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAmJ,OAAO;MAACC,SAAS;MAACC,IAAI,EAAE9F,SAAS,CAAC6D,eAAI,CAACkC,6BAA6B;IAAE,gBACrEnJ,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAuJ,IAAI;MAAC9F,KAAK,EAAE+F,QAAI,CAACC;IAAK,CAAE,CAClB,CAEP,CAAC;EAAA,CACR,CAAC,eACFtJ,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAAC1G,GAAA,CAAAoI,MAAM;IAACP,MAAM;IAACQ,MAAM;IAACC,OAAO,EAAE1C,UAAW;IAACgB,SAAS,EAAEnG,KAAK,CAACoH;EAAO,GAChEtE,SAAS,CAAC6D,eAAI,CAACmB,uBAAuB,CACjC,CACJ,CAEJ,CAAC,eAEPpI,MAAA,CAAAc,OAAA,CAAAyF,aAAA,CAACrG,SAAA,CAAAqJ,cAAc;IAAC7G,UAAU,EAAEA,UAAW;IAAC+D,SAAS,EAAEnG,KAAK,CAACsG;EAAQ,CAAE,CAC/D,CAAC;AAEX,CAAC;AAAC4C,OAAA,CAAAhH,OAAA,GAAAA,OAAA;AAEFA,OAAO,CAACiH,WAAW,GAAG,6BAA6B;AAEnDjH,OAAO,CAACkH,SAAS,GAAG;EAClBhH,UAAU,EAAEiH,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC/BjH,QAAQ,EAAEgH,kBAAS,CAACE,IAAI;EACxBjH,OAAO,EAAE+G,kBAAS,CAACG;AACrB,CAAC"}
1
+ {"version":3,"file":"Checkout.Summary.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_shared__","_toUrlParams","_Checkout","_Checkout2","style","_helpers","_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","hasTracking","Summary","_ref","dataSource","others","isDesktop","isMobile","useDevice","track","useMetrics","dateFormat","translate","useLocale","value","id","locale","urlParams","applyClubDiscount","checkin","clientCodeStrictSearch","device","deviceType","env","home","hsri","idtokenprovider","lang","parties","roomNumberBySelectedRoom","useStore","expanded","setExpanded","useState","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","checkIn","checkInTime","checkOut","checkOutTime","currency","details","hotel","address","city","country","name","hotelName","nights","roomNumber","getRoomNumber","handleBack","concat","TRACKING","document","location","href","process","SERVICE_BOOKING","REDIRECT_PATH","toUrlParams","handlePress","items","filter","type","undefined","createElement","View","className","styles","summary","section","Text","bold","headline","L10N","LABEL_BOOKING_SUMMARY","row","wide","group","action","LABEL_CHECK_IN","parseDate","FORMAT_DATE","lighten","small","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_YOUR_RESERVATION","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","reduce","total","amount","map","index","info","LABEL_ROOM_NUMBER","Tooltip","pressable","text","LABEL_SUBJECT_TO_AVAILABILITY","Icon","ICON","INFO","LABEL_ACCOMODATION","Action","inline","onPress","ACTION_CHANGE_SELECTION","PriceBreakdown","Fragment","children","ButtonMore","buttonMore","exports","displayName","propTypes","PropTypes","shape"],"sources":["../../../../src/components/Checkout/partials/Checkout.Summary.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { parseDate, useLocale } from '@mirai/locale';\nimport { ServiceFeatures } from '@mirai/services';\nimport { Action, Icon, ICON, styles, Text, Tooltip, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { ButtonMore, PriceBreakdown } from '../../__shared__';\nimport { toUrlParams } from '../../helpers/toUrlParams';\nimport { FEATURE_CHECKOUT_TRACKING, FORMAT_DATE, REDIRECT_PATH, TRACKING } from '../Checkout.constants';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getRoomNumber } from '../helpers';\n\n// ! TODO: Should be a __shared__ components (Booking & Checkout)\n\nlet hasTracking = false;\n\nconst Summary = ({ dataSource = {}, ...others }) => {\n const { isDesktop, isMobile } = useDevice();\n const { track } = useMetrics();\n const { dateFormat, translate } = useLocale();\n const {\n value: {\n id,\n locale,\n urlParams: {\n applyClubDiscount,\n checkin,\n clientCodeStrictSearch,\n device: deviceType,\n env,\n home,\n hsri,\n idtokenprovider,\n lang,\n parties,\n roomNumberBySelectedRoom,\n } = {},\n },\n } = useStore();\n\n const [expanded, setExpanded] = useState(isDesktop);\n\n useEffect(() => {\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {\n checkIn,\n checkInTime,\n checkOut,\n checkOutTime,\n currency,\n details = [],\n hotel: { address, city, country, name: hotelName } = {},\n nights,\n } = dataSource;\n\n const roomNumber = getRoomNumber(roomNumberBySelectedRoom);\n\n const handleBack = () => {\n hasTracking && track(`${TRACKING}:ACTION:CHANGE_SELECTION`, { locale });\n\n document.location.href = `${process.env.SERVICE_BOOKING}/${REDIRECT_PATH}${toUrlParams({\n applyClubDiscount,\n checkin,\n clientCodeStrictSearch,\n currency,\n deviceType,\n env,\n home,\n hsri,\n idtokenprovider,\n lang,\n nights,\n parties,\n })}`;\n };\n\n const handlePress = () => {\n hasTracking && track(`${TRACKING}:ACTION:DETAILS_EXPAND`, { locale });\n setExpanded(true);\n };\n\n const items = details.filter(({ type } = {}) => !!type) || [];\n\n return (\n <View {...others} className={styles(style.summary, others.className)}>\n <View className={style.section}>\n <Text bold headline={isDesktop}>\n {translate(L10N.LABEL_BOOKING_SUMMARY)}\n </Text>\n\n <View row wide className={style.group}>\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_IN)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkIn), FORMAT_DATE)}</Text>\n {checkInTime && (\n <Text lighten small>\n {translate(L10N.LABEL_CHECKIN_TIME, { value: checkInTime })}\n </Text>\n )}\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_CHECK_OUT)}\n </Text>\n <View>\n <Text action>{dateFormat(parseDate(checkOut), FORMAT_DATE)}</Text>\n {checkOutTime && (\n <Text lighten small>\n {translate(L10N.LABEL_CHECKOUT_TIME, { value: checkOutTime })}\n </Text>\n )}\n </View>\n </View>\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_YOUR_RESERVATION)}\n </Text>\n <Text action>\n {`${translate(L10N.LABEL_NIGHT_COUNT, { value: nights })}, ${translate(L10N.LABEL_ROOM_COUNT, {\n value: items.reduce((total, { amount = 1 } = {}) => total + amount, 0),\n })}`}\n </Text>\n {items.map(({ amount, type } = {}, index) => (\n <View key={index} row className={style.info}>\n <Text lighten small>\n {`${type}${roomNumber ? ` (${translate(L10N.LABEL_ROOM_NUMBER, { roomNumber })})` : ''} ${\n amount > 1 ? ` (x${amount})` : ''\n }`}\n </Text>\n {roomNumber && (\n <Tooltip pressable text={translate(L10N.LABEL_SUBJECT_TO_AVAILABILITY)}>\n <Icon value={ICON.INFO} />\n </Tooltip>\n )}\n </View>\n ))}\n </View>\n\n <View>\n <Text action={isMobile} bold>\n {translate(L10N.LABEL_ACCOMODATION)}\n </Text>\n <Text action>{hotelName}</Text>\n <Text lighten small>\n {`${address}, ${city}, ${country}`}\n </Text>\n </View>\n\n <Action inline onPress={handleBack}>\n {translate(L10N.ACTION_CHANGE_SELECTION)}\n </Action>\n </View>\n\n <PriceBreakdown dataSource={dataSource} className={style.section} />\n\n {expanded ? <>{others.children}</> : <ButtonMore onPress={handlePress} className={style.buttonMore} />}\n </View>\n );\n};\n\nSummary.displayName = 'Mirai:Core:Checkout:Summary';\n\nSummary.propTypes = {\n dataSource: PropTypes.shape({}),\n};\n\nexport { Summary };\n"],"mappings":"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"}