@mirai/core 0.3.170 → 0.3.172

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/.env +7 -4
  2. package/build/components/Booking/Booking.js +1 -1
  3. package/build/components/Booking/Booking.js.map +1 -1
  4. package/build/components/Booking/Booking.l10n.js +0 -15
  5. package/build/components/Booking/Booking.l10n.js.map +1 -1
  6. package/build/components/Booking/Booking.module.css +0 -9
  7. package/build/components/Booking/components/Hotelverse/Hotelverse.js +1 -1
  8. package/build/components/Booking/components/Hotelverse/Hotelverse.js.map +1 -1
  9. package/build/components/Booking/partials/index.js +2 -13
  10. package/build/components/Booking/partials/index.js.map +1 -1
  11. package/build/components/Chat/Chat.constants.js +28 -0
  12. package/build/components/Chat/Chat.constants.js.map +1 -0
  13. package/build/components/Chat/Chat.js +231 -0
  14. package/build/components/Chat/Chat.js.map +1 -0
  15. package/build/components/Chat/Chat.l10n.js +24 -0
  16. package/build/components/Chat/Chat.l10n.js.map +1 -0
  17. package/build/components/Chat/Chat.module.css +90 -0
  18. package/build/components/Chat/Chat.theme.module.css +49 -0
  19. package/build/components/Chat/components/Avatar/Avatar.js +68 -0
  20. package/build/components/Chat/components/Avatar/Avatar.js.map +1 -0
  21. package/build/components/Chat/components/Avatar/Avatar.module.css +81 -0
  22. package/build/components/Chat/components/Avatar/__tests__/__snapshots__/Avatar.test.jsx.snap +97 -0
  23. package/build/components/Chat/components/Avatar/index.js +17 -0
  24. package/build/components/Chat/components/Avatar/index.js.map +1 -0
  25. package/build/components/Chat/components/Input/Input.js +72 -0
  26. package/build/components/Chat/components/Input/Input.js.map +1 -0
  27. package/build/components/Chat/components/Input/Input.l10n.js +15 -0
  28. package/build/components/Chat/components/Input/Input.l10n.js.map +1 -0
  29. package/build/components/Chat/components/Input/Input.module.css +19 -0
  30. package/build/components/Chat/components/Input/__tests__/__snapshots__/Input.test.jsx.snap +175 -0
  31. package/build/components/Chat/components/Input/index.js +17 -0
  32. package/build/components/Chat/components/Input/index.js.map +1 -0
  33. package/build/components/Chat/components/InputRich/InputRich.List.js +52 -0
  34. package/build/components/Chat/components/InputRich/InputRich.List.js.map +1 -0
  35. package/build/components/Chat/components/InputRich/InputRich.js +182 -0
  36. package/build/components/Chat/components/InputRich/InputRich.js.map +1 -0
  37. package/build/components/Chat/components/InputRich/InputRich.l10n.js +12 -0
  38. package/build/components/Chat/components/InputRich/InputRich.l10n.js.map +1 -0
  39. package/build/components/Chat/components/InputRich/InputRich.module.css +73 -0
  40. package/build/components/Chat/components/InputRich/__tests__/__snapshots__/InputRich.test.jsx.snap +275 -0
  41. package/build/components/Chat/components/InputRich/helpers/getVerboseList.js +20 -0
  42. package/build/components/Chat/components/InputRich/helpers/getVerboseList.js.map +1 -0
  43. package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js +27 -0
  44. package/build/components/Chat/components/InputRich/helpers/getVerboseOccupation.js.map +1 -0
  45. package/build/components/Chat/components/InputRich/helpers/index.js +28 -0
  46. package/build/components/Chat/components/InputRich/helpers/index.js.map +1 -0
  47. package/build/components/Chat/components/InputRich/index.js +17 -0
  48. package/build/components/Chat/components/InputRich/index.js.map +1 -0
  49. package/build/components/Chat/components/Message/Message.constants.js +18 -0
  50. package/build/components/Chat/components/Message/Message.constants.js.map +1 -0
  51. package/build/components/Chat/components/Message/Message.js +104 -0
  52. package/build/components/Chat/components/Message/Message.js.map +1 -0
  53. package/build/components/Chat/components/Message/Message.module.css +126 -0
  54. package/build/components/Chat/components/Message/__tests__/__snapshots__/Message.test.jsx.snap +211 -0
  55. package/build/components/Chat/components/Message/components/Booking.js +63 -0
  56. package/build/components/Chat/components/Message/components/Booking.js.map +1 -0
  57. package/build/components/Chat/components/Message/components/Card.js +67 -0
  58. package/build/components/Chat/components/Message/components/Card.js.map +1 -0
  59. package/build/components/Chat/components/Message/components/Card.module.css +41 -0
  60. package/build/components/Chat/components/Message/components/Environment.js +58 -0
  61. package/build/components/Chat/components/Message/components/Environment.js.map +1 -0
  62. package/build/components/Chat/components/Message/components/Environment.module.css +22 -0
  63. package/build/components/Chat/components/Message/components/index.js +39 -0
  64. package/build/components/Chat/components/Message/components/index.js.map +1 -0
  65. package/build/components/Chat/components/Message/helpers/getActionIcon.js +13 -0
  66. package/build/components/Chat/components/Message/helpers/getActionIcon.js.map +1 -0
  67. package/build/components/Chat/components/Message/helpers/getTime.js +28 -0
  68. package/build/components/Chat/components/Message/helpers/getTime.js.map +1 -0
  69. package/build/components/Chat/components/Message/helpers/index.js +28 -0
  70. package/build/components/Chat/components/Message/helpers/index.js.map +1 -0
  71. package/build/components/Chat/components/Message/index.js +17 -0
  72. package/build/components/Chat/components/Message/index.js.map +1 -0
  73. package/build/components/Chat/components/Message/intents/BookingQuery.js +66 -0
  74. package/build/components/Chat/components/Message/intents/BookingQuery.js.map +1 -0
  75. package/build/components/Chat/components/Message/intents/HotelInfo.js +73 -0
  76. package/build/components/Chat/components/Message/intents/HotelInfo.js.map +1 -0
  77. package/build/components/Chat/components/Message/intents/Offers.js +57 -0
  78. package/build/components/Chat/components/Message/intents/Offers.js.map +1 -0
  79. package/build/components/Chat/components/Message/intents/Unknown.js +67 -0
  80. package/build/components/Chat/components/Message/intents/Unknown.js.map +1 -0
  81. package/build/components/Chat/components/Message/intents/index.js +50 -0
  82. package/build/components/Chat/components/Message/intents/index.js.map +1 -0
  83. package/build/components/Chat/components/Offline/Offline.js +22 -0
  84. package/build/components/Chat/components/Offline/Offline.js.map +1 -0
  85. package/build/components/Chat/components/Offline/Offline.module.css +3 -0
  86. package/build/components/Chat/components/Offline/index.js +17 -0
  87. package/build/components/Chat/components/Offline/index.js.map +1 -0
  88. package/build/components/Chat/components/index.js +61 -0
  89. package/build/components/Chat/components/index.js.map +1 -0
  90. package/build/components/Chat/helpers/getVerboseDate.js +18 -0
  91. package/build/components/Chat/helpers/getVerboseDate.js.map +1 -0
  92. package/build/components/Chat/helpers/index.js +17 -0
  93. package/build/components/Chat/helpers/index.js.map +1 -0
  94. package/build/components/Chat/index.js +17 -0
  95. package/build/components/Chat/index.js.map +1 -0
  96. package/build/components/Checkout/Checkout.js +1 -2
  97. package/build/components/Checkout/Checkout.js.map +1 -1
  98. package/build/components/Checkout/Checkout.module.css +10 -0
  99. package/build/components/Checkout/helpers/getFieldProps.js +2 -1
  100. package/build/components/Checkout/helpers/getFieldProps.js.map +1 -1
  101. package/build/components/Checkout/partials/Checkout.Form.js +17 -2
  102. package/build/components/Checkout/partials/Checkout.Form.js.map +1 -1
  103. package/build/components/Checkout/partials/__tests__/__snapshots__/Checkout.Form.test.js.snap +888 -16
  104. package/build/components/Rates/Rates.constants.js +1 -0
  105. package/build/components/Rates/Rates.constants.js.map +1 -1
  106. package/build/components/Rates/Rates.js +2 -0
  107. package/build/components/Rates/Rates.js.map +1 -1
  108. package/build/components/Rates/components/Hotelverse/Hotelverse.js +1 -1
  109. package/build/components/Rates/components/Hotelverse/Hotelverse.js.map +1 -1
  110. package/build/components/Rates/components/Item/components/Features/Features.js +27 -2
  111. package/build/components/Rates/components/Item/components/Features/Features.js.map +1 -1
  112. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js +5 -1
  113. package/build/components/Rates/components/Item/components/ModalInfo/ModalInfo.js.map +1 -1
  114. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js +1 -1
  115. package/build/components/Rates/components/Item/components/ModalRateInfo/ModalRateInfo.js.map +1 -1
  116. package/build/components/{Booking/partials/Booking.Others.js → __shared__/BookingTerms/BookingTerms.js} +17 -18
  117. package/build/components/__shared__/BookingTerms/BookingTerms.js.map +1 -0
  118. package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js +27 -0
  119. package/build/components/__shared__/BookingTerms/BookingTerms.l10n.js.map +1 -0
  120. package/build/components/__shared__/BookingTerms/BookingTerms.module.css +42 -0
  121. package/build/components/{Booking/partials/__tests__/__snapshots__/Booking.Others.test.js.snap → __shared__/BookingTerms/__tests__/__snapshots__/BookingTerms.test.js.snap} +4 -8
  122. package/build/components/__shared__/BookingTerms/index.js +17 -0
  123. package/build/components/__shared__/BookingTerms/index.js.map +1 -0
  124. package/build/components/__shared__/Payment/Payment.js +1 -1
  125. package/build/components/__shared__/Payment/Payment.js.map +1 -1
  126. package/build/components/__shared__/Payment/__tests__/__snapshots__/Payment.test.js.snap +290 -8
  127. package/build/components/__shared__/Payment/components/PCI/PCI.constants.js +1 -2
  128. package/build/components/__shared__/Payment/components/PCI/PCI.constants.js.map +1 -1
  129. package/build/components/__shared__/Payment/components/PCI/PCI.js +59 -56
  130. package/build/components/__shared__/Payment/components/PCI/PCI.js.map +1 -1
  131. package/build/components/__shared__/Payment/components/PCI/__tests__/__snapshots__/PCI.test.js.snap +15 -0
  132. package/build/components/__shared__/index.js +11 -0
  133. package/build/components/__shared__/index.js.map +1 -1
  134. package/build/components/helpers/ICON.js +13 -0
  135. package/build/components/helpers/ICON.js.map +1 -1
  136. package/build/components/index.js +2 -0
  137. package/build/components/index.js.map +1 -1
  138. package/build/services/Lisa/action.js +28 -0
  139. package/build/services/Lisa/action.js.map +1 -0
  140. package/build/services/Lisa/index.js +17 -0
  141. package/build/services/Lisa/index.js.map +1 -0
  142. package/build/services/Lisa/message.js +26 -0
  143. package/build/services/Lisa/message.js.map +1 -0
  144. package/build/services/Lisa/status.js +13 -0
  145. package/build/services/Lisa/status.js.map +1 -0
  146. package/build/services/Lisa/welcome.js +25 -0
  147. package/build/services/Lisa/welcome.js.map +1 -0
  148. package/build/services/Rates/__tests__/__mocks__/rates-response-cancel-types.json +21 -0
  149. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes-no-local.json +6 -0
  150. package/build/services/Rates/__tests__/__mocks__/rates-response-no-taxes.json +4 -0
  151. package/build/services/Rates/__tests__/__mocks__/rates-response.json +6 -0
  152. package/build/services/Rates/extras.js +1 -1
  153. package/build/services/Rates/extras.js.map +1 -1
  154. package/build/services/Rates/helpers/getItems.js +1 -1
  155. package/build/services/Rates/helpers/getItems.js.map +1 -1
  156. package/build/services/Rates/helpers/parseBoards.js +1 -0
  157. package/build/services/Rates/helpers/parseBoards.js.map +1 -1
  158. package/build/services/index.js +11 -0
  159. package/build/services/index.js.map +1 -1
  160. package/package.json +1 -1
  161. package/public/App.Container.jsx +2 -0
  162. package/build/components/Booking/partials/Booking.Others.js.map +0 -1
