@mirai/core 0.3.145 → 0.3.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Core.constants.js +6 -1
- package/build/Core.constants.js.map +1 -1
- package/build/components/Booking/Booking.js +6 -2
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.l10n.js +8 -8
- package/build/components/Booking/Booking.l10n.js.map +1 -1
- package/build/components/Booking/partials/Booking.Menu.js +1 -1
- package/build/components/Booking/partials/Booking.Menu.js.map +1 -1
- package/build/components/Booking/partials/Booking.PriceBreakdown.js +48 -18
- package/build/components/Booking/partials/Booking.PriceBreakdown.js.map +1 -1
- package/build/components/Booking/partials/__tests__/__snapshots__/Booking.Menu.test.js.snap +0 -252
- package/build/components/Checkout/Checkout.constants.js +1 -6
- package/build/components/Checkout/Checkout.constants.js.map +1 -1
- package/build/components/Checkout/Checkout.js +1 -1
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.l10n.js +4 -4
- package/build/components/Checkout/Checkout.l10n.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +3 -2
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/PCI.js +4 -4
- package/build/components/__shared__/Payment/components/PCI/PCI.js.map +1 -1
- package/package.json +1 -1
|
@@ -264,69 +264,6 @@ exports[`component:<Booking> partial:<Menu> inherit:className 1`] = `
|
|
|
264
264
|
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
265
265
|
</span>
|
|
266
266
|
</div>
|
|
267
|
-
<div
|
|
268
|
-
class="view wide"
|
|
269
|
-
>
|
|
270
|
-
<button
|
|
271
|
-
class="pressable button large wide"
|
|
272
|
-
>
|
|
273
|
-
<div
|
|
274
|
-
class="view busyContainer"
|
|
275
|
-
>
|
|
276
|
-
<div
|
|
277
|
-
class="view spinner"
|
|
278
|
-
/>
|
|
279
|
-
</div>
|
|
280
|
-
<div
|
|
281
|
-
class="view row children"
|
|
282
|
-
>
|
|
283
|
-
user.action.book_now
|
|
284
|
-
</div>
|
|
285
|
-
</button>
|
|
286
|
-
<div
|
|
287
|
-
class="pressable container overflow"
|
|
288
|
-
style="height: 768px;"
|
|
289
|
-
>
|
|
290
|
-
<div
|
|
291
|
-
class="view fit modal calcWidth"
|
|
292
|
-
>
|
|
293
|
-
<div
|
|
294
|
-
class="view forceRow header"
|
|
295
|
-
>
|
|
296
|
-
<button
|
|
297
|
-
class="pressable button small squared transparent button"
|
|
298
|
-
>
|
|
299
|
-
<span
|
|
300
|
-
class="icon headline-3 icon"
|
|
301
|
-
>
|
|
302
|
-
<svg
|
|
303
|
-
fill="currentColor"
|
|
304
|
-
height="1em"
|
|
305
|
-
stroke="currentColor"
|
|
306
|
-
stroke-width="0"
|
|
307
|
-
viewBox="0 0 24 24"
|
|
308
|
-
width="1em"
|
|
309
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
310
|
-
>
|
|
311
|
-
<path
|
|
312
|
-
d="M0 0h24v24H0V0z"
|
|
313
|
-
fill="none"
|
|
314
|
-
/>
|
|
315
|
-
<path
|
|
316
|
-
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
317
|
-
/>
|
|
318
|
-
</svg>
|
|
319
|
-
</span>
|
|
320
|
-
</button>
|
|
321
|
-
</div>
|
|
322
|
-
</div>
|
|
323
|
-
</div>
|
|
324
|
-
<span
|
|
325
|
-
class="text small lighten wide"
|
|
326
|
-
>
|
|
327
|
-
common.notification.ssl_encryption
|
|
328
|
-
</span>
|
|
329
|
-
</div>
|
|
330
267
|
</div>
|
|
331
268
|
</div>
|
|
332
269
|
</div>
|
|
@@ -598,69 +535,6 @@ exports[`component:<Booking> partial:<Menu> renders 1`] = `
|
|
|
598
535
|
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
599
536
|
</span>
|
|
600
537
|
</div>
|
|
601
|
-
<div
|
|
602
|
-
class="view wide"
|
|
603
|
-
>
|
|
604
|
-
<button
|
|
605
|
-
class="pressable button large wide"
|
|
606
|
-
>
|
|
607
|
-
<div
|
|
608
|
-
class="view busyContainer"
|
|
609
|
-
>
|
|
610
|
-
<div
|
|
611
|
-
class="view spinner"
|
|
612
|
-
/>
|
|
613
|
-
</div>
|
|
614
|
-
<div
|
|
615
|
-
class="view row children"
|
|
616
|
-
>
|
|
617
|
-
user.action.book_now
|
|
618
|
-
</div>
|
|
619
|
-
</button>
|
|
620
|
-
<div
|
|
621
|
-
class="pressable container overflow"
|
|
622
|
-
style="height: 768px;"
|
|
623
|
-
>
|
|
624
|
-
<div
|
|
625
|
-
class="view fit modal calcWidth"
|
|
626
|
-
>
|
|
627
|
-
<div
|
|
628
|
-
class="view forceRow header"
|
|
629
|
-
>
|
|
630
|
-
<button
|
|
631
|
-
class="pressable button small squared transparent button"
|
|
632
|
-
>
|
|
633
|
-
<span
|
|
634
|
-
class="icon headline-3 icon"
|
|
635
|
-
>
|
|
636
|
-
<svg
|
|
637
|
-
fill="currentColor"
|
|
638
|
-
height="1em"
|
|
639
|
-
stroke="currentColor"
|
|
640
|
-
stroke-width="0"
|
|
641
|
-
viewBox="0 0 24 24"
|
|
642
|
-
width="1em"
|
|
643
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
644
|
-
>
|
|
645
|
-
<path
|
|
646
|
-
d="M0 0h24v24H0V0z"
|
|
647
|
-
fill="none"
|
|
648
|
-
/>
|
|
649
|
-
<path
|
|
650
|
-
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
651
|
-
/>
|
|
652
|
-
</svg>
|
|
653
|
-
</span>
|
|
654
|
-
</button>
|
|
655
|
-
</div>
|
|
656
|
-
</div>
|
|
657
|
-
</div>
|
|
658
|
-
<span
|
|
659
|
-
class="text small lighten wide"
|
|
660
|
-
>
|
|
661
|
-
common.notification.ssl_encryption
|
|
662
|
-
</span>
|
|
663
|
-
</div>
|
|
664
538
|
</div>
|
|
665
539
|
</div>
|
|
666
540
|
</div>
|
|
@@ -933,69 +807,6 @@ exports[`component:<Booking> partial:<Menu> testID 1`] = `
|
|
|
933
807
|
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
934
808
|
</span>
|
|
935
809
|
</div>
|
|
936
|
-
<div
|
|
937
|
-
class="view wide"
|
|
938
|
-
>
|
|
939
|
-
<button
|
|
940
|
-
class="pressable button large wide"
|
|
941
|
-
>
|
|
942
|
-
<div
|
|
943
|
-
class="view busyContainer"
|
|
944
|
-
>
|
|
945
|
-
<div
|
|
946
|
-
class="view spinner"
|
|
947
|
-
/>
|
|
948
|
-
</div>
|
|
949
|
-
<div
|
|
950
|
-
class="view row children"
|
|
951
|
-
>
|
|
952
|
-
user.action.book_now
|
|
953
|
-
</div>
|
|
954
|
-
</button>
|
|
955
|
-
<div
|
|
956
|
-
class="pressable container overflow"
|
|
957
|
-
style="height: 768px;"
|
|
958
|
-
>
|
|
959
|
-
<div
|
|
960
|
-
class="view fit modal calcWidth"
|
|
961
|
-
>
|
|
962
|
-
<div
|
|
963
|
-
class="view forceRow header"
|
|
964
|
-
>
|
|
965
|
-
<button
|
|
966
|
-
class="pressable button small squared transparent button"
|
|
967
|
-
>
|
|
968
|
-
<span
|
|
969
|
-
class="icon headline-3 icon"
|
|
970
|
-
>
|
|
971
|
-
<svg
|
|
972
|
-
fill="currentColor"
|
|
973
|
-
height="1em"
|
|
974
|
-
stroke="currentColor"
|
|
975
|
-
stroke-width="0"
|
|
976
|
-
viewBox="0 0 24 24"
|
|
977
|
-
width="1em"
|
|
978
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
979
|
-
>
|
|
980
|
-
<path
|
|
981
|
-
d="M0 0h24v24H0V0z"
|
|
982
|
-
fill="none"
|
|
983
|
-
/>
|
|
984
|
-
<path
|
|
985
|
-
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
986
|
-
/>
|
|
987
|
-
</svg>
|
|
988
|
-
</span>
|
|
989
|
-
</button>
|
|
990
|
-
</div>
|
|
991
|
-
</div>
|
|
992
|
-
</div>
|
|
993
|
-
<span
|
|
994
|
-
class="text small lighten wide"
|
|
995
|
-
>
|
|
996
|
-
common.notification.ssl_encryption
|
|
997
|
-
</span>
|
|
998
|
-
</div>
|
|
999
810
|
</div>
|
|
1000
811
|
</div>
|
|
1001
812
|
</div>
|
|
@@ -1267,69 +1078,6 @@ exports[`component:<Booking> partial:<Menu> with a store 1`] = `
|
|
|
1267
1078
|
} Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
|
|
1268
1079
|
</span>
|
|
1269
1080
|
</div>
|
|
1270
|
-
<div
|
|
1271
|
-
class="view wide"
|
|
1272
|
-
>
|
|
1273
|
-
<button
|
|
1274
|
-
class="pressable button large wide"
|
|
1275
|
-
>
|
|
1276
|
-
<div
|
|
1277
|
-
class="view busyContainer"
|
|
1278
|
-
>
|
|
1279
|
-
<div
|
|
1280
|
-
class="view spinner"
|
|
1281
|
-
/>
|
|
1282
|
-
</div>
|
|
1283
|
-
<div
|
|
1284
|
-
class="view row children"
|
|
1285
|
-
>
|
|
1286
|
-
user.action.book_now
|
|
1287
|
-
</div>
|
|
1288
|
-
</button>
|
|
1289
|
-
<div
|
|
1290
|
-
class="pressable container overflow"
|
|
1291
|
-
style="height: 768px;"
|
|
1292
|
-
>
|
|
1293
|
-
<div
|
|
1294
|
-
class="view fit modal calcWidth"
|
|
1295
|
-
>
|
|
1296
|
-
<div
|
|
1297
|
-
class="view forceRow header"
|
|
1298
|
-
>
|
|
1299
|
-
<button
|
|
1300
|
-
class="pressable button small squared transparent button"
|
|
1301
|
-
>
|
|
1302
|
-
<span
|
|
1303
|
-
class="icon headline-3 icon"
|
|
1304
|
-
>
|
|
1305
|
-
<svg
|
|
1306
|
-
fill="currentColor"
|
|
1307
|
-
height="1em"
|
|
1308
|
-
stroke="currentColor"
|
|
1309
|
-
stroke-width="0"
|
|
1310
|
-
viewBox="0 0 24 24"
|
|
1311
|
-
width="1em"
|
|
1312
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
1313
|
-
>
|
|
1314
|
-
<path
|
|
1315
|
-
d="M0 0h24v24H0V0z"
|
|
1316
|
-
fill="none"
|
|
1317
|
-
/>
|
|
1318
|
-
<path
|
|
1319
|
-
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
|
|
1320
|
-
/>
|
|
1321
|
-
</svg>
|
|
1322
|
-
</span>
|
|
1323
|
-
</button>
|
|
1324
|
-
</div>
|
|
1325
|
-
</div>
|
|
1326
|
-
</div>
|
|
1327
|
-
<span
|
|
1328
|
-
class="text small lighten wide"
|
|
1329
|
-
>
|
|
1330
|
-
common.notification.ssl_encryption
|
|
1331
|
-
</span>
|
|
1332
|
-
</div>
|
|
1333
1081
|
</div>
|
|
1334
1082
|
</div>
|
|
1335
1083
|
</div>
|
|
@@ -3,14 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VARIANTS = exports.TRACKING = exports.REDIRECT_PATH = exports.FORM_STORAGE_KEY = exports.FORM_STORAGE_CACHE = exports.FORMAT_DATE_SHORT = exports.FORMAT_DATE = exports.FORMAT_CURRENCY = exports.FIELD = exports.FEATURE_CHECKOUT_TRACKING = exports.FEATURE_CHECKOUT_EXPERIMENT =
|
|
6
|
+
exports.VARIANTS = exports.TRACKING = exports.REDIRECT_PATH = exports.FORM_STORAGE_KEY = exports.FORM_STORAGE_CACHE = exports.FORMAT_DATE_SHORT = exports.FORMAT_DATE = exports.FORMAT_CURRENCY = exports.FIELD = exports.FEATURE_CHECKOUT_TRACKING = exports.FEATURE_CHECKOUT_EXPERIMENT = void 0;
|
|
7
7
|
var _ui = require("@mirai/ui");
|
|
8
8
|
var _components = require("./components");
|
|
9
|
-
const ERROR = exports.ERROR = {
|
|
10
|
-
NOT_AVAILABLE: 4,
|
|
11
|
-
PARAMETER_ERROR: 3,
|
|
12
|
-
UNKNOWN: 1
|
|
13
|
-
};
|
|
14
9
|
const FEATURE_CHECKOUT_EXPERIMENT = exports.FEATURE_CHECKOUT_EXPERIMENT = 'checkoutExperiment';
|
|
15
10
|
const FEATURE_CHECKOUT_TRACKING = exports.FEATURE_CHECKOUT_TRACKING = 'checkoutTracking';
|
|
16
11
|
const FIELD = exports.FIELD = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.constants.js","names":["_ui","require","_components","
|
|
1
|
+
{"version":3,"file":"Checkout.constants.js","names":["_ui","require","_components","FEATURE_CHECKOUT_EXPERIMENT","exports","FEATURE_CHECKOUT_TRACKING","FIELD","InputOption","InputPhone","InputRadio","InputSelect","InputText","Text","FORM_STORAGE_CACHE","FORM_STORAGE_KEY","FORMAT_CURRENCY","currency","symbol","FORMAT_DATE","weekday","year","month","day","FORMAT_DATE_SHORT","REDIRECT_PATH","TRACKING","VARIANTS"],"sources":["../../../src/components/Checkout/Checkout.constants.js"],"sourcesContent":["import { InputOption, InputPhone, InputSelect, InputText, Text } from '@mirai/ui';\n\nimport { InputRadio } from './components';\n\nconst FEATURE_CHECKOUT_EXPERIMENT = 'checkoutExperiment';\n\nconst FEATURE_CHECKOUT_TRACKING = 'checkoutTracking';\n\nconst FIELD = {\n InputOption,\n InputPhone,\n InputRadio,\n InputSelect,\n InputText,\n Text,\n};\n\nconst FORM_STORAGE_CACHE = 1000 * 60 * 60 * 24 * 7; // 7 days\n\nconst FORM_STORAGE_KEY = 'MIRAI:CHECKOUT:FORM';\n\nconst FORMAT_CURRENCY = { currency: 'EUR', symbol: true };\n\nconst FORMAT_DATE = { weekday: 'short', year: 'numeric', month: 'short', day: 'numeric' };\n\nconst FORMAT_DATE_SHORT = { weekday: 'short', month: 'short', day: 'numeric' };\n\nconst REDIRECT_PATH = 'miraiFrontDispatcher.htm';\n\nconst TRACKING = 'CHECKOUT';\n\nconst VARIANTS = ['A', 'B'];\n\nexport {\n FEATURE_CHECKOUT_EXPERIMENT,\n FEATURE_CHECKOUT_TRACKING,\n FIELD,\n FORM_STORAGE_CACHE,\n FORM_STORAGE_KEY,\n FORMAT_CURRENCY,\n FORMAT_DATE,\n FORMAT_DATE_SHORT,\n REDIRECT_PATH,\n TRACKING,\n VARIANTS,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,MAAME,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,oBAAoB;AAExD,MAAME,yBAAyB,GAAAD,OAAA,CAAAC,yBAAA,GAAG,kBAAkB;AAEpD,MAAMC,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAG;EACZC,WAAW,EAAXA,eAAW;EACXC,UAAU,EAAVA,cAAU;EACVC,UAAU,EAAVA,sBAAU;EACVC,WAAW,EAAXA,eAAW;EACXC,SAAS,EAATA,aAAS;EACTC,IAAI,EAAJA;AACF,CAAC;AAED,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;;AAEpD,MAAMC,gBAAgB,GAAAV,OAAA,CAAAU,gBAAA,GAAG,qBAAqB;AAE9C,MAAMC,eAAe,GAAAX,OAAA,CAAAW,eAAA,GAAG;EAAEC,QAAQ,EAAE,KAAK;EAAEC,MAAM,EAAE;AAAK,CAAC;AAEzD,MAAMC,WAAW,GAAAd,OAAA,CAAAc,WAAA,GAAG;EAAEC,OAAO,EAAE,OAAO;EAAEC,IAAI,EAAE,SAAS;EAAEC,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAEzF,MAAMC,iBAAiB,GAAAnB,OAAA,CAAAmB,iBAAA,GAAG;EAAEJ,OAAO,EAAE,OAAO;EAAEE,KAAK,EAAE,OAAO;EAAEC,GAAG,EAAE;AAAU,CAAC;AAE9E,MAAME,aAAa,GAAApB,OAAA,CAAAoB,aAAA,GAAG,0BAA0B;AAEhD,MAAMC,QAAQ,GAAArB,OAAA,CAAAqB,QAAA,GAAG,UAAU;AAE3B,MAAMC,QAAQ,GAAAtB,OAAA,CAAAsB,QAAA,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC"}
|
|
@@ -176,7 +176,7 @@ const Checkout = _ref => {
|
|
|
176
176
|
}))) : responseError ? /*#__PURE__*/_react.default.createElement(_ui.Notification, {
|
|
177
177
|
error: true,
|
|
178
178
|
large: true
|
|
179
|
-
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) ||
|
|
179
|
+
}, translate(_Checkout2.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Core.ERROR.UNKNOWN])) : /*#__PURE__*/_react.default.createElement(_Checkout3.default, null)), agency.name && /*#__PURE__*/_react.default.createElement(_Booking.ModalAgency, _extends({}, agency, {
|
|
180
180
|
visible: modalAgency,
|
|
181
181
|
onClose: () => setModalAgency(false)
|
|
182
182
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_Core","_partials2","_Booking","_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","Checkout","_ref","session","showSession","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","club","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","payment","variant","getVariant","active","authentication","type","createElement","Fragment","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","AUTH_TYPE","MIRAI","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } 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 { ERROR, FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = false, skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { club = {}, currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isDesktop, urlParams });\n const { active, authentication: { type } = {} } = club;\n\n return (\n <>\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} variant={variant} className={style.box} />}\n\n {!isDesktop && <Details dataSource={dataSource} variant={variant} />}\n {active && !session && showSession && type === AUTH_TYPE.MIRAI && <Session />}\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {isDesktop && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\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 );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Checkout.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_Checkout2","style","_Checkout3","_helpers","_partials","_Core","_partials2","_Booking","_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","Checkout","_ref","session","showSession","skeleton","others","isDesktop","useDevice","translate","useLocale","track","trackRender","useMetrics","value","club","currency","hotel","id","language","locale","urlParams","useStore","dataSource","setDataSource","useState","error","setError","modalAgency","setModalAgency","responseError","setResponseError","useEffect","ServiceFeatures","FEATURE_CHECKOUT_TRACKING","concat","TRACKING","response","ServiceBooking","checkout","applyClubDiscount","undefined","catch","service","method","trace","tracking","chainId","idchain","window","addEventListener","innerHeight","scrollY","documentElement","scrollHeight","document","handleModalAgency","agency","image","payment","variant","getVariant","active","authentication","type","createElement","Fragment","View","role","testId","className","styles","container","Progress","indeterminate","visible","progress","src","logo","row","content","main","Summary","box","Details","AUTH_TYPE","MIRAI","Session","name","Notification","small","info","wide","L10N","NOTIFICATION_NO_CARD","NOTIFICATION_AGENCY","link","Action","inline","underline","onPress","action","ACTION_MORE_INFO","Form","onError","Others","Confirmation","disabled","large","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","ModalAgency","onClose","exports","displayName","propTypes","PropTypes","bool"],"sources":["../../../src/components/Checkout/Checkout.jsx"],"sourcesContent":["import { useMetrics, useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { ServiceBooking, ServiceFeatures } 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 { FEATURE_CHECKOUT_TRACKING, TRACKING } from './Checkout.constants';\nimport { L10N } from './Checkout.l10n';\nimport * as style from './Checkout.module.css';\nimport Skeleton from './Checkout.skeleton';\nimport { getVariant } from './helpers';\nimport { Confirmation, Details, Form, Session, Summary } from './partials';\nimport { ERROR } from '../../Core.constants';\nimport { AUTH_TYPE } from '../../Core.constants';\nimport { Others } from '../Booking/partials';\nimport { ModalAgency } from '../Booking/partials/Booking.ModalAgency';\nimport { trace } from '../helpers';\n\nlet hasTracking = false;\n\nconst Checkout = ({ session: showSession = false, skeleton, ...others }) => {\n const { isDesktop } = useDevice();\n const { translate } = useLocale();\n const { track, trackRender } = useMetrics();\n const {\n value: { club = {}, currency, hotel, id, language, locale, session, urlParams = {} },\n } = useStore();\n\n const [dataSource, setDataSource] = useState();\n const [error, setError] = useState();\n const [modalAgency, setModalAgency] = useState(false);\n const [responseError, setResponseError] = useState();\n\n useEffect(() => {\n if (skeleton) return;\n\n hasTracking = ServiceFeatures.get(FEATURE_CHECKOUT_TRACKING, id);\n hasTracking && trackRender(`${TRACKING}:RENDER`, { locale });\n\n (async () => {\n const response = await ServiceBooking.checkout({\n currency,\n hotel,\n language,\n locale,\n session: urlParams.applyClubDiscount === 'true' ? session : undefined,\n ...urlParams,\n }).catch((error) => {\n setResponseError(error);\n hasTracking && track(`${TRACKING}:ERROR:SERVICE`, { service: 'Booking', method: 'checkout', error });\n });\n setDataSource(response);\n response && trace({ ...response.tracking, chainId: urlParams.idchain });\n })();\n\n window.addEventListener('scroll', () => {\n if (!hasTracking) return;\n const { innerHeight = 0, scrollY } = window;\n const { documentElement: { scrollHeight = 0 } = {} } = document;\n\n if (scrollY >= scrollHeight - innerHeight) track(`${TRACKING}:SCROLL:BOTTOM`);\n else if (scrollY === 0) track(`${TRACKING}:SCROLL:TOP`);\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session]);\n\n const handleModalAgency = () => {\n setModalAgency(true);\n };\n\n const { agency = {}, hotel: { image } = {}, payment } = dataSource || {};\n const response = dataSource !== undefined;\n const variant = getVariant({ id, isDesktop, urlParams });\n const { active, authentication: { type } = {} } = club;\n\n return (\n <>\n <View role=\"checkout\" testId={others.testId} className={styles(style.container, others.className)}>\n <Progress indeterminate visible={!response && !responseError} className={style.progress} />\n {response ? (\n <>\n <img src={image} className={style.logo} />\n\n <View row={isDesktop} className={style.content}>\n <View className={style.main}>\n {variant === 'B' && <Summary dataSource={dataSource} variant={variant} className={style.box} />}\n\n {!isDesktop && <Details dataSource={dataSource} variant={variant} />}\n {active && !session && showSession && type === AUTH_TYPE.MIRAI && <Session />}\n {(agency.name || !payment) && (\n <Notification small info wide className={styles(style.agency, others.className)}>\n {!payment && `${translate(L10N.NOTIFICATION_NO_CARD)} `}\n {agency.name &&\n translate(L10N.NOTIFICATION_AGENCY, {\n agency: agency.name,\n link: (\n <>\n <Action inline underline small onPress={handleModalAgency} className={styles(style.action)}>\n {translate(L10N.ACTION_MORE_INFO)}\n </Action>\n </>\n ),\n })}\n </Notification>\n )}\n <Form dataSource={dataSource} onError={setError} />\n {isDesktop && <Details dataSource={dataSource} variant={variant} />}\n <Others dataSource={dataSource} small tracking={TRACKING} />\n </View>\n\n <Confirmation dataSource={dataSource} disabled={error} variant={variant} />\n </View>\n </>\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 );\n};\n\nCheckout.displayName = 'Mirai:Core:Checkout';\n\nCheckout.propTypes = {\n session: PropTypes.bool,\n skeleton: PropTypes.bool,\n};\n\nexport { Checkout };\n"],"mappings":"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"}
|
|
@@ -4,16 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.L10N = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _Core = require("../../Core.constants");
|
|
8
8
|
const L10N = exports.L10N = {
|
|
9
9
|
NOTIFICATION_ERROR: {
|
|
10
|
-
[
|
|
10
|
+
[_Core.ERROR.NOT_AVAILABLE]: {
|
|
11
11
|
id: 'common.notification.error_not_available'
|
|
12
12
|
},
|
|
13
|
-
[
|
|
13
|
+
[_Core.ERROR.PARAMETER_ERROR]: {
|
|
14
14
|
id: 'common.notification.error_parameter'
|
|
15
15
|
},
|
|
16
|
-
[
|
|
16
|
+
[_Core.ERROR.UNKNOWN]: {
|
|
17
17
|
id: 'common.notification.error_unknown'
|
|
18
18
|
}
|
|
19
19
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.l10n.js","names":["
|
|
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_COMMENTS","LABEL_COMPANY","LABEL_COUNTRY","LABEL_DNI","LABEL_EMAIL","LABEL_FIRSTNAME","LABEL_JOINCLUB","LABEL_LASTNAME","LABEL_PERSONAL_DETAILS","LABEL_PHONE","LABEL_PHONE_PREFIX","LABEL_PRIVACYPOLICY","LABEL_ROOM_NUMBER","LABEL_SUBJECT_TO_AVAILABILITY","LABEL_SECONDLASTNAME","LABEL_TERMS_AND_CONDITIONS","NOTIFICATION_AGENCY","NOTIFICATION_NO_CARD","NOTIFICATION_SESSION_BOOKING","ACTION_CHANGE_SELECTION","LABEL_ACCOMODATION","LABEL_BOOKING_SUMMARY","LABEL_CHECK_IN","LABEL_CHECKIN_TIME","LABEL_CHECK_OUT","LABEL_CHECKOUT_TIME","LABEL_NIGHT_COUNT","LABEL_ROOM_COUNT","LABEL_YOUR_RESERVATION","ACTION_BOOK_NOW","NOTIFICATION_SSL_ENCRYPTION"],"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_COMMENTS: { id: 'common.label.comments' },\n LABEL_COMPANY: { id: 'common.label.company' },\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_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: { id: 'common.label.phone' },\n LABEL_PHONE_PREFIX: { id: 'common.label.phone_prefix' },\n LABEL_PRIVACYPOLICY: { id: 'user.label.checkout_privacy_policy' },\n LABEL_ROOM_NUMBER: { id: 'common.label.room_number' },\n LABEL_SUBJECT_TO_AVAILABILITY: { id: 'user.label.subject_to_availability' },\n LABEL_SECONDLASTNAME: { id: 'common.label.second_lastname' },\n LABEL_TERMS_AND_CONDITIONS: { id: 'common.label.terms_and_conditions' },\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 /* -- <Summary> ----------------------------------------------------------- */\n ACTION_CHANGE_SELECTION: { id: 'user.action.change_selection' },\n LABEL_ACCOMODATION: { id: 'common.label.accommodation' },\n LABEL_BOOKING_SUMMARY: { id: 'user.label.booking_summary' },\n LABEL_CHECK_IN: { id: 'common.label.check_in' },\n LABEL_CHECKIN_TIME: { id: 'common.label.checkin_time' },\n LABEL_CHECK_OUT: { id: 'common.label.check_out' },\n LABEL_CHECKOUT_TIME: { id: 'common.label.checkout_time' },\n LABEL_NIGHT_COUNT: { id: 'common.label.night_count' },\n LABEL_ROOM_COUNT: { id: 'common.label.room_count' },\n LABEL_YOUR_RESERVATION: { id: 'user.label.your_reservation' },\n\n /* -- <Confirmation> ------------------------------------------------------ */\n ACTION_BOOK_NOW: { id: 'user.action.book_now' },\n NOTIFICATION_SSL_ENCRYPTION: { id: 'common.notification.ssl_encryption' },\n};\n"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var _ui = require("@mirai/ui");
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _Checkout = require("./Checkout.Summary");
|
|
14
|
+
var _Core = require("../../../Core.constants");
|
|
14
15
|
var _shared__ = require("../../__shared__");
|
|
15
16
|
var _helpers = require("../../helpers");
|
|
16
17
|
var _Checkout2 = require("../Checkout.constants");
|
|
@@ -98,7 +99,7 @@ const Confirmation = _ref => {
|
|
|
98
99
|
if (variant === 'B') _dataSources.Event.publish(_helpers.EVENT.NOTIFICATION, {
|
|
99
100
|
error: true,
|
|
100
101
|
small: true,
|
|
101
|
-
defaultMessage: translate(_Checkout3.L10N.NOTIFICATION_ERROR[(error === null || error === void 0 ? void 0 : error.code) ||
|
|
102
|
+
defaultMessage: translate(_Checkout3.L10N.NOTIFICATION_ERROR[(error === null || error === void 0 ? void 0 : error.code) || _Core.ERROR.UNKNOWN])
|
|
102
103
|
});
|
|
103
104
|
hasTracking && track("".concat(_Checkout2.TRACKING, ":ERROR:SERVICE"), {
|
|
104
105
|
service: 'Booking',
|
|
@@ -168,7 +169,7 @@ const Confirmation = _ref => {
|
|
|
168
169
|
small: true,
|
|
169
170
|
wide: true,
|
|
170
171
|
className: (0, _ui.styles)(style.notification, style.error)
|
|
171
|
-
}, translate(_Checkout3.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) ||
|
|
172
|
+
}, translate(_Checkout3.L10N.NOTIFICATION_ERROR[(responseError === null || responseError === void 0 ? void 0 : responseError.code) || _Core.ERROR.UNKNOWN])), CTA(), !isMobile && /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
172
173
|
small: true,
|
|
173
174
|
wide: true,
|
|
174
175
|
className: style.footer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkout.Confirmation.js","names":["_dataSources","require","_locale","_services","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_Checkout","_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","disabled","variant","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","error","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onError","onPress","className","cta","getButtonPaymentKey","info","amount","currencyFormat","symbol","content","Fragment","React","ScrollView","snap","width","scrollview","Summary","Notification","styles","notification","Text","footer","NOTIFICATION_SSL_ENCRYPTION","View","row","box","confirmation","Button","ACTION_BOOK_NOW","Modal","title","LABEL_BOOKING_SUMMARY","visible","onClose","exports","displayName","propTypes","PropTypes","shape","bool","string"],"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, styles, Text, useDevice, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { Summary } from './Checkout.Summary';\nimport { ButtonPayment } from '../../__shared__';\nimport { EVENT, getButtonPaymentKey } from '../../helpers';\nimport { ERROR, 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 = {}, disabled = false, variant, ...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 = () => setBusy(true);\n\n const handleSubmit = async (value) => {\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 disabled={disabled}\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?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, symbol: true, 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 {responseError && (\n <Notification error small wide className={styles(style.notification, style.error)}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </>\n );\n\n return (\n <View {...others} row={isMobile} className={styles(style.box, style.confirmation)}>\n {isDesktop ? (\n content()\n ) : variant === 'B' ? (\n CTA()\n ) : (\n <Button busy={busy} disabled={disabled} large wide onPress={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 disabled: PropTypes.bool,\n variant: PropTypes.string,\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","_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","disabled","variant","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","error","Event","publish","EVENT","NOTIFICATION","small","defaultMessage","L10N","NOTIFICATION_ERROR","code","ERROR","UNKNOWN","service","CTA","_config$publicKey","config","idtokenprovider","createElement","ButtonPayment","publicKey","large","promise","wide","onError","onPress","className","cta","getButtonPaymentKey","info","amount","currencyFormat","symbol","content","Fragment","React","ScrollView","snap","width","scrollview","Summary","Notification","styles","notification","Text","footer","NOTIFICATION_SSL_ENCRYPTION","View","row","box","confirmation","Button","ACTION_BOOK_NOW","Modal","title","LABEL_BOOKING_SUMMARY","visible","onClose","exports","displayName","propTypes","PropTypes","shape","bool","string"],"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, styles, 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 = {}, disabled = false, variant, ...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 = () => setBusy(true);\n\n const handleSubmit = async (value) => {\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 disabled={disabled}\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?.info, method: payment?.method }), {\n amount: currencyFormat({ currency, locale, symbol: true, 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 {responseError && (\n <Notification error small wide className={styles(style.notification, style.error)}>\n {translate(L10N.NOTIFICATION_ERROR[responseError?.code || ERROR.UNKNOWN])}\n </Notification>\n )}\n\n {CTA()}\n\n {!isMobile && (\n <Text small wide className={style.footer}>\n {translate(L10N.NOTIFICATION_SSL_ENCRYPTION)}\n </Text>\n )}\n </>\n );\n\n return (\n <View {...others} row={isMobile} className={styles(style.box, style.confirmation)}>\n {isDesktop ? (\n content()\n ) : variant === 'B' ? (\n CTA()\n ) : (\n <Button busy={busy} disabled={disabled} large wide onPress={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 disabled: PropTypes.bool,\n variant: PropTypes.string,\n};\n\nexport { Confirmation };\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
21
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
22
|
let secureFields;
|
|
23
23
|
const PCI = _ref => {
|
|
24
|
-
var _form$name, _form$expire;
|
|
24
|
+
var _form$name, _form$expire, _form$expire2;
|
|
25
25
|
let {
|
|
26
26
|
publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,
|
|
27
27
|
showCVV = true,
|
|
@@ -255,10 +255,10 @@ const PCI = _ref => {
|
|
|
255
255
|
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
256
256
|
row: true
|
|
257
257
|
}, /*#__PURE__*/_react.default.createElement(_InputField.InputField, {
|
|
258
|
-
error: !!formError.expire,
|
|
258
|
+
error: (form === null || form === void 0 ? void 0 : (_form$expire = form.expire) === null || _form$expire === void 0 ? void 0 : _form$expire.length) > 0 && !!formError.expire,
|
|
259
259
|
label: translate(_PCI2.L10N.LABEL_EXPIRATION),
|
|
260
260
|
showRequired: true,
|
|
261
|
-
success: ((_form$
|
|
261
|
+
success: ((_form$expire2 = form.expire) === null || _form$expire2 === void 0 ? void 0 : _form$expire2.length) > 0 && !formError.expire,
|
|
262
262
|
className: style.expire,
|
|
263
263
|
testId: testId ? "".concat(testId, "-PCI-expire") : undefined
|
|
264
264
|
}, /*#__PURE__*/_react.default.createElement(_ui.Input, {
|
|
@@ -266,7 +266,7 @@ const PCI = _ref => {
|
|
|
266
266
|
name: "expire",
|
|
267
267
|
placeholder: "".concat(translate(_PCI2.L10N.LABEL_MONTH_FORMAT), "/").concat(translate(_PCI2.L10N.LABEL_YEAR_FORMAT)),
|
|
268
268
|
required: true,
|
|
269
|
-
test: _helpers2.testExpire,
|
|
269
|
+
test: expire => (expire === null || expire === void 0 ? void 0 : expire.length) > 0 && (0, _helpers2.testExpire)(expire),
|
|
270
270
|
value: form.expire,
|
|
271
271
|
onChange: value => handleChange('expire', value),
|
|
272
272
|
onError: error => handleError('expire', error)
|