@mirai/core 0.4.59 → 0.4.60

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 (43) hide show
  1. package/build/components/Checkout/Checkout.js +47 -10
  2. package/build/components/Checkout/Checkout.js.map +1 -1
  3. package/build/components/Checkout/Checkout.l10n.js +10 -0
  4. package/build/components/Checkout/Checkout.l10n.js.map +1 -1
  5. package/build/components/Checkout/Checkout.module.css +7 -0
  6. package/build/components/Checkout/helpers/getParamsFromExtras.js +53 -0
  7. package/build/components/Checkout/helpers/getParamsFromExtras.js.map +1 -0
  8. package/build/components/Checkout/helpers/index.js +11 -0
  9. package/build/components/Checkout/helpers/index.js.map +1 -1
  10. package/build/components/Checkout/partials/Checkout.Confirmation.js +43 -4
  11. package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
  12. package/build/components/Checkout/partials/Checkout.Extras.js +83 -0
  13. package/build/components/Checkout/partials/Checkout.Extras.js.map +1 -0
  14. package/build/components/Checkout/partials/Checkout.Form.js +8 -3
  15. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  16. package/build/components/Checkout/partials/index.js +12 -1
  17. package/build/components/Checkout/partials/index.js.map +1 -1
  18. package/build/components/Header/components/BookingProcess/BookingProcess.js +16 -13
  19. package/build/components/Header/components/BookingProcess/BookingProcess.js.map +1 -1
  20. package/build/components/Header/components/BookingProcess/BookingProcess.l10n.js +3 -0
  21. package/build/components/Header/components/BookingProcess/BookingProcess.l10n.js.map +1 -1
  22. package/build/components/Rates/Rates.js +19 -3
  23. package/build/components/Rates/Rates.js.map +1 -1
  24. package/build/components/Rates/components/ModalExtras/Extras.js +231 -0
  25. package/build/components/Rates/components/ModalExtras/Extras.js.map +1 -0
  26. package/build/components/Rates/components/ModalExtras/ModalExtras.js +1 -1
  27. package/build/components/Rates/components/ModalExtras/ModalExtras.js.map +1 -1
  28. package/build/components/Rates/components/ModalExtras/ModalExtras.module.css +20 -10
  29. package/build/components/Rates/helpers/getCheckoutParams.js +5 -2
  30. package/build/components/Rates/helpers/getCheckoutParams.js.map +1 -1
  31. package/build/components/Rates/helpers/getForwarderUrl.js +4 -2
  32. package/build/components/Rates/helpers/getForwarderUrl.js.map +1 -1
  33. package/build/components/__shared__/BookingSummary/BookingSummary.js +4 -2
  34. package/build/components/__shared__/BookingSummary/BookingSummary.js.map +1 -1
  35. package/build/components/__shared__/ButtonPayment/helpers/getUrlBooking.js +3 -1
  36. package/build/components/__shared__/ButtonPayment/helpers/getUrlBooking.js.map +1 -1
  37. package/build/components/__shared__/ButtonPayment/helpers/getUrlCriptan.js +5 -1
  38. package/build/components/__shared__/ButtonPayment/helpers/getUrlCriptan.js.map +1 -1
  39. package/build/components/__shared__/ButtonPayment/helpers/getUrlTpv.js +4 -0
  40. package/build/components/__shared__/ButtonPayment/helpers/getUrlTpv.js.map +1 -1
  41. package/build/helpers/consolidateStore.js +3 -0
  42. package/build/helpers/consolidateStore.js.map +1 -1
  43. package/package.json +1 -1
@@ -13,12 +13,14 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _Checkout = require("./Checkout.l10n");
14
14
  var style = _interopRequireWildcard(require("./Checkout.module.css"));
15
15
  var _Checkout2 = _interopRequireDefault(require("./Checkout.skeleton"));
16
+ var _helpers = require("./helpers");
16
17
  var _partials = require("./partials");
17
18
  var _Core = require("../../Core.constants");
19
+ var _helpers2 = require("../../helpers");
18
20
  var _shared__ = require("../__shared__");
19
21
  var _Booking = require("../Booking/partials/Booking.ModalAgency");
20
22
  var _Header = require("../Header");
21
- var _helpers = require("../helpers");
23
+ var _helpers3 = require("../helpers");
22
24
  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); }
23
25
  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; }
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -36,6 +38,7 @@ const Checkout = _ref => {
36
38
  } = (0, _locale.useLocale)();
37
39
  const {
38
40
  value: {
41
+ checkout,
39
42
  currency,
40
43
  hotel,
41
44
  language,
@@ -43,42 +46,53 @@ const Checkout = _ref => {
43
46
  session,
44
47
  urlParams: {
45
48
  posError: tpvError,
49
+ checkoutStep = '1',
46
50
  ...urlParams
47
- } = {}
51
+ } = {},
52
+ variant
48
53
  }
49
54
  } = (0, _dataSources.useStore)();
55
+ const [busy, setBusy] = (0, _react.useState)(false);
50
56
  const [dataSource, setDataSource] = (0, _react.useState)();
51
57
  const [error, setError] = (0, _react.useState)();
58
+ const [selectedExtras, setSelectedExtras] = (0, _react.useState)([]);
52
59
  const [requiredFields, setRequiredFields] = (0, _react.useState)();
53
60
  const [modalAgency, setModalAgency] = (0, _react.useState)(false);
54
61
  const [responseError, setResponseError] = (0, _react.useState)();
55
62
 