@@ -347,12 +347,14 @@ exports[`component:<Payment> renders some methods 1`] = `
347
347
  class="view"
348
348
  >
349
349
  <div
350
- class="pressable"
350
+ class="pressable disabled"
351
+ disabled=""
351
352
  >
352
353
  <div
353
354
  class="radio"
354
355
  >
355
356
  <input
357
+ checked=""
356
358
  class="input"
357
359
  name="method"
358
360
  type="radio"
@@ -362,11 +364,147 @@ exports[`component:<Payment> renders some methods 1`] = `
362
364
  class="checkmark"
363
365
  />
364
366
  </div>
365
- <span
366
- class="text bold paragraph"
367
+ <h3
368
+ class="text bold headline-3"
367
369
  >
368
370
  payments.label.card
369
- </span>
371
+ </h3>
372
+ </div>
373
+ <div
374
+ class="view"
375
+ >
376
+ <fieldset
377
+ autocomplete="off"
378
+ >
379
+ <div
380
+ class="view inputContainer"
381
+ >
382
+ <div
383
+ class="view row inputBorder"
384
+ >
385
+ <div
386
+ class="view wide content"
387
+ >
388
+ <span
389
+ class="text paragraph text label"
390
+ >
391
+ payments.label.card_number
392
+ <span
393
+ class="required"
394
+ >
395
+ *
396
+ </span>
397
+ </span>
398
+ <input
399
+ class="input input withLabel"
400
+ id="checkout-card"
401
+ maxlength="19"
402
+ name="card"
403
+ placeholder="0000 0000 0000 0000"
404
+ required=""
405
+ type="text"
406
+ value=""
407
+ />
408
+ </div>
409
+ </div>
410
+ </div>
411
+ <div
412
+ class="view inputContainer"
413
+ >
414
+ <div
415
+ class="view row inputBorder"
416
+ >
417
+ <div
418
+ class="view wide content"
419
+ >
420
+ <span
421
+ class="text paragraph text label"
422
+ >
423
+ payments.label.card_name
424
+ <span
425
+ class="required"
426
+ >
427
+ *
428
+ </span>
429
+ </span>
430
+ <input
431
+ class="input input withLabel"
432
+ id="checkout-name"
433
+ maxlength="100"
434
+ minlength="3"
435
+ name="name"
436
+ required=""
437
+ type="text"
438
+ value=""
439
+ />
440
+ </div>
441
+ </div>
442
+ </div>
443
+ <div
444
+ class="view inputContainer"
445
+ >
446
+ <div
447
+ class="view row inputBorder"
448
+ >
449
+ <div
450
+ class="view wide content"
451
+ >
452
+ <span
453
+ class="text paragraph text label"
454
+ >
455
+ payments.label.expiration
456
+ <span
457
+ class="required"
458
+ >
459
+ *
460
+ </span>
461
+ </span>
462
+ <input
463
+ class="input input withLabel"
464
+ id="checkout-expire"
465
+ maxlength="5"
466
+ name="expire"
467
+ placeholder="payments.label.month_format/payments.label.year_format"
468
+ required=""
469
+ type="inputDate"
470
+ value=""
471
+ />
472
+ </div>
473
+ </div>
474
+ </div>
475
+ <div
476
+ class="view inputContainer"
477
+ >
478
+ <div
479
+ class="view row inputBorder"
480
+ >
481
+ <div
482
+ class="view wide content"
483
+ >
484
+ <span
485
+ class="text paragraph text label"
486
+ >
487
+ payments.label.cvv
488
+ <span
489
+ class="required"
490
+ >
491
+ *
492
+ </span>
493
+ </span>
494
+ <input
495
+ class="input input withLabel"
496
+ id="checkout-CVV"
497
+ maxlength="3"
498
+ name="CVV"
499
+ placeholder="000"
500
+ required=""
501
+ type="text"
502
+ value=""
503
+ />
504
+ </div>
505
+ </div>
506
+ </div>
507
+ </fieldset>
370
508
  </div>
