@adyen/adyen-web 6.28.0 → 6.30.0

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 (315) hide show
  1. package/dist/cjs/adyen.css +15 -14
  2. package/dist/cjs/adyen.css.map +1 -1
  3. package/dist/cjs/index.cjs +2 -2
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/index.d.cts +2688 -2566
  6. package/dist/es/adyen.css +15 -14
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/Card/Card.js +1 -1
  9. package/dist/es/components/Card/Card.js.map +1 -1
  10. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  11. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  12. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  13. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  14. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  15. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  16. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  17. package/dist/es/components/Econtext/Econtext.js +1 -1
  18. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  19. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  20. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  21. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  22. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  23. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  24. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  25. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  26. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  27. package/dist/es/components/Iris/Iris.js +2 -0
  28. package/dist/es/components/Iris/Iris.js.map +1 -0
  29. package/dist/es/components/Iris/components/IrisComponent.js +2 -0
  30. package/dist/es/components/Iris/components/IrisComponent.js.map +1 -0
  31. package/dist/es/components/Iris/components/IrisComponent.module.scss.js +2 -0
  32. package/dist/es/components/Iris/components/IrisComponent.module.scss.js.map +1 -0
  33. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +2 -0
  34. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -0
  35. package/dist/es/components/Iris/components/IrisGenerateQRCode.module.scss.js +2 -0
  36. package/dist/es/components/Iris/components/IrisGenerateQRCode.module.scss.js.map +1 -0
  37. package/dist/es/components/Iris/components/IrisQrCodeInstructions.js +2 -0
  38. package/dist/es/components/Iris/components/IrisQrCodeInstructions.js.map +1 -0
  39. package/dist/es/components/Iris/constants.js +2 -0
  40. package/dist/es/components/Iris/constants.js.map +1 -0
  41. package/dist/es/components/Iris/types.js +2 -0
  42. package/dist/es/components/Iris/types.js.map +1 -0
  43. package/dist/es/components/Iris/utils.js +2 -0
  44. package/dist/es/components/Iris/utils.js.map +1 -0
  45. package/dist/es/components/PayTo/components/PayToComponent.js +1 -1
  46. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  47. package/dist/es/components/Pix/components/PixQRDetails.js +1 -1
  48. package/dist/es/components/Pix/components/PixQRDetails.js.map +1 -1
  49. package/dist/es/components/UPI/UPI.js +1 -1
  50. package/dist/es/components/UPI/UPI.js.map +1 -1
  51. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  52. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  53. package/dist/es/components/UPI/constants.js +1 -1
  54. package/dist/es/components/UPI/constants.js.map +1 -1
  55. package/dist/es/components/components-name-map.js +1 -1
  56. package/dist/es/components/components-name-map.js.map +1 -1
  57. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  58. package/dist/es/components/index.js +1 -1
  59. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  60. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  61. package/dist/es/components/internal/Countdown/index.js +1 -1
  62. package/dist/es/components/internal/Countdown/index.js.map +1 -1
  63. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  64. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  65. package/dist/es/components/internal/QRLoader/QRLoader.js +1 -1
  66. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  67. package/dist/es/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  68. package/dist/es/components/internal/QRLoader/components/QRDetails.js +1 -1
  69. package/dist/es/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  70. package/dist/es/components/internal/QRLoader/components/QRImage.js +1 -1
  71. package/dist/es/components/internal/QRLoader/components/QRImage.js.map +1 -1
  72. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  73. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  74. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  75. package/dist/es/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  76. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  77. package/dist/es/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  78. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  79. package/dist/es/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  80. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  81. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  82. package/dist/es/components/internal/SegmentedControl/SegmentedControlRegion.js +2 -0
  83. package/dist/es/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -0
  84. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  85. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  86. package/dist/es/components/internal/Voucher/utils.js.map +1 -1
  87. package/dist/es/components/tx-variants.js +1 -1
  88. package/dist/es/components/tx-variants.js.map +1 -1
  89. package/dist/es/core/Analytics/Analytics.js +1 -1
  90. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  91. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  92. package/dist/es/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  93. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  94. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  95. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  96. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  97. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  98. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  99. package/dist/es/core/config.js +1 -1
  100. package/dist/es/index.d.ts +2688 -2566
  101. package/dist/es/index.js +1 -1
  102. package/dist/es/language/Language.js.map +1 -1
  103. package/dist/es/utils/createSdkData.js +2 -0
  104. package/dist/es/utils/createSdkData.js.map +1 -0
  105. package/dist/es-legacy/adyen.css +15 -14
  106. package/dist/es-legacy/adyen.css.map +1 -1
  107. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  108. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  109. package/dist/es-legacy/components/ApplePay/utils/payment-request.js +1 -1
  110. package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
  111. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +1 -1
  112. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js.map +1 -1
  113. package/dist/es-legacy/components/Card/Card.js +1 -1
  114. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  115. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  116. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  117. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  118. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  119. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  120. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  121. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  122. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +1 -1
  123. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
  124. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  125. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  126. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  127. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  128. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  129. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  130. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js +1 -1
  131. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  132. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  133. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  134. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  135. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  136. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  137. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  138. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  139. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  140. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  141. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  142. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  143. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  144. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  145. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  146. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  147. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  148. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  149. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  150. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  151. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  152. package/dist/es-legacy/components/GooglePay/requests.js +1 -1
  153. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  154. package/dist/es-legacy/components/Iris/Iris.js +2 -0
  155. package/dist/es-legacy/components/Iris/Iris.js.map +1 -0
  156. package/dist/es-legacy/components/Iris/components/IrisComponent.js +2 -0
  157. package/dist/es-legacy/components/Iris/components/IrisComponent.js.map +1 -0
  158. package/dist/es-legacy/components/Iris/components/IrisComponent.module.scss.js +2 -0
  159. package/dist/es-legacy/components/Iris/components/IrisComponent.module.scss.js.map +1 -0
  160. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +2 -0
  161. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -0
  162. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.module.scss.js +2 -0
  163. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.module.scss.js.map +1 -0
  164. package/dist/es-legacy/components/Iris/components/IrisQrCodeInstructions.js +2 -0
  165. package/dist/es-legacy/components/Iris/components/IrisQrCodeInstructions.js.map +1 -0
  166. package/dist/es-legacy/components/Iris/constants.js +2 -0
  167. package/dist/es-legacy/components/Iris/constants.js.map +1 -0
  168. package/dist/es-legacy/components/Iris/types.js +2 -0
  169. package/dist/es-legacy/components/Iris/types.js.map +1 -0
  170. package/dist/es-legacy/components/Iris/utils.js +2 -0
  171. package/dist/es-legacy/components/Iris/utils.js.map +1 -0
  172. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  173. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  174. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  175. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  176. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  177. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  178. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  179. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  180. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  181. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  182. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  183. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  184. package/dist/es-legacy/components/PayTo/components/PayToComponent.js +1 -1
  185. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  186. package/dist/es-legacy/components/Pix/components/PixQRDetails.js +1 -1
  187. package/dist/es-legacy/components/Pix/components/PixQRDetails.js.map +1 -1
  188. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  189. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  190. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  191. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  192. package/dist/es-legacy/components/UPI/UPI.js +1 -1
  193. package/dist/es-legacy/components/UPI/UPI.js.map +1 -1
  194. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  195. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  196. package/dist/es-legacy/components/UPI/constants.js +1 -1
  197. package/dist/es-legacy/components/UPI/constants.js.map +1 -1
  198. package/dist/es-legacy/components/components-name-map.js +1 -1
  199. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  200. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  201. package/dist/es-legacy/components/index.js +1 -1
  202. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  203. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  204. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  205. package/dist/es-legacy/components/internal/Button/CopyButton.js +1 -1
  206. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
  207. package/dist/es-legacy/components/internal/Button/CopyIconButton.js +1 -1
  208. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
  209. package/dist/es-legacy/components/internal/Countdown/index.js +1 -1
  210. package/dist/es-legacy/components/internal/Countdown/index.js.map +1 -1
  211. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  212. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  213. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  214. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  215. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  216. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  217. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  218. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  219. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js +1 -1
  220. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  221. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  222. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  223. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  224. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  225. package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
  226. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  227. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  228. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  229. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  230. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  231. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  232. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  233. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  234. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  235. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js +1 -1
  236. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  237. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  238. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  239. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js +1 -1
  240. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  241. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +1 -1
  242. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  243. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js +1 -1
  244. package/dist/es-legacy/components/internal/QRLoader/components/QRDetails.js.map +1 -1
  245. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js +1 -1
  246. package/dist/es-legacy/components/internal/QRLoader/components/QRImage.js.map +1 -1
  247. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  248. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  249. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  250. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  251. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  252. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  253. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  254. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  255. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
  256. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
  257. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  258. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  259. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js +1 -1
  260. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  261. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js +1 -1
  262. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/AbstractSecuredField.js.map +1 -1
  263. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js +1 -1
  264. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/SecuredField.js.map +1 -1
  265. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
  266. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  267. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  268. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControlRegion.js +2 -0
  269. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -0
  270. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js +1 -1
  271. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js.map +1 -1
  272. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  273. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  274. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  275. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  276. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -1
  277. package/dist/es-legacy/components/tx-variants.js +1 -1
  278. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  279. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  280. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  281. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js +1 -1
  282. package/dist/es-legacy/core/Analytics/events/AnalyticsErrorEvent.js.map +1 -1
  283. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  284. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  285. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  286. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  287. package/dist/es-legacy/core/Context/Resources.js +1 -1
  288. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  289. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  290. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  291. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  292. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  293. package/dist/es-legacy/core/config.js +1 -1
  294. package/dist/es-legacy/core/core.js +1 -1
  295. package/dist/es-legacy/core/core.js.map +1 -1
  296. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +1 -1
  297. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  298. package/dist/es-legacy/index.js +1 -1
  299. package/dist/es-legacy/language/Language.js.map +1 -1
  300. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  301. package/dist/es-legacy/utils/commonUtils.js.map +1 -1
  302. package/dist/es-legacy/utils/createSdkData.js +2 -0
  303. package/dist/es-legacy/utils/createSdkData.js.map +1 -0
  304. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  305. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  306. package/package.json +12 -12
  307. package/styles/adyen.css +15 -14
  308. package/dist/es/components/UPI/components/VpaInput/VpaInput.js +0 -2
  309. package/dist/es/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  310. package/dist/es/components/UPI/components/VpaInput/validate.js +0 -2
  311. package/dist/es/components/UPI/components/VpaInput/validate.js.map +0 -1
  312. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js +0 -2
  313. package/dist/es-legacy/components/UPI/components/VpaInput/VpaInput.js.map +0 -1
  314. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js +0 -2
  315. package/dist/es-legacy/components/UPI/components/VpaInput/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { BrandObject } from '../Card/types';\nimport { getCardImageUrl, fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { TxVariants } from '../tx-variants';\nimport { CustomCardConfiguration } from './types';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CustomCard extends UIElement<CustomCardConfiguration> {\n public static type = TxVariants.customCard;\n\n protected static defaultProps = {\n onBinLookup: () => {},\n brandsConfiguration: {}\n };\n\n private brand = TxVariants.card;\n\n formatProps(props: CustomCardConfiguration) {\n return {\n ...props,\n type: TxVariants.customCard\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const sfBrand = this.state.selectedBrandValue;\n return {\n paymentMethod: {\n type: 'scheme',\n ...this.state.data,\n ...(sfBrand && { brand: sfBrand })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(frame) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(frame);\n return this;\n }\n\n processBinLookupResponse(binLookupResponse) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse);\n return this;\n }\n\n dualBrandingChangeHandler(e: Event | string) {\n if (this.componentRef?.dualBrandingChangeHandler) this.componentRef.dualBrandingChangeHandler(e);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n onBinLookup(obj: CardBinLookupData) {\n const nuObj = { ...obj };\n nuObj.rootNode = this._node;\n\n if (!nuObj.isReset) {\n // Add brandImage urls, first checking if the merchant has configured their own one for the brand\n nuObj.supportedBrandsRaw = obj.supportedBrandsRaw?.map((item: BrandObject) => {\n item.brandImageUrl = this.props.brandsConfiguration[item.brand]?.icon ?? getCardImageUrl(item.brand, this.resources);\n return item;\n });\n }\n\n this.props.onBinLookup(nuObj);\n }\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n private onFocus = (obj: CardFocusData) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: obj.focus === true ? InfoEventType.focus : InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n this.props.onFocus?.(obj);\n };\n\n protected onEnterKeyPressed = (activeElement: Element, component: UIElement) => {\n this.props.onEnterKeyPressed?.(activeElement, component);\n };\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <CustomCardInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n {...this.state}\n handleKeyPress={this.handleKeyPress}\n rootNode={this._node}\n onChange={this.setState}\n onBinValue={this.onBinValue}\n implementationType={'custom'}\n resources={this.resources}\n brand={this.brand}\n onFocus={this.onFocus}\n />\n );\n }\n}\n\nexport default CustomCard;\n"],"names":["CustomCard","UIElement","formatProps","props","_object_spread_props","_object_spread","type","TxVariants","customCard","formatData","sfBrand","this","state","selectedBrandValue","paymentMethod","data","brand","browserInfo","origin","window","location","updateStyles","stylesObj","_this_componentRef","componentRef","setFocusOn","frame","processBinLookupResponse","binLookupResponse","dualBrandingChangeHandler","e","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","rootNode","_node","isReset","supportedBrandsRaw","map","item","_this_props_brandsConfiguration_item_brand","_this_props_brandsConfiguration_item_brand_icon","brandImageUrl","brandsConfiguration","icon","getCardImageUrl","resources","isValid","collectBrowserInfo","componentToRender","h","CustomCardInput","ref","handleKeyPress","onChange","setState","onBinValue","implementationType","onFocus","super","args","_define_property","card","triggerBinLookUp","_this_props_onFocus","_this_props","event","AnalyticsInfoEvent","component","focus","InfoEventType","unfocus","target","fieldTypeToSnakeCase","fieldType","submitAnalytics","call","onEnterKeyPressed","activeElement","_this_props_onEnterKeyPressed","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"CustomCard.js","sources":["../../../../src/components/CustomCard/CustomCard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement';\nimport CustomCardInput from './CustomCardInput';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CardBinLookupData, CardFocusData } from '../internal/SecuredFields/lib/types';\nimport { BrandObject } from '../Card/types';\nimport { getCardImageUrl, fieldTypeToSnakeCase } from '../internal/SecuredFields/utils';\nimport { TxVariants } from '../tx-variants';\nimport { CustomCardConfiguration } from './types';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nexport class CustomCard extends UIElement<CustomCardConfiguration> {\n public static type = TxVariants.customCard;\n\n protected static defaultProps = {\n onBinLookup: () => {},\n brandsConfiguration: {}\n };\n\n private brand = TxVariants.card;\n\n formatProps(props: CustomCardConfiguration) {\n return {\n ...props,\n type: TxVariants.customCard\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const sfBrand = this.state.selectedBrandValue;\n return {\n paymentMethod: {\n type: 'scheme',\n ...this.state.data,\n ...(sfBrand && { brand: sfBrand })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(frame) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(frame);\n return this;\n }\n\n processBinLookupResponse(binLookupResponse) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse);\n return this;\n }\n\n dualBrandingChangeHandler(e: Event | string) {\n if (this.componentRef?.dualBrandingChangeHandler) this.componentRef.dualBrandingChangeHandler(e);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n onBinLookup(obj: CardBinLookupData) {\n const nuObj = { ...obj };\n nuObj.rootNode = this._node;\n\n if (!nuObj.isReset) {\n // Add brandImage urls, first checking if the merchant has configured their own one for the brand\n nuObj.supportedBrandsRaw = obj.supportedBrandsRaw?.map((item: BrandObject) => {\n item.brandImageUrl = this.props.brandsConfiguration[item.brand]?.icon ?? getCardImageUrl(item.brand, this.resources);\n return item;\n });\n }\n\n this.props.onBinLookup(nuObj);\n }\n\n public onBinValue = triggerBinLookUp(this);\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n private onFocus = (obj: CardFocusData) => {\n const event = new AnalyticsInfoEvent({\n component: this.type,\n type: obj.focus === true ? InfoEventType.focus : InfoEventType.unfocus,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n this.submitAnalytics(event);\n\n // Call merchant defined callback\n this.props.onFocus?.(obj);\n };\n\n protected onEnterKeyPressed = (activeElement: Element, component: UIElement) => {\n this.props.onEnterKeyPressed?.(activeElement, component);\n };\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <CustomCardInput\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n {...this.state}\n handleKeyPress={this.handleKeyPress}\n rootNode={this._node}\n onChange={this.setState}\n onBinValue={this.onBinValue}\n implementationType={'custom'}\n resources={this.resources}\n brand={this.brand}\n onFocus={this.onFocus}\n onSubmitAnalytics={this.submitAnalytics}\n />\n );\n }\n}\n\nexport default CustomCard;\n"],"names":["CustomCard","UIElement","formatProps","props","_object_spread_props","_object_spread","type","TxVariants","customCard","formatData","sfBrand","this","state","selectedBrandValue","paymentMethod","data","brand","browserInfo","origin","window","location","updateStyles","stylesObj","_this_componentRef","componentRef","setFocusOn","frame","processBinLookupResponse","binLookupResponse","dualBrandingChangeHandler","e","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","rootNode","_node","isReset","supportedBrandsRaw","map","item","_this_props_brandsConfiguration_item_brand","brandImageUrl","brandsConfiguration","icon","_ref","getCardImageUrl","resources","isValid","collectBrowserInfo","componentToRender","h","CustomCardInput","ref","handleKeyPress","onChange","setState","onBinValue","implementationType","onFocus","onSubmitAnalytics","submitAnalytics","super","args","_define_property","card","triggerBinLookUp","_this_props_onFocus","_this_props","event","AnalyticsInfoEvent","component","focus","InfoEventType","unfocus","target","fieldTypeToSnakeCase","fieldType","call","onEnterKeyPressed","activeElement","_this_props_onEnterKeyPressed","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as r,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import i from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(o){s(e,o,n[o])})}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o}(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))}),e}function u(s){const u=o(null),[p,y]=n({}),[f,m]=n({}),[g,b]=n({}),[h,O]=n(!1),[S,C]=n(null),[j,F]=n([]),[P,V]=n(""),E=r(()=>i(s,{sfp:u},{dualBrandSelectElements:j,setDualBrandSelectElements:F,setSelectedBrandValue:V,issuingCountryCode:S,setIssuingCountryCode:C}),[j,S]);return this.processBinLookupResponse=(e,o)=>{E.processBinLookup(e,o)},this.dualBrandingChangeHandler=E.handleDualBrandSelection,t(()=>(this.setFocusOn=u.current.setFocusOn,this.updateStyles=u.current.updateStyles,this.showValidation=u.current.showValidation,this.handleUnsupportedCard=u.current.handleUnsupportedCard,()=>{u.current.destroy()}),[]),t(()=>{const e=u.current.mapErrorsToValidationRuleResult(),o=l({},p,e);if(s.onChange({data:g,valid:f,errors:o,isValid:h,selectedBrandValue:P}),Object.keys(o).length){var n,r;const e=Object.entries(o).map(([e,o])=>l({fieldType:e},o||{error:"",rootNode:this.props.rootNode}));null===(n=(r=this.props).onValidationError)||void 0===n||n.call(r,e)}},[g,f,p,P]),e(a,d(l({ref:u},c(s)),{type:s.brand,onChange:e=>{b(l({},g,e.data)),y(l({},p,e.errors)),m(l({},f,e.valid)),O(e.isSfpValid)},render:()=>null}))}u.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const c=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,forceCompat:e.forceCompat,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{u as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as o,useState as n,useMemo as t,useEffect as r}from"../../../external/preact/hooks/dist/hooks.js";import a from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import i from"../../internal/SecuredFields/binLookup/extensions.js";function s(e,o,n){return o in e?Object.defineProperty(e,o,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[o]=n,e}function l(e){for(var o=1;o<arguments.length;o++){var n=null!=arguments[o]?arguments[o]:{},t=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.forEach(function(o){s(e,o,n[o])})}return e}function d(e,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):function(e){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o}(Object(o)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(o,n))}),e}function u(s){const u=o(null),[p,y]=n({}),[m,f]=n({}),[b,g]=n({}),[h,S]=n(!1),[O,C]=n(null),[j,F]=n([]),[P,V]=n(""),E=t(()=>i(s,{sfp:u},{dualBrandSelectElements:j,setDualBrandSelectElements:F,setSelectedBrandValue:V,issuingCountryCode:O,setIssuingCountryCode:C}),[j,O]);return this.processBinLookupResponse=(e,o)=>{E.processBinLookup(e,o)},this.dualBrandingChangeHandler=E.handleDualBrandSelection,r(()=>(this.setFocusOn=u.current.setFocusOn,this.updateStyles=u.current.updateStyles,this.showValidation=u.current.showValidation,this.handleUnsupportedCard=u.current.handleUnsupportedCard,()=>{u.current.destroy()}),[]),r(()=>{const e=u.current.mapErrorsToValidationRuleResult(),o=l({},p,e);if(s.onChange({data:b,valid:m,errors:o,isValid:h,selectedBrandValue:P}),Object.keys(o).length){var n,t;const e=Object.entries(o).map(([e,o])=>l({fieldType:e},o||{error:"",rootNode:this.props.rootNode}));null===(n=(t=this.props).onValidationError)||void 0===n||n.call(t,e)}},[b,m,p,P]),e(a,d(l({ref:u},c(s)),{type:s.brand,componentType:s.type,onChange:e=>{g(l({},b,e.data)),y(l({},p,e.errors)),f(l({},m,e.valid)),S(e.isSfpValid)},onSubmitAnalytics:s.onSubmitAnalytics,render:()=>null}))}u.defaultProps={onChange:()=>{},onError:()=>{},onValidationError:()=>{}};const c=e=>({autoFocus:e.autoFocus,brands:e.brands,brandsConfiguration:e.brandsConfiguration,clientKey:e.clientKey,forceCompat:e.forceCompat,i18n:e.i18n,implementationType:e.implementationType,keypadFix:e.keypadFix,legacyInputMode:e.legacyInputMode,loadingContext:e.loadingContext,minimumExpiryDate:e.minimumExpiryDate,onAdditionalSFConfig:e.onAdditionalSFConfig,onAdditionalSFRemoved:e.onAdditionalSFRemoved,onAllValid:e.onAllValid,onAutoComplete:e.onAutoComplete,onBinValue:e.onBinValue,onBrand:e.onBrand,onConfigSuccess:e.onConfigSuccess,handleKeyPress:e.handleKeyPress,onError:e.onError,onFieldValid:e.onFieldValid,onFocus:e.onFocus,onLoad:e.onLoad,rootNode:e.rootNode,showWarnings:e.showWarnings,styles:e.styles,trimTrailingSeparator:e.trimTrailingSeparator,resources:e.resources,maskSecurityCode:e.maskSecurityCode,placeholders:e.placeholders});export{u as default};
2
2
  //# sourceMappingURL=CustomCardInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration, CardPlaceholders } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n forceCompat?: boolean;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: CardPlaceholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n onChange={handleSecuredFieldsChange}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n forceCompat: props.forceCompat,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","sfState","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","forceCompat","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"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"}
1
+ {"version":3,"file":"CustomCardInput.js","sources":["../../../../../src/components/CustomCard/CustomCardInput/CustomCardInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef, useMemo } from 'preact/hooks';\nimport Language from '../../../language/Language';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport { SFPState } from '../../internal/SecuredFields/SFP/types';\nimport { BinLookupResponse, CardBrandsConfiguration, CardPlaceholders } from '../../Card/types';\nimport SFExtensions from '../../internal/SecuredFields/binLookup/extensions';\nimport { StylesObject } from '../../internal/SecuredFields/lib/types';\nimport { Resources } from '../../../core/Context/Resources';\nimport { SFError } from '../../Card/components/CardInput/types';\nimport { ValidationError } from '../types';\nimport type { AbstractAnalyticsEvent } from '../../../core/Analytics/events/AbstractAnalyticsEvent';\n\ninterface SecuredFieldsProps {\n autoFocus?: boolean;\n brand?: string;\n brands?: string[];\n brandsConfiguration?: CardBrandsConfiguration;\n clientKey?: string;\n countryCode?: string;\n forceCompat?: boolean;\n i18n: Language;\n implementationType?: string;\n keypadFix?: boolean;\n loadingContext?: string;\n legacyInputMode?: boolean;\n minimumExpiryDate?: string;\n onAdditionalSFConfig?: () => {};\n onAdditionalSFRemoved?: () => {};\n onAllValid?: () => {};\n onAutoComplete?: () => {};\n onBinValue?: () => {};\n onBrand?: () => {};\n onConfigSuccess?: () => {};\n onChange: (data) => void;\n onSubmitAnalytics?: (event: AbstractAnalyticsEvent) => void;\n handleKeyPress?: (obj: KeyboardEvent) => void;\n onError?: () => {};\n onFieldValid?: () => {};\n onFocus?: (e) => {};\n onLoad?: () => {};\n placeholders?: CardPlaceholders;\n rootNode: HTMLElement;\n resources: Resources;\n showWarnings?: boolean;\n styles?: StylesObject;\n trimTrailingSeparator?: boolean;\n type: string;\n maskSecurityCode?: boolean;\n}\n\nconst defaultProps = {\n onChange: () => {},\n onError: () => {},\n onValidationError: () => {}\n};\n\nfunction CustomCardInput(props: SecuredFieldsProps) {\n const sfp = useRef(null);\n\n const [errors, setErrors] = useState({});\n const [valid, setValid] = useState({});\n const [data, setData] = useState({});\n\n const [isSfpValid, setIsSfpValid] = useState(false);\n\n const [issuingCountryCode, setIssuingCountryCode] = useState(null);\n\n const [dualBrandSelectElements, setDualBrandSelectElements] = useState([]);\n const [selectedBrandValue, setSelectedBrandValue] = useState('');\n\n const handleSecuredFieldsChange = (sfState: SFPState): void => {\n setData({ ...data, ...sfState.data });\n setErrors({ ...errors, ...sfState.errors });\n setValid({ ...valid, ...sfState.valid });\n\n setIsSfpValid(sfState.isSfpValid);\n };\n\n // Farm the handlers for binLookup related functionality out to another 'extensions' file\n const extensions = useMemo(\n () =>\n SFExtensions(\n props,\n { sfp },\n { dualBrandSelectElements, setDualBrandSelectElements, setSelectedBrandValue, issuingCountryCode, setIssuingCountryCode }\n ),\n [dualBrandSelectElements, issuingCountryCode]\n );\n\n /**\n * EXPECTED METHODS ON SecuredFields.this\n */\n this.processBinLookupResponse = (binLookupResponse: BinLookupResponse, isReset: boolean) => {\n extensions.processBinLookup(binLookupResponse, isReset);\n };\n\n this.dualBrandingChangeHandler = extensions.handleDualBrandSelection;\n\n /**\n * EFFECT HOOKS\n */\n useEffect(() => {\n // componentDidMount\n this.setFocusOn = sfp.current.setFocusOn;\n this.updateStyles = sfp.current.updateStyles;\n this.showValidation = sfp.current.showValidation;\n this.handleUnsupportedCard = sfp.current.handleUnsupportedCard;\n\n // componentWillUnmount\n return () => {\n sfp.current.destroy();\n };\n }, []);\n\n /**\n * Main 'componentDidUpdate' handler\n */\n useEffect(() => {\n const sfStateErrorsObj = sfp.current.mapErrorsToValidationRuleResult();\n\n const mappedErrors = { ...errors, ...sfStateErrorsObj }; // maps sfErrors\n\n props.onChange({\n data,\n valid,\n errors: mappedErrors,\n isValid: isSfpValid,\n selectedBrandValue\n });\n\n // Create an array of Validation error objects and send to callback\n if (Object.keys(mappedErrors).length) {\n const validationErrors: ValidationError[] = Object.entries(mappedErrors).map(([fieldType, error]) => {\n const valErr: ValidationError = {\n fieldType,\n ...(error ? (error as SFError) : { error: '', rootNode: this.props.rootNode })\n };\n return valErr;\n });\n this.props.onValidationError?.(validationErrors);\n }\n }, [data, valid, errors, selectedBrandValue]);\n\n /**\n * RENDER\n */\n // prettier-ignore\n return (\n <SecuredFieldsProvider\n ref={sfp}\n {...extractPropsForSFP(props)}\n type={props.brand}\n componentType={props.type}\n onChange={handleSecuredFieldsChange}\n onSubmitAnalytics={props.onSubmitAnalytics}\n render={() => null}\n />\n );\n}\n\nCustomCardInput.defaultProps = defaultProps;\n\nexport default CustomCardInput;\n\nconst extractPropsForSFP = (props: SecuredFieldsProps) => {\n return {\n autoFocus: props.autoFocus,\n brands: props.brands,\n brandsConfiguration: props.brandsConfiguration,\n clientKey: props.clientKey,\n forceCompat: props.forceCompat,\n // countryCode: props.countryCode, // only used for korean cards when koreanAuthenticationRequired is true\n i18n: props.i18n,\n implementationType: props.implementationType,\n keypadFix: props.keypadFix,\n legacyInputMode: props.legacyInputMode,\n loadingContext: props.loadingContext,\n minimumExpiryDate: props.minimumExpiryDate,\n onAdditionalSFConfig: props.onAdditionalSFConfig,\n onAdditionalSFRemoved: props.onAdditionalSFRemoved,\n onAllValid: props.onAllValid,\n onAutoComplete: props.onAutoComplete,\n onBinValue: props.onBinValue,\n onBrand: props.onBrand,\n // onChange // set directly\n onConfigSuccess: props.onConfigSuccess,\n handleKeyPress: props.handleKeyPress,\n onError: props.onError,\n onFieldValid: props.onFieldValid,\n onFocus: props.onFocus,\n onLoad: props.onLoad,\n // render // set directly\n rootNode: props.rootNode,\n showWarnings: props.showWarnings,\n styles: props.styles,\n trimTrailingSeparator: props.trimTrailingSeparator,\n resources: props.resources,\n maskSecurityCode: props.maskSecurityCode,\n placeholders: props.placeholders\n };\n};\n"],"names":["CustomCardInput","props","sfp","useRef","errors","setErrors","useState","valid","setValid","data","setData","isSfpValid","setIsSfpValid","issuingCountryCode","setIssuingCountryCode","dualBrandSelectElements","setDualBrandSelectElements","selectedBrandValue","setSelectedBrandValue","extensions","useMemo","SFExtensions","this","processBinLookupResponse","binLookupResponse","isReset","processBinLookup","dualBrandingChangeHandler","handleDualBrandSelection","useEffect","setFocusOn","current","updateStyles","showValidation","handleUnsupportedCard","destroy","sfStateErrorsObj","mapErrorsToValidationRuleResult","mappedErrors","_object_spread","onChange","isValid","Object","keys","length","_this_props_onValidationError","_this_props","validationErrors","entries","map","fieldType","error","rootNode","onValidationError","call","h","SecuredFieldsProvider","ref","extractPropsForSFP","type","brand","componentType","sfState","onSubmitAnalytics","render","defaultProps","onError","autoFocus","brands","brandsConfiguration","clientKey","forceCompat","i18n","implementationType","keypadFix","legacyInputMode","loadingContext","minimumExpiryDate","onAdditionalSFConfig","onAdditionalSFRemoved","onAllValid","onAutoComplete","onBinValue","onBrand","onConfigSuccess","handleKeyPress","onFieldValid","onFocus","onLoad","showWarnings","styles","trimTrailingSeparator","resources","maskSecurityCode","placeholders"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DragonpayInput/DragonpayInput.js";import n from"./components/DragonpayVoucherResult/DragonpayVoucherResult.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){s(t,e,r[e])})}return t}function a(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends e{get isValid(){return!!this.state.isValid}formatData(){const{issuer:t,shopperEmail:e}=this.state.data;return a(i({},e&&{shopperEmail:e}),{paymentMethod:a(i({},t&&{issuer:t}),{type:this.type})})}formatProps(t){var e,r,n;return a(i({},t),{issuers:null!==(n=null===(r=t.details)||void 0===r||null===(e=r.find(t=>"issuer"===t.key))||void 0===e?void 0:e.items)&&void 0!==n?n:t.issuers})}componentToRender(){return this.props.reference?t(n,a(i({ref:t=>{this.componentRef=t},icon:this.icon},this.props),{onActionHandled:this.onActionHandled})):t(r,a(i({ref:t=>{this.componentRef=t},items:this.props.issuers},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}s(p,"type",o.dragonpay),s(p,"txVariants",[o.dragonpay,o.dragonpay_ebanking,o.dragonpay_otc_banking,o.dragonpay_otc_non_banking,o.dragonpay_otc_philippines]);export{p as DragonpayElement,p as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import r from"./components/DragonpayInput/DragonpayInput.js";import n from"./components/DragonpayVoucherResult/DragonpayVoucherResult.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function i(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){s(t,e,r[e])})}return t}function a(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}),t}class p extends e{get isValid(){return!!this.state.isValid}formatData(){const{issuer:t,shopperEmail:e}=this.state.data;return a(i({},e&&{shopperEmail:e}),{paymentMethod:a(i({},t&&{issuer:t}),{type:this.type})})}formatProps(t){var e,r,n;return a(i({},t),{issuers:null!==(e=null===(n=t.details)||void 0===n||null===(r=n.find(t=>"issuer"===t.key))||void 0===r?void 0:r.items)&&void 0!==e?e:t.issuers})}componentToRender(){return this.props.reference?t(n,a(i({ref:t=>{this.componentRef=t},icon:this.icon},this.props),{onActionHandled:this.onActionHandled})):t(r,a(i({ref:t=>{this.componentRef=t},items:this.props.issuers},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}s(p,"type",o.dragonpay),s(p,"txVariants",[o.dragonpay,o.dragonpay_ebanking,o.dragonpay_otc_banking,o.dragonpay_otc_non_banking,o.dragonpay_otc_philippines]);export{p as DragonpayElement,p as default};
2
2
  //# sourceMappingURL=Dragonpay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","isValid","this","state","formatData","issuer","shopperEmail","data","_object_spread_props","paymentMethod","type","formatProps","props","_object_spread","issuers","details","find","detail","key","items","componentToRender","reference","h","DragonpayVoucherResult","ref","componentRef","icon","onActionHandled","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","dragonpay","txVariants","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines"],"mappings":"smCAOO,MAAMA,UAAyBC,EAWlC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,OAAEA,EAAMC,aAAEA,GAAiBJ,KAAKC,MAAMI,KAE5C,OAAOC,OACCF,GAAgB,CAAEA,iBAAa,CACnCG,cAAeD,OACPH,GAAU,CAAEA,WAAO,CACvBK,KAAMR,KAAKQ,QAGvB,CAEUC,WAAAA,CAAYC,OAGLA,EAAAA,EAAAA,EAFb,OAAOJ,EAAAK,EAAA,CAAA,EACAD,GAAAA,CACHE,QAAsE,QAA7DF,UAAAA,EAAAA,EAAMG,eAANH,IAAAA,GAA6C,QAA7CA,EAAAA,EAAeI,KAAKC,GAAyB,WAAfA,EAAOC,YAArCN,IAAAA,OAAAA,EAAAA,EAAwDO,aAAxDP,IAAAA,EAAAA,EAAiEA,EAAME,SAExF,CAEmBM,iBAAAA,GACf,OAAOlB,KAAKU,MAAMS,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDtB,KAAKuB,aAAeD,GAExBE,KAAMxB,KAAKwB,MACPxB,KAAKU,OAAK,CACde,gBAAiBzB,KAAKyB,mBAG1BL,EAACM,EAAAA,EAAAA,EAAAA,CACGJ,IAAKA,IACDtB,KAAKuB,aAAeD,GAExBL,MAAOjB,KAAKU,MAAME,SACdZ,KAAKU,OAAK,CACdiB,cAAe3B,KAAKU,MAAMiB,cAC1BC,SAAU5B,KAAK6B,SACfC,SAAU9B,KAAK+B,OACfC,UAAWhC,KAAKgC,YAG5B,EA3DAC,EADSpC,EACKW,OAAO0B,EAAWC,WAEhCF,EAHSpC,EAGKuC,aAAa,CACvBF,EAAWC,UACXD,EAAWG,mBACXH,EAAWI,sBACXJ,EAAWK,0BACXL,EAAWM"}
1
+ {"version":3,"file":"Dragonpay.js","sources":["../../../../src/components/Dragonpay/Dragonpay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DragonpayInput from './components/DragonpayInput';\nimport DragonpayVoucherResult from './components/DragonpayVoucherResult';\nimport { DragonpayConfiguraton } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class DragonpayElement extends UIElement<DragonpayConfiguraton> {\n public static type = TxVariants.dragonpay;\n\n public static txVariants = [\n TxVariants.dragonpay,\n TxVariants.dragonpay_ebanking,\n TxVariants.dragonpay_otc_banking,\n TxVariants.dragonpay_otc_non_banking,\n TxVariants.dragonpay_otc_philippines\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { issuer, shopperEmail } = this.state.data;\n\n return {\n ...(shopperEmail && { shopperEmail }),\n paymentMethod: {\n ...(issuer && { issuer }),\n type: this.type\n }\n };\n }\n\n protected formatProps(props: DragonpayConfiguraton) {\n return {\n ...props,\n issuers: props.details?.find(detail => detail.key === 'issuer')?.items ?? props.issuers\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <DragonpayVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <DragonpayInput\n ref={ref => {\n this.componentRef = ref;\n }}\n items={this.props.issuers}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default DragonpayElement;\n"],"names":["DragonpayElement","UIElement","isValid","this","state","formatData","issuer","shopperEmail","data","_object_spread_props","paymentMethod","type","formatProps","props","_object_spread","issuers","_ref","details","find","detail","key","items","componentToRender","reference","h","DragonpayVoucherResult","ref","componentRef","icon","onActionHandled","DragonpayInput","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","dragonpay","txVariants","dragonpay_ebanking","dragonpay_otc_banking","dragonpay_otc_non_banking","dragonpay_otc_philippines"],"mappings":"smCAOO,MAAMA,UAAyBC,EAWlC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,OAAEA,EAAMC,aAAEA,GAAiBJ,KAAKC,MAAMI,KAE5C,OAAOC,OACCF,GAAgB,CAAEA,iBAAa,CACnCG,cAAeD,OACPH,GAAU,CAAEA,WAAO,CACvBK,KAAMR,KAAKQ,QAGvB,CAEUC,WAAAA,CAAYC,SAGLA,EAAAA,EAFb,OAAOJ,EAAAK,EAAA,CAAA,EACAD,GAAAA,CACHE,QAAsE,QAA/DC,UAAEH,EAAAA,EAAMI,eAANJ,IAAAA,GAA6C,QAA7CA,EAAAA,EAAeK,KAAKC,GAAyB,WAAfA,EAAOC,gBAArCP,OAAAA,EAAAA,EAAwDQ,aAAK,IAAAL,EAAAA,EAAIH,EAAME,SAExF,CAEmBO,iBAAAA,GACf,OAAOnB,KAAKU,MAAMU,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDvB,KAAKwB,aAAeD,GAExBE,KAAMzB,KAAKyB,MACPzB,KAAKU,OAAK,CACdgB,gBAAiB1B,KAAK0B,mBAG1BL,EAACM,EAAAA,EAAAA,EAAAA,CACGJ,IAAKA,IACDvB,KAAKwB,aAAeD,GAExBL,MAAOlB,KAAKU,MAAME,SACdZ,KAAKU,OAAK,CACdkB,cAAe5B,KAAKU,MAAMkB,cAC1BC,SAAU7B,KAAK8B,SACfC,SAAU/B,KAAKgC,OACfC,UAAWjC,KAAKiC,YAG5B,EA3DAC,EADSrC,EACKW,OAAO2B,EAAWC,WAEhCF,EAHSrC,EAGKwC,aAAa,CACvBF,EAAWC,UACXD,EAAWG,mBACXH,EAAWI,sBACXJ,EAAWK,0BACXL,EAAWM"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./defaultProps.js";import{DropinComponent as o}from"./components/DropinComponent.js";import i from"./elements/createElements.js";import r from"./elements/createStoredElements.js";import s from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as a}from"../../utils/hasOwnProperty.js";import h from"./elements/splitPaymentMethods.js";import{TxVariants as d}from"../tx-variants.js";function l(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.forEach(function(e){l(t,e,n[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}const m=["paywithgoogle","googlepay","applepay"];class y extends e{reportIntegrationFlavor(){this.analytics.sendFlavor("dropin")}storeElementRefOnCore(){this.core.storeElementReference(this)}formatProps(t){return c(p({},super.formatProps(t)),{instantPaymentTypes:Array.from(new Set(t.instantPaymentTypes)).filter(t=>m.includes(t))})}get isValid(){return!!this.dropinRef&&!!this.dropinRef.state.activePaymentMethod&&!!this.dropinRef.state.activePaymentMethod.isValid}showValidation(){return this.dropinRef.state.activePaymentMethod&&this.dropinRef.state.activePaymentMethod.showValidation(),this}setStatus(t,e={}){var n;return null===(n=this.dropinRef)||void 0===n||n.setStatus(t,e),this}get activePaymentMethod(){var t,e;return(null===(t=this.dropinRef)||void 0===t?void 0:t.state)||(null===(e=this.dropinRef)||void 0===e?void 0:e.state.activePaymentMethod)?this.dropinRef.state.activePaymentMethod:null}get data(){return this.activePaymentMethod?this.dropinRef.state.activePaymentMethod.data:null}displayFinalAnimation(t){var e;this.props.disableFinalAnimation||null===(e=this.dropinRef)||void 0===e||e.setStatus(t)}submit(){if(!this.activePaymentMethod)throw new Error("No active payment method.");this.activePaymentMethod.isValid||this.activePaymentMethod.showValidation(),this.activePaymentMethod.isInstantPayment&&this.closeActivePaymentMethod(),this.activePaymentMethod.submit()}handleAction(t,e={}){var n,o;if(!t||!t.type){if(a(t,"action")&&a(t,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}if("redirect"!==t.type&&(null===(n=this.activePaymentMethod)||void 0===n?void 0:n.updateWithAction))return this.activePaymentMethod.updateWithAction(t);this.elementRef instanceof y&&(e=p({},null===(o=this.elementRef.activePaymentMethod)||void 0===o?void 0:o.props,e));const i=this.core.createFromAction(t,c(p({},e),{elementRef:this.elementRef,isDropin:!0}));return i?(this.setStatus(i.props.statusType,{component:i}),this.componentFromAction=i,this):null}closeActivePaymentMethod(){this.dropinRef.closeActivePaymentMethod()}handleKeyPress(t){if("Enter"===t.key||"Enter"===t.code){var e,n;if("radio"===(null===(n=document)||void 0===n||null===(e=n.activeElement)||void 0===e?void 0:e.getAttribute("role")))return;super.handleKeyPress(t)}}onEnterKeyPressed(t,e){var n,o;const i=null!==(o=this.activePaymentMethod)&&void 0!==o?o:e;null===(n=this.activePaymentMethod)||void 0===n||n.onEnterKeyPressed(t,i)}componentToRender(){return t(o,c(p({},this.props),{core:this.core,elementRef:this.elementRef,onCreateElements:this.handleCreate,ref:t=>{this.dropinRef=t}}))}constructor(t,e){super(t,e),l(this,"dropinRef",null),l(this,"paymentMethodsConfiguration",void 0),l(this,"componentFromAction",void 0),l(this,"handleCreate",()=>{var t,e;const{paymentMethodsConfiguration:n,showStoredPaymentMethods:o,showPaymentMethods:a,instantPaymentTypes:d}=this.props,{paymentMethods:l,storedPaymentMethods:p,instantPaymentMethods:c,fastlanePaymentMethod:m}=h(this.core.paymentMethodsResponse,d),y={elementRef:this.elementRef,isDropin:!0},u=a?i(l,n,y,this.core):[],f=s(c,n,y,this.core);var v;return[o?r(null!==(v=null===(t=(e=this.props).filterStoredPaymentMethods)||void 0===t?void 0:t.call(e,p))&&void 0!==v?v:p,n,y,this.core):[],u,f,m?i([m],n,y,this.core):[]]}),l(this,"handleOrder",({order:t})=>{this.updateParent({order:t})}),this.submit=this.submit.bind(this),this.handleAction=this.handleAction.bind(this),this.props.paymentMethodComponents.forEach(t=>this.core.register(t)),this.paymentMethodsConfiguration=this.props.paymentMethodsConfiguration||{}}}l(y,"type",d.dropin),l(y,"defaultProps",n);export{y as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./defaultProps.js";import{DropinComponent as o}from"./components/DropinComponent.js";import i from"./elements/createElements.js";import r from"./elements/createStoredElements.js";import s from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as a}from"../../utils/hasOwnProperty.js";import h from"./elements/splitPaymentMethods.js";import{TxVariants as d}from"../tx-variants.js";function l(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function p(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),o.forEach(function(e){l(t,e,n[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}const m=["paywithgoogle","googlepay","applepay"];class y extends e{reportIntegrationFlavor(){this.analytics.sendFlavor("dropin")}storeElementRefOnCore(){this.core.storeElementReference(this)}formatProps(t){return c(p({},super.formatProps(t)),{instantPaymentTypes:Array.from(new Set(t.instantPaymentTypes)).filter(t=>m.includes(t))})}get isValid(){return!!this.dropinRef&&!!this.dropinRef.state.activePaymentMethod&&!!this.dropinRef.state.activePaymentMethod.isValid}showValidation(){return this.dropinRef.state.activePaymentMethod&&this.dropinRef.state.activePaymentMethod.showValidation(),this}setStatus(t,e={}){var n;return null===(n=this.dropinRef)||void 0===n||n.setStatus(t,e),this}get activePaymentMethod(){var t,e;return(null===(t=this.dropinRef)||void 0===t?void 0:t.state)||(null===(e=this.dropinRef)||void 0===e?void 0:e.state.activePaymentMethod)?this.dropinRef.state.activePaymentMethod:null}get data(){return this.activePaymentMethod?this.dropinRef.state.activePaymentMethod.data:null}displayFinalAnimation(t){var e;this.props.disableFinalAnimation||null===(e=this.dropinRef)||void 0===e||e.setStatus(t)}submit(){if(!this.activePaymentMethod)throw new Error("No active payment method.");this.activePaymentMethod.isValid||this.activePaymentMethod.showValidation(),this.activePaymentMethod.isInstantPayment&&this.closeActivePaymentMethod(),this.activePaymentMethod.submit()}handleAction(t,e={}){var n,o;if(!t||!t.type){if(a(t,"action")&&a(t,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}if("redirect"!==t.type&&(null===(n=this.activePaymentMethod)||void 0===n?void 0:n.updateWithAction))return this.activePaymentMethod.updateWithAction(t);this.elementRef instanceof y&&(e=p({},null===(o=this.elementRef.activePaymentMethod)||void 0===o?void 0:o.props,e));const i=this.core.createFromAction(t,c(p({},e),{elementRef:this.elementRef,isDropin:!0}));return i?(this.setStatus(i.props.statusType,{component:i}),this.componentFromAction=i,this):null}closeActivePaymentMethod(){this.dropinRef.closeActivePaymentMethod()}handleKeyPress(t){if("Enter"===t.key||"Enter"===t.code){var e,n;if("radio"===(null===(n=document)||void 0===n||null===(e=n.activeElement)||void 0===e?void 0:e.getAttribute("role")))return;super.handleKeyPress(t)}}onEnterKeyPressed(t,e){var n,o;const i=null!==(n=this.activePaymentMethod)&&void 0!==n?n:e;null===(o=this.activePaymentMethod)||void 0===o||o.onEnterKeyPressed(t,i)}componentToRender(){return t(o,c(p({},this.props),{core:this.core,elementRef:this.elementRef,onCreateElements:this.handleCreate,ref:t=>{this.dropinRef=t}}))}constructor(t,e){super(t,e),l(this,"dropinRef",null),l(this,"paymentMethodsConfiguration",void 0),l(this,"componentFromAction",void 0),l(this,"handleCreate",()=>{var t,e,n;const{paymentMethodsConfiguration:o,showStoredPaymentMethods:a,showPaymentMethods:d,instantPaymentTypes:l}=this.props,{paymentMethods:p,storedPaymentMethods:c,instantPaymentMethods:m,fastlanePaymentMethod:y}=h(this.core.paymentMethodsResponse,l),u={elementRef:this.elementRef,isDropin:!0},f=d?i(p,o,u,this.core):[],v=s(m,o,u,this.core);return[a?r(null!==(t=null===(e=(n=this.props).filterStoredPaymentMethods)||void 0===e?void 0:e.call(n,c))&&void 0!==t?t:c,o,u,this.core):[],f,v,y?i([y],o,u,this.core):[]]}),l(this,"handleOrder",({order:t})=>{this.updateParent({order:t})}),this.submit=this.submit.bind(this),this.handleAction=this.handleAction.bind(this),this.props.paymentMethodComponents.forEach(t=>this.core.register(t)),this.paymentMethodsConfiguration=this.props.paymentMethodsConfiguration||{}}}l(y,"type",d.dropin),l(y,"defaultProps",n);export{y as default};
2
2
  //# sourceMappingURL=Dropin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override reportIntegrationFlavor(): void {\n void this.analytics.sendFlavor('dropin');\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef?.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods, fastlanePaymentMethod } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const dropinProps = {\n elementRef: this.elementRef,\n isDropin: true\n };\n\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, dropinProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, dropinProps, this.core);\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(\n this.props.filterStoredPaymentMethods?.(storedPaymentMethods) ?? storedPaymentMethods,\n paymentMethodsConfiguration,\n dropinProps,\n this.core\n )\n : [];\n const fastlanePaymentElement = fastlanePaymentMethod\n ? createElements([fastlanePaymentMethod], paymentMethodsConfiguration, dropinProps, this.core)\n : [];\n\n return [storedElements, elements, instantPaymentElements, fastlanePaymentElement];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","reportIntegrationFlavor","this","analytics","sendFlavor","storeElementRefOnCore","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","type","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","_this_activePaymentMethod1","pmComponent","componentToRender","h","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","_this_props_filterStoredPaymentMethods","_this_props","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","fastlanePaymentMethod","splitPaymentMethods","paymentMethodsResponse","dropinProps","elements","createElements","instantPaymentElements","createInstantPaymentElements","_this_props_filterStoredPaymentMethods1","createStoredElements","filterStoredPaymentMethods","call","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override reportIntegrationFlavor(): void {\n void this.analytics.sendFlavor('dropin');\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef?.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods, fastlanePaymentMethod } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const dropinProps = {\n elementRef: this.elementRef,\n isDropin: true\n };\n\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, dropinProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, dropinProps, this.core);\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(\n this.props.filterStoredPaymentMethods?.(storedPaymentMethods) ?? storedPaymentMethods,\n paymentMethodsConfiguration,\n dropinProps,\n this.core\n )\n : [];\n const fastlanePaymentElement = fastlanePaymentMethod\n ? createElements([fastlanePaymentMethod], paymentMethodsConfiguration, dropinProps, this.core)\n : [];\n\n return [storedElements, elements, instantPaymentElements, fastlanePaymentElement];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n void this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n protected handleKeyPress(e: h.JSX.TargetedKeyboardEvent<HTMLInputElement> | KeyboardEvent) {\n if (e.key === 'Enter' || e.code === 'Enter') {\n // If the active element has role=\"radio\", we're on a header in the PMList, in which case we don't want to validate the form, or, prevent the default behaviour\n const isPMHeader = document?.activeElement?.getAttribute('role') === 'radio';\n if (isPMHeader) {\n return;\n }\n super.handleKeyPress(e);\n }\n }\n\n protected onEnterKeyPressed(activeElement: Element, component: UIElement) {\n // We want to have a ref to the activePM, if we can; not a ref to the Dropin\n const pmComponent = this.activePaymentMethod ?? component;\n this.activePaymentMethod?.onEnterKeyPressed(activeElement, pmComponent);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","reportIntegrationFlavor","this","analytics","sendFlavor","storeElementRefOnCore","core","storeElementReference","formatProps","props","_object_spread_props","_object_spread","super","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","dropinRef","state","activePaymentMethod","showValidation","setStatus","status","_this_dropinRef","_this_dropinRef1","data","displayFinalAnimation","type","disableFinalAnimation","submit","Error","isInstantPayment","closeActivePaymentMethod","handleAction","action","_this_activePaymentMethod","_this_elementRef_activePaymentMethod","hasOwnProperty","updateWithAction","elementRef","paymentAction","createFromAction","isDropin","statusType","component","componentFromAction","handleKeyPress","e","key","code","document","activeElement","getAttribute","onEnterKeyPressed","_this_activePaymentMethod1","pmComponent","componentToRender","h","DropinComponent","onCreateElements","handleCreate","ref","constructor","checkout","_define_property","paymentMethodsConfiguration","_this_props_filterStoredPaymentMethods","_this_props","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","fastlanePaymentMethod","splitPaymentMethods","paymentMethodsResponse","dropinProps","elements","createElements","instantPaymentElements","createInstantPaymentElements","createStoredElements","filterStoredPaymentMethods","call","handleOrder","order","updateParent","bind","paymentMethodComponents","forEach","PaymentMethod","register","TxVariants","dropin","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as t}from"../../../../../external/preact/dist/preact.js";import o from"../../../../../_virtual/index.js";import{PaymentMethodDetails as n}from"../PaymentMethodDetails.js";import a from"../PaymentMethodIcon.js";import i from"../DisableOneClickConfirmation.js";import r from"../PaymentMethodBrands/PaymentMethodBrands.js";import{BRAND_ICON_UI_EXCLUSION_LIST as s}from"../../../../internal/SecuredFields/lib/constants.js";import d from"../PaymentMethodName.js";import{useCoreContext as c}from"../../../../../core/Context/CoreProvider.js";import m from"../../../../internal/ExpandButton/ExpandButton.js";import{getFullBrandName as p}from"../../../../Card/components/CardInput/utils.js";function l(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function h(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){l(e,t,o[t])})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}class u extends e{render({paymentMethod:e,isSelected:l,isDisablingPaymentMethod:u,isLoading:b,standalone:f,showRadioButton:_}){const{i18n:P}=c();if(!e)return null;const O="card"===e.props.type||"scheme"===e.props.type;var k;const C=o(y(h({"adyen-checkout__payment-method":!0,[`adyen-checkout__payment-method--${e.props.type}`]:!0},O&&{[`adyen-checkout__payment-method--${null!==(k=e.props.fundingSource)&&void 0!==k?k:"credit"}`]:!0}),{"adyen-checkout__payment-method--selected":l,"adyen-checkout__payment-method--loading":b,"adyen-checkout__payment-method--disabling":u,"adyen-checkout__payment-method--confirming":this.state.showDisableStoredPaymentMethodConfirmation,"adyen-checkout__payment-method--standalone":f,[e._id]:!0,[this.props.className]:!0})),g=this.props.showRemovePaymentMethodButton&&e.props.oneClick&&l,j=`remove-${e._id}`,M=`container-${e._id}`,S=`button-${e._id}`,w=!e.props.oneClick&&e.brands&&e.brands.length>0;return t("div",{key:e._id,className:C,onClick:this.handleOnListItemClick},t("div",{className:"adyen-checkout__payment-method__header"},t(m,{buttonId:S,showRadioButton:_,isSelected:l,expandContentId:M,standalone:f},t(a,y(h({},e.props.oneClick&&{altDescription:p(e.props.brand)}),{type:e.type,src:e.icon})),t(d,{displayName:e.displayName,isSelected:l,additionalInfo:e.additionalInfo})),g&&t("button",{type:"button",className:"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link",onClick:this.toggleDisableConfirmation,"aria-expanded":this.state.showDisableStoredPaymentMethodConfirmation,"aria-controls":j},P.get("storedPaymentMethod.disable.button")),w&&t(r,{showOtherInsteadOfNumber:e.props.showOtherInsteadOfNumber,keepBrandsVisible:e.props.keepBrandsVisible,brands:e.brands,excludedUIBrands:s,isPaymentMethodSelected:l})),t("div",{className:"adyen-checkout-pm-details-wrapper","aria-hidden":!l},t("div",{className:"adyen-checkout__payment-method__details",id:M},g&&t(i,{id:j,open:this.state.showDisableStoredPaymentMethodConfirmation,onDisable:this.onDisableStoredPaymentMethod,onCancel:this.toggleDisableConfirmation}),t(n,{paymentMethodComponent:e,isSelected:l}))))}constructor(...e){super(...e),l(this,"state",{showDisableStoredPaymentMethodConfirmation:!1}),l(this,"toggleDisableConfirmation",()=>{this.setState({showDisableStoredPaymentMethodConfirmation:!this.state.showDisableStoredPaymentMethodConfirmation})}),l(this,"onDisableStoredPaymentMethod",()=>{this.props.onDisableStoredPaymentMethod(this.props.paymentMethod),this.toggleDisableConfirmation()}),l(this,"handleOnListItemClick",()=>{const{onSelect:e,paymentMethod:t}=this.props;e(t)})}}l(u,"defaultProps",{paymentMethod:null,isSelected:!1,isLoaded:!1,isLoading:!1,showDisableStoredPaymentMethodConfirmation:!1,showRadioButton:!1});export{u as default};
1
+ import{Component as e,createElement as t}from"../../../../../external/preact/dist/preact.js";import o from"../../../../../_virtual/index.js";import{PaymentMethodDetails as n}from"../PaymentMethodDetails.js";import a from"../PaymentMethodIcon.js";import i from"../DisableOneClickConfirmation.js";import r from"../PaymentMethodBrands/PaymentMethodBrands.js";import{BRAND_ICON_UI_EXCLUSION_LIST as s}from"../../../../internal/SecuredFields/lib/constants.js";import d from"../PaymentMethodName.js";import{useCoreContext as c}from"../../../../../core/Context/CoreProvider.js";import m from"../../../../internal/ExpandButton/ExpandButton.js";import{getFullBrandName as p}from"../../../../Card/components/CardInput/utils.js";function l(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function h(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){l(e,t,o[t])})}return e}function y(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}class u extends e{render({paymentMethod:e,isSelected:l,isDisablingPaymentMethod:u,isLoading:b,standalone:f,showRadioButton:_}){var P;const{i18n:O}=c();if(!e)return null;const k="card"===e.props.type||"scheme"===e.props.type,C=o(y(h({"adyen-checkout__payment-method":!0,[`adyen-checkout__payment-method--${e.props.type}`]:!0},k&&{[`adyen-checkout__payment-method--${null!==(P=e.props.fundingSource)&&void 0!==P?P:"credit"}`]:!0}),{"adyen-checkout__payment-method--selected":l,"adyen-checkout__payment-method--loading":b,"adyen-checkout__payment-method--disabling":u,"adyen-checkout__payment-method--confirming":this.state.showDisableStoredPaymentMethodConfirmation,"adyen-checkout__payment-method--standalone":f,[e._id]:!0,[this.props.className]:!0})),g=this.props.showRemovePaymentMethodButton&&e.props.oneClick&&l,j=`remove-${e._id}`,M=`container-${e._id}`,S=`button-${e._id}`,w=!e.props.oneClick&&e.brands&&e.brands.length>0;return t("div",{key:e._id,className:C,onClick:this.handleOnListItemClick},t("div",{className:"adyen-checkout__payment-method__header"},t(m,{buttonId:S,showRadioButton:_,isSelected:l,expandContentId:M,standalone:f},t(a,y(h({},e.props.oneClick&&{altDescription:p(e.props.brand)}),{type:e.type,src:e.icon})),t(d,{displayName:e.displayName,isSelected:l,additionalInfo:e.additionalInfo})),g&&t("button",{type:"button",className:"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link",onClick:this.toggleDisableConfirmation,"aria-expanded":this.state.showDisableStoredPaymentMethodConfirmation,"aria-controls":j},O.get("storedPaymentMethod.disable.button")),w&&t(r,{showOtherInsteadOfNumber:e.props.showOtherInsteadOfNumber,keepBrandsVisible:e.props.keepBrandsVisible,brands:e.brands,excludedUIBrands:s,isPaymentMethodSelected:l})),t("div",{className:"adyen-checkout-pm-details-wrapper","aria-hidden":!l},t("div",{className:"adyen-checkout__payment-method__details",id:M},g&&t(i,{id:j,open:this.state.showDisableStoredPaymentMethodConfirmation,onDisable:this.onDisableStoredPaymentMethod,onCancel:this.toggleDisableConfirmation}),t(n,{paymentMethodComponent:e,isSelected:l}))))}constructor(...e){super(...e),l(this,"state",{showDisableStoredPaymentMethodConfirmation:!1}),l(this,"toggleDisableConfirmation",()=>{this.setState({showDisableStoredPaymentMethodConfirmation:!this.state.showDisableStoredPaymentMethodConfirmation})}),l(this,"onDisableStoredPaymentMethod",()=>{this.props.onDisableStoredPaymentMethod(this.props.paymentMethod),this.toggleDisableConfirmation()}),l(this,"handleOnListItemClick",()=>{const{onSelect:e,paymentMethod:t}=this.props;e(t)})}}l(u,"defaultProps",{paymentMethod:null,isSelected:!1,isLoaded:!1,isLoading:!1,showDisableStoredPaymentMethodConfirmation:!1,showRadioButton:!1});export{u as default};
2
2
  //# sourceMappingURL=PaymentMethodItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport { PaymentMethodDetails } from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton\n buttonId={buttonId}\n showRadioButton={showRadioButton}\n isSelected={isSelected}\n expandContentId={containerId}\n standalone={standalone}\n >\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: getFullBrandName(paymentMethod.props.brand) })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteadOfNumber={paymentMethod.props.showOtherInsteadOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod} isSelected={isSelected} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","getFullBrandName","brand","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteadOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps","isLoaded"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentMethodItem.js","sources":["../../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport classNames from 'classnames';\nimport { PaymentMethodDetails } from '../PaymentMethodDetails';\nimport PaymentMethodIcon from '../PaymentMethodIcon';\nimport DisableOneClickConfirmation from '../DisableOneClickConfirmation';\nimport './PaymentMethodItem.scss';\nimport UIElement from '../../../../internal/UIElement/UIElement';\nimport PaymentMethodBrands from '../PaymentMethodBrands/PaymentMethodBrands';\nimport { BRAND_ICON_UI_EXCLUSION_LIST } from '../../../../internal/SecuredFields/lib/constants';\nimport PaymentMethodName from '../PaymentMethodName';\nimport { useCoreContext } from '../../../../../core/Context/CoreProvider';\nimport ExpandButton from '../../../../internal/ExpandButton';\nimport { getFullBrandName } from '../../../../Card/components/CardInput/utils';\n\nexport interface PaymentMethodItemProps {\n paymentMethod: UIElement;\n isSelected?: boolean;\n isLoading?: boolean;\n isDisablingPaymentMethod: boolean;\n showRemovePaymentMethodButton: boolean;\n onDisableStoredPaymentMethod: (paymentMethod) => void;\n onSelect: (paymentMethod: UIElement) => void;\n standalone: boolean;\n className?: string;\n showRadioButton?: boolean;\n}\n\nclass PaymentMethodItem extends Component<PaymentMethodItemProps> {\n public static defaultProps = {\n paymentMethod: null,\n isSelected: false,\n isLoaded: false,\n isLoading: false,\n showDisableStoredPaymentMethodConfirmation: false,\n showRadioButton: false\n };\n\n public state = {\n showDisableStoredPaymentMethodConfirmation: false\n };\n\n public toggleDisableConfirmation = () => {\n this.setState({ showDisableStoredPaymentMethodConfirmation: !this.state.showDisableStoredPaymentMethodConfirmation });\n };\n\n public onDisableStoredPaymentMethod = () => {\n this.props.onDisableStoredPaymentMethod(this.props.paymentMethod);\n this.toggleDisableConfirmation();\n };\n\n private handleOnListItemClick = (): void => {\n const { onSelect, paymentMethod } = this.props;\n onSelect(paymentMethod);\n };\n\n // @ts-ignore need to refine the type for paymentMethod\n render({ paymentMethod, isSelected, isDisablingPaymentMethod, isLoading, standalone, showRadioButton }) {\n const { i18n } = useCoreContext();\n\n if (!paymentMethod) {\n return null;\n }\n\n const isCard = paymentMethod.props.type === 'card' || paymentMethod.props.type === 'scheme';\n\n const paymentMethodClassnames = classNames({\n 'adyen-checkout__payment-method': true,\n [`adyen-checkout__payment-method--${paymentMethod.props.type}`]: true,\n ...(isCard && { [`adyen-checkout__payment-method--${paymentMethod.props.fundingSource ?? 'credit'}`]: true }),\n 'adyen-checkout__payment-method--selected': isSelected,\n 'adyen-checkout__payment-method--loading': isLoading,\n 'adyen-checkout__payment-method--disabling': isDisablingPaymentMethod,\n 'adyen-checkout__payment-method--confirming': this.state.showDisableStoredPaymentMethodConfirmation,\n 'adyen-checkout__payment-method--standalone': standalone,\n [paymentMethod._id]: true,\n [this.props.className]: true\n });\n\n const showRemovePaymentMethodButton = this.props.showRemovePaymentMethodButton && paymentMethod.props.oneClick && isSelected;\n const disableConfirmationId = `remove-${paymentMethod._id}`;\n const containerId = `container-${paymentMethod._id}`;\n const buttonId = `button-${paymentMethod._id}`;\n\n const showBrands = !paymentMethod.props.oneClick && paymentMethod.brands && paymentMethod.brands.length > 0;\n\n return (\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions\n <div key={paymentMethod._id} className={paymentMethodClassnames} onClick={this.handleOnListItemClick}>\n <div className=\"adyen-checkout__payment-method__header\">\n <ExpandButton\n buttonId={buttonId}\n showRadioButton={showRadioButton}\n isSelected={isSelected}\n expandContentId={containerId}\n standalone={standalone}\n >\n <PaymentMethodIcon\n // Only add alt attribute to storedPaymentMethods (to avoid SR reading the PM name twice)\n {...(paymentMethod.props.oneClick && { altDescription: getFullBrandName(paymentMethod.props.brand) })}\n type={paymentMethod.type}\n src={paymentMethod.icon}\n />\n\n <PaymentMethodName\n displayName={paymentMethod.displayName}\n isSelected={isSelected}\n additionalInfo={paymentMethod.additionalInfo}\n />\n </ExpandButton>\n\n {showRemovePaymentMethodButton && (\n <button\n type=\"button\"\n className=\"adyen-checkout__button adyen-checkout__button--inline adyen-checkout__button--link\"\n onClick={this.toggleDisableConfirmation}\n aria-expanded={this.state.showDisableStoredPaymentMethodConfirmation}\n aria-controls={disableConfirmationId}\n >\n {i18n.get('storedPaymentMethod.disable.button')}\n </button>\n )}\n\n {showBrands && (\n <PaymentMethodBrands\n showOtherInsteadOfNumber={paymentMethod.props.showOtherInsteadOfNumber}\n keepBrandsVisible={paymentMethod.props.keepBrandsVisible}\n brands={paymentMethod.brands}\n excludedUIBrands={BRAND_ICON_UI_EXCLUSION_LIST}\n isPaymentMethodSelected={isSelected}\n />\n )}\n </div>\n\n <div className=\"adyen-checkout-pm-details-wrapper\" aria-hidden={!isSelected}>\n <div className=\"adyen-checkout__payment-method__details\" id={containerId}>\n {showRemovePaymentMethodButton && (\n <DisableOneClickConfirmation\n id={disableConfirmationId}\n open={this.state.showDisableStoredPaymentMethodConfirmation}\n onDisable={this.onDisableStoredPaymentMethod}\n onCancel={this.toggleDisableConfirmation}\n />\n )}\n\n <PaymentMethodDetails paymentMethodComponent={paymentMethod} isSelected={isSelected} />\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default PaymentMethodItem;\n"],"names":["PaymentMethodItem","Component","render","paymentMethod","isSelected","isDisablingPaymentMethod","isLoading","standalone","showRadioButton","i18n","useCoreContext","isCard","props","type","paymentMethodClassnames","classNames","_object_spread_props","_object_spread","fundingSource","this","state","showDisableStoredPaymentMethodConfirmation","_id","className","showRemovePaymentMethodButton","oneClick","disableConfirmationId","containerId","buttonId","showBrands","brands","length","h","div","key","onClick","handleOnListItemClick","ExpandButton","expandContentId","PaymentMethodIcon","altDescription","getFullBrandName","brand","src","icon","PaymentMethodName","displayName","additionalInfo","button","toggleDisableConfirmation","aria-expanded","aria-controls","get","PaymentMethodBrands","showOtherInsteadOfNumber","keepBrandsVisible","excludedUIBrands","BRAND_ICON_UI_EXCLUSION_LIST","isPaymentMethodSelected","aria-hidden","id","DisableOneClickConfirmation","open","onDisable","onDisableStoredPaymentMethod","onCancel","PaymentMethodDetails","paymentMethodComponent","super","args","_define_property","setState","onSelect","defaultProps","isLoaded"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/getProp.js";import{OrderPaymentMethods as r}from"./OrderPaymentMethods.js";import{InstantPaymentMethods as n}from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import i from"./PaymentMethodsContainer.js";import{useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function c(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){d(e,t,o[t])})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}function m(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)o=s[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)o=s[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}const y=d=>{var{paymentMethods:y,instantPaymentMethods:u,storedPaymentMethods:f,openFirstStoredPaymentMethod:b,openFirstPaymentMethod:h,openPaymentMethod:O,order:P,orderStatus:j=null,onOrderCancel:g,onSelect:M=()=>{}}=d,v=m(d,["paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect"]);const{i18n:S}=s(),w=a(y),C=(null==u?void 0:u.length)>0,k=(null==f?void 0:f.length)>0,x=C||k?S.get("paymentMethodsList.otherPayments.label"):"";return l(()=>{if(null==O?void 0:O.type){const e=null==y?void 0:y.find(e=>e.type===(null==O?void 0:O.type));if(e)return void M(e);console.warn(`Drop-in: payment method type "${null==O?void 0:O.type}" not found`)}const e=null==f?void 0:f[0],t=null==y?void 0:y[0];if(e||t){if(b&&!0===o(e,"props.oneClick"))return void M(e);h&&M(t)}},[f,y,b,h,O]),e(t,null,j&&e(r,{order:P,orderStatus:j,onOrderCancel:g,brandLogoConfiguration:w}),C&&e(n,{paymentMethods:u,onSelect:M}),k&&e(i,p(c({},v),{label:S.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:f,onSelect:M})),!!y.length&&e(i,p(c({},v),{label:x,classNameModifiers:["otherPayments"],paymentMethods:y,onSelect:M})))};export{y as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/getProp.js";import{OrderPaymentMethods as r}from"./OrderPaymentMethods.js";import{InstantPaymentMethods as n}from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as l}from"./useBrandLogoConfiguration.js";import a from"./PaymentMethodsContainer.js";import{useEffect as i}from"../../../../external/preact/hooks/dist/hooks.js";function p(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function c(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),r.forEach(function(t){p(e,t,o[t])})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(t)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}),e}function y(e,t){if(null==e)return{};var o,r,n,s={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(o=Reflect.ownKeys(e),n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r]);return s}if(s=function(e,t){if(null==e)return{};var o,r,n={},s=Object.getOwnPropertyNames(e);for(r=0;r<s.length;r++)o=s[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o]);return n}(e,t),Object.getOwnPropertySymbols)for(o=Object.getOwnPropertySymbols(e),n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r]);return s}const m=p=>{let{paymentMethods:m,instantPaymentMethods:f,storedPaymentMethods:u,openFirstStoredPaymentMethod:b,openFirstPaymentMethod:O,openPaymentMethod:h,order:P,orderStatus:j=null,onOrderCancel:g,onSelect:M=()=>{}}=p,v=y(p,["paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect"]);const{i18n:S}=s(),w=l(m),C=(null==f?void 0:f.length)>0,x=(null==u?void 0:u.length)>0,E=C||x?S.get("paymentMethodsList.otherPayments.label"):"";return i(()=>{if(null==h?void 0:h.type){const e=null==m?void 0:m.find(e=>e.type===(null==h?void 0:h.type));if(e)return void M(e);console.warn(`Drop-in: payment method type "${null==h?void 0:h.type}" not found`)}const e=null==u?void 0:u[0],t=null==m?void 0:m[0];if(e||t){if(b&&!0===o(e,"props.oneClick"))return void M(e);O&&M(t)}},[u,m,b,O,h]),e(t,null,j&&e(r,{order:P,orderStatus:j,onOrderCancel:g,brandLogoConfiguration:w}),C&&e(n,{paymentMethods:f,onSelect:M}),x&&e(a,d(c({},v),{label:S.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:u,onSelect:M})),!!m.length&&e(a,d(c({},v),{label:E,classNameModifiers:["otherPayments"],paymentMethods:m,onSelect:M})))};export{m as default};
2
2
  //# sourceMappingURL=PaymentMethodList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport { InstantPaymentMethods } from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods,\n instantPaymentMethods,\n storedPaymentMethods,\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods?.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods?.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods?.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods?.[0];\n const firstNonStoredPayment = paymentMethods?.[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} onSelect={onSelect} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_param","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"irDAwBA,MAAMA,EAAoBC,QAACC,eACvBA,EAAcC,sBACdA,EAAqBC,qBACrBA,EAAoBC,6BACpBA,EAA4BC,uBAC5BA,EAAsBC,kBACtBA,EAAiBC,MACjBA,EAAKC,YACLA,EAAc,KAAIC,cAClBA,EAAaC,SACbA,EAAW,QAEUV,EADlBW,EAAAA,EAAAA,EAAAA,CAVHV,iBACAC,wBACAC,uBACAC,+BACAC,yBACAC,oBACAC,QACAC,cACAC,gBACAC,aAGA,MAAME,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,GAA2Bd,aAAAA,EAAAA,EAAuBe,QAAS,EAC3DC,GAA0Bf,aAAAA,EAAAA,EAAsBc,QAAS,EACzDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,EAAU,KACN,GAAIf,aAAAA,EAAAA,EAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,aAAAA,EAAAA,EAAgBuB,KAAKD,GAAiBA,EAAcD,QAAShB,aAAAA,EAAAA,EAAmBgB,OACtG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,aAAAA,EAAAA,EAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,aAAAA,EAAAA,EAAuB,GAC5CyB,EAAwB3B,aAAAA,EAAAA,EAAiB,GAE/C,GAAI0B,GAAsBC,EAAuB,CAE7C,GAD8BxB,IAAkF,IAAlDyB,EAAQF,EAAoB,kBAGtF,YADAjB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,GACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FwB,EAACC,EAAAA,KACIvB,GACGsB,EAACE,EAAAA,CACGzB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Bc,EAACG,EAAAA,CAAsBhC,eAAgBC,EAAuBQ,SAAUA,IAEpGQ,GACGY,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOvB,GAAAA,CACJwB,MAAOvB,EAAKQ,IAAI,2CAChBgB,mBAAoB,CAAC,kBACrBnC,eAAgBE,EAChBO,SAAUA,OAIfT,EAAegB,QACda,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOvB,GAAAA,CACJwB,MAAOhB,EACPiB,mBAAoB,CAAC,iBACrBnC,eAAgBA,EAChBS,SAAUA"}
1
+ {"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport { InstantPaymentMethods } from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods,\n instantPaymentMethods,\n storedPaymentMethods,\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods?.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods?.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods?.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods?.[0];\n const firstNonStoredPayment = paymentMethods?.[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} onSelect={onSelect} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","_0","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"86DAwBA,MAAMA,EAAoBC,QAACC,eACvBA,EAAcC,sBACdA,EAAqBC,qBACrBA,EAAoBC,6BACpBA,EAA4BC,uBAC5BA,EAAsBC,kBACtBA,EAAiBC,MACjBA,EAAKC,YACLA,EAAc,KAAIC,cAClBA,EAAaC,SACbA,EAAW,QAEUV,EADlBW,EAAAA,EAAAA,EAAAA,gMAEH,MAAMC,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,GAA2Bd,aAAAA,EAAAA,EAAuBe,QAAS,EAC3DC,GAA0Bf,aAAAA,EAAAA,EAAsBc,QAAS,EACzDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,EAAU,KACN,GAAIf,aAAAA,EAAAA,EAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,aAAAA,EAAAA,EAAgBuB,KAAKD,GAAiBA,EAAcD,QAAShB,aAAAA,EAAAA,EAAmBgB,OACtG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,aAAAA,EAAAA,EAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,aAAAA,EAAAA,EAAuB,GAC5CyB,EAAwB3B,aAAAA,EAAAA,EAAiB,GAE/C,GAAI0B,GAAsBC,EAAuB,CAE7C,GAD8BxB,IAAkF,IAAlDyB,EAAQF,EAAoB,kBAGtF,YADAjB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,GACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FwB,EAACC,EAAAA,KACIvB,GACGsB,EAACE,EAAAA,CACGzB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Bc,EAACG,EAAAA,CAAsBhC,eAAgBC,EAAuBQ,SAAUA,IAEpGQ,GACGY,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOvB,GAAAA,CACJwB,MAAOvB,EAAKQ,IAAI,2CAChBgB,mBAAoB,CAAC,kBACrBnC,eAAgBE,EAChBO,SAAUA,OAIfT,EAAegB,QACda,EAACI,EAAAA,EAAAA,EAAAA,CAAAA,EACOvB,GAAAA,CACJwB,MAAOhB,EACPiB,mBAAoB,CAAC,iBACrBnC,eAAgBA,EAChBS,SAAUA"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import n from"./components/EcontextInput/EcontextInput.js";import r from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{TxVariants as o}from"../tx-variants.js";function s(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable}))),r.forEach(function(e){s(t,e,n[e])})}return t}function c(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}class p extends e{get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return c(i({},this.state.data),{paymentMethod:{type:this.type}})}componentToRender(){return this.props.reference?t(r,c(i({ref:t=>{this.componentRef=t}},this.props),{onActionHandled:this.onActionHandled})):t(n,c(i({setComponentRef:this.setComponentRef},this.props),{showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}s(p,"type",o.econtext),s(p,"txVariants",[o.econtext,o.econtext_atm,o.econtext_online,o.econtext_seven_eleven,o.econtext_stores]),s(p,"defaultProps",{personalDetailsRequired:!0});export{p as EcontextElement,p as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/EcontextInput/EcontextInput.js";import n from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{TxVariants as o}from"../tx-variants.js";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}class p extends t{get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){s(e,t,r[t])})}return e}({},this.state.data),{paymentMethod:{type:this.type}})}componentToRender(){return this.props.reference?e(n,{reference:this.props.reference,totalAmount:this.props.totalAmount,expiresAt:this.props.expiresAt,paymentMethodType:this.props.paymentMethodType,maskedTelephoneNumber:this.props.maskedTelephoneNumber,instructionsUrl:this.props.instructionsUrl,alternativeReference:this.props.alternativeReference,collectionInstitutionNumber:this.props.collectionInstitutionNumber,onActionHandled:this.onActionHandled}):e(r,{setComponentRef:this.setComponentRef,data:this.props.data,personalDetailsRequired:this.props.personalDetailsRequired,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})}}s(p,"type",o.econtext),s(p,"txVariants",[o.econtext,o.econtext_atm,o.econtext_online,o.econtext_seven_eleven,o.econtext_stores]),s(p,"defaultProps",{personalDetailsRequired:!0});export{p as EcontextElement,p as default};
2
2
  //# sourceMappingURL=Econtext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","isValid","this","props","personalDetailsRequired","state","formatData","_object_spread_props","_object_spread","data","paymentMethod","type","componentToRender","reference","h","EcontextVoucherResult","ref","componentRef","onActionHandled","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","econtext","txVariants","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","defaultProps"],"mappings":"kmCAOO,MAAMA,UAAwBC,EAcjC,WAAIC,GACA,OAAKC,KAAKC,MAAMC,2BAGPF,KAAKG,MAAMJ,OACxB,CAKAK,UAAAA,GACI,OAAOC,EAAAC,EAAA,CAAA,EACAN,KAAKG,MAAMI,MAAI,CAClBC,cAAe,CACXC,KAAMT,KAAKS,OAGvB,CAEmBC,iBAAAA,GACf,OAAOV,KAAKC,MAAMU,UACdC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,IAAKA,IACDd,KAAKe,aAAeD,IAEpBd,KAAKC,OAAK,CACde,gBAAiBhB,KAAKgB,mBAG1BJ,EAACK,EAAAA,EAAAA,EAAAA,CACGC,gBAAiBlB,KAAKkB,iBAClBlB,KAAKC,OAAK,CACdkB,cAAenB,KAAKC,MAAMkB,cAC1BC,SAAUpB,KAAKqB,SACfC,SAAUtB,KAAKuB,OACfC,UAAWxB,KAAKwB,YAG5B,EAnDAC,EADS5B,EACKY,OAAOiB,EAAWC,UAChCF,EAFS5B,EAEK+B,aAAa,CACvBF,EAAWC,SACXD,EAAWG,aACXH,EAAWI,gBACXJ,EAAWK,sBACXL,EAAWM,kBAGfP,EAVS5B,EAUQoC,eAAe,CAC5B/B,yBAAyB"}
1
+ {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static readonly type = TxVariants.econtext;\n public static readonly txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.reference ? (\n <EcontextVoucherResult\n reference={this.props.reference}\n totalAmount={this.props.totalAmount}\n expiresAt={this.props.expiresAt}\n paymentMethodType={this.props.paymentMethodType}\n maskedTelephoneNumber={this.props.maskedTelephoneNumber}\n instructionsUrl={this.props.instructionsUrl}\n alternativeReference={this.props.alternativeReference}\n collectionInstitutionNumber={this.props.collectionInstitutionNumber}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n data={this.props.data}\n personalDetailsRequired={this.props.personalDetailsRequired}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","isValid","this","props","personalDetailsRequired","state","formatData","_object_spread_props","_object_spread","data","paymentMethod","type","componentToRender","reference","h","EcontextVoucherResult","totalAmount","expiresAt","paymentMethodType","maskedTelephoneNumber","instructionsUrl","alternativeReference","collectionInstitutionNumber","onActionHandled","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","econtext","txVariants","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","defaultProps"],"mappings":"8xBAOO,MAAMA,UAAwBC,EAcjC,WAAIC,GACA,OAAKC,KAAKC,MAAMC,2BAGPF,KAAKG,MAAMJ,OACxB,CAKAK,UAAAA,GACI,OAAOC,oUAAAC,CAAA,CAAA,EACAN,KAAKG,MAAMI,MAAI,CAClBC,cAAe,CACXC,KAAMT,KAAKS,OAGvB,CAEmBC,iBAAAA,GACf,OAAOV,KAAKC,MAAMU,UACdC,EAACC,EAAAA,CACGF,UAAWX,KAAKC,MAAMU,UACtBG,YAAad,KAAKC,MAAMa,YACxBC,UAAWf,KAAKC,MAAMc,UACtBC,kBAAmBhB,KAAKC,MAAMe,kBAC9BC,sBAAuBjB,KAAKC,MAAMgB,sBAClCC,gBAAiBlB,KAAKC,MAAMiB,gBAC5BC,qBAAsBnB,KAAKC,MAAMkB,qBACjCC,4BAA6BpB,KAAKC,MAAMmB,4BACxCC,gBAAiBrB,KAAKqB,kBAG1BT,EAACU,EAAAA,CACGC,gBAAiBvB,KAAKuB,gBACtBhB,KAAMP,KAAKC,MAAMM,KACjBL,wBAAyBF,KAAKC,MAAMC,wBACpCsB,cAAexB,KAAKC,MAAMuB,cAC1BC,SAAUzB,KAAK0B,SACfC,SAAU3B,KAAK4B,OACfC,UAAW7B,KAAK6B,WAG5B,EAxDAC,EADSjC,EACcY,OAAOsB,EAAWC,UACzCF,EAFSjC,EAEcoC,aAAa,CAChCF,EAAWC,SACXD,EAAWG,aACXH,EAAWI,gBACXJ,EAAWK,sBACXL,EAAWM,kBAGfP,EAVSjC,EAUQyC,eAAe,CAC5BpC,yBAAyB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as n}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import{econtextValidationRules as l}from"../../validate.js";import s from"../../../internal/FormInstruction/FormInstruction.js";function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function u(u){var{personalDetailsRequired:c=!0,data:m,onChange:p,showPayButton:f,payButton:d}=u,h=i(u,["personalDetailsRequired","data","onChange","showPayButton","payButton"]);const y=r(null),{i18n:v}=a(),[j,b]=n("ready"),g=r({});var x;Object.keys(g.current).length||(null===(x=h.setComponentRef)||void 0===x||x.call(h,g.current));return g.current.showValidation=()=>{var e;null===(e=y.current)||void 0===e||e.showValidation()},g.current.setStatus=b,e("div",{className:"adyen-checkout__econtext-input__field"},c&&e(t,null,e(s,null),e(o,{data:m,requiredFields:["firstName","lastName","telephoneNumber","shopperEmail"],onChange:p,namePrefix:"econtext",setComponentRef:e=>{y.current=e},validationRules:l})),f&&d({status:j,label:v.get("confirmPurchase")}))}export{u as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useState as r,useRef as a,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import n from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{econtextValidationRules as i}from"../../validate.js";import l from"../../../internal/FormInstruction/FormInstruction.js";function u({data:u,onChange:m,showPayButton:c,payButton:d,setComponentRef:p,personalDetailsRequired:f=!0}){const{i18n:h}=s(),[v,x]=r("ready"),j=a({setStatus:x});o(()=>{p(j.current)},[p]);const C=a(null);return e("div",{className:"adyen-checkout__econtext-input__field"},f&&e(t,null,e(l,null),e(n,{data:u,requiredFields:["firstName","lastName","telephoneNumber","shopperEmail"],onChange:m,namePrefix:"econtext",setComponentRef:e=>{var t;C.current=e,j.current={setStatus:null===(t=j.current)||void 0===t?void 0:t.setStatus,showValidation:e.showValidation},p(j.current)},validationRules:i})),c&&d({status:v,label:h.get("confirmPurchase")}))}export{u as default};
2
2
  //# sourceMappingURL=EcontextInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","_param","personalDetailsRequired","data","onChange","showPayButton","payButton","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"kzBAoBe,SAASA,EAAcC,GAAA,IAAAC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,GAAjEL,EAA+EM,EAAAA,EAA/EN,EAAA,CAAEC,0BAAgCC,OAAMC,WAAUC,gBAAeC,cACnG,MAAME,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,IAG5CF,IAAAA,EADCS,OAAOC,KAAKF,EAAYG,SAASC,SACb,QAArBZ,EAAAA,EAAMa,2BAANb,GAAAA,EAAAA,KAAAA,EAAwBQ,EAAYG,UASxC,OANAH,EAAYG,QAAQG,eAAiB,KACjCb,IAAAA,EAA0B,QAA1BA,EAAAA,EAAmBU,eAAnBV,IAAAA,GAAAA,EAA4Ba,kBAGhCN,EAAYG,QAAQL,UAAYA,EAG5BS,EAACC,MAAAA,CAAIC,UAAU,yCACVtB,GACGoB,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGxB,KAAMA,EACNyB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DxB,SAAUA,EACVyB,WAAW,WACXT,gBA9BUU,IAC1BtB,EAAmBU,QAAUY,GA8BbC,gBAAiBC,KAI5B3B,GAAiBC,EAAU,CAAEM,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
1
+ {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\nimport './EcontextInput.scss';\n\ninterface EcontextInputProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n}\n\nexport default function EcontextInput({\n data,\n onChange,\n showPayButton,\n payButton,\n setComponentRef,\n personalDetailsRequired = true\n}: Readonly<EcontextInputProps>) {\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n const econtextRef = useRef<ComponentMethodsRef>({\n setStatus\n });\n\n useEffect(() => {\n setComponentRef(econtextRef.current);\n }, [setComponentRef]);\n\n const personalDetailsRef = useRef<ComponentMethodsRef | null>(null);\n const setPersonalDetailsRef = (ref: ComponentMethodsRef) => {\n personalDetailsRef.current = ref;\n econtextRef.current = {\n setStatus: econtextRef.current?.setStatus,\n showValidation: ref.showValidation\n };\n setComponentRef(econtextRef.current);\n };\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","data","onChange","showPayButton","payButton","setComponentRef","personalDetailsRequired","i18n","useCoreContext","status","setStatus","useState","econtextRef","useRef","useEffect","current","personalDetailsRef","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","showValidation","validationRules","econtextValidationRules","label","get"],"mappings":"6cAoBe,SAASA,GAAcC,KAClCA,EAAIC,SACJA,EAAQC,cACRA,EAAaC,UACbA,EAASC,gBACTA,EAAeC,wBACfA,GAA0B,IAE1B,MAAMC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAE/BC,EAAcC,EAA4B,CAC5CH,cAGJI,EAAU,KACNT,EAAgBO,EAAYG,UAC7B,CAACV,IAEJ,MAAMW,EAAqBH,EAAmC,MAU9D,OACII,EAACC,MAAAA,CAAIC,UAAU,yCACVb,GACGW,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGrB,KAAMA,EACNsB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DrB,SAAUA,EACVsB,WAAW,WACXnB,gBAnBWoB,IAGZb,IAAAA,EAFfI,EAAmBD,QAAUU,EAC7Bb,EAAYG,QAAU,CAClBL,UAA8B,QAAnBE,EAAAA,EAAYG,eAAZH,IAAAA,OAAAA,EAAAA,EAAqBF,UAChCgB,eAAgBD,EAAIC,gBAExBrB,EAAgBO,EAAYG,UAcZY,gBAAiBC,KAI5BzB,GAAiBC,EAAU,CAAEK,SAAQoB,MAAOtB,EAAKuB,IAAI,qBAGlE"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import t from"../../../internal/Voucher/Voucher.js";import{useCoreContext as r}from"../../../../core/Context/CoreProvider.js";import o from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as n}from"../../../internal/Voucher/utils.js";function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const u=u=>{const{expiresAt:l,maskedTelephoneNumber:s,instructionsUrl:a,collectionInstitutionNumber:p}=u,{i18n:b}=r(),m=o();return e(t,i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){c(e,t,r[t])})}return e}({},n({props:u,i18n:b,introKey:"voucher.introduction.econtext",getImage:m()})),{instructionsUrl:a,voucherDetails:[{label:b.get("voucher.collectionInstitutionNumber"),value:p},{label:b.get("voucher.expirationDate"),value:b.dateTime(l)},{label:b.get("voucher.telephoneNumber"),value:s}],copyBtn:!0}))};export{u as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useMemo as t}from"../../../../external/preact/hooks/dist/hooks.js";import r from"../../../internal/Voucher/Voucher.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import n from"../../../../core/Context/useImage.js";import{extractCommonPropsForVoucher as c}from"../../../internal/Voucher/utils.js";function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}const u=u=>{const{i18n:a}=o(),s=n(),{expiresAt:p,maskedTelephoneNumber:b,instructionsUrl:m,collectionInstitutionNumber:f,alternativeReference:y,reference:O}=u,g=Boolean(y),v=t(()=>[{label:a.get("voucher.collectionInstitutionNumber"),value:f},{label:a.get("econtext.customerNumber"),value:O},{label:a.get("econtext.confirmationNumber"),value:y},{label:a.get("econtext.useBefore"),value:a.date(p)}],[a,f,O,y,p]),j=t(()=>[{label:a.get("voucher.collectionInstitutionNumber"),value:f},{label:a.get("voucher.expirationDate"),value:a.dateTime(p)},{label:a.get("voucher.telephoneNumber"),value:b}],[a,f,p,b]),h=g?v:j;return e(r,l(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){i(e,t,r[t])})}return e}({},c({props:u,i18n:a,introKey:"voucher.introduction.econtext",getImage:s()})),{instructionsUrl:m,paymentReferenceLabel:g?a.get("econtext.paymentInformation"):void 0,voucherDetails:h,copyBtn:!g,showReferenceValue:!g}))};export{u as default};
2
2
  //# sourceMappingURL=EcontextVoucherResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcontextVoucherResult.js","sources":["../../../../../../src/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { EcontextVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst EcontextVoucherResult = (props: EcontextVoucherResultProps) => {\n const { expiresAt, maskedTelephoneNumber, instructionsUrl, collectionInstitutionNumber } = props;\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction.econtext', getImage: getImage() })}\n instructionsUrl={instructionsUrl}\n voucherDetails={[\n { label: i18n.get('voucher.collectionInstitutionNumber'), value: collectionInstitutionNumber },\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.telephoneNumber'), value: maskedTelephoneNumber }\n ]}\n copyBtn\n />\n );\n};\n\nexport default EcontextVoucherResult;\n"],"names":["EcontextVoucherResult","props","expiresAt","maskedTelephoneNumber","instructionsUrl","collectionInstitutionNumber","i18n","useCoreContext","getImage","useImage","h","Voucher","extractCommonPropsForVoucher","introKey","voucherDetails","label","get","value","dateTime","copyBtn"],"mappings":"ozBAQA,MAAMA,EAAyBC,IAC3B,MAAMC,UAAEA,EAASC,sBAAEA,EAAqBC,gBAAEA,EAAeC,4BAAEA,GAAgCJ,GACrFK,KAAEA,GAASC,IACXC,EAAWC,IAEjB,OACIC,EAACC,0UACOC,EAA6B,CAAEX,QAAOK,OAAMO,SAAU,gCAAiCL,SAAUA,OAAW,CAChHJ,gBAAiBA,EACjBU,eAAgB,CACZ,CAAEC,MAAOT,EAAKU,IAAI,uCAAwCC,MAAOZ,GACjE,CAAEU,MAAOT,EAAKU,IAAI,0BAA2BC,MAAOX,EAAKY,SAAShB,IAClE,CAAEa,MAAOT,EAAKU,IAAI,2BAA4BC,MAAOd,IAEzDgB,SAAAA"}
1
+ {"version":3,"file":"EcontextVoucherResult.js","sources":["../../../../../../src/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useMemo } from 'preact/hooks';\nimport Voucher from '../../../internal/Voucher';\n\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { EcontextVoucherResultProps } from '../../types';\nimport useImage from '../../../../core/Context/useImage';\nimport { extractCommonPropsForVoucher } from '../../../internal/Voucher/utils';\n\nconst EcontextVoucherResult = (props: EcontextVoucherResultProps) => {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n\n const { expiresAt, maskedTelephoneNumber, instructionsUrl, collectionInstitutionNumber, alternativeReference, reference } = props;\n\n const hasAlternativeReference = Boolean(alternativeReference);\n\n const alternativeReferenceDetails = useMemo(\n () => [\n { label: i18n.get('voucher.collectionInstitutionNumber'), value: collectionInstitutionNumber },\n { label: i18n.get('econtext.customerNumber'), value: reference },\n { label: i18n.get('econtext.confirmationNumber'), value: alternativeReference },\n { label: i18n.get('econtext.useBefore'), value: i18n.date(expiresAt) }\n ],\n [i18n, collectionInstitutionNumber, reference, alternativeReference, expiresAt]\n );\n\n const standardVoucherDetails = useMemo(\n () => [\n { label: i18n.get('voucher.collectionInstitutionNumber'), value: collectionInstitutionNumber },\n { label: i18n.get('voucher.expirationDate'), value: i18n.dateTime(expiresAt) },\n { label: i18n.get('voucher.telephoneNumber'), value: maskedTelephoneNumber }\n ],\n [i18n, collectionInstitutionNumber, expiresAt, maskedTelephoneNumber]\n );\n\n const voucherDetails = hasAlternativeReference ? alternativeReferenceDetails : standardVoucherDetails;\n\n return (\n <Voucher\n {...extractCommonPropsForVoucher({ props, i18n, introKey: 'voucher.introduction.econtext', getImage: getImage() })}\n instructionsUrl={instructionsUrl}\n paymentReferenceLabel={hasAlternativeReference ? i18n.get('econtext.paymentInformation') : undefined}\n voucherDetails={voucherDetails}\n copyBtn={!hasAlternativeReference}\n showReferenceValue={!hasAlternativeReference}\n />\n );\n};\n\nexport default EcontextVoucherResult;\n"],"names":["EcontextVoucherResult","props","i18n","useCoreContext","getImage","useImage","expiresAt","maskedTelephoneNumber","instructionsUrl","collectionInstitutionNumber","alternativeReference","reference","hasAlternativeReference","Boolean","alternativeReferenceDetails","useMemo","label","get","value","date","standardVoucherDetails","dateTime","voucherDetails","h","Voucher","extractCommonPropsForVoucher","introKey","paymentReferenceLabel","undefined","copyBtn","showReferenceValue"],"mappings":"83BASA,MAAMA,EAAyBC,IAC3B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KAEXC,UAAEA,EAASC,sBAAEA,EAAqBC,gBAAEA,EAAeC,4BAAEA,EAA2BC,qBAAEA,EAAoBC,UAAEA,GAAcV,EAEtHW,EAA0BC,QAAQH,GAElCI,EAA8BC,EAChC,IAAM,CACF,CAAEC,MAAOd,EAAKe,IAAI,uCAAwCC,MAAOT,GACjE,CAAEO,MAAOd,EAAKe,IAAI,2BAA4BC,MAAOP,GACrD,CAAEK,MAAOd,EAAKe,IAAI,+BAAgCC,MAAOR,GACzD,CAAEM,MAAOd,EAAKe,IAAI,sBAAuBC,MAAOhB,EAAKiB,KAAKb,KAE9D,CAACJ,EAAMO,EAA6BE,EAAWD,EAAsBJ,IAGnEc,EAAyBL,EAC3B,IAAM,CACF,CAAEC,MAAOd,EAAKe,IAAI,uCAAwCC,MAAOT,GACjE,CAAEO,MAAOd,EAAKe,IAAI,0BAA2BC,MAAOhB,EAAKmB,SAASf,IAClE,CAAEU,MAAOd,EAAKe,IAAI,2BAA4BC,MAAOX,IAEzD,CAACL,EAAMO,EAA6BH,EAAWC,IAG7Ce,EAAiBV,EAA0BE,EAA8BM,EAE/E,OACIG,EAACC,0UACOC,EAA6B,CAAExB,QAAOC,OAAMwB,SAAU,gCAAiCtB,SAAUA,OAAW,CAChHI,gBAAiBA,EACjBmB,sBAAuBf,EAA0BV,EAAKe,IAAI,oCAAiCW,EAC3FN,eAAgBA,EAChBO,SAAUjB,EACVkB,oBAAqBlB"}