56
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
57
- (0, _react.useEffect)(() => _dataSources.Event.publish(_helpers.EVENT.METRICS, {
64
+ (0, _react.useEffect)(() => _dataSources.Event.publish(_helpers3.EVENT.METRICS, {
58
65
  id: 'CHECKOUT:RENDER'
59
66
  }), []);
60
67
  (0, _react.useEffect)(() => {
61
68
  if (skeleton) return;
62
69
  (async () => {
70
+ setBusy(true);
63
71
  const response = await _services.ServiceBooking.checkout({
64
72
  currency,
65
73
  hotel,
66
74
  language,
67
75
  locale,
68
76
  session,
69
- ...urlParams
77
+ ...urlParams,
78
+ ...(0, _helpers.getParamsFromExtras)({
79
+ selectedExtras,
80
+ urlParams,
81
+ variant
82
+ })
70
83
  }).catch(error => {
71
84
  setResponseError(error);
72
85
  });
86
+ setBusy(false);
73
87
  setDataSource(response);
74
- if (response) _dataSources.Event.publish(_helpers.EVENT.CHECKOUT_RESPONSE, {
75
- event: _helpers.EVENT.CHECKOUT_RESPONSE,
88
+ if (response) _dataSources.Event.publish(_helpers3.EVENT.CHECKOUT_RESPONSE, {
89
+ event: _helpers3.EVENT.CHECKOUT_RESPONSE,
76
90
  response
77
91
  });
78
92
  })();
79
93
 
80
94
  // eslint-disable-next-line react-hooks/exhaustive-deps
81
- }, [locale, session]);
95
+ }, [locale, session, selectedExtras]);
82
96
  const handleModalAgency = () => {
83
97
  setModalAgency(true);
84
98
  };
@@ -89,6 +103,24 @@ const Checkout = _ref => {
89
103
  });
90
104
  setRequiredFields(error);
91
105
  };
106
+ const handleSubmit = () => {
107
+ const {
108
+ origin,
109
+ pathname,
110
+ search
111
+ } = document.location;
112
+ document.location.href = "".concat(origin).concat(pathname).concat((0, _helpers3.toUrlParams)({
113
+ ...(0, _helpers2.fetchUrlParams)(search),
114
+ ...(0, _helpers.getParamsFromExtras)({
115
+ selectedExtras,
116
+ urlParams,
117
+ variant
118
+ }),
119
+ // ! TODO
120
+ checkoutForm: JSON.stringify(checkout),
121
+ checkoutStep: 2
122
+ }));
123
+ };
92
124
  const {
93
125
  agency = {},
94
126
  payment
@@ -102,7 +134,7 @@ const Checkout = _ref => {
102
134
  className: (0, _ui.styles)(style.container, others.className)
103
135
  }, /*#__PURE__*/_react.default.createElement(_ui.Progress, {
104
136
  indeterminate: true,
105
- visible: !response && !responseError,
137
+ visible: busy || !response && !responseError,
106
138
  className: style.progress
107
139
  }), response ? /*#__PURE__*/_react.default.createElement(_ui.View, {
108
140
  row: isDesktop,
@@ -130,23 +162,28 @@ const Checkout = _ref => {
130
162
  }), tpvError && translate(_Checkout.L10N.NOTIFICATION_UNKNOWN_POS_ERROR)), !isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingSummary, {
131
163
  box: true,
132
164
  dataSource: dataSource
133
- }, /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
165
+ }, (variant === 'A' || checkoutStep === '1') && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
134
166
  dataSource: dataSource,
135
167
  expanded: true
136
168
  })), /*#__PURE__*/_react.default.createElement(_partials.Form, {
137
169
  dataSource: dataSource,
138
170
  showErrors: hasRequiredFields,
139
171
  onError: setError
140
- }), isDesktop && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
172
+ }), variant === 'B' && checkoutStep === '1' && /*#__PURE__*/_react.default.createElement(_partials.Extras, {
173
+ hotel: dataSource.hotel,
174
+ onChange: setSelectedExtras
175
+ }), isDesktop && (variant === 'A' || checkoutStep === '1') && /*#__PURE__*/_react.default.createElement(_shared__.BookingDetails, {
141
176
  dataSource: dataSource,
142
177
  className: style.box
143
178
  }), /*#__PURE__*/_react.default.createElement(_shared__.BookingTerms, {
144
179
  dataSource: dataSource,
145
180
  small: true
146
181
  })), /*#__PURE__*/_react.default.createElement(_partials.Confirmation, {
182
+ busy: busy,
147
183
  dataSource: dataSource,
148
184
  error: Object.keys(error || {}).length > 0,
149
185
  onError: handleErrorConfirmation,
186
+ onSubmit: handleSubmit,
150
187
  onValid: () => setRequiredFields()
151
188
  })) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