371
509
  </div>
372
510
  <div
@@ -644,13 +782,15 @@ exports[`component:<Payment> testID with some methods 1`] = `
644
782
  class="view"
645
783
  >
646
784
  <div
647
- class="pressable"
785
+ class="pressable disabled"
648
786
  data-testid="mirai-item-CARD"
787
+ disabled=""
649
788
  >
650
789
  <div
651
790
  class="radio"
652
791
  >
653
792
  <input
793
+ checked=""
654
794
  class="input"
655
795
  name="method"
656
796
  type="radio"
@@ -660,12 +800,154 @@ exports[`component:<Payment> testID with some methods 1`] = `
660
800
  class="checkmark"
661
801
  />
662
802
  </div>
663
- <span
664
- class="text bold paragraph"
803
+ <h3
804
+ class="text bold headline-3"
665
805
  data-testid="mirai-text-CARD"
666
806
  >
667
807
  payments.label.card
668
- </span>
808
+ </h3>
809
+ </div>
810
+ <div
811
+ class="view"
812
+ data-testid="mirai-container-CARD"
813
+ >
814
+ <fieldset
815
+ autocomplete="off"
816
+ data-testid="mirai"
817
+ >
818
+ <div
819
+ class="view inputContainer"
820
+ >
821
+ <div
822
+ class="view row inputBorder"
823
+ >
824
+ <div
825
+ class="view wide content"
826
+ >
827
+ <span
828
+ class="text paragraph text label"
829
+ >
830
+ payments.label.card_number
831
+ <span
832
+ class="required"
833
+ >
834
+ *
835
+ </span>
836
+ </span>
837
+ <input
838
+ class="input input withLabel"
839
+ data-testid="mirai-card"
840
+ id="checkout-card"
841
+ maxlength="19"
842
+ name="card"
843
+ placeholder="0000 0000 0000 0000"
844
+ required=""
845
+ type="text"
846
+ value=""
847
+ />
848
+ </div>
849
+ </div>
850
+ </div>
851
+ <div
852
+ class="view inputContainer"
853
+ >
854
+ <div
855
+ class="view row inputBorder"
856
+ >
857
+ <div
858
+ class="view wide content"
859
+ >
860
+ <span
861
+ class="text paragraph text label"
862
+ >
863
+ payments.label.card_name
864
+ <span
865
+ class="required"
866
+ >
867
+ *
868
+ </span>
869
+ </span>
870
+ <input
871
+ class="input input withLabel"
872
+ data-testid="mirai-name"
873
+ id="checkout-name"
874
+ maxlength="100"
875
+ minlength="3"
876
+ name="name"
877
+ required=""
878
+ type="text"
879
+ value=""
880
+ />
881
+ </div>
882
+ </div>
883
+ </div>
884
+ <div
885
+ class="view inputContainer"
886
+ >
887
+ <div
888
+ class="view row inputBorder"
889
+ >
890
+ <div
891
+ class="view wide content"
892
+ >
893
+ <span
894
+ class="text paragraph text label"
895
+ >
896
+ payments.label.expiration
897
+ <span
898
+ class="required"
899
+ >
900
+ *
901
+ </span>
902
+ </span>
903
+ <input
904
+ class="input input withLabel"
905
+ data-testid="mirai-expire"
906
+ id="checkout-expire"
907
+ maxlength="5"
908
+ name="expire"
909
+ placeholder="payments.label.month_format/payments.label.year_format"
910
+ required=""
911
+ type="inputDate"
912
+ value=""
913
+ />
914
+ </div>
915
+ </div>
916
+ </div>
917
+ <div
918
+ class="view inputContainer"
919
+ >
920
+ <div
921
+ class="view row inputBorder"
922
+ >
923
+ <div
924
+ class="view wide content"
925
+ >
926
+ <span
927
+ class="text paragraph text label"
928
+ >
929
+ payments.label.cvv
930
+ <span
931
+ class="required"
932
+ >
933
+ *
934
+ </span>
935
+ </span>
936
+ <input
937
+ class="input input withLabel"
938
+ data-testid="mirai-CVV"
939
+ id="checkout-CVV"
940
+ maxlength="3"
941
+ name="CVV"
942
+ placeholder="000"
943
+ required=""
944
+ type="text"
945
+ value=""
946
+ />
947
+ </div>
948
+ </div>
949
+ </div>
950
+ </fieldset>
669
951
  </div>
