@mirai/core 0.3.175 → 0.3.176
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/.env +7 -4
- package/build/components/Booking/Booking.js +1 -1
- package/build/components/Booking/Booking.js.map +1 -1
- package/build/components/Booking/Booking.l10n.js +0 -15
- package/build/components/Booking/Booking.l10n.js.map +1 -1
- package/build/components/Booking/Booking.module.css +0 -9
- package/build/components/Booking/components/Hotelverse/Hotelverse.js +1 -1
- package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Booking/partials/index.js +2 -13
- package/build/components/Booking/partials/index.js.map +1 -1
- package/build/components/Chat/Chat.constants.js +28 -0
- package/build/components/Chat/Chat.constants.js.map +1 -0
- package/build/components/Chat/Chat.js +231 -0
- package/build/components/Chat/Chat.js.map +1 -0
- package/build/components/Chat/Chat.l10n.js +24 -0
- package/build/components/Chat/Chat.l10n.js.map +1 -0
- package/build/components/Chat/Chat.module.css +90 -0
- package/build/components/Chat/Chat.theme.module.css +49 -0
- package/build/components/Chat/components/Avatar/Avatar.js +68 -0
- package/build/components/Chat/components/Avatar/Avatar.js.map +1 -0
- package/build/components/Chat/components/Avatar/Avatar.module.css +81 -0
- package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +97 -0
- package/build/components/Chat/components/Avatar/index.js +17 -0
- package/build/components/Chat/components/Avatar/index.js.map +1 -0
- package/build/components/Chat/components/Input/Input.js +72 -0
- package/build/components/Chat/components/Input/Input.js.map +1 -0
- package/build/components/Chat/components/Input/Input.l10n.js +15 -0
- package/build/components/Chat/components/Input/Input.l10n.js.map +1 -0
- package/build/components/Chat/components/Input/Input.module.css +19 -0
- package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +175 -0
- package/build/components/Chat/components/Input/index.js +17 -0
- package/build/components/Chat/components/Input/index.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.List.js +52 -0
- package/build/components/Chat/components/InputRich/InputRich.List.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.js +182 -0
- package/build/components/Chat/components/InputRich/InputRich.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.l10n.js +12 -0
- package/build/components/Chat/components/InputRich/InputRich.l10n.js.map +1 -0
- package/build/components/Chat/components/InputRich/InputRich.module.css +73 -0
- package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +275 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseList.js +20 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseList.js.map +1 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js +27 -0
- package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js.map +1 -0
- package/build/components/Chat/components/InputRich/helpers/index.js +28 -0
- package/build/components/Chat/components/InputRich/helpers/index.js.map +1 -0
- package/build/components/Chat/components/InputRich/index.js +17 -0
- package/build/components/Chat/components/InputRich/index.js.map +1 -0
- package/build/components/Chat/components/Message/Message.constants.js +18 -0
- package/build/components/Chat/components/Message/Message.constants.js.map +1 -0
- package/build/components/Chat/components/Message/Message.js +104 -0
- package/build/components/Chat/components/Message/Message.js.map +1 -0
- package/build/components/Chat/components/Message/Message.module.css +126 -0
- package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +211 -0
- package/build/components/Chat/components/Message/components/Booking.js +63 -0
- package/build/components/Chat/components/Message/components/Booking.js.map +1 -0
- package/build/components/Chat/components/Message/components/Card.js +67 -0
- package/build/components/Chat/components/Message/components/Card.js.map +1 -0
- package/build/components/Chat/components/Message/components/Card.module.css +41 -0
- package/build/components/Chat/components/Message/components/Environment.js +58 -0
- package/build/components/Chat/components/Message/components/Environment.js.map +1 -0
- package/build/components/Chat/components/Message/components/Environment.module.css +22 -0
- package/build/components/Chat/components/Message/components/index.js +39 -0
- package/build/components/Chat/components/Message/components/index.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/getActionIcon.js +13 -0
- package/build/components/Chat/components/Message/helpers/getActionIcon.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/getTime.js +28 -0
- package/build/components/Chat/components/Message/helpers/getTime.js.map +1 -0
- package/build/components/Chat/components/Message/helpers/index.js +28 -0
- package/build/components/Chat/components/Message/helpers/index.js.map +1 -0
- package/build/components/Chat/components/Message/index.js +17 -0
- package/build/components/Chat/components/Message/index.js.map +1 -0
- package/build/components/Chat/components/Message/intents/BookingQuery.js +66 -0
- package/build/components/Chat/components/Message/intents/BookingQuery.js.map +1 -0
- package/build/components/Chat/components/Message/intents/HotelInfo.js +73 -0
- package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -0
- package/build/components/Chat/components/Message/intents/Offers.js +57 -0
- package/build/components/Chat/components/Message/intents/Offers.js.map +1 -0
- package/build/components/Chat/components/Message/intents/Unknown.js +67 -0
- package/build/components/Chat/components/Message/intents/Unknown.js.map +1 -0
- package/build/components/Chat/components/Message/intents/index.js +50 -0
- package/build/components/Chat/components/Message/intents/index.js.map +1 -0
- package/build/components/Chat/components/Offline/Offline.js +22 -0
- package/build/components/Chat/components/Offline/Offline.js.map +1 -0
- package/build/components/Chat/components/Offline/Offline.module.css +3 -0
- package/build/components/Chat/components/Offline/index.js +17 -0
- package/build/components/Chat/components/Offline/index.js.map +1 -0
- package/build/components/Chat/components/index.js +61 -0
- package/build/components/Chat/components/index.js.map +1 -0
- package/build/components/Chat/helpers/getVerboseDate.js +18 -0
- package/build/components/Chat/helpers/getVerboseDate.js.map +1 -0
- package/build/components/Chat/helpers/index.js +17 -0
- package/build/components/Chat/helpers/index.js.map +1 -0
- package/build/components/Chat/index.js +17 -0
- package/build/components/Chat/index.js.map +1 -0
- package/build/components/Checkout/Checkout.js +20 -5
- package/build/components/Checkout/Checkout.js.map +1 -1
- package/build/components/Checkout/Checkout.module.css +14 -0
- package/build/components/Checkout/helpers/getFieldProps.js +3 -1
- package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Confirmation.js +11 -7
- package/build/components/Checkout/partials/Checkout.Confirmation.js.map +1 -1
- package/build/components/Checkout/partials/Checkout.Form.js +23 -4
- package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
- package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +932 -16
- package/build/components/Profile/components/Settings/Settings.Account.js +26 -8
- package/build/components/Profile/components/Settings/Settings.Account.js.map +1 -1
- package/build/components/Profile/components/Settings/Settings.module.css +4 -0
- package/build/components/Rates/Rates.constants.js +1 -0
- package/build/components/Rates/Rates.constants.js.map +1 -1
- package/build/components/Rates/Rates.js +2 -0
- package/build/components/Rates/Rates.js.map +1 -1
- package/build/components/Rates/components/Hotelverse/Hotelverse.js +1 -1
- package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
- package/build/components/Rates/components/Item/components/Features/Features.js +27 -2
- package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +5 -1
- package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -1
- package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
- package/build/components/Signup/Signup.js +24 -6
- package/build/components/Signup/Signup.js.map +1 -1
- package/build/components/Signup/Signup.module.css +4 -0
- package/build/components/Signup/__tests__/__snapshots__/Signup.test.js.snap +24 -9
- package/build/components/{Booking/partials/Booking.Others.js → __shared__/BookingTerms/BookingTerms.js} +17 -18
- package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js +27 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js.map +1 -0
- package/build/components/__shared__/BookingTerms/BookingTerms.module.css +42 -0
- package/build/components/{Booking/partials/__tests__/__snapshots__/Booking.Others.test.js.snap → __shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap} +4 -8
- package/build/components/__shared__/BookingTerms/index.js +17 -0
- package/build/components/__shared__/BookingTerms/index.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js +52 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.l10n.js +62 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.l10n.js.map +1 -0
- package/build/components/__shared__/NotificationRequiredFields/NotificationRequiredFields.module.css +8 -0
- package/build/components/__shared__/NotificationRequiredFields/index.js +17 -0
- package/build/components/__shared__/NotificationRequiredFields/index.js.map +1 -0
- package/build/components/__shared__/Payment/Payment.js +1 -1
- package/build/components/__shared__/Payment/Payment.js.map +1 -1
- package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +302 -8
- package/build/components/__shared__/Payment/components/Card/Card.js +4 -0
- package/build/components/__shared__/Payment/components/Card/Card.js.map +1 -1
- package/build/components/__shared__/Payment/components/Card/__tests__/__snapshots__/Card.test.js.snap +23 -0
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js +2 -0
- package/build/components/__shared__/Payment/components/Card/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/PCI.constants.js +1 -2
- package/build/components/__shared__/Payment/components/PCI/PCI.constants.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/PCI.js +59 -56
- package/build/components/__shared__/Payment/components/PCI/PCI.js.map +1 -1
- package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +15 -0
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js +2 -0
- package/build/components/__shared__/Payment/components/PCI/helpers/formatValues.js.map +1 -1
- package/build/components/__shared__/Payment/helpers/formatExpire.js +15 -0
- package/build/components/__shared__/Payment/helpers/formatExpire.js.map +1 -0
- package/build/components/__shared__/Payment/helpers/index.js +11 -0
- package/build/components/__shared__/Payment/helpers/index.js.map +1 -1
- package/build/components/__shared__/index.js +22 -0
- package/build/components/__shared__/index.js.map +1 -1
- package/build/components/helpers/ICON.js +13 -0
- package/build/components/helpers/ICON.js.map +1 -1
- package/build/components/index.js +2 -0
- package/build/components/index.js.map +1 -1
- package/build/services/Lisa/action.js +28 -0
- package/build/services/Lisa/action.js.map +1 -0
- package/build/services/Lisa/index.js +17 -0
- package/build/services/Lisa/index.js.map +1 -0
- package/build/services/Lisa/message.js +26 -0
- package/build/services/Lisa/message.js.map +1 -0
- package/build/services/Lisa/status.js +13 -0
- package/build/services/Lisa/status.js.map +1 -0
- package/build/services/Lisa/welcome.js +25 -0
- package/build/services/Lisa/welcome.js.map +1 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +21 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +6 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +4 -0
- package/build/services/Rates/__tests__/__mocks__/rates-response.json +6 -0
- package/build/services/Rates/extras.js +1 -1
- package/build/services/Rates/extras.js.map +1 -1
- package/build/services/Rates/helpers/getItems.js +1 -1
- package/build/services/Rates/helpers/getItems.js.map +1 -1
- package/build/services/Rates/helpers/parseBoards.js +1 -0
- package/build/services/Rates/helpers/parseBoards.js.map +1 -1
- package/build/services/index.js +11 -0
- package/build/services/index.js.map +1 -1
- package/package.json +1 -1
- package/public/App.Container.jsx +2 -0
- package/build/components/Booking/partials/Booking.Others.js.map +0 -1
|
@@ -26,6 +26,7 @@ exports[`component:<Card> inherit:className 1`] = `
|
|
|
26
26
|
</span>
|
|
27
27
|
<input
|
|
28
28
|
class="input input withLabel"
|
|
29
|
+
id="checkout-card"
|
|
29
30
|
maxlength="19"
|
|
30
31
|
name="card"
|
|
31
32
|
placeholder="0000 0000 0000 0000"
|
|
@@ -57,6 +58,7 @@ exports[`component:<Card> inherit:className 1`] = `
|
|
|
57
58
|
</span>
|
|
58
59
|
<input
|
|
59
60
|
class="input input withLabel"
|
|
61
|
+
id="checkout-name"
|
|
60
62
|
maxlength="100"
|
|
61
63
|
minlength="3"
|
|
62
64
|
name="name"
|
|
@@ -88,6 +90,7 @@ exports[`component:<Card> inherit:className 1`] = `
|
|
|
88
90
|
</span>
|
|
89
91
|
<input
|
|
90
92
|
class="input input withLabel"
|
|
93
|
+
id="checkout-expire"
|
|
91
94
|
maxlength="5"
|
|
92
95
|
name="expire"
|
|
93
96
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -119,6 +122,7 @@ exports[`component:<Card> inherit:className 1`] = `
|
|
|
119
122
|
</span>
|
|
120
123
|
<input
|
|
121
124
|
class="input input withLabel"
|
|
125
|
+
id="checkout-CVV"
|
|
122
126
|
maxlength="3"
|
|
123
127
|
name="CVV"
|
|
124
128
|
placeholder="000"
|
|
@@ -159,6 +163,7 @@ exports[`component:<Card> prop:error 1`] = `
|
|
|
159
163
|
</span>
|
|
160
164
|
<input
|
|
161
165
|
class="input input withLabel"
|
|
166
|
+
id="checkout-card"
|
|
162
167
|
maxlength="19"
|
|
163
168
|
name="card"
|
|
164
169
|
placeholder="0000 0000 0000 0000"
|
|
@@ -216,6 +221,7 @@ exports[`component:<Card> prop:error 1`] = `
|
|
|
216
221
|
</span>
|
|
217
222
|
<input
|
|
218
223
|
class="input input withLabel"
|
|
224
|
+
id="checkout-name"
|
|
219
225
|
maxlength="100"
|
|
220
226
|
minlength="3"
|
|
221
227
|
name="name"
|
|
@@ -247,6 +253,7 @@ exports[`component:<Card> prop:error 1`] = `
|
|
|
247
253
|
</span>
|
|
248
254
|
<input
|
|
249
255
|
class="input input withLabel"
|
|
256
|
+
id="checkout-expire"
|
|
250
257
|
maxlength="5"
|
|
251
258
|
name="expire"
|
|
252
259
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -278,6 +285,7 @@ exports[`component:<Card> prop:error 1`] = `
|
|
|
278
285
|
</span>
|
|
279
286
|
<input
|
|
280
287
|
class="input input withLabel"
|
|
288
|
+
id="checkout-CVV"
|
|
281
289
|
maxlength="3"
|
|
282
290
|
name="CVV"
|
|
283
291
|
placeholder="000"
|
|
@@ -320,6 +328,7 @@ exports[`component:<Card> prop:showCVV 1`] = `
|
|
|
320
328
|
<input
|
|
321
329
|
class="input input withLabel"
|
|
322
330
|
data-testid="showCVV-card"
|
|
331
|
+
id="checkout-card"
|
|
323
332
|
maxlength="19"
|
|
324
333
|
name="card"
|
|
325
334
|
placeholder="0000 0000 0000 0000"
|
|
@@ -352,6 +361,7 @@ exports[`component:<Card> prop:showCVV 1`] = `
|
|
|
352
361
|
<input
|
|
353
362
|
class="input input withLabel"
|
|
354
363
|
data-testid="showCVV-name"
|
|
364
|
+
id="checkout-name"
|
|
355
365
|
maxlength="100"
|
|
356
366
|
minlength="3"
|
|
357
367
|
name="name"
|
|
@@ -384,6 +394,7 @@ exports[`component:<Card> prop:showCVV 1`] = `
|
|
|
384
394
|
<input
|
|
385
395
|
class="input input withLabel"
|
|
386
396
|
data-testid="showCVV-expire"
|
|
397
|
+
id="checkout-expire"
|
|
387
398
|
maxlength="5"
|
|
388
399
|
name="expire"
|
|
389
400
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -424,6 +435,7 @@ exports[`component:<Card> prop:showErrors 1`] = `
|
|
|
424
435
|
</span>
|
|
425
436
|
<input
|
|
426
437
|
class="input input withLabel"
|
|
438
|
+
id="checkout-card"
|
|
427
439
|
maxlength="19"
|
|
428
440
|
name="card"
|
|
429
441
|
placeholder="0000 0000 0000 0000"
|
|
@@ -476,6 +488,7 @@ exports[`component:<Card> prop:showErrors 1`] = `
|
|
|
476
488
|
</span>
|
|
477
489
|
<input
|
|
478
490
|
class="input input withLabel"
|
|
491
|
+
id="checkout-name"
|
|
479
492
|
maxlength="100"
|
|
480
493
|
minlength="3"
|
|
481
494
|
name="name"
|
|
@@ -528,6 +541,7 @@ exports[`component:<Card> prop:showErrors 1`] = `
|
|
|
528
541
|
</span>
|
|
529
542
|
<input
|
|
530
543
|
class="input input withLabel"
|
|
544
|
+
id="checkout-expire"
|
|
531
545
|
maxlength="5"
|
|
532
546
|
name="expire"
|
|
533
547
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -580,6 +594,7 @@ exports[`component:<Card> prop:showErrors 1`] = `
|
|
|
580
594
|
</span>
|
|
581
595
|
<input
|
|
582
596
|
class="input input withLabel"
|
|
597
|
+
id="checkout-CVV"
|
|
583
598
|
maxlength="3"
|
|
584
599
|
name="CVV"
|
|
585
600
|
placeholder="000"
|
|
@@ -641,6 +656,7 @@ exports[`component:<Card> renders 1`] = `
|
|
|
641
656
|
</span>
|
|
642
657
|
<input
|
|
643
658
|
class="input input withLabel"
|
|
659
|
+
id="checkout-card"
|
|
644
660
|
maxlength="19"
|
|
645
661
|
name="card"
|
|
646
662
|
placeholder="0000 0000 0000 0000"
|
|
@@ -672,6 +688,7 @@ exports[`component:<Card> renders 1`] = `
|
|
|
672
688
|
</span>
|
|
673
689
|
<input
|
|
674
690
|
class="input input withLabel"
|
|
691
|
+
id="checkout-name"
|
|
675
692
|
maxlength="100"
|
|
676
693
|
minlength="3"
|
|
677
694
|
name="name"
|
|
@@ -703,6 +720,7 @@ exports[`component:<Card> renders 1`] = `
|
|
|
703
720
|
</span>
|
|
704
721
|
<input
|
|
705
722
|
class="input input withLabel"
|
|
723
|
+
id="checkout-expire"
|
|
706
724
|
maxlength="5"
|
|
707
725
|
name="expire"
|
|
708
726
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -734,6 +752,7 @@ exports[`component:<Card> renders 1`] = `
|
|
|
734
752
|
</span>
|
|
735
753
|
<input
|
|
736
754
|
class="input input withLabel"
|
|
755
|
+
id="checkout-CVV"
|
|
737
756
|
maxlength="3"
|
|
738
757
|
name="CVV"
|
|
739
758
|
placeholder="000"
|
|
@@ -776,6 +795,7 @@ exports[`component:<Card> testID 1`] = `
|
|
|
776
795
|
<input
|
|
777
796
|
class="input input withLabel"
|
|
778
797
|
data-testid="mirai-card"
|
|
798
|
+
id="checkout-card"
|
|
779
799
|
maxlength="19"
|
|
780
800
|
name="card"
|
|
781
801
|
placeholder="0000 0000 0000 0000"
|
|
@@ -808,6 +828,7 @@ exports[`component:<Card> testID 1`] = `
|
|
|
808
828
|
<input
|
|
809
829
|
class="input input withLabel"
|
|
810
830
|
data-testid="mirai-name"
|
|
831
|
+
id="checkout-name"
|
|
811
832
|
maxlength="100"
|
|
812
833
|
minlength="3"
|
|
813
834
|
name="name"
|
|
@@ -840,6 +861,7 @@ exports[`component:<Card> testID 1`] = `
|
|
|
840
861
|
<input
|
|
841
862
|
class="input input withLabel"
|
|
842
863
|
data-testid="mirai-expire"
|
|
864
|
+
id="checkout-expire"
|
|
843
865
|
maxlength="5"
|
|
844
866
|
name="expire"
|
|
845
867
|
placeholder="payments.label.month_format/payments.label.year_format"
|
|
@@ -872,6 +894,7 @@ exports[`component:<Card> testID 1`] = `
|
|
|
872
894
|
<input
|
|
873
895
|
class="input input withLabel"
|
|
874
896
|
data-testid="mirai-CVV"
|
|
897
|
+
id="checkout-CVV"
|
|
875
898
|
maxlength="3"
|
|
876
899
|
name="CVV"
|
|
877
900
|
placeholder="000"
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.formatValues = void 0;
|
|
7
7
|
var _getCardConfig = require("./getCardConfig");
|
|
8
8
|
var _getCardType = require("./getCardType");
|
|
9
|
+
var _helpers = require("../../../helpers");
|
|
9
10
|
const PARSER = [/[^\d]/g, ''];
|
|
10
11
|
const formatValues = function () {
|
|
11
12
|
let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -17,6 +18,7 @@ const formatValues = function () {
|
|
|
17
18
|
} = values;
|
|
18
19
|
card = card.replace(...PARSER);
|
|
19
20
|
CVV = CVV.replace(...PARSER);
|
|
21
|
+
expire = (0, _helpers.formatExpire)(expire);
|
|
20
22
|
name = name.toUpperCase();
|
|
21
23
|
const {
|
|
22
24
|
placeholder = {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatValues.js","names":["_getCardConfig","require","_getCardType","PARSER","formatValues","values","arguments","length","undefined","card","CVV","expire","name","replace","toUpperCase","placeholder","getCardConfig","cardArray","map","char","shift","join","trimEnd","type","getCardType","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/formatValues.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { getCardType } from './getCardType';\n\nconst PARSER = [/[^\\d]/g, ''];\n\nexport const formatValues = (values = {}) => {\n let { card = '', CVV = '', expire = '', name = '' } = values;\n\n card = card.replace(...PARSER);\n CVV = CVV.replace(...PARSER);\n name = name.toUpperCase();\n\n const { placeholder = {} } = getCardConfig(card);\n const cardArray = card ? [...card] : [];\n card = [...placeholder.card]\n .map((char = '') => (char === ' ' ? char : cardArray.length >= 0 ? cardArray.shift() : ''))\n .join('')\n .trimEnd();\n\n return { card, CVV, expire, name, type: getCardType(card) };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,
|
|
1
|
+
{"version":3,"file":"formatValues.js","names":["_getCardConfig","require","_getCardType","_helpers","PARSER","formatValues","values","arguments","length","undefined","card","CVV","expire","name","replace","formatExpire","toUpperCase","placeholder","getCardConfig","cardArray","map","char","shift","join","trimEnd","type","getCardType","exports"],"sources":["../../../../../../../src/components/__shared__/Payment/components/Card/helpers/formatValues.js"],"sourcesContent":["import { getCardConfig } from './getCardConfig';\nimport { getCardType } from './getCardType';\nimport { formatExpire } from '../../../helpers';\n\nconst PARSER = [/[^\\d]/g, ''];\n\nexport const formatValues = (values = {}) => {\n let { card = '', CVV = '', expire = '', name = '' } = values;\n\n card = card.replace(...PARSER);\n CVV = CVV.replace(...PARSER);\n expire = formatExpire(expire);\n name = name.toUpperCase();\n\n const { placeholder = {} } = getCardConfig(card);\n const cardArray = card ? [...card] : [];\n card = [...placeholder.card]\n .map((char = '') => (char === ' ' ? char : cardArray.length >= 0 ? cardArray.shift() : ''))\n .join('')\n .trimEnd();\n\n return { card, CVV, expire, name, type: getCardType(card) };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,MAAMG,MAAM,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEtB,MAAMC,YAAY,GAAG,SAAAA,CAAA,EAAiB;EAAA,IAAhBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACtC,IAAI;IAAEG,IAAI,GAAG,EAAE;IAAEC,GAAG,GAAG,EAAE;IAAEC,MAAM,GAAG,EAAE;IAAEC,IAAI,GAAG;EAAG,CAAC,GAAGP,MAAM;EAE5DI,IAAI,GAAGA,IAAI,CAACI,OAAO,CAAC,GAAGV,MAAM,CAAC;EAC9BO,GAAG,GAAGA,GAAG,CAACG,OAAO,CAAC,GAAGV,MAAM,CAAC;EAC5BQ,MAAM,GAAG,IAAAG,qBAAY,EAACH,MAAM,CAAC;EAC7BC,IAAI,GAAGA,IAAI,CAACG,WAAW,CAAC,CAAC;EAEzB,MAAM;IAAEC,WAAW,GAAG,CAAC;EAAE,CAAC,GAAG,IAAAC,4BAAa,EAACR,IAAI,CAAC;EAChD,MAAMS,SAAS,GAAGT,IAAI,GAAG,CAAC,GAAGA,IAAI,CAAC,GAAG,EAAE;EACvCA,IAAI,GAAG,CAAC,GAAGO,WAAW,CAACP,IAAI,CAAC,CACzBU,GAAG,CAAC;IAAA,IAACC,IAAI,GAAAd,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAAA,OAAMc,IAAI,KAAK,GAAG,GAAGA,IAAI,GAAGF,SAAS,CAACX,MAAM,IAAI,CAAC,GAAGW,SAAS,CAACG,KAAK,CAAC,CAAC,GAAG,EAAE;EAAA,CAAC,CAAC,CAC1FC,IAAI,CAAC,EAAE,CAAC,CACRC,OAAO,CAAC,CAAC;EAEZ,OAAO;IAAEd,IAAI;IAAEC,GAAG;IAAEC,MAAM;IAAEC,IAAI;IAAEY,IAAI,EAAE,IAAAC,wBAAW,EAAChB,IAAI;EAAE,CAAC;AAC7D,CAAC;AAACiB,OAAA,CAAAtB,YAAA,GAAAA,YAAA"}
|
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SCRIPT_ID = exports.PLACEHOLDER_CVV = exports.PLACEHOLDER_CARD = exports.PCI_CARD = exports.
|
|
6
|
+
exports.SCRIPT_ID = exports.PLACEHOLDER_CVV = exports.PLACEHOLDER_CARD = exports.PCI_CARD = exports.ERROR = void 0;
|
|
7
7
|
var _Payment = require("../../Payment.constants");
|
|
8
8
|
const ERROR = exports.ERROR = {
|
|
9
9
|
error: true
|
|
10
10
|
};
|
|
11
|
-
const NUMBER_FIELDS = exports.NUMBER_FIELDS = 4;
|
|
12
11
|
const PCI_CARD = exports.PCI_CARD = {
|
|
13
12
|
VIS: _Payment.CARD.VISA,
|
|
14
13
|
AMX: _Payment.CARD.AMERICAN_EXPRESS,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PCI.constants.js","names":["_Payment","require","ERROR","exports","error","
|
|
1
|
+
{"version":3,"file":"PCI.constants.js","names":["_Payment","require","ERROR","exports","error","PCI_CARD","VIS","CARD","VISA","AMX","AMERICAN_EXPRESS","ECA","MASTERCARD","JCB","DIS","DISCOVER","DIN","DINERS_CLUB","CUP","UNIONPAY","MAU","MAESTRO","PLACEHOLDER_CARD","PLACEHOLDER_CVV","SCRIPT_ID"],"sources":["../../../../../../src/components/__shared__/Payment/components/PCI/PCI.constants.js"],"sourcesContent":["import { CARD } from '../../Payment.constants';\n\nconst ERROR = { error: true };\n\nconst PCI_CARD = {\n VIS: CARD.VISA,\n AMX: CARD.AMERICAN_EXPRESS,\n ECA: CARD.MASTERCARD,\n JCB: CARD.JCB,\n DIS: CARD.DISCOVER,\n DIN: CARD.DINERS_CLUB,\n CUP: CARD.UNIONPAY,\n MAU: CARD.MAESTRO,\n};\n\nconst PLACEHOLDER_CARD = '0000 0000 0000 0000';\n\nconst PLACEHOLDER_CVV = '000';\n\nconst SCRIPT_ID = 'script-pci-proxy';\n\nexport { ERROR, PCI_CARD, PLACEHOLDER_CARD, PLACEHOLDER_CVV, SCRIPT_ID };\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EAAEE,KAAK,EAAE;AAAK,CAAC;AAE7B,MAAMC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,GAAG;EACfC,GAAG,EAAEC,aAAI,CAACC,IAAI;EACdC,GAAG,EAAEF,aAAI,CAACG,gBAAgB;EAC1BC,GAAG,EAAEJ,aAAI,CAACK,UAAU;EACpBC,GAAG,EAAEN,aAAI,CAACM,GAAG;EACbC,GAAG,EAAEP,aAAI,CAACQ,QAAQ;EAClBC,GAAG,EAAET,aAAI,CAACU,WAAW;EACrBC,GAAG,EAAEX,aAAI,CAACY,QAAQ;EAClBC,GAAG,EAAEb,aAAI,CAACc;AACZ,CAAC;AAED,MAAMC,gBAAgB,GAAAnB,OAAA,CAAAmB,gBAAA,GAAG,qBAAqB;AAE9C,MAAMC,eAAe,GAAApB,OAAA,CAAAoB,eAAA,GAAG,KAAK;AAE7B,MAAMC,SAAS,GAAArB,OAAA,CAAAqB,SAAA,GAAG,kBAAkB"}
|
|
@@ -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, _form$expire2;
|
|
24
|
+
var _form$card, _form$name, _form$name2, _form$expire, _form$expire2, _form$cvv;
|
|
25
25
|
let {
|
|
26
26
|
publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,
|
|
27
27
|
showCVV = true,
|
|
@@ -40,7 +40,14 @@ const PCI = _ref => {
|
|
|
40
40
|
set
|
|
41
41
|
} = (0, _dataSources.useStore)();
|
|
42
42
|
const [form, setForm] = (0, _react.useState)({});
|
|
43
|
-
const [formError, setFormError] = (0, _react.useState)({
|
|
43
|
+
const [formError, setFormError] = (0, _react.useState)({
|
|
44
|
+
card: {},
|
|
45
|
+
name: {},
|
|
46
|
+
expire: {},
|
|
47
|
+
...(showCVV ? {
|
|
48
|
+
cvv: {}
|
|
49
|
+
} : undefined)
|
|
50
|
+
});
|
|
44
51
|
const [ready, setReady] = (0, _react.useState)(false);
|
|
45
52
|
const [responseError, setResponseError] = (0, _react.useState)(false);
|
|
46
53
|
(0, _react.useEffect)(() => {
|
|
@@ -62,6 +69,7 @@ const PCI = _ref => {
|
|
|
62
69
|
}, []);
|
|
63
70
|
(0, _react.useEffect)(() => {
|
|
64
71
|
if (!ready) return;
|
|
72
|
+
onError(formError);
|
|
65
73
|
// eslint-disable-next-line no-undef
|
|
66
74
|
secureFields = new SecureFields();
|
|
67
75
|
secureFields.initTokenize(publicKey, {
|
|
@@ -73,19 +81,6 @@ const PCI = _ref => {
|
|
|
73
81
|
|
|
74
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
83
|
}, [publicKey, ready]);
|
|
76
|
-
(0, _react.useEffect)(() => {
|
|
77
|
-
if (showErrors === false) return;
|
|
78
|
-
const error = {
|
|
79
|
-
card: !form.card,
|
|
80
|
-
...(showCVV ? {
|
|
81
|
-
cvv: !form.cvv
|
|
82
|
-
} : undefined),
|
|
83
|
-
expire: !form.expire,
|
|
84
|
-
name: !form.name
|
|
85
|
-
};
|
|
86
|
-
Object.values(error).some(value => value) && setFormError(error);
|
|
87
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
|
-
}, [showErrors]);
|
|
89
84
|
(0, _react.useEffect)(() => {
|
|
90
85
|
var _secureFields2, _secureFields3, _secureFields4, _secureFields5;
|
|
91
86
|
(_secureFields2 = secureFields) === null || _secureFields2 === void 0 ? void 0 : _secureFields2.on('change', handleChangeSecure);
|
|
@@ -93,7 +88,7 @@ const PCI = _ref => {
|
|
|
93
88
|
(_secureFields4 = secureFields) === null || _secureFields4 === void 0 ? void 0 : _secureFields4.on('ready', handleReady);
|
|
94
89
|
(_secureFields5 = secureFields) === null || _secureFields5 === void 0 ? void 0 : _secureFields5.on('success', handleSuccess);
|
|
95
90
|
document.addEventListener(_ButtonPayment.EVENT_CTA_PRESS, handleButtonPress);
|
|
96
|
-
if (Object.keys(formError).length === 0) onError(
|
|
91
|
+
if (Object.keys(formError).length === 0) onError({});
|
|
97
92
|
return () => document.removeEventListener(_ButtonPayment.EVENT_CTA_PRESS, handleButtonPress);
|
|
98
93
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
99
94
|
}, [form, formError, payment, ready, responseError]);
|
|
@@ -106,22 +101,17 @@ const PCI = _ref => {
|
|
|
106
101
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
107
102
|
}, [form]);
|
|
108
103
|
(0, _react.useEffect)(() => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
let [, value] = _ref2;
|
|
114
|
-
return value;
|
|
115
|
-
})
|
|
116
|
-
};
|
|
117
|
-
const numberFields = showCVV ? _PCI.NUMBER_FIELDS : _PCI.NUMBER_FIELDS - 1;
|
|
118
|
-
if (responseError || Object.keys(error).length === 0 && Object.keys(formError).length !== numberFields) {
|
|
119
|
-
error = _PCI.ERROR;
|
|
120
|
-
}
|
|
121
|
-
onError(error);
|
|
104
|
+
onError(Object.fromEntries(Object.entries(formError).filter(_ref2 => {
|
|
105
|
+
let [, value] = _ref2;
|
|
106
|
+
return value !== undefined;
|
|
107
|
+
})));
|
|
122
108
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
123
109
|
}, [formError, responseError]);
|
|
124
110
|
const handleButtonPress = () => {
|
|
111
|
+
if (Object.entries(formError).filter(_ref3 => {
|
|
112
|
+
let [, value] = _ref3;
|
|
113
|
+
return value !== undefined;
|
|
114
|
+
}).length > 0) return;
|
|
125
115
|
setResponseError();
|
|
126
116
|
const [month, year] = form.expire.split('/');
|
|
127
117
|
secureFields.submit({
|
|
@@ -147,12 +137,8 @@ const PCI = _ref => {
|
|
|
147
137
|
expire,
|
|
148
138
|
name
|
|
149
139
|
});
|
|
150
|
-
setFormError(prevForm => ({
|
|
151
|
-
...prevForm,
|
|
152
|
-
[field]: prevForm[field] || value.length === 0
|
|
153
|
-
}));
|
|
154
140
|
};
|
|
155
|
-
const handleChangeSecure =
|
|
141
|
+
const handleChangeSecure = _ref4 => {
|
|
156
142
|
let {
|
|
157
143
|
fields: {
|
|
158
144
|
cardNumber = {},
|
|
@@ -162,42 +148,55 @@ const PCI = _ref => {
|
|
|
162
148
|
type,
|
|
163
149
|
field
|
|
164
150
|
} = {}
|
|
165
|
-
} =
|
|
151
|
+
} = _ref4;
|
|
166
152
|
const isKeyUp = type === 'keyUp';
|
|
167
153
|
const isCardEmpty = field === 'cardNumber' && cardNumber.length === 0 && !form.card;
|
|
168
154
|
const isCvvEmpty = field === 'cvv' && cvv.length === 0 && !form.cvv;
|
|
169
155
|
if (!isKeyUp || isKeyUp && (isCardEmpty || isCvvEmpty)) return;
|
|
170
156
|
setResponseError();
|
|
157
|
+
const error = {
|
|
158
|
+
...formError
|
|
159
|
+
};
|
|
171
160
|
if (field === 'cardNumber') {
|
|
172
161
|
setForm({
|
|
173
162
|
...form,
|
|
174
163
|
card: cardNumber,
|
|
175
164
|
type: cardNumber.valid ? _PCI.PCI_CARD[cardNumber.paymentMethod] : undefined
|
|
176
165
|
});
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
166
|
+
error.card = !cardNumber.valid && cardNumber.length > 0 ? {
|
|
167
|
+
format: true
|
|
168
|
+
} : cardNumber.length === 0 ? {
|
|
169
|
+
required: true
|
|
170
|
+
} : undefined;
|
|
181
171
|
} else if (field === 'cvv') {
|
|
182
172
|
setForm({
|
|
183
173
|
...form,
|
|
184
174
|
cvv
|
|
185
175
|
});
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
176
|
+
error.cvv = !cvv.valid && cvv.length > 0 ? {
|
|
177
|
+
format: true
|
|
178
|
+
} : cvv.length === 0 ? {
|
|
179
|
+
required: true
|
|
180
|
+
} : undefined;
|
|
190
181
|
}
|
|
182
|
+
setFormError(error);
|
|
191
183
|
};
|
|
192
184
|
const handleError = function (field) {
|
|
193
185
|
let {
|
|
194
186
|
required,
|
|
195
187
|
test
|
|
196
188
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
197
|
-
|
|
189
|
+
if (!ready) return;
|
|
190
|
+
setFormError(formError => ({
|
|
198
191
|
...formError,
|
|
199
|
-
|
|
200
|
-
|
|
192
|
+
...{
|
|
193
|
+
[field]: required ? {
|
|
194
|
+
required: true
|
|
195
|
+
} : test ? {
|
|
196
|
+
format: true
|
|
197
|
+
} : undefined
|
|
198
|
+
}
|
|
199
|
+
}));
|
|
201
200
|
};
|
|
202
201
|
const handleLoad = () => {
|
|
203
202
|
setReady(true);
|
|
@@ -206,10 +205,10 @@ const PCI = _ref => {
|
|
|
206
205
|
secureFields.setPlaceholder('cardNumber', _PCI.PLACEHOLDER_CARD);
|
|
207
206
|
showCVV && secureFields.setPlaceholder('cvv', _PCI.PLACEHOLDER_CVV);
|
|
208
207
|
};
|
|
209
|
-
const handleSuccess =
|
|
208
|
+
const handleSuccess = _ref5 => {
|
|
210
209
|
let {
|
|
211
210
|
transactionId
|
|
212
|
-
} =
|
|
211
|
+
} = _ref5;
|
|
213
212
|
set({
|
|
214
213
|
payment: {
|
|
215
214
|
...payment,
|
|
@@ -232,21 +231,23 @@ const PCI = _ref => {
|
|
|
232
231
|
return /*#__PURE__*/_react.default.createElement(_ui.View, others, /*#__PURE__*/_react.default.createElement(_ui.Text, {
|
|
233
232
|
action: true
|
|
234
233
|
}, translate(_PCI2.L10N.LABEL_SECURE_PAGE)), /*#__PURE__*/_react.default.createElement(_InputField.InputField, {
|
|
234
|
+
id: "checkout-card",
|
|
235
235
|
label: translate(_PCI2.L10N.LABEL_CARD_NUMBER),
|
|
236
|
-
error: formError.card,
|
|
236
|
+
error: showErrors && (!form.card || ((_form$card = form.card) === null || _form$card === void 0 ? void 0 : _form$card.length) === 0) || Object.keys(formError.card || {}).length > 0,
|
|
237
237
|
showRequired: true,
|
|
238
|
-
success: formError.card
|
|
238
|
+
success: !formError.card,
|
|
239
239
|
testId: testId ? "".concat(testId, "-PCI-card") : undefined
|
|
240
240
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
241
241
|
id: "card",
|
|
242
242
|
className: style.input
|
|
243
243
|
})), /*#__PURE__*/_react.default.createElement(_InputField.InputField, {
|
|
244
|
-
error: formError.name,
|
|
244
|
+
error: showErrors && (!form.name || ((_form$name = form.name) === null || _form$name === void 0 ? void 0 : _form$name.length) === 0) || Object.keys(formError.name || {}).length > 0,
|
|
245
245
|
label: translate(_PCI2.L10N.LABEL_CARD_NAME),
|
|
246
246
|
showRequired: true,
|
|
247
|
-
success: ((_form$
|
|
247
|
+
success: ((_form$name2 = form.name) === null || _form$name2 === void 0 ? void 0 : _form$name2.length) > 0 && !formError.name,
|
|
248
248
|
testId: testId ? "".concat(testId, "-PCI-name") : undefined
|
|
249
249
|
}, /*#__PURE__*/_react.default.createElement(_ui.Input, {
|
|
250
|
+
id: "checkout-name",
|
|
250
251
|
name: "name",
|
|
251
252
|
required: true,
|
|
252
253
|
value: form.name,
|
|
@@ -255,26 +256,28 @@ const PCI = _ref => {
|
|
|
255
256
|
})), /*#__PURE__*/_react.default.createElement(_ui.View, {
|
|
256
257
|
row: true
|
|
257
258
|
}, /*#__PURE__*/_react.default.createElement(_InputField.InputField, {
|
|
258
|
-
error: (form
|
|
259
|
+
error: showErrors && (!form.expire || ((_form$expire = form.expire) === null || _form$expire === void 0 ? void 0 : _form$expire.length) === 0) || Object.keys(formError.expire || {}).length > 0,
|
|
259
260
|
label: translate(_PCI2.L10N.LABEL_EXPIRATION),
|
|
260
261
|
showRequired: true,
|
|
261
262
|
success: ((_form$expire2 = form.expire) === null || _form$expire2 === void 0 ? void 0 : _form$expire2.length) > 0 && !formError.expire,
|
|
262
263
|
className: style.expire,
|
|
263
264
|
testId: testId ? "".concat(testId, "-PCI-expire") : undefined
|
|
264
265
|
}, /*#__PURE__*/_react.default.createElement(_ui.Input, {
|
|
266
|
+
id: "checkout-expire",
|
|
265
267
|
maxLength: 5,
|
|
266
268
|
name: "expire",
|
|
267
269
|
placeholder: "".concat(translate(_PCI2.L10N.LABEL_MONTH_FORMAT), "/").concat(translate(_PCI2.L10N.LABEL_YEAR_FORMAT)),
|
|
268
270
|
required: true,
|
|
269
|
-
test: expire => (expire === null || expire === void 0 ? void 0 : expire.length) > 0 && (0, _helpers2.testExpire)(expire),
|
|
271
|
+
test: expire => expire.length === 0 || (expire === null || expire === void 0 ? void 0 : expire.length) > 0 && (0, _helpers2.testExpire)(expire),
|
|
270
272
|
value: form.expire,
|
|
271
273
|
onChange: value => handleChange('expire', value),
|
|
272
274
|
onError: error => handleError('expire', error)
|
|
273
275
|
})), showCVV && /*#__PURE__*/_react.default.createElement(_InputField.InputField, {
|
|
276
|
+
id: "checkout-cvv",
|
|
274
277
|
label: translate(_PCI2.L10N.LABEL_CVV),
|
|
275
|
-
error: formError.cvv,
|
|
278
|
+
error: showErrors && (!form.cvv || ((_form$cvv = form.cvv) === null || _form$cvv === void 0 ? void 0 : _form$cvv.length) === 0) || Object.keys(formError.cvv || {}).length > 0,
|
|
276
279
|
showRequired: true,
|
|
277
|
-
success: formError.cvv
|
|
280
|
+
success: !formError.cvv,
|
|
278
281
|
className: style.cvv,
|
|
279
282
|
testId: testId ? "".concat(testId, "-PCI-CVV") : undefined
|
|
280
283
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","secureFields","PCI","_ref","_form$name","_form$expire","_form$expire2","publicKey","process","env","METHOD_PCIPROXY_PUBLICKEY","showCVV","showErrors","onChange","onError","others","translate","useLocale","value","payment","useStore","form","setForm","useState","formError","setFormError","ready","setReady","responseError","setResponseError","useEffect","exists","document","getElementById","SCRIPT_ID","script","createElement","id","src","METHOD_PCIPROXY_SCRIPT","onload","handleLoad","head","appendChild","_secureFields","el","parentNode","removeChild","destroy","SecureFields","initTokenize","cardNumber","cvv","undefined","getStyle","error","card","expire","name","values","some","_secureFields2","_secureFields3","_secureFields4","_secureFields5","on","handleChangeSecure","handleTokenError","handleReady","handleSuccess","addEventListener","EVENT_CTA_PRESS","handleButtonPress","keys","length","ERROR","removeEventListener","type","entries","filter","_ref2","numberFields","NUMBER_FIELDS","month","year","split","submit","expm","expy","handleChange","field","arguments","formatValues","prevForm","_ref3","fields","event","isKeyUp","isCardEmpty","isCvvEmpty","valid","PCI_CARD","paymentMethod","handleError","required","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref4","transactionId","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","concat","className","input","LABEL_CARD_NAME","Input","row","LABEL_EXPIRATION","maxLength","placeholder","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","LABEL_CVV","Notification","small","wide","NOTIFICATION_ERROR_PCI","exports","displayName","propTypes","PropTypes","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/PCI/PCI.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Input, Notification, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { formatValues, getStyle } from './helpers';\nimport { ERROR, NUMBER_FIELDS, PCI_CARD, PLACEHOLDER_CARD, PLACEHOLDER_CVV, SCRIPT_ID } from './PCI.constants';\nimport { L10N } from './PCI.l10n';\nimport * as style from './PCI.module.css';\nimport { EVENT_CTA_PRESS } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { InputField } from '../../../ButtonPayment/components/InputField';\nimport { testExpire } from '../Card/helpers';\n\nlet secureFields;\n\nconst PCI = ({\n publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { payment = {} } = {}, set } = useStore();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({});\n const [ready, setReady] = useState(false);\n const [responseError, setResponseError] = useState(false);\n\n useEffect(() => {\n const exists = document.getElementById(SCRIPT_ID);\n if (!exists) {\n const script = document.createElement('script');\n script.id = SCRIPT_ID;\n script.src = process.env.METHOD_PCIPROXY_SCRIPT;\n script.onload = handleLoad;\n\n document.head.appendChild(script);\n }\n\n return () => {\n const el = document.getElementById(SCRIPT_ID);\n el.parentNode.removeChild(el);\n secureFields?.destroy();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!ready) return;\n // eslint-disable-next-line no-undef\n secureFields = new SecureFields();\n secureFields.initTokenize(publicKey, { cardNumber: 'card', ...(showCVV ? { cvv: 'cvv' } : undefined) }, getStyle());\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publicKey, ready]);\n\n useEffect(() => {\n if (showErrors === false) return;\n\n const error = {\n card: !form.card,\n ...(showCVV ? { cvv: !form.cvv } : undefined),\n expire: !form.expire,\n name: !form.name,\n };\n Object.values(error).some((value) => value) && setFormError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showErrors]);\n\n useEffect(() => {\n secureFields?.on('change', handleChangeSecure);\n secureFields?.on('error', handleTokenError);\n secureFields?.on('ready', handleReady);\n secureFields?.on('success', handleSuccess);\n\n document.addEventListener(EVENT_CTA_PRESS, handleButtonPress);\n\n if (Object.keys(formError).length === 0) onError(ERROR);\n\n return () => document.removeEventListener(EVENT_CTA_PRESS, handleButtonPress);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form, formError, payment, ready, responseError]);\n\n useEffect(() => {\n onChange({ expire: form.expire, name: form.name, type: form.type });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n let error = { ...Object.entries({ ...formError }).filter(([, value]) => value) };\n const numberFields = showCVV ? NUMBER_FIELDS : NUMBER_FIELDS - 1;\n if (responseError || (Object.keys(error).length === 0 && Object.keys(formError).length !== numberFields)) {\n error = ERROR;\n }\n\n onError(error);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError, responseError]);\n\n const handleButtonPress = () => {\n setResponseError();\n const [month, year] = form.expire.split('/');\n secureFields.submit({ expm: month, expy: year });\n };\n\n const handleChange = (field, value = '') => {\n setResponseError();\n\n const { expire, name } = formatValues({ ...{ expire: form.expire, name: form.name }, [field]: value }, form);\n setForm({ ...form, expire, name });\n setFormError((prevForm) => ({ ...prevForm, [field]: prevForm[field] || value.length === 0 }));\n };\n\n const handleChangeSecure = ({ fields: { cardNumber = {}, cvv = {} } = {}, event: { type, field } = {} }) => {\n const isKeyUp = type === 'keyUp';\n const isCardEmpty = field === 'cardNumber' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = field === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isKeyUp || (isKeyUp && (isCardEmpty || isCvvEmpty))) return;\n\n setResponseError();\n\n if (field === 'cardNumber') {\n setForm({ ...form, card: cardNumber, type: cardNumber.valid ? PCI_CARD[cardNumber.paymentMethod] : undefined });\n setFormError({\n ...formError,\n card: (!cardNumber.valid && cardNumber.length > 0) || (formError.card !== undefined && cardNumber.length === 0),\n });\n } else if (field === 'cvv') {\n setForm({ ...form, cvv });\n setFormError({\n ...formError,\n cvv: (!cvv.valid && cvv.length > 0) || (formError.cvv !== undefined && cvv.length === 0),\n });\n }\n };\n\n const handleError = (field, { required, test } = {}) => {\n setFormError({ ...formError, [field]: test || (required && !!formError[field]) });\n };\n\n const handleLoad = () => {\n setReady(true);\n };\n\n const handleReady = () => {\n secureFields.setPlaceholder('cardNumber', PLACEHOLDER_CARD);\n showCVV && secureFields.setPlaceholder('cvv', PLACEHOLDER_CVV);\n };\n\n const handleSuccess = ({ transactionId }) => {\n set({ payment: { ...payment, transactionId } });\n };\n\n const handleTokenError = () => {\n setResponseError(ERROR);\n set({ payment: { ...payment, error: ERROR } });\n };\n\n const { testId } = others;\n\n return (\n <View {...others}>\n <Text action>{translate(L10N.LABEL_SECURE_PAGE)}</Text>\n\n <InputField\n label={translate(L10N.LABEL_CARD_NUMBER)}\n error={formError.card}\n showRequired\n success={formError.card === false}\n testId={testId ? `${testId}-PCI-card` : undefined}\n >\n <div id=\"card\" className={style.input} />\n </InputField>\n <InputField\n error={formError.name}\n label={translate(L10N.LABEL_CARD_NAME)}\n showRequired\n success={form.name?.length > 0 && !formError.name}\n testId={testId ? `${testId}-PCI-name` : undefined}\n >\n <Input\n name=\"name\"\n required\n value={form.name}\n onChange={(value) => handleChange('name', value)}\n onError={(error) => handleError('name', error)}\n />\n </InputField>\n <View row>\n <InputField\n error={form?.expire?.length > 0 && !!formError.expire}\n label={translate(L10N.LABEL_EXPIRATION)}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n className={style.expire}\n testId={testId ? `${testId}-PCI-expire` : undefined}\n >\n <Input\n maxLength={5}\n name=\"expire\"\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n test={(expire) => expire?.length > 0 && testExpire(expire)}\n value={form.expire}\n onChange={(value) => handleChange('expire', value)}\n onError={(error) => handleError('expire', error)}\n />\n </InputField>\n {showCVV && (\n <InputField\n label={translate(L10N.LABEL_CVV)}\n error={formError.cvv}\n showRequired\n success={formError.cvv === false}\n className={style.cvv}\n testId={testId ? `${testId}-PCI-CVV` : undefined}\n >\n <div id=\"cvv\" className={style.input} />\n </InputField>\n )}\n </View>\n\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_PCI)}\n </Notification>\n )}\n </View>\n );\n};\n\nPCI.displayName = 'Mirai:Payments:PCI';\n\nPCI.propTypes = {\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { PCI };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PCI.js","names":["_dataSources","require","_locale","_ui","_propTypes","_interopRequireDefault","_react","_interopRequireWildcard","_helpers","_PCI","_PCI2","style","_ButtonPayment","_InputField","_helpers2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","secureFields","PCI","_ref","_form$card","_form$name","_form$name2","_form$expire","_form$expire2","_form$cvv","publicKey","process","env","METHOD_PCIPROXY_PUBLICKEY","showCVV","showErrors","onChange","onError","others","translate","useLocale","value","payment","useStore","form","setForm","useState","formError","setFormError","card","name","expire","cvv","undefined","ready","setReady","responseError","setResponseError","useEffect","exists","document","getElementById","SCRIPT_ID","script","createElement","id","src","METHOD_PCIPROXY_SCRIPT","onload","handleLoad","head","appendChild","_secureFields","el","parentNode","removeChild","destroy","SecureFields","initTokenize","cardNumber","getStyle","_secureFields2","_secureFields3","_secureFields4","_secureFields5","on","handleChangeSecure","handleTokenError","handleReady","handleSuccess","addEventListener","EVENT_CTA_PRESS","handleButtonPress","keys","length","removeEventListener","type","fromEntries","entries","filter","_ref2","_ref3","month","year","split","submit","expm","expy","handleChange","field","arguments","formatValues","_ref4","fields","event","isKeyUp","isCardEmpty","isCvvEmpty","error","valid","PCI_CARD","paymentMethod","format","required","handleError","test","setPlaceholder","PLACEHOLDER_CARD","PLACEHOLDER_CVV","_ref5","transactionId","ERROR","testId","View","Text","action","L10N","LABEL_SECURE_PAGE","InputField","label","LABEL_CARD_NUMBER","showRequired","success","concat","className","input","LABEL_CARD_NAME","Input","row","LABEL_EXPIRATION","maxLength","placeholder","LABEL_MONTH_FORMAT","LABEL_YEAR_FORMAT","testExpire","LABEL_CVV","Notification","small","wide","NOTIFICATION_ERROR_PCI","exports","displayName","propTypes","PropTypes","string","bool","func"],"sources":["../../../../../../src/components/__shared__/Payment/components/PCI/PCI.jsx"],"sourcesContent":["import { useStore } from '@mirai/data-sources';\nimport { useLocale } from '@mirai/locale';\nimport { Input, Notification, Text, View } from '@mirai/ui';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\n\nimport { formatValues, getStyle } from './helpers';\nimport { ERROR, PCI_CARD, PLACEHOLDER_CARD, PLACEHOLDER_CVV, SCRIPT_ID } from './PCI.constants';\nimport { L10N } from './PCI.l10n';\nimport * as style from './PCI.module.css';\nimport { EVENT_CTA_PRESS } from '../../../ButtonPayment/ButtonPayment.constants';\nimport { InputField } from '../../../ButtonPayment/components/InputField';\nimport { testExpire } from '../Card/helpers';\n\nlet secureFields;\n\nconst PCI = ({\n publicKey = process.env.METHOD_PCIPROXY_PUBLICKEY,\n showCVV = true,\n showErrors = false,\n onChange = () => {},\n onError = () => {},\n ...others\n}) => {\n const { translate } = useLocale();\n const { value: { payment = {} } = {}, set } = useStore();\n\n const [form, setForm] = useState({});\n const [formError, setFormError] = useState({\n card: {},\n name: {},\n expire: {},\n ...(showCVV ? { cvv: {} } : undefined),\n });\n const [ready, setReady] = useState(false);\n const [responseError, setResponseError] = useState(false);\n\n useEffect(() => {\n const exists = document.getElementById(SCRIPT_ID);\n if (!exists) {\n const script = document.createElement('script');\n script.id = SCRIPT_ID;\n script.src = process.env.METHOD_PCIPROXY_SCRIPT;\n script.onload = handleLoad;\n\n document.head.appendChild(script);\n }\n\n return () => {\n const el = document.getElementById(SCRIPT_ID);\n el.parentNode.removeChild(el);\n secureFields?.destroy();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n if (!ready) return;\n\n onError(formError);\n // eslint-disable-next-line no-undef\n secureFields = new SecureFields();\n secureFields.initTokenize(publicKey, { cardNumber: 'card', ...(showCVV ? { cvv: 'cvv' } : undefined) }, getStyle());\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [publicKey, ready]);\n\n useEffect(() => {\n secureFields?.on('change', handleChangeSecure);\n secureFields?.on('error', handleTokenError);\n secureFields?.on('ready', handleReady);\n secureFields?.on('success', handleSuccess);\n\n document.addEventListener(EVENT_CTA_PRESS, handleButtonPress);\n\n if (Object.keys(formError).length === 0) onError({});\n\n return () => document.removeEventListener(EVENT_CTA_PRESS, handleButtonPress);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form, formError, payment, ready, responseError]);\n\n useEffect(() => {\n onChange({ expire: form.expire, name: form.name, type: form.type });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [form]);\n\n useEffect(() => {\n onError(Object.fromEntries(Object.entries(formError).filter(([, value]) => value !== undefined)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [formError, responseError]);\n\n const handleButtonPress = () => {\n if (Object.entries(formError).filter(([, value]) => value !== undefined).length > 0) return;\n\n setResponseError();\n const [month, year] = form.expire.split('/');\n secureFields.submit({ expm: month, expy: year });\n };\n\n const handleChange = (field, value = '') => {\n setResponseError();\n\n const { expire, name } = formatValues({ ...{ expire: form.expire, name: form.name }, [field]: value }, form);\n setForm({ ...form, expire, name });\n };\n\n const handleChangeSecure = ({ fields: { cardNumber = {}, cvv = {} } = {}, event: { type, field } = {} }) => {\n const isKeyUp = type === 'keyUp';\n const isCardEmpty = field === 'cardNumber' && cardNumber.length === 0 && !form.card;\n const isCvvEmpty = field === 'cvv' && cvv.length === 0 && !form.cvv;\n\n if (!isKeyUp || (isKeyUp && (isCardEmpty || isCvvEmpty))) return;\n\n setResponseError();\n\n const error = { ...formError };\n if (field === 'cardNumber') {\n setForm({ ...form, card: cardNumber, type: cardNumber.valid ? PCI_CARD[cardNumber.paymentMethod] : undefined });\n error.card =\n !cardNumber.valid && cardNumber.length > 0\n ? { format: true }\n : cardNumber.length === 0\n ? { required: true }\n : undefined;\n } else if (field === 'cvv') {\n setForm({ ...form, cvv });\n error.cvv = !cvv.valid && cvv.length > 0 ? { format: true } : cvv.length === 0 ? { required: true } : undefined;\n }\n\n setFormError(error);\n };\n\n const handleError = (field, { required, test } = {}) => {\n if (!ready) return;\n\n setFormError((formError) => ({\n ...formError,\n ...{ [field]: required ? { required: true } : test ? { format: true } : undefined },\n }));\n };\n\n const handleLoad = () => {\n setReady(true);\n };\n\n const handleReady = () => {\n secureFields.setPlaceholder('cardNumber', PLACEHOLDER_CARD);\n showCVV && secureFields.setPlaceholder('cvv', PLACEHOLDER_CVV);\n };\n\n const handleSuccess = ({ transactionId }) => {\n set({ payment: { ...payment, transactionId } });\n };\n\n const handleTokenError = () => {\n setResponseError(ERROR);\n set({ payment: { ...payment, error: ERROR } });\n };\n\n const { testId } = others;\n\n return (\n <View {...others}>\n <Text action>{translate(L10N.LABEL_SECURE_PAGE)}</Text>\n\n <InputField\n id=\"checkout-card\"\n label={translate(L10N.LABEL_CARD_NUMBER)}\n error={(showErrors && (!form.card || form.card?.length === 0)) || Object.keys(formError.card || {}).length > 0}\n showRequired\n success={!formError.card}\n testId={testId ? `${testId}-PCI-card` : undefined}\n >\n <div id=\"card\" className={style.input} />\n </InputField>\n <InputField\n error={(showErrors && (!form.name || form.name?.length === 0)) || Object.keys(formError.name || {}).length > 0}\n label={translate(L10N.LABEL_CARD_NAME)}\n showRequired\n success={form.name?.length > 0 && !formError.name}\n testId={testId ? `${testId}-PCI-name` : undefined}\n >\n <Input\n id=\"checkout-name\"\n name=\"name\"\n required\n value={form.name}\n onChange={(value) => handleChange('name', value)}\n onError={(error) => handleError('name', error)}\n />\n </InputField>\n <View row>\n <InputField\n error={\n (showErrors && (!form.expire || form.expire?.length === 0)) ||\n Object.keys(formError.expire || {}).length > 0\n }\n label={translate(L10N.LABEL_EXPIRATION)}\n showRequired\n success={form.expire?.length > 0 && !formError.expire}\n className={style.expire}\n testId={testId ? `${testId}-PCI-expire` : undefined}\n >\n <Input\n id=\"checkout-expire\"\n maxLength={5}\n name=\"expire\"\n placeholder={`${translate(L10N.LABEL_MONTH_FORMAT)}/${translate(L10N.LABEL_YEAR_FORMAT)}`}\n required\n test={(expire) => expire.length === 0 || (expire?.length > 0 && testExpire(expire))}\n value={form.expire}\n onChange={(value) => handleChange('expire', value)}\n onError={(error) => handleError('expire', error)}\n />\n </InputField>\n {showCVV && (\n <InputField\n id=\"checkout-cvv\"\n label={translate(L10N.LABEL_CVV)}\n error={(showErrors && (!form.cvv || form.cvv?.length === 0)) || Object.keys(formError.cvv || {}).length > 0}\n showRequired\n success={!formError.cvv}\n className={style.cvv}\n testId={testId ? `${testId}-PCI-CVV` : undefined}\n >\n <div id=\"cvv\" className={style.input} />\n </InputField>\n )}\n </View>\n\n {responseError && (\n <Notification error small wide>\n {translate(L10N.NOTIFICATION_ERROR_PCI)}\n </Notification>\n )}\n </View>\n );\n};\n\nPCI.displayName = 'Mirai:Payments:PCI';\n\nPCI.propTypes = {\n publicKey: PropTypes.string,\n showCVV: PropTypes.bool,\n showErrors: PropTypes.bool,\n onChange: PropTypes.func,\n onError: PropTypes.func,\n};\n\nexport { PCI };\n"],"mappings":"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"}
|