152
189
  error: true,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_partials","_Core","_shared__","_Booking","_Header","_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","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","currency","hotel","language","locale","session","urlParams","posError","tpvError","useStore","dataSource","setDataSource","useState","error","setError","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","checkout","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","values","name","Notification","small","info","concat","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","BookingTerms","Confirmation","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { Confirmation, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: { currency, hotel, language, locale, session, urlParams: { posError: tpvError, ...urlParams } = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n });\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n <BookingDetails dataSource={dataSource} expanded />\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {isDesktop && <BookingDetails dataSource={dataSource} className={style.box} />}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\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,GAAAF,uBAAA,CAAAP,OAAA;AACA,IAAAU,UAAA,GAAAL,sBAAA,CAAAL,OAAA;AACA,IAAAW,SAAA,GAAAX,OAAA;AACA,IAAAY,KAAA,GAAAZ,OAAA;AACA,IAAAa,SAAA,GAAAb,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AACA,IAAAgB,QAAA,GAAAhB,OAAA;AAAmC,SAAAiB,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,SAAAX,wBAAAW,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,SAAArB,uBAAAiC,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;AAEnC,MAAMK,QAAQ,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC,QAAQ;IAAE,GAAGC;EAAO,CAAC,GAAAF,IAAA;EACvC,MAAM;IAAEG;EAAU,CAAC,GAAG,IAAAC,aAAS,EAAC,CAAC;EACjC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAS,EAAC,CAAC;EACjC,MAAM;IACJC,KAAK,EAAE;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,QAAQ;MAAEC,MAAM;MAAEC,OAAO;MAAEC,SAAS,EAAE;QAAEC,QAAQ,EAAEC,QAAQ;QAAE,GAAGF;MAAU,CAAC,GAAG,CAAC;IAAE;EAC5G,CAAC,GAAG,IAAAG,qBAAQ,EAAC,CAAC;EAEd,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAC9C,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAC,CAAC;EACpC,MAAM,CAACG,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC;EACtD,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAN,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACO,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAR,eAAQ,EAAC,CAAC;;EAEpD;EACA,IAAAS,gBAAS,EAAC,MAAMC,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACC,OAAO,EAAE;IAAEC,EAAE,EAAE;EAAkB,CAAC,CAAC,EAAE,EAAE,CAAC;EAE5E,IAAAL,gBAAS,EAAC,MAAM;IACd,IAAI3B,QAAQ,EAAE;IAEd,CAAC,YAAY;MACX,MAAMiC,QAAQ,GAAG,MAAMC,wBAAc,CAACC,QAAQ,CAAC;QAC7C5B,QAAQ;QACRC,KAAK;QACLC,QAAQ;QACRC,MAAM;QACNC,OAAO;QACP,GAAGC;MACL,CAAC,CAAC,CAACwB,KAAK,CAAEjB,KAAK,IAAK;QAClBO,gBAAgB,CAACP,KAAK,CAAC;MACzB,CAAC,CAAC;MACFF,aAAa,CAACgB,QAAQ,CAAC;MACvB,IAAIA,QAAQ,EAAEL,kBAAK,CAACC,OAAO,CAACC,cAAK,CAACO,iBAAiB,EAAE;QAAEC,KAAK,EAAER,cAAK,CAACO,iBAAiB;QAAEJ;MAAS,CAAC,CAAC;IACpG,CAAC,EAAE,CAAC;;IAEJ;EACF,CAAC,EAAE,CAACvB,MAAM,EAAEC,OAAO,CAAC,CAAC;EAErB,MAAM4B,iBAAiB,GAAGA,CAAA,KAAM;IAC9Bf,cAAc,CAAC,IAAI,CAAC;EACtB,CAAC;EAED,MAAMgB,uBAAuB,GAAGA,CAAA,KAAM;IACpCC,MAAM,CAACC,QAAQ,CAAC;MAAEC,GAAG,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;IAC/CtB,iBAAiB,CAACH,KAAK,CAAC;EAC1B,CAAC;EAED,MAAM;IAAE0B,MAAM,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAG9B,UAAU,IAAI,CAAC,CAAC;EACjD,MAAMiB,QAAQ,GAAGjB,UAAU,KAAK+B,SAAS;EACzC,MAAMC,iBAAiB,GAAGrE,MAAM,CAACsE,IAAI,CAAC5B,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC3B,MAAM,GAAG,CAAC;EAEtE,oBACEtC,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAAA9F,MAAA,CAAAiB,OAAA,CAAA8E,QAAA,qBACE/F,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACrF,OAAA,CAAAuF,MAAM,MAAE,CAAC,eAEVhG,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAoG,IAAI;IAACC,IAAI,EAAC,UAAU;IAACC,GAAG,EAAC,UAAU;IAACC,MAAM,EAAEvD,MAAM,CAACuD,MAAO;IAACC,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAACoG,SAAS,EAAE1D,MAAM,CAACwD,SAAS;EAAE,gBAC/GrG,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAA2G,QAAQ;IAACC,aAAa;IAACC,OAAO,EAAE,CAAC7B,QAAQ,IAAI,CAACR,aAAc;IAACgC,SAAS,EAAElG,KAAK,CAACwG;EAAS,CAAE,CAAC,EAC1F9B,QAAQ,gBACP7E,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAoG,IAAI;IAACW,GAAG,EAAE9D,SAAU;IAACuD,SAAS,EAAElG,KAAK,CAAC0G;EAAQ,gBAC7C7G,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAoG,IAAI;IAACa,IAAI;IAACT,SAAS,EAAElG,KAAK,CAAC4G;EAAK,GAC9BnB,iBAAiB,iBAAI5F,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAAyG,0BAA0B;IAACC,IAAI,EAAC,UAAU;IAACC,MAAM,EAAEjD;EAAe,CAAE,CAAC,EAC3F,CAACwB,MAAM,CAAC0B,IAAI,IAAI,CAACzB,OAAO,IAAIhC,QAAQ,kBACnC1D,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAuH,YAAY;IAACrD,KAAK,EAAEL,QAAS;IAAC2D,KAAK;IAACC,IAAI;IAACR,IAAI;IAACT,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAACsF,MAAM,EAAE5C,MAAM,CAACwD,SAAS;EAAE,GAC9F,CAAC3C,QAAQ,IAAI,CAACgC,OAAO,OAAA6B,MAAA,CAAOvE,SAAS,CAACwE,cAAI,CAACC,oBAAoB,CAAC,MAAG,EACnE,CAAC/D,QAAQ,IACR+B,MAAM,CAAC0B,IAAI,IACXnE,SAAS,CAACwE,cAAI,CAACE,mBAAmB,EAAE;IAClCjC,MAAM,EAAEA,MAAM,CAAC0B,IAAI;IACnBQ,IAAI,eACF3H,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAAA9F,MAAA,CAAAiB,OAAA,CAAA8E,QAAA,qBACE/F,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAA+H,MAAM;MAACC,SAAS;MAACR,KAAK;MAACS,OAAO,EAAE3C,iBAAkB;MAACkB,SAAS,EAAE,IAAAC,UAAM,EAACnG,KAAK,CAAC4H,MAAM;IAAE,GACjF/E,SAAS,CAACwE,cAAI,CAACQ,gBAAgB,CAC1B,CACR;EAEN,CAAC,CAAC,EACHtE,QAAQ,IAAIV,SAAS,CAACwE,cAAI,CAACS,8BAA8B,CAC9C,CACf,EAEA,CAACnF,SAAS,iBACT9C,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAA2H,cAAc;IAACC,GAAG;IAACvE,UAAU,EAAEA;EAAW,gBACzC5D,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAA6H,cAAc;IAACxE,UAAU,EAAEA,UAAW;IAACyE,QAAQ;EAAA,CAAE,CACpC,CACjB,eAEDrI,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACzF,SAAA,CAAAiI,IAAI;IAAC1E,UAAU,EAAEA,UAAW;IAAC2E,UAAU,EAAE3C,iBAAkB;IAAC4C,OAAO,EAAExE;EAAS,CAAE,CAAC,EAEjFlB,SAAS,iBAAI9C,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAA6H,cAAc;IAACxE,UAAU,EAAEA,UAAW;IAACyC,SAAS,EAAElG,KAAK,CAACgI;EAAI,CAAE,CAAC,eAE9EnI,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAAkI,YAAY;IAAC7E,UAAU,EAAEA,UAAW;IAACyD,KAAK;EAAA,CAAE,CACzC,CAAC,eAEPrH,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACzF,SAAA,CAAAqI,YAAY;IACX9E,UAAU,EAAEA,UAAW;IACvBG,KAAK,EAAExC,MAAM,CAACsE,IAAI,CAAC9B,KAAK,IAAI,CAAC,CAAC,CAAC,CAACzB,MAAM,GAAG,CAAE;IAC3CkG,OAAO,EAAEpD,uBAAwB;IACjCuD,OAAO,EAAEA,CAAA,KAAMzE,iBAAiB,CAAC;EAAE,CACpC,CACG,CAAC,GACLG,aAAa,gBACfrE,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACjG,GAAA,CAAAuH,YAAY;IAACrD,KAAK;IAAC6E,KAAK;EAAA,GACtB5F,SAAS,CAACwE,cAAI,CAACqB,kBAAkB,CAAC,CAAAxE,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEyE,IAAI,KAAIC,WAAK,CAACC,OAAO,CAAC,CAC5D,CAAC,gBAEfhJ,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAAC1F,UAAA,CAAAa,OAAQ,MAAE,CAET,CAAC,EACNwE,MAAM,CAAC0B,IAAI,iBAAInH,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACtF,QAAA,CAAAyI,WAAW,EAAAhH,QAAA,KAAKwD,MAAM;IAAEiB,OAAO,EAAEvC,WAAY;IAAC+E,OAAO,EAAEA,CAAA,KAAM9E,cAAc,CAAC,KAAK;EAAE,EAAE,CAAC,eAEvGpE,MAAA,CAAAiB,OAAA,CAAA6E,aAAA,CAACvF,SAAA,CAAA4I,MAAM,MAAE,CACT,CAAC;AAEP,CAAC;AAACC,OAAA,CAAA1G,QAAA,GAAAA,QAAA;AAEFA,QAAQ,CAAC2G,WAAW,GAAG,qBAAqB;AAE5C3G,QAAQ,CAAC4G,SAAS,GAAG;EACnB1G,QAAQ,EAAE2G,kBAAS,CAACC;AACtB,CAAC"}