670
952
  </div>
671
953
  <div
@@ -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.NUMBER_FIELDS = exports.ERROR = void 0;
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","NUMBER_FIELDS","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 NUMBER_FIELDS = 4;\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, NUMBER_FIELDS, 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,aAAa,GAAAF,OAAA,CAAAE,aAAA,GAAG,CAAC;AAEvB,MAAMC,QAAQ,GAAAH,OAAA,CAAAG,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,GAAApB,OAAA,CAAAoB,gBAAA,GAAG,qBAAqB;AAE9C,MAAMC,eAAe,GAAArB,OAAA,CAAAqB,eAAA,GAAG,KAAK;AAE7B,MAAMC,SAAS,GAAAtB,OAAA,CAAAsB,SAAA,GAAG,kBAAkB"}
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(_PCI.ERROR);
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
- let error = {
110
- ...Object.entries({
111
- ...formError
112
- }).filter(_ref2 => {
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 = _ref3 => {
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
- } = _ref3;
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
- setFormError({
178
- ...formError,
179
- card: !cardNumber.valid && cardNumber.length > 0 || formError.card !== undefined && cardNumber.length === 0
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
- setFormError({
187
- ...formError,
188
- cvv: !cvv.valid && cvv.length > 0 || formError.cvv !== undefined && cvv.length === 0
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
- setFormError({
189
+ if (!ready) return;
190
+ setFormError(formError => ({
198
191
  ...formError,
199
- [field]: test || required && !!formError[field]
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 = _ref4 => {
208
+ const handleSuccess = _ref5 => {
210
209
  let {
211
210
  transactionId
212
- } = _ref4;
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 === false,
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$name = form.name) === null || _form$name === void 0 ? void 0 : _form$name.length) > 0 && !formError.name,
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 === null || form === void 0 ? void 0 : (_form$expire = form.expire) === null || _form$expire === void 0 ? void 0 : _form$expire.length) > 0 && !!formError.expire,
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 === false,
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", {