1
+ {"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","style","_Checkout2","_helpers","_partials","_Core","_helpers2","_shared__","_Booking","_Header","_helpers3","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_extends","assign","bind","target","arguments","length","source","key","apply","Checkout","_ref","skeleton","others","isDesktop","useDevice","translate","useLocale","value","checkout","currency","hotel","language","locale","session","urlParams","posError","tpvError","checkoutStep","variant","useStore","busy","setBusy","useState","dataSource","setDataSource","error","setError","selectedExtras","setSelectedExtras","requiredFields","setRequiredFields","modalAgency","setModalAgency","responseError","setResponseError","useEffect","Event","publish","EVENT","METRICS","id","response","ServiceBooking","getParamsFromExtras","catch","CHECKOUT_RESPONSE","event","handleModalAgency","handleErrorConfirmation","window","scrollTo","top","behavior","handleSubmit","origin","pathname","search","document","location","href","concat","toUrlParams","fetchUrlParams","checkoutForm","JSON","stringify","agency","payment","undefined","hasRequiredFields","keys","createElement","Fragment","Header","View","role","tag","testId","className","styles","container","Progress","indeterminate","visible","progress","row","content","wide","main","NotificationRequiredFields","form","values","name","Notification","small","info","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","underline","onPress","action","ACTION_MORE_INFO","NOTIFICATION_UNKNOWN_POS_ERROR","BookingSummary","box","BookingDetails","expanded","Form","showErrors","onError","Extras","onChange","BookingTerms","Confirmation","onSubmit","onValid","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","Footer","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Action, Notification, Progress, styles, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getParamsFromExtras } from './helpers';\nimport { Confirmation, Extras, Form } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { fetchUrlParams } from '../../helpers';\nimport { BookingDetails, BookingSummary, BookingTerms, Footer, NotificationRequiredFields } from '../__shared__';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { Header } from '../Header';\nimport { EVENT, toUrlParams } from '../helpers';\n\nconst Checkout = ({ skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout,\n currency,\n hotel,\n language,\n locale,\n session,\n urlParams: { posError: tpvError, checkoutStep = '1', ...urlParams } = {},\n variant,\n },\n } = useStore();\n\n const [busy, setBusy] = useState(false);\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [selectedExtras, setSelectedExtras] = useState([]);\n const [requiredFields, setRequiredFields] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => Event.publish(EVENT.METRICS, { id: 'CHECKOUT:RENDER' }), []);\n\n useEffect(() => {\n if (skeleton) return;\n\n (async () => {\n setBusy(true);\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session,\n ...urlParams,\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n }).catch((error) => {\n setResponseError(error);\n });\n setBusy(false);\n\n setDataSource(response);\n if (response) Event.publish(EVENT.CHECKOUT_RESPONSE, { event: EVENT.CHECKOUT_RESPONSE, response });\n })();\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [locale, session, selectedExtras]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const handleErrorConfirmation = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n setRequiredFields(error);\n };\n\n const handleSubmit = () => {\n const { origin, pathname, search } = document.location;\n\n document.location.href = `${origin}${pathname}${toUrlParams({\n ...fetchUrlParams(search),\n ...getParamsFromExtras({ selectedExtras, urlParams, variant }),\n // ! TODO\n checkoutForm: JSON.stringify(checkout),\n checkoutStep: 2,\n })}`;\n };\n\n const { agency = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const hasRequiredFields = Object.keys(requiredFields || {}).length > 0;\n\n return (\n <>\n <Header />\n\n <View role=\"checkout\" tag=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={busy || (!response && !responseError)} className={style.progress} />\n {response ? (\n <View row={isDesktop} className={style.content}>\n <View wide className={style.main}>\n {hasRequiredFields && <NotificationRequiredFields form=\"checkout\" values={requiredFields} />}\n {(agency.name || !payment || tpvError) && (\n <Notification error={tpvError} small info wide className={styles(style.agency, others.className)}>\n {!tpvError && !payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {!tpvError &&\n agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n {tpvError && translate(L10N.NOTIFICATION_UNKNOWN_POS_ERROR)}\n </Notification>\n )}\n\n {!isDesktop && (\n <BookingSummary box dataSource={dataSource}>\n {(variant === 'A' || checkoutStep === '1') && <BookingDetails dataSource={dataSource} expanded />}\n </BookingSummary>\n )}\n\n <Form dataSource={dataSource} showErrors={hasRequiredFields} onError={setError} />\n\n {variant === 'B' && checkoutStep === '1' && (\n <Extras hotel={dataSource.hotel} onChange={setSelectedExtras} />\n )}\n\n {isDesktop && (variant === 'A' || checkoutStep === '1') && (\n <BookingDetails dataSource={dataSource} className={style.box} />\n )}\n\n <BookingTerms dataSource={dataSource} small />\n </View>\n\n <Confirmation\n busy={busy}\n dataSource={dataSource}\n error={Object.keys(error || {}).length > 0}\n onError={handleErrorConfirmation}\n onSubmit={handleSubmit}\n onValid={() => setRequiredFields()}\n />\n </View>\n ) : responseError ? (\n <Notification error large>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n ) : (\n <Skeleton />\n )}\n </View>\n {agency.name && <ModalAgency {...agency} visible={modalAgency} onClose={() => setModalAgency(false)} />}\n\n <Footer />\n </>\n );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
@@ -115,6 +115,16 @@ const L10N = exports.L10N = {
115
115
  NOTIFICATION_SESSION_BOOKING: {
116
116
  id: 'user.notification.session_booking'
117
117
  },
118
+ /* -- <Extras> ------------------------------------------------------------ */
119
+ ACTION_FINAL_DETAILS: {
120
+ id: 'payments.action.final_details'
121
+ },
122
+ LABEL_ENHANCED_YOUR_STAY: {
123
+ id: 'common.label.enhance_your_stay'
124
+ },
125
+ LABEL_TOTAL: {
126
+ id: 'common.label.total'
127
+ },
118
128
  /* -- <Confirmation> ------------------------------------------------------ */
119
129
  ACTION_BOOK_NOW: {
120
130
  id: 'user.action.book_now'
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.l10n.js","names":["_Core","require","L10N","exports","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","id","PARAMETER_ERROR","UNKNOWN","LABEL_BOOKING_DETAILS","LABEL_BOOKING_EXTRAS","LABEL_OBSERVATIONS","ACTION_LOGIN","ACTION_MORE_INFO","ACTION_SIGNUP","COMMENTS_HINT","LABEL_ADDRESS","LABEL_CITY","LABEL_COMMENTS","LABEL_COMPANY","LABEL_CONDITIONS","LABEL_COUNTRY","LABEL_DNI","LABEL_EMAIL","LABEL_FIRSTNAME","LABEL_IDPASSPORT","LABEL_JOINCLUB","LABEL_LASTNAME","LABEL_PERSONAL_DETAILS","LABEL_PHONE_PREFIX","LABEL_PHONE","LABEL_PRIVACYPOLICY","LABEL_ROOM_NUMBER","LABEL_SECONDLASTNAME","LABEL_STATEREGION","LABEL_SUBJECT_TO_AVAILABILITY","LABEL_TERMS_AND_CONDITIONS","LABEL_ZIPCODE","NOTIFICATION_AGENCY","NOTIFICATION_NO_CARD","NOTIFICATION_SESSION_BOOKING","ACTION_BOOK_NOW","NOTIFICATION_SSL_ENCRYPTION","NOTIFICATION_UNKNOWN_POS_ERROR"],"sources":["../../../src/components/Checkout/Checkout.l10n.js"],"sourcesContent":["import { ERROR } from '../../Core.constants';\n\nexport const L10N = {\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n // -- <Details> ------------------------------------------------------------- */\n LABEL_BOOKING_DETAILS: { id: 'user.label.booking_details' },\n LABEL_BOOKING_EXTRAS: { id: 'user.label.booking_extras' },\n LABEL_OBSERVATIONS: { id: 'common.label.observations' },\n\n /* -- <Form> -------------------------------------------------------------- */\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_SIGNUP: { id: 'common.action.signup' },\n COMMENTS_HINT: { id: 'user.label.comments_hint' },\n LABEL_ADDRESS: { id: 'common.label.address' },\n LABEL_CITY: { id: 'common.label.city' },\n LABEL_COMMENTS: { id: 'common.label.comments' },\n LABEL_COMPANY: { id: 'common.label.company' },\n LABEL_CONDITIONS: { id: 'user.label.conditions' },\n LABEL_COUNTRY: { id: 'common.label.country' },\n LABEL_DNI: { id: 'common.label.id_card' },\n LABEL_EMAIL: { id: 'common.label.email' },\n LABEL_FIRSTNAME: { id: 'common.label.firstname' },\n LABEL_IDPASSPORT: { id: 'common.label.id_passport' },\n LABEL_JOINCLUB: { id: 'user.label.join_club' },\n LABEL_LASTNAME: { id: 'common.label.lastname' },\n LABEL_PERSONAL_DETAILS: { id: 'user.label.personal_details' },\n LABEL_PHONE_PREFIX: { id: 'common.label.phone_prefix' },\n LABEL_PHONE: { id: 'common.label.phone' },\n LABEL_PRIVACYPOLICY: { id: 'user.label.checkout_privacy_policy' },\n LABEL_ROOM_NUMBER: { id: 'common.label.room_number' },\n LABEL_SECONDLASTNAME: { id: 'common.label.second_lastname' },\n LABEL_STATEREGION: { id: 'common.label.state_region' },\n LABEL_SUBJECT_TO_AVAILABILITY: { id: 'user.label.subject_to_availability' },\n LABEL_TERMS_AND_CONDITIONS: { id: 'common.label.terms_and_conditions' },\n LABEL_ZIPCODE: { id: 'common.label.zip_code' },\n NOTIFICATION_AGENCY: { id: 'user.notification.agency' },\n NOTIFICATION_NO_CARD: { id: 'user.notification.no_card' },\n NOTIFICATION_SESSION_BOOKING: { id: 'user.notification.session_booking' },\n\n /* -- <Confirmation> ------------------------------------------------------ */\n ACTION_BOOK_NOW: { id: 'user.action.book_now' },\n NOTIFICATION_SSL_ENCRYPTION: { id: 'common.notification.ssl_encryption' },\n NOTIFICATION_UNKNOWN_POS_ERROR: { id: 'user.notification.unknown_pos_error' },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,kBAAkB,EAAE;IAClB,CAACC,WAAK,CAACC,aAAa,GAAG;MAAEC,EAAE,EAAE;IAA0C,CAAC;IACxE,CAACF,WAAK,CAACG,eAAe,GAAG;MAAED,EAAE,EAAE;IAAsC,CAAC;IACtE,CAACF,WAAK,CAACI,OAAO,GAAG;MAAEF,EAAE,EAAE;IAAoC;EAC7D,CAAC;EACD;EACAG,qBAAqB,EAAE;IAAEH,EAAE,EAAE;EAA6B,CAAC;EAC3DI,oBAAoB,EAAE;IAAEJ,EAAE,EAAE;EAA4B,CAAC;EACzDK,kBAAkB,EAAE;IAAEL,EAAE,EAAE;EAA4B,CAAC;EAEvD;EACAM,YAAY,EAAE;IAAEN,EAAE,EAAE;EAAsB,CAAC;EAC3CO,gBAAgB,EAAE;IAAEP,EAAE,EAAE;EAA0B,CAAC;EACnDQ,aAAa,EAAE;IAAER,EAAE,EAAE;EAAuB,CAAC;EAC7CS,aAAa,EAAE;IAAET,EAAE,EAAE;EAA2B,CAAC;EACjDU,aAAa,EAAE;IAAEV,EAAE,EAAE;EAAuB,CAAC;EAC7CW,UAAU,EAAE;IAAEX,EAAE,EAAE;EAAoB,CAAC;EACvCY,cAAc,EAAE;IAAEZ,EAAE,EAAE;EAAwB,CAAC;EAC/Ca,aAAa,EAAE;IAAEb,EAAE,EAAE;EAAuB,CAAC;EAC7Cc,gBAAgB,EAAE;IAAEd,EAAE,EAAE;EAAwB,CAAC;EACjDe,aAAa,EAAE;IAAEf,EAAE,EAAE;EAAuB,CAAC;EAC7CgB,SAAS,EAAE;IAAEhB,EAAE,EAAE;EAAuB,CAAC;EACzCiB,WAAW,EAAE;IAAEjB,EAAE,EAAE;EAAqB,CAAC;EACzCkB,eAAe,EAAE;IAAElB,EAAE,EAAE;EAAyB,CAAC;EACjDmB,gBAAgB,EAAE;IAAEnB,EAAE,EAAE;EAA2B,CAAC;EACpDoB,cAAc,EAAE;IAAEpB,EAAE,EAAE;EAAuB,CAAC;EAC9CqB,cAAc,EAAE;IAAErB,EAAE,EAAE;EAAwB,CAAC;EAC/CsB,sBAAsB,EAAE;IAAEtB,EAAE,EAAE;EAA8B,CAAC;EAC7DuB,kBAAkB,EAAE;IAAEvB,EAAE,EAAE;EAA4B,CAAC;EACvDwB,WAAW,EAAE;IAAExB,EAAE,EAAE;EAAqB,CAAC;EACzCyB,mBAAmB,EAAE;IAAEzB,EAAE,EAAE;EAAqC,CAAC;EACjE0B,iBAAiB,EAAE;IAAE1B,EAAE,EAAE;EAA2B,CAAC;EACrD2B,oBAAoB,EAAE;IAAE3B,EAAE,EAAE;EAA+B,CAAC;EAC5D4B,iBAAiB,EAAE;IAAE5B,EAAE,EAAE;EAA4B,CAAC;EACtD6B,6BAA6B,EAAE;IAAE7B,EAAE,EAAE;EAAqC,CAAC;EAC3E8B,0BAA0B,EAAE;IAAE9B,EAAE,EAAE;EAAoC,CAAC;EACvE+B,aAAa,EAAE;IAAE/B,EAAE,EAAE;EAAwB,CAAC;EAC9CgC,mBAAmB,EAAE;IAAEhC,EAAE,EAAE;EAA2B,CAAC;EACvDiC,oBAAoB,EAAE;IAAEjC,EAAE,EAAE;EAA4B,CAAC;EACzDkC,4BAA4B,EAAE;IAAElC,EAAE,EAAE;EAAoC,CAAC;EAEzE;EACAmC,eAAe,EAAE;IAAEnC,EAAE,EAAE;EAAuB,CAAC;EAC/CoC,2BAA2B,EAAE;IAAEpC,EAAE,EAAE;EAAqC,CAAC;EACzEqC,8BAA8B,EAAE;IAAErC,EAAE,EAAE;EAAsC;AAC9E,CAAC"}
1
+ {"version":3,"file":"Checkout.l10n.js","names":["_Core","require","L10N","exports","NOTIFICATION_ERROR","ERROR","NOT_AVAILABLE","id","PARAMETER_ERROR","UNKNOWN","LABEL_BOOKING_DETAILS","LABEL_BOOKING_EXTRAS","LABEL_OBSERVATIONS","ACTION_LOGIN","ACTION_MORE_INFO","ACTION_SIGNUP","COMMENTS_HINT","LABEL_ADDRESS","LABEL_CITY","LABEL_COMMENTS","LABEL_COMPANY","LABEL_CONDITIONS","LABEL_COUNTRY","LABEL_DNI","LABEL_EMAIL","LABEL_FIRSTNAME","LABEL_IDPASSPORT","LABEL_JOINCLUB","LABEL_LASTNAME","LABEL_PERSONAL_DETAILS","LABEL_PHONE_PREFIX","LABEL_PHONE","LABEL_PRIVACYPOLICY","LABEL_ROOM_NUMBER","LABEL_SECONDLASTNAME","LABEL_STATEREGION","LABEL_SUBJECT_TO_AVAILABILITY","LABEL_TERMS_AND_CONDITIONS","LABEL_ZIPCODE","NOTIFICATION_AGENCY","NOTIFICATION_NO_CARD","NOTIFICATION_SESSION_BOOKING","ACTION_FINAL_DETAILS","LABEL_ENHANCED_YOUR_STAY","LABEL_TOTAL","ACTION_BOOK_NOW","NOTIFICATION_SSL_ENCRYPTION","NOTIFICATION_UNKNOWN_POS_ERROR"],"sources":["../../../src/components/Checkout/Checkout.l10n.js"],"sourcesContent":["import { ERROR } from '../../Core.constants';\n\nexport const L10N = {\n NOTIFICATION_ERROR: {\n [ERROR.NOT_AVAILABLE]: { id: 'common.notification.error_not_available' },\n [ERROR.PARAMETER_ERROR]: { id: 'common.notification.error_parameter' },\n [ERROR.UNKNOWN]: { id: 'common.notification.error_unknown' },\n },\n // -- <Details> ------------------------------------------------------------- */\n LABEL_BOOKING_DETAILS: { id: 'user.label.booking_details' },\n LABEL_BOOKING_EXTRAS: { id: 'user.label.booking_extras' },\n LABEL_OBSERVATIONS: { id: 'common.label.observations' },\n\n /* -- <Form> -------------------------------------------------------------- */\n ACTION_LOGIN: { id: 'common.action.login' },\n ACTION_MORE_INFO: { id: 'common.action.more_info' },\n ACTION_SIGNUP: { id: 'common.action.signup' },\n COMMENTS_HINT: { id: 'user.label.comments_hint' },\n LABEL_ADDRESS: { id: 'common.label.address' },\n LABEL_CITY: { id: 'common.label.city' },\n LABEL_COMMENTS: { id: 'common.label.comments' },\n LABEL_COMPANY: { id: 'common.label.company' },\n LABEL_CONDITIONS: { id: 'user.label.conditions' },\n LABEL_COUNTRY: { id: 'common.label.country' },\n LABEL_DNI: { id: 'common.label.id_card' },\n LABEL_EMAIL: { id: 'common.label.email' },\n LABEL_FIRSTNAME: { id: 'common.label.firstname' },\n LABEL_IDPASSPORT: { id: 'common.label.id_passport' },\n LABEL_JOINCLUB: { id: 'user.label.join_club' },\n LABEL_LASTNAME: { id: 'common.label.lastname' },\n LABEL_PERSONAL_DETAILS: { id: 'user.label.personal_details' },\n LABEL_PHONE_PREFIX: { id: 'common.label.phone_prefix' },\n LABEL_PHONE: { id: 'common.label.phone' },\n LABEL_PRIVACYPOLICY: { id: 'user.label.checkout_privacy_policy' },\n LABEL_ROOM_NUMBER: { id: 'common.label.room_number' },\n LABEL_SECONDLASTNAME: { id: 'common.label.second_lastname' },\n LABEL_STATEREGION: { id: 'common.label.state_region' },\n LABEL_SUBJECT_TO_AVAILABILITY: { id: 'user.label.subject_to_availability' },\n LABEL_TERMS_AND_CONDITIONS: { id: 'common.label.terms_and_conditions' },\n LABEL_ZIPCODE: { id: 'common.label.zip_code' },\n NOTIFICATION_AGENCY: { id: 'user.notification.agency' },\n NOTIFICATION_NO_CARD: { id: 'user.notification.no_card' },\n NOTIFICATION_SESSION_BOOKING: { id: 'user.notification.session_booking' },\n\n /* -- <Extras> ------------------------------------------------------------ */\n ACTION_FINAL_DETAILS: { id: 'payments.action.final_details' },\n LABEL_ENHANCED_YOUR_STAY: { id: 'common.label.enhance_your_stay' },\n LABEL_TOTAL: { id: 'common.label.total' },\n\n /* -- <Confirmation> ------------------------------------------------------ */\n ACTION_BOOK_NOW: { id: 'user.action.book_now' },\n NOTIFICATION_SSL_ENCRYPTION: { id: 'common.notification.ssl_encryption' },\n NOTIFICATION_UNKNOWN_POS_ERROR: { id: 'user.notification.unknown_pos_error' },\n};\n"],"mappings":"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"}
@@ -92,6 +92,13 @@ body {
92
92
  box-shadow: none;
93
93
  }
94
94
 
95
+ /* -- Footer --------------------------------------------------------------- */
96
+
97
+ .totalPrice {
98
+ flex: 1;
99
+ gap: var(--mirai-ui-space-XXS);
100
+ }
101
+
95
102
  /* S */
96
103
  @media only screen and (max-width: 480px) {
97
104
  .cta {
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getParamsFromExtras = void 0;
7
+ const getParamsFromExtras = _ref => {
8
+ let {
9
+ selectedExtras = [],
10
+ urlParams = {},
11
+ variant
12
+ } = _ref;
13
+ let {
14
+ extras,
15
+ totalPrice
16
+ } = urlParams;
17
+ if (variant === 'B' && selectedExtras.length > 0) {
18
+ extras = JSON.stringify(selectedExtras.map(_ref2 => {
19
+ let {
20
+ amount = 0,
21
+ id: idExtra,
22
+ included = false,
23
+ nights = 0,
24
+ valueAmount,
25
+ valueNights
26
+ } = _ref2;
27
+ return {
28
+ idExtra,
29
+ included,
30
+ nightsToApply: valueNights || nights,
31
+ numSelected: valueAmount || amount
32
+ };
33
+ }));
34
+ const totalExtras = selectedExtras.reduce(function (total) {
35
+ var _value;
36
+ let {
37
+ amount = 0,
38
+ nights = 0,
39
+ valueAmount,
40
+ valueNights,
41
+ value = {}
42
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
43
+ return total + (((_value = value[valueAmount || amount][valueNights || nights]) === null || _value === void 0 ? void 0 : _value.price) || 0);
44
+ }, 0);
45
+ totalPrice = parseInt(totalPrice) + +(totalExtras * 100).toFixed();
46
+ }
47
+ return {
48
+ extras,
49
+ totalPrice
50
+ };
51
+ };
52
+ exports.getParamsFromExtras = getParamsFromExtras;
53
+ //# sourceMappingURL=getParamsFromExtras.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getParamsFromExtras.js","names":["getParamsFromExtras","_ref","selectedExtras","urlParams","variant","extras","totalPrice","length","JSON","stringify","map","_ref2","amount","id","idExtra","included","nights","valueAmount","valueNights","nightsToApply","numSelected","totalExtras","reduce","total","_value","value","arguments","undefined","price","parseInt","toFixed","exports"],"sources":["../../../../src/components/Checkout/helpers/getParamsFromExtras.js"],"sourcesContent":["export const getParamsFromExtras = ({ selectedExtras = [], urlParams = {}, variant }) => {\n let { extras, totalPrice } = urlParams;\n\n if (variant === 'B' && selectedExtras.length > 0) {\n extras = JSON.stringify(\n selectedExtras.map(({ amount = 0, id: idExtra, included = false, nights = 0, valueAmount, valueNights }) => ({\n idExtra,\n included,\n nightsToApply: valueNights || nights,\n numSelected: valueAmount || amount,\n })),\n );\n\n const totalExtras = selectedExtras.reduce(\n (total, { amount = 0, nights = 0, valueAmount, valueNights, value = {} } = {}) =>\n total + (value[valueAmount || amount][valueNights || nights]?.price || 0),\n 0,\n );\n\n totalPrice = parseInt(totalPrice) + +(totalExtras * 100).toFixed();\n }\n\n return { extras, totalPrice };\n};\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,GAAGC,IAAA,IAAsD;EAAA,IAArD;IAAEC,cAAc,GAAG,EAAE;IAAEC,SAAS,GAAG,CAAC,CAAC;IAAEC;EAAQ,CAAC,GAAAH,IAAA;EAClF,IAAI;IAAEI,MAAM;IAAEC;EAAW,CAAC,GAAGH,SAAS;EAEtC,IAAIC,OAAO,KAAK,GAAG,IAAIF,cAAc,CAACK,MAAM,GAAG,CAAC,EAAE;IAChDF,MAAM,GAAGG,IAAI,CAACC,SAAS,CACrBP,cAAc,CAACQ,GAAG,CAACC,KAAA;MAAA,IAAC;QAAEC,MAAM,GAAG,CAAC;QAAEC,EAAE,EAAEC,OAAO;QAAEC,QAAQ,GAAG,KAAK;QAAEC,MAAM,GAAG,CAAC;QAAEC,WAAW;QAAEC;MAAY,CAAC,GAAAP,KAAA;MAAA,OAAM;QAC3GG,OAAO;QACPC,QAAQ;QACRI,aAAa,EAAED,WAAW,IAAIF,MAAM;QACpCI,WAAW,EAAEH,WAAW,IAAIL;MAC9B,CAAC;IAAA,CAAC,CACJ,CAAC;IAED,MAAMS,WAAW,GAAGnB,cAAc,CAACoB,MAAM,CACvC,UAACC,KAAK;MAAA,IAAAC,MAAA;MAAA,IAAE;QAAEZ,MAAM,GAAG,CAAC;QAAEI,MAAM,GAAG,CAAC;QAAEC,WAAW;QAAEC,WAAW;QAAEO,KAAK,GAAG,CAAC;MAAE,CAAC,GAAAC,SAAA,CAAAnB,MAAA,QAAAmB,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC,CAAC;MAAA,OAC3EH,KAAK,IAAI,EAAAC,MAAA,GAAAC,KAAK,CAACR,WAAW,IAAIL,MAAM,CAAC,CAACM,WAAW,IAAIF,MAAM,CAAC,cAAAQ,MAAA,uBAAnDA,MAAA,CAAqDI,KAAK,KAAI,CAAC,CAAC;IAAA,GAC3E,CACF,CAAC;IAEDtB,UAAU,GAAGuB,QAAQ,CAACvB,UAAU,CAAC,GAAG,CAAC,CAACe,WAAW,GAAG,GAAG,EAAES,OAAO,CAAC,CAAC;EACpE;EAEA,OAAO;IAAEzB,MAAM;IAAEC;EAAW,CAAC;AAC/B,CAAC;AAACyB,OAAA,CAAA/B,mBAAA,GAAAA,mBAAA"}
@@ -14,6 +14,17 @@ Object.keys(_getButtonPaymentKey).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _getParamsFromExtras = require("./getParamsFromExtras");
18
+ Object.keys(_getParamsFromExtras).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _getParamsFromExtras[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _getParamsFromExtras[key];
25
+ }
26
+ });
27
+ });
17
28
  var _getFieldProps = require("./getFieldProps");
18
29
  Object.keys(_getFieldProps).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getButtonPaymentKey","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getFieldProps","_getSchemaProps","_getVariant"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './getButtonPaymentKey';\nexport * from './getFieldProps';\nexport * from './getSchemaProps';\nexport * from './getVariant';\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,cAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,cAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,cAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,WAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,WAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,WAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,WAAA,CAAAP,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_getButtonPaymentKey","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_getParamsFromExtras","_getFieldProps","_getSchemaProps","_getVariant"],"sources":["../../../../src/components/Checkout/helpers/index.js"],"sourcesContent":["export * from './getButtonPaymentKey';\nexport * from './getParamsFromExtras';\nexport * from './getFieldProps';\nexport * from './getSchemaProps';\nexport * from './getVariant';\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,oBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,oBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,oBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,oBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,eAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,eAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,eAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,eAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,WAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,WAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,WAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,WAAA,CAAAR,GAAA;IAAA;EAAA;AAAA"}
@@ -23,14 +23,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
23
  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); }
24
24
  const Confirmation = _ref => {
25
25
  let {
26
+ busy: propBusy = false,
26
27
  dataSource = {},
27
28
  error = false,
28
29
  onError,
30
+ onSubmit = () => {},
29
31
  onValid,
30
32
  ...others
31
33
  } = _ref;
32
34
  const {
33
- isDesktop
35
+ isDesktop,
36
+ isMobile
34
37
  } = (0, _ui.useDevice)();
35
38
  const {
36
39
  translate
@@ -43,7 +46,11 @@ const Confirmation = _ref => {
43
46
  locale,
44
47
  payment,
45
48
  session = {},
46
- urlParams = {}
49
+ urlParams: {
50
+ checkoutStep = '1',
51
+ ...urlParams
52
+ } = {},
53
+ variant
47
54
  } = {}
48
55
  } = (0, _dataSources.useStore)();
49
56
  const refContainer = (0, _react.useRef)();
@@ -104,6 +111,11 @@ const Confirmation = _ref => {
104
111
  });
105
112
  return response;
106
113
  };
114
+ const {
115
+ price: {
116
+ total = 0
117
+ } = {}
118
+ } = dataSource;
107
119
  const CTA = () => {
108
120
  var _config$publicKey, _dataSource$payment;
109
121
  const {
@@ -114,7 +126,8 @@ const Confirmation = _ref => {
114
126
  const {
115
127
  idtokenprovider: id
116
128
  } = urlParams;
117
- return /*#__PURE__*/_react.default.createElement(_shared__.ButtonPayment, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.payment, {
129
+ const noCard = !dataSource.payment;
130
+ return variant === 'A' || noCard || checkoutStep === '2' ? /*#__PURE__*/_react.default.createElement(_shared__.ButtonPayment, _extends({}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.payment, {
118
131
  config: {
119
132
  ...config,
120
133
  publicKey: (_config$publicKey = config.publicKey) === null || _config$publicKey === void 0 ? void 0 : _config$publicKey[payment === null || payment === void 0 ? void 0 : payment.method]
@@ -140,7 +153,31 @@ const Confirmation = _ref => {
140
153
  locale,
141
154
  value
142
155
  })
143
- }));
156
+ })) : /*#__PURE__*/_react.default.createElement(_ui.View, {
157
+ row: total > 0 && !isDesktop,
158
+ wide: true
159
+ }, total > 0 && !isDesktop && /*#__PURE__*/_react.default.createElement(_ui.View, {
160
+ className: style.totalPrice
161
+ }, /*#__PURE__*/_react.default.createElement(_ui.Text, {
162
+ light: true,
163
+ small: !isMobile,
164
+ tiny: isMobile
165
+ }, translate(_Checkout.L10N.LABEL_TOTAL)), /*#__PURE__*/_react.default.createElement(_ui.Text, {
166
+ bold: true,
167
+ headline: !isMobile || total < 1000,
168
+ level: isMobile ? 3 : 2
169
+ }, (0, _locale.currencyFormat)({
170
+ currency,
171
+ _maximumFractionDigits: 0,
172
+ value: total
173
+ }))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
174
+ busy: propBusy,
175
+ large: true,
176
+ wide: true,
177
+ onPress: () => {
178
+ if (error) handlePress();else onSubmit();
179
+ }
180
+ }, translate(_Checkout.L10N.ACTION_FINAL_DETAILS)));
144
181
  };
145
182
  const content = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_BookingSummary.BookingSummary, {
146
183
  dataSource: dataSource
@@ -165,9 +202,11 @@ const Confirmation = _ref => {
165
202
  exports.Confirmation = Confirmation;
166
203
  Confirmation.displayName = 'Mirai:Core:Checkout:Confirmation';
167
204
  Confirmation.propTypes = {
205
+ busy: _propTypes.default.bool,
168
206
  dataSource: _propTypes.default.shape({}),
169
207
  error: _propTypes.default.bool,
170
208
  onError: _propTypes.default.func,
209
+ onSubmit: _propTypes.default.func,
171
210
  onValid: _propTypes.default.func
172
211
  };
173
212
  //# sourceMappingURL=Checkout.Confirmation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","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","Confirmation","_ref","dataSource","error","onError","onValid","others","isDesktop","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","useStore","refContainer","useRef","busy","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","METRICS","id","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","content","Fragment","BookingSummary","View","className","section","Notification","Text","light","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","shape","bool","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({ dataSource = {}, error = false, onError, onValid, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { value: { checkout, hotel = {}, language, locale, payment, session = {}, urlParams = {} } = {} } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\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 Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n\n onValid();\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\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 testId=\"checkout-button\"\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 <BookingSummary dataSource={dataSource} />\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 <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} 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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"}
1
+ {"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Core","_shared__","_BookingSummary","_helpers","_Checkout","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","Confirmation","_ref","busy","propBusy","dataSource","error","onError","onSubmit","onValid","others","isDesktop","isMobile","useDevice","translate","useLocale","value","checkout","hotel","language","locale","payment","session","urlParams","checkoutStep","variant","useStore","refContainer","useRef","setBusy","useState","responseError","setResponseError","useEffect","current","Event","publish","EVENT","FOOTER_HEIGHT_CHANGE","height","offsetHeight","price","prepayment","currency","method","handleError","handlePress","METRICS","id","handleSubmit","response","ServiceBooking","confirm","form","applyClubDiscount","undefined","catch","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","total","CTA","_config$publicKey","_dataSource$payment","config","idtokenprovider","noCard","createElement","ButtonPayment","publicKey","large","promise","wide","onPress","testId","getButtonPaymentKey","info","amount","currencyFormat","View","row","className","totalPrice","Text","light","tiny","LABEL_TOTAL","bold","headline","level","_maximumFractionDigits","Button","ACTION_FINAL_DETAILS","content","Fragment","BookingSummary","section","Notification","footer","NOTIFICATION_SSL_ENCRYPTION","ref","confirmation","exports","displayName","propTypes","PropTypes","bool","shape","func"],"sources":["../../../../src/components/Checkout/partials/Checkout.Confirmation.jsx"],"sourcesContent":["import { Event, useStore } from '@mirai/data-sources';\nimport { currencyFormat, useLocale } from '@mirai/locale';\nimport { ServiceBooking } from '@mirai/services';\nimport { Button, Notification, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { ERROR } from '../../../Core.constants';\nimport { ButtonPayment } from '../../__shared__';\nimport { BookingSummary } from '../../__shared__/BookingSummary';\nimport { EVENT } from '../../helpers';\nimport { L10N } from '../Checkout.l10n';\nimport * as style from '../Checkout.module.css';\nimport { getButtonPaymentKey } from '../helpers';\n\nconst Confirmation = ({\n busy: propBusy = false,\n dataSource = {},\n error = false,\n onError,\n onSubmit = () => {},\n onValid,\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n const { translate } = useLocale();\n const {\n value: {\n checkout,\n hotel = {},\n language,\n locale,\n payment,\n session = {},\n urlParams: { checkoutStep = '1', ...urlParams } = {},\n variant,\n } = {},\n } = useStore();\n const refContainer = useRef();\n\n const [busy, setBusy] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n !isDesktop &&\n refContainer?.current &&\n Event.publish(EVENT.FOOTER_HEIGHT_CHANGE, { height: refContainer?.current.offsetHeight });\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 Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n onError();\n return false;\n }\n setBusy(true);\n };\n\n const handleSubmit = async (value) => {\n if (error) return onError();\n Event.publish(EVENT.METRICS, { id: 'CHECKOUT:SUBMIT' });\n\n onValid();\n setResponseError();\n\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\n return response;\n };\n\n const { price: { total = 0 } = {} } = dataSource;\n\n const CTA = () => {\n const { payment: { config = {} } = {} } = dataSource;\n const { idtokenprovider: id } = urlParams;\n const noCard = !dataSource.payment;\n\n return variant === 'A' || noCard || checkoutStep === '2' ? (\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 testId=\"checkout-button\"\n >\n {translate(getButtonPaymentKey({ ...config, ...dataSource?.payment?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, value }),\n })}\n </ButtonPayment>\n ) : (\n <View row={total > 0 && !isDesktop} wide>\n {total > 0 && !isDesktop && (\n <View className={style.totalPrice}>\n <Text light small={!isMobile} tiny={isMobile}>\n {translate(L10N.LABEL_TOTAL)}\n </Text>\n <Text bold headline={!isMobile || total < 1000} level={isMobile ? 3 : 2}>\n {currencyFormat({ currency, _maximumFractionDigits: 0, value: total })}\n </Text>\n </View>\n )}\n <Button\n busy={propBusy}\n large\n wide\n onPress={() => {\n if (error) handlePress();\n else onSubmit();\n }}\n >\n {translate(L10N.ACTION_FINAL_DETAILS)}\n </Button>\n </View>\n );\n };\n\n const content = () => (\n <>\n <BookingSummary dataSource={dataSource} />\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 <Text light small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n </View>\n </>\n );\n\n return (\n <View ref={refContainer} {...others} className={style.confirmation}>\n {isDesktop ? content() : CTA()}\n </View>\n );\n};\n\nConfirmation.displayName = 'Mirai:Core:Checkout:Confirmation';\n\nConfirmation.propTypes = {\n busy: PropTypes.bool,\n dataSource: PropTypes.shape({}),\n error: PropTypes.bool,\n onError: PropTypes.func,\n onSubmit: PropTypes.func,\n onValid: PropTypes.func,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}