@adyen/adyen-web 6.28.0 → 6.29.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 (246) hide show
  1. package/dist/cjs/adyen.css +8 -6
  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 -2557
  6. package/dist/es/adyen.css +8 -6
  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/Econtext/Econtext.js +1 -1
  14. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  15. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  16. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  17. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  18. package/dist/es/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  19. package/dist/es/components/Iris/Iris.js +2 -0
  20. package/dist/es/components/Iris/Iris.js.map +1 -0
  21. package/dist/es/components/Iris/components/IrisComponent.js +2 -0
  22. package/dist/es/components/Iris/components/IrisComponent.js.map +1 -0
  23. package/dist/es/components/Iris/components/IrisComponent.module.scss.js +2 -0
  24. package/dist/es/components/Iris/components/IrisComponent.module.scss.js.map +1 -0
  25. package/dist/es/components/Iris/components/IrisGenerateQRCode.js +2 -0
  26. package/dist/es/components/Iris/components/IrisGenerateQRCode.js.map +1 -0
  27. package/dist/es/components/Iris/components/IrisGenerateQRCode.module.scss.js +2 -0
  28. package/dist/es/components/Iris/components/IrisGenerateQRCode.module.scss.js.map +1 -0
  29. package/dist/es/components/Iris/components/IrisQrCodeInstructions.js +2 -0
  30. package/dist/es/components/Iris/components/IrisQrCodeInstructions.js.map +1 -0
  31. package/dist/es/components/Iris/constants.js +2 -0
  32. package/dist/es/components/Iris/constants.js.map +1 -0
  33. package/dist/es/components/Iris/types.js +2 -0
  34. package/dist/es/components/Iris/types.js.map +1 -0
  35. package/dist/es/components/Iris/utils.js +2 -0
  36. package/dist/es/components/Iris/utils.js.map +1 -0
  37. package/dist/es/components/PayTo/components/PayToComponent.js +1 -1
  38. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -1
  39. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  40. package/dist/es/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  41. package/dist/es/components/components-name-map.js +1 -1
  42. package/dist/es/components/components-name-map.js.map +1 -1
  43. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  44. package/dist/es/components/index.js +1 -1
  45. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  46. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  47. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  48. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  49. package/dist/es/components/internal/QRLoader/QRLoader.js.map +1 -1
  50. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  51. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  52. package/dist/es/components/internal/SegmentedControl/SegmentedControlRegion.js +2 -0
  53. package/dist/es/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -0
  54. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  55. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  56. package/dist/es/components/internal/Voucher/utils.js.map +1 -1
  57. package/dist/es/components/tx-variants.js +1 -1
  58. package/dist/es/components/tx-variants.js.map +1 -1
  59. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  60. package/dist/es/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  61. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  62. package/dist/es/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  63. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  64. package/dist/es/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  65. package/dist/es/core/config.js +1 -1
  66. package/dist/es/index.d.ts +2688 -2557
  67. package/dist/es/index.js +1 -1
  68. package/dist/es/language/Language.js.map +1 -1
  69. package/dist/es/utils/createSdkData.js +2 -0
  70. package/dist/es/utils/createSdkData.js.map +1 -0
  71. package/dist/es-legacy/adyen.css +8 -6
  72. package/dist/es-legacy/adyen.css.map +1 -1
  73. package/dist/es-legacy/components/ApplePay/ApplePay.js +1 -1
  74. package/dist/es-legacy/components/ApplePay/ApplePay.js.map +1 -1
  75. package/dist/es-legacy/components/ApplePay/utils/payment-request.js +1 -1
  76. package/dist/es-legacy/components/ApplePay/utils/payment-request.js.map +1 -1
  77. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js +1 -1
  78. package/dist/es-legacy/components/BankTransfer/components/BankTransferResult/BankTransferVoucher.js.map +1 -1
  79. package/dist/es-legacy/components/Card/Card.js +1 -1
  80. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  81. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  82. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  83. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  84. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  85. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js +1 -1
  86. package/dist/es-legacy/components/Card/components/CardInput/components/Installments/Installments.js.map +1 -1
  87. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  88. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +1 -1
  89. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -1
  90. package/dist/es-legacy/components/Card/components/CardInput/utils.js +1 -1
  91. package/dist/es-legacy/components/Card/components/CardInput/utils.js.map +1 -1
  92. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  93. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  94. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  95. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  96. package/dist/es-legacy/components/Dragonpay/Dragonpay.js +1 -1
  97. package/dist/es-legacy/components/Dragonpay/Dragonpay.js.map +1 -1
  98. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  99. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  100. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  101. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  102. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  103. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  104. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  105. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  106. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  107. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  108. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js +1 -1
  109. package/dist/es-legacy/components/Econtext/components/EcontextVoucherResult/EcontextVoucherResult.js.map +1 -1
  110. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  111. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  112. package/dist/es-legacy/components/GooglePay/requests.js +1 -1
  113. package/dist/es-legacy/components/GooglePay/requests.js.map +1 -1
  114. package/dist/es-legacy/components/Iris/Iris.js +2 -0
  115. package/dist/es-legacy/components/Iris/Iris.js.map +1 -0
  116. package/dist/es-legacy/components/Iris/components/IrisComponent.js +2 -0
  117. package/dist/es-legacy/components/Iris/components/IrisComponent.js.map +1 -0
  118. package/dist/es-legacy/components/Iris/components/IrisComponent.module.scss.js +2 -0
  119. package/dist/es-legacy/components/Iris/components/IrisComponent.module.scss.js.map +1 -0
  120. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js +2 -0
  121. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.js.map +1 -0
  122. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.module.scss.js +2 -0
  123. package/dist/es-legacy/components/Iris/components/IrisGenerateQRCode.module.scss.js.map +1 -0
  124. package/dist/es-legacy/components/Iris/components/IrisQrCodeInstructions.js +2 -0
  125. package/dist/es-legacy/components/Iris/components/IrisQrCodeInstructions.js.map +1 -0
  126. package/dist/es-legacy/components/Iris/constants.js +2 -0
  127. package/dist/es-legacy/components/Iris/constants.js.map +1 -0
  128. package/dist/es-legacy/components/Iris/types.js +2 -0
  129. package/dist/es-legacy/components/Iris/types.js.map +1 -0
  130. package/dist/es-legacy/components/Iris/utils.js +2 -0
  131. package/dist/es-legacy/components/Iris/utils.js.map +1 -0
  132. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js +1 -1
  133. package/dist/es-legacy/components/Klarna/components/KlarnaContainer/KlarnaContainer.js.map +1 -1
  134. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js +1 -1
  135. package/dist/es-legacy/components/Klarna/components/KlarnaWidget/KlarnaWidget.js.map +1 -1
  136. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  137. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  138. package/dist/es-legacy/components/PayPal/Paypal.js +1 -1
  139. package/dist/es-legacy/components/PayPal/Paypal.js.map +1 -1
  140. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  141. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  142. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js +1 -1
  143. package/dist/es-legacy/components/PayPal/components/PaypalComponent.js.map +1 -1
  144. package/dist/es-legacy/components/PayTo/components/PayToComponent.js +1 -1
  145. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -1
  146. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  147. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  148. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js +1 -1
  149. package/dist/es-legacy/components/ThreeDS2/callSubmit3DS2Fingerprint.js.map +1 -1
  150. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js +1 -1
  151. package/dist/es-legacy/components/UPI/components/UPIComponent/UPIComponent.js.map +1 -1
  152. package/dist/es-legacy/components/components-name-map.js +1 -1
  153. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  154. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  155. package/dist/es-legacy/components/index.js +1 -1
  156. package/dist/es-legacy/components/internal/Address/Address.js.map +1 -1
  157. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  158. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  159. package/dist/es-legacy/components/internal/Button/CopyButton.js +1 -1
  160. package/dist/es-legacy/components/internal/Button/CopyButton.js.map +1 -1
  161. package/dist/es-legacy/components/internal/Button/CopyIconButton.js +1 -1
  162. package/dist/es-legacy/components/internal/Button/CopyIconButton.js.map +1 -1
  163. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  164. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  165. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js +1 -1
  166. package/dist/es-legacy/components/internal/FormFields/ConsentCheckbox/ConsentCheckbox.js.map +1 -1
  167. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  168. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  169. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  170. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  171. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js +1 -1
  172. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  173. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  174. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  175. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js +1 -1
  176. package/dist/es-legacy/components/internal/IssuerList/IssuerList.js.map +1 -1
  177. package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
  178. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  179. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  180. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  181. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js +1 -1
  182. package/dist/es-legacy/components/internal/OpenInvoice/useSRPanelForOpenInvoiceErrors.js.map +1 -1
  183. package/dist/es-legacy/components/internal/PayButton/PayButton.js +1 -1
  184. package/dist/es-legacy/components/internal/PayButton/PayButton.js.map +1 -1
  185. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js +1 -1
  186. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  187. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js +1 -1
  188. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -1
  189. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  190. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  191. package/dist/es-legacy/components/internal/QRLoader/QRLoader.js.map +1 -1
  192. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js +1 -1
  193. package/dist/es-legacy/components/internal/QRLoader/QRLoaderDetailsProvider.js.map +1 -1
  194. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  195. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  196. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js +1 -1
  197. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  198. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js +1 -1
  199. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProviderHandlers.js.map +1 -1
  200. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js +1 -1
  201. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/createSecuredFields.js.map +1 -1
  202. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js +1 -1
  203. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleBrandFromBinLookup.js.map +1 -1
  204. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js +1 -1
  205. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleConfig.js.map +1 -1
  206. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js +1 -1
  207. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/extensions/handleIOSTouchEvents.js.map +1 -1
  208. package/dist/es-legacy/components/internal/SecuredFields/lib/securedField/utils/processPlaceholders.js.map +1 -1
  209. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  210. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  211. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControlRegion.js +2 -0
  212. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControlRegion.js.map +1 -0
  213. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js +1 -1
  214. package/dist/es-legacy/components/internal/StoreDetails/StoreDetails.js.map +1 -1
  215. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  216. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  217. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  218. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  219. package/dist/es-legacy/components/internal/Voucher/utils.js.map +1 -1
  220. package/dist/es-legacy/components/tx-variants.js +1 -1
  221. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  222. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js +1 -1
  223. package/dist/es-legacy/core/Analytics/events/AnalyticsInfoEvent.js.map +1 -1
  224. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  225. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  226. package/dist/es-legacy/core/Context/Resources.js +1 -1
  227. package/dist/es-legacy/core/Context/Resources.js.map +1 -1
  228. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js +1 -1
  229. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/PaymentMethods.js.map +1 -1
  230. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js +1 -1
  231. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/utils.js.map +1 -1
  232. package/dist/es-legacy/core/config.js +1 -1
  233. package/dist/es-legacy/core/core.js +1 -1
  234. package/dist/es-legacy/core/core.js.map +1 -1
  235. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js +1 -1
  236. package/dist/es-legacy/hooks/usePaymentStatusTimer/usePaymentStatusTimer.js.map +1 -1
  237. package/dist/es-legacy/index.js +1 -1
  238. package/dist/es-legacy/language/Language.js.map +1 -1
  239. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  240. package/dist/es-legacy/utils/commonUtils.js.map +1 -1
  241. package/dist/es-legacy/utils/createSdkData.js +2 -0
  242. package/dist/es-legacy/utils/createSdkData.js.map +1 -0
  243. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  244. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  245. package/package.json +12 -12
  246. package/styles/adyen.css +8 -6
@@ -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 />\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","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,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":"u0CAeA,MAAMA,EAA6B,CAAC,gBAAiB,YAAa,YAElE,MAAMC,UAAsBC,EAsBLC,uBAAAA,GACVC,KAAKC,UAAUC,WAAW,SACnC,CAEmBC,qBAAAA,GACfH,KAAKI,KAAKC,sBAAsBL,KACpC,CAEAM,WAAAA,CAAYC,GACR,OAAOC,EAAAC,EAAA,CAAA,EACAC,MAAMJ,YAAYC,IAAAA,CACrBI,oBAAqBC,MAAMC,KAA0B,IAAIC,IAAIP,EAAMI,sBAAsBI,OAAOC,GAC5FpB,EAA2BqB,SAASD,KAGhD,CAEA,WAAIE,GACA,QAASlB,KAAKmB,aAAenB,KAAKmB,UAAUC,MAAMC,uBAAyBrB,KAAKmB,UAAUC,MAAMC,oBAAoBH,OACxH,CAEAI,cAAAA,GAKI,OAJItB,KAAKmB,UAAUC,MAAMC,qBACrBrB,KAAKmB,UAAUC,MAAMC,oBAAoBC,iBAGtCtB,IACX,CAEOuB,SAAAA,CAAUC,EAAQjB,EAAQ,IAC7B,IAAAkB,EACA,OADc,QAAdA,EAAAzB,KAAKmB,qBAALM,GAAAA,EAAgBF,UAAUC,EAAQjB,GAC3BP,IACX,CAEA,uBAAIqB,OACKI,EAA0BC,EAA/B,OAAmB,QAAdD,EAAAzB,KAAKmB,iBAAL,IAAAM,OAAA,EAAAA,EAAgBL,SAAwB,QAAdM,EAAA1B,KAAKmB,qBAALO,SAAAA,EAAgBN,MAAMC,qBAI9CrB,KAAKmB,UAAUC,MAAMC,oBAHjB,IAIf,CAEA,QAAIM,GACA,OAAK3B,KAAKqB,oBAIHrB,KAAKmB,UAAUC,MAAMC,oBAAoBM,KAHrC,IAIf,CAEOC,qBAAAA,CAAsBC,GAGzB,IAAAJ,EAFIzB,KAAKO,MAAMuB,+BAEfL,EAAAzB,KAAKmB,iBAAL,IAAAM,GAAAA,EAAgBF,UAAUM,EAC9B,CAKA,MAAAE,GACI,IAAK/B,KAAKqB,oBACN,MAAM,IAAIW,MAAM,6BAGfhC,KAAKqB,oBAAoBH,SAC1BlB,KAAKqB,oBAAoBC,iBAGzBtB,KAAKqB,oBAAoBY,kBACzBjC,KAAKkC,2BAGTlC,KAAKqB,oBAAoBU,QAC7B,CAmCOI,YAAAA,CAAaC,EAAuB7B,EAAQ,IAWb,IAAA8B,EAMvBC,EAhBX,IAAKF,IAAWA,EAAOP,KAAM,CACzB,GAAIU,EAAeH,EAAQ,WAAaG,EAAeH,EAAQ,cAC3D,MAAM,IAAIJ,MACN,wKAIR,MAAM,IAAIA,MAAM,0FACpB,CAEA,GAAoB,aAAhBI,EAAOP,OAA+C,QAAxBQ,EAAArC,KAAKqB,2BAAL,IAAAgB,OAAA,EAAAA,EAA0BG,kBACxD,OAAOxC,KAAKqB,oBAAoBmB,iBAAiBJ,GAGjDpC,KAAKyC,sBAAsB5C,IAC3BU,EAAQE,EAAA,CAAA,EACkC,QAAnC6B,EAAAtC,KAAKyC,WAAWpB,2BAAhB,IAAAiB,OAAA,EAAAA,EAAqC/B,MACrCA,IAIX,MAAMmC,EAA2B1C,KAAKI,KAAKuC,iBAAiBP,EAAQ5B,EAAAC,EAAA,GAC7DF,GAAAA,CACHkC,WAAYzC,KAAKyC,WACjBG,UAAU,KAGd,OAAIF,GACA1C,KAAKuB,UAAUmB,EAAcnC,MAAMsC,WAAY,CAAEC,UAAWJ,IAC5D1C,KAAK+C,oBAAsBL,EACpB1C,MAGJ,IACX,CAUAkC,wBAAAA,GACIlC,KAAKmB,UAAUe,0BACnB,CAEUc,cAAAA,CAAeC,GACrB,GAAc,UAAVA,EAAEC,KAA8B,UAAXD,EAAEE,KAAkB,KAEtBC,EAAAA,EACnB,GADqE,WAAlDA,QAAAA,EAAAA,gBAAAA,IAAAA,GAAuB,QAAvBA,EAAAA,EAAUC,qBAAVD,IAAAA,OAAAA,EAAAA,EAAyBE,aAAa,SAErD,OAEJ5C,MAAMsC,eAAeC,EACzB,CACJ,CAEUM,iBAAAA,CAAkBF,EAAwBP,GAE5B,IAAAT,EACpBmB,EADA,MAAMC,EAAsC,QAAxBpB,EAAArC,KAAKqB,+BAALgB,EAAAA,EAA4BS,EACxB,QAAxBU,EAAAxD,KAAKqB,+BAALmC,GAAAA,EAA0BD,kBAAkBF,EAAeI,EAC/D,CAEmBC,iBAAAA,GACf,OACIC,EAACC,EAAAA,EAAAA,EAAAA,GACO5D,KAAKO,OAAK,CACdH,KAAMJ,KAAKI,KACXqC,WAAYzC,KAAKyC,WACjBoB,iBAAkB7D,KAAK8D,aACvBC,IAAK5C,IACDnB,KAAKmB,UAAYA,KAIjC,CAnMA,WAAA6C,CAAYC,EAAiB1D,GACzBG,MAAMuD,EAAU1D,GATpB2D,EAAAlE,KAAOmB,YAAY,MAEnB+C,EAAAlE,KAAQmE,mCAAR,GAIAD,EAAAlE,KAAO+C,2BAAP,GAyFAmB,OAAQJ,eAAe,WAiBTM,EAAAC,EAhBV,MAAMF,4BAAEA,EAA2BG,yBAAEA,EAAwBC,mBAAEA,EAAkB5D,oBAAEA,GAAwBX,KAAKO,OAE1GiE,eAAEA,EAAcC,qBAAEA,EAAoBC,sBAAEA,EAAqBC,sBAAEA,GAA0BC,EAC3F5E,KAAKI,KAAKyE,uBACVlE,GAGEmE,EAAc,CAChBrC,WAAYzC,KAAKyC,WACjBG,UAAU,GAGRmC,EAAWR,EAAqBS,EAAeR,EAAgBL,EAA6BW,EAAa9E,KAAKI,MAAQ,GACtH6E,EAAyBC,EAA6BR,EAAuBP,EAA6BW,EAAa9E,KAAKI,MAalI,MAAO,CAZgBkE,EACjBa,EAC4CV,QAD5CU,UACIf,GAAAC,EAAArE,KAAKO,OAAM6E,kCAAX,IAAAhB,OAAA,EAAAA,EAAAiB,KAAAhB,EAAwCI,UAAAA,IAAAA,EAAAA,EAAyBA,EACjEN,EACAW,EACA9E,KAAKI,MAET,GAKkB2E,EAAUE,EAJHN,EACzBK,EAAe,CAACL,GAAwBR,EAA6BW,EAAa9E,KAAKI,MACvF,MA8CV8D,EAAAlE,KAAUsF,cAAc,EAAGC,YAClBvF,KAAKwF,aAAa,CAAED,YA7JzBvF,KAAK+B,OAAS/B,KAAK+B,OAAO0D,KAAKzF,MAC/BA,KAAKmC,aAAenC,KAAKmC,aAAasD,KAAKzF,MAE3CA,KAAKO,MAAMmF,wBAAwBC,QAAQC,GAAiB5F,KAAKI,KAAKyF,SAASD,IAC/E5F,KAAKmE,4BAA8BnE,KAAKO,MAAM4D,6BAA+B,CAAA,CACjF,EAnBAD,EADErE,EACYgC,OAAOiE,EAAWC,QAEhC7B,EAHErE,EAGemG,eAAeA"}
@@ -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":"u/CA2BA,MAAMA,UAA0BC,EA6B5BC,MAAAA,EAAOC,cAAEA,EAAaC,WAAEA,EAAUC,yBAAEA,EAAwBC,UAAEA,EAASC,WAAEA,EAAUC,gBAAEA,IACjF,MAAMC,KAAEA,GAASC,IAEjB,IAAKP,EACD,OAAO,KAGX,MAAMQ,EAAsC,SAA7BR,EAAcS,MAAMC,MAAgD,WAA7BV,EAAcS,MAAMC,KAKlBV,IAAAA,EAHxD,MAAMW,EAA0BC,EAAWC,EAAAC,EAAA,CACvC,kCAAkC,EAClC,CAAC,mCAAmCd,EAAcS,MAAMC,SAAS,GAC7DF,GAAU,CAAE,CAAC,mCAAoE,QAAjCR,EAAAA,EAAcS,MAAMM,qBAApBf,IAAAA,EAAAA,EAAqC,aAAa,IAAK,CAC3G,2CAA4CC,EAC5C,0CAA2CE,EAC3C,4CAA6CD,EAC7C,6CAA8Cc,KAAKC,MAAMC,2CACzD,6CAA8Cd,EAC9C,CAACJ,EAAcmB,MAAM,EACrB,CAACH,KAAKP,MAAMW,YAAY,KAGtBC,EAAgCL,KAAKP,MAAMY,+BAAiCrB,EAAcS,MAAMa,UAAYrB,EAC5GsB,EAAwB,UAAUvB,EAAcmB,MAChDK,EAAc,aAAaxB,EAAcmB,MACzCM,EAAW,UAAUzB,EAAcmB,MAEnCO,GAAc1B,EAAcS,MAAMa,UAAYtB,EAAc2B,QAAU3B,EAAc2B,OAAOC,OAAS,EAE1G,OAEIC,EAACC,MAAAA,CAAIC,IAAK/B,EAAcmB,IAAKC,UAAWT,EAAyBqB,QAAShB,KAAKiB,uBAC3EJ,EAACC,MAAAA,CAAIV,UAAU,0CACXS,EAACK,EAAAA,CACGT,SAAUA,EACVpB,gBAAiBA,EACjBJ,WAAYA,EACZkC,gBAAiBX,EACjBpB,WAAYA,GAEZyB,EAACO,EAAAA,EAAAA,EAAAA,CAAAA,EAEQpC,EAAcS,MAAMa,UAAY,CAAEe,eAAgBC,EAAiBtC,EAAcS,MAAM8B,SAAO,CACnG7B,KAAMV,EAAcU,KACpB8B,IAAKxC,EAAcyC,QAGvBZ,EAACa,EAAAA,CACGC,YAAa3C,EAAc2C,YAC3B1C,WAAYA,EACZ2C,eAAgB5C,EAAc4C,kBAIrCvB,GACGQ,EAACgB,SAAAA,CACGnC,KAAK,SACLU,UAAU,qFACVY,QAAShB,KAAK8B,0BACdC,gBAAe/B,KAAKC,MAAMC,2CAC1B8B,gBAAezB,GAEdjB,EAAK2C,IAAI,uCAIjBvB,GACGG,EAACqB,EAAAA,CACGC,yBAA0BnD,EAAcS,MAAM0C,yBAC9CC,kBAAmBpD,EAAcS,MAAM2C,kBACvCzB,OAAQ3B,EAAc2B,OACtB0B,iBAAkBC,EAClBC,wBAAyBtD,KAKrC4B,EAACC,MAAAA,CAAIV,UAAU,oCAAoCoC,eAAcvD,GAC7D4B,EAACC,MAAAA,CAAIV,UAAU,0CAA0CqC,GAAIjC,GACxDH,GACGQ,EAAC6B,EAAAA,CACGD,GAAIlC,EACJoC,KAAM3C,KAAKC,MAAMC,2CACjB0C,UAAW5C,KAAK6C,6BAChBC,SAAU9C,KAAK8B,4BAIvBjB,EAACkC,EAAAA,CAAqBC,uBAAwBhE,EAAeC,WAAYA,MAK7F,mBA1HJgE,SAAAC,GAUIC,OAAOlD,QAAQ,CACXC,4CAA4C,IAGhDiD,OAAOrB,4BAA4B,KAC/B9B,KAAKoD,SAAS,CAAElD,4CAA6CF,KAAKC,MAAMC,+CAG5EiD,OAAON,+BAA+B,KAClC7C,KAAKP,MAAMoD,6BAA6B7C,KAAKP,MAAMT,eACnDgB,KAAK8B,8BAGTqB,OAAQlC,wBAAwB,KAC5B,MAAMoC,SAAEA,EAAQrE,cAAEA,GAAkBgB,KAAKP,MACzC4D,EAASrE,MAxBbmE,EADEtE,EACYyE,eAAe,CACzBtE,cAAe,KACfC,YAAY,EACZsE,UAAU,EACVpE,WAAW,EACXe,4CAA4C,EAC5Cb,iBAAiB"}
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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import n from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as s,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as d}from"../tx-variants.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as p}from"../internal/UIElement/utils.js";import{AnalyticsInfoEvent as c,InfoEventType as y,UiTarget as u}from"../../core/Analytics/events/AnalyticsInfoEvent.js";import{mapGooglePayBrands as g}from"./utils/map-adyen-brands-to-googlepay-brands.js";function m(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function P(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){m(e,t,o[t])})}return e}function b(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}const f=["AMEX","DISCOVER","JCB","MASTERCARD","VISA"];class w extends t{getPaymentMethodFromPaymentMethodsResponse(e,t){return t?this.core.paymentMethodsResponse.findById(t):this.core.paymentMethodsResponse.find(e||this.constructor.type)||this.core.paymentMethodsResponse.find(d.paywithgoogle)}formatProps(e){var t,o;const n=null!==(o=e.buttonSizeMode)&&void 0!==o?o:e.isDropin?"fill":"static";var r;const i=s(null!==(r=e.buttonLocale)&&void 0!==r?r:null===(t=e.i18n)||void 0===t?void 0:t.locale),a=[...e.callbackIntents,"PAYMENT_AUTHORIZATION"],l=this.createAllowedCardNetworksValues({allowedCardNetworks:e.allowedCardNetworks,brands:e.brands});return b(P({},e),{allowedCardNetworks:l,configuration:e.configuration,buttonSizeMode:n,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:e,googlePayToken:t,billingAddress:o,deliveryAddress:n}=this.state,{isExpress:r}=this.props;return P({paymentMethod:P({type:this.type,googlePayCardNetwork:e,googlePayToken:t},r&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},n&&{deliveryAddress:n})}createAllowedCardNetworksValues({allowedCardNetworks:e,brands:t}){return(null==e?void 0:e.length)>0?e:(null==t?void 0:t.length)>0?g(t):f}beforeRender(e){if(null==e?void 0:e.originalAction)return;const t=new c(P({type:y.rendered,component:this.type,configData:b(P({},e),{showPayButton:this.props.showPayButton})},(null==e?void 0:e.isExpress)&&{isExpress:e.isExpress},(null==e?void 0:e.expressPage)&&{expressPage:e.expressPage}));this.analytics.sendAnalytics(t)}showGooglePayPaymentSheet(){this.googlePay.initiatePayment(this.props,this.core.options.countryCode).catch(e=>{this.handleError(new l("CANCELED"===e.statusCode?"CANCEL":"ERROR",e.toString(),{cause:e}))})}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:o,billingAddress:n,deliveryAddress:r}=this.state;this.props.onAuthorized(P({authorizedEvent:o},n&&{billingAddress:n},r&&{deliveryAddress:r}),{resolve:e,reject:t})}).catch(e=>{const t={error:{googlePayError:e}};return Promise.reject(t)})}get isValid(){return!0}async isAvailable(){return this.isReadyToPay().then(e=>{if(!e.result)throw new l("ERROR","GooglePay is not available");if(!1===e.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()}).catch(e=>Promise.reject(e))}get browserInfo(){return a()}get icon(){var e;return null!==(e=this.props.icon)&&void 0!==e?e:this.resources.getImage()("googlepay")}componentToRender(){return this.props.showPayButton?e(n,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(e,t){super(e,t),m(this,"googlePay",void 0),m(this,"submit",()=>{if(this.props.isInstantPayment){const e=new c({component:this.type,type:y.selected,target:u.instantPaymentButton});this.submitAnalytics(e)}new Promise((e,t)=>this.props.onClick(e,t)).then(this.showGooglePayPaymentSheet).catch(()=>{})}),m(this,"onPaymentAuthorized",async e=>{const t=i(e.paymentMethodData.info.billingAddress),o=i(e.shippingAddress,!0);return this.setState(P({authorizedEvent:e,googlePayToken:e.paymentMethodData.tokenizationData.token,googlePayCardNetwork:e.paymentMethodData.info.cardNetwork},t&&{billingAddress:t},o&&{deliveryAddress:o})),new Promise(e=>{this.handleAuthorization().then(this.makePaymentsCall).then(h).then(p).then(t=>(e({transactionState:"SUCCESS"}),t)).then(e=>{this.handleResponse(e)}).catch(t=>{var o;this.setElementStatus("ready");const n=null==t||null===(o=t.error)||void 0===o?void 0:o.googlePayError,r=this.props.i18n.get("error.subtitle.payment"),s="string"==typeof n?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:n||r}:{intent:(null==n?void 0:n.intent)||"PAYMENT_AUTHORIZATION",reason:(null==n?void 0:n.reason)||"OTHER_ERROR",message:(null==n?void 0:n.message)||r};e({transactionState:"ERROR",error:s});const i=b(P({},t),{error:{googlePayError:s}});this.handleFailedResult(i)})})}),m(this,"isReadyToPay",()=>this.googlePay.isReadyToPay(this.props)),m(this,"prefetch",()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode)),this.handleAuthorization=this.handleAuthorization.bind(this),this.showGooglePayPaymentSheet=this.showGooglePayPaymentSheet.bind(this);const{isExpress:n,paymentDataCallbacks:r}=this.props;if(!1===n&&(null==r?void 0:r.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');if(!this.props.configuration.merchantId)throw new l("IMPLEMENTATION_ERROR","GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.");this.googlePay=new o(this.props.environment,this.analytics,b(P({},n&&(null==r?void 0:r.onPaymentDataChanged)&&{onPaymentDataChanged:r.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}m(w,"type",d.googlepay),m(w,"txVariants",[d.googlepay,d.paywithgoogle]),m(w,"defaultProps",r);export{w as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import o from"./GooglePayService.js";import n from"./components/GooglePayButton.js";import r from"./defaultProps.js";import{getGooglePayLocale as s,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as d}from"../tx-variants.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as p}from"../internal/UIElement/utils.js";import{AnalyticsInfoEvent as c,InfoEventType as y,UiTarget as u}from"../../core/Analytics/events/AnalyticsInfoEvent.js";import{mapGooglePayBrands as g}from"./utils/map-adyen-brands-to-googlepay-brands.js";function m(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function P(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){m(e,t,o[t])})}return e}function b(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}const f=["AMEX","DISCOVER","JCB","MASTERCARD","VISA"];class w extends t{getPaymentMethodFromPaymentMethodsResponse(e,t){return t?this.core.paymentMethodsResponse.findById(t):this.core.paymentMethodsResponse.find(e||this.constructor.type)||this.core.paymentMethodsResponse.find(d.paywithgoogle)}formatProps(e){var t,o,n;const r=null!==(t=e.buttonSizeMode)&&void 0!==t?t:e.isDropin?"fill":"static",i=s(null!==(o=e.buttonLocale)&&void 0!==o?o:null===(n=e.i18n)||void 0===n?void 0:n.locale),a=[...e.callbackIntents,"PAYMENT_AUTHORIZATION"],l=this.createAllowedCardNetworksValues({allowedCardNetworks:e.allowedCardNetworks,brands:e.brands});return b(P({},e),{allowedCardNetworks:l,configuration:e.configuration,buttonSizeMode:r,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:e,googlePayToken:t,billingAddress:o,deliveryAddress:n}=this.state,{isExpress:r}=this.props;return P({paymentMethod:P({type:this.type,googlePayCardNetwork:e,googlePayToken:t},r&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},n&&{deliveryAddress:n})}createAllowedCardNetworksValues({allowedCardNetworks:e,brands:t}){return(null==e?void 0:e.length)>0?e:(null==t?void 0:t.length)>0?g(t):f}beforeRender(e){if(null==e?void 0:e.originalAction)return;const t=new c(P({type:y.rendered,component:this.type,configData:b(P({},e),{showPayButton:this.props.showPayButton})},(null==e?void 0:e.isExpress)&&{isExpress:e.isExpress},(null==e?void 0:e.expressPage)&&{expressPage:e.expressPage}));this.analytics.sendAnalytics(t)}showGooglePayPaymentSheet(){this.googlePay.initiatePayment(this.props,this.core.options.countryCode).catch(e=>{this.handleError(new l("CANCELED"===e.statusCode?"CANCEL":"ERROR",e.toString(),{cause:e}))})}async handleAuthorization(){return new Promise((e,t)=>{this.props.onAuthorized||e();const{authorizedEvent:o,billingAddress:n,deliveryAddress:r}=this.state;this.props.onAuthorized(P({authorizedEvent:o},n&&{billingAddress:n},r&&{deliveryAddress:r}),{resolve:e,reject:t})}).catch(e=>{const t={error:{googlePayError:e}};return Promise.reject(t)})}get isValid(){return!0}async isAvailable(){return this.isReadyToPay().then(e=>{if(!e.result)throw new l("ERROR","GooglePay is not available");if(!1===e.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()}).catch(e=>Promise.reject(e))}get browserInfo(){return a()}get icon(){var e;return null!==(e=this.props.icon)&&void 0!==e?e:this.resources.getImage()("googlepay")}componentToRender(){return this.props.showPayButton?e(n,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(e,t){super(e,t),m(this,"googlePay",void 0),m(this,"submit",()=>{if(this.props.isInstantPayment){const e=new c({component:this.type,type:y.selected,target:u.instantPaymentButton});this.submitAnalytics(e)}new Promise((e,t)=>this.props.onClick(e,t)).then(this.showGooglePayPaymentSheet).catch(()=>{})}),m(this,"onPaymentAuthorized",async e=>{const t=i(e.paymentMethodData.info.billingAddress),o=i(e.shippingAddress,!0);return this.setState(P({authorizedEvent:e,googlePayToken:e.paymentMethodData.tokenizationData.token,googlePayCardNetwork:e.paymentMethodData.info.cardNetwork},t&&{billingAddress:t},o&&{deliveryAddress:o})),new Promise(e=>{this.handleAuthorization().then(this.makePaymentsCall).then(h).then(p).then(t=>(e({transactionState:"SUCCESS"}),t)).then(e=>{this.handleResponse(e)}).catch(t=>{var o;this.setElementStatus("ready");const n=null==t||null===(o=t.error)||void 0===o?void 0:o.googlePayError,r=this.props.i18n.get("error.subtitle.payment"),s="string"==typeof n?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:n||r}:{intent:(null==n?void 0:n.intent)||"PAYMENT_AUTHORIZATION",reason:(null==n?void 0:n.reason)||"OTHER_ERROR",message:(null==n?void 0:n.message)||r};e({transactionState:"ERROR",error:s});const i=b(P({},t),{error:{googlePayError:s}});this.handleFailedResult(i)})})}),m(this,"isReadyToPay",()=>this.googlePay.isReadyToPay(this.props)),m(this,"prefetch",()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode)),this.handleAuthorization=this.handleAuthorization.bind(this),this.showGooglePayPaymentSheet=this.showGooglePayPaymentSheet.bind(this);const{isExpress:n,paymentDataCallbacks:r}=this.props;if(!1===n&&(null==r?void 0:r.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');if(!this.props.configuration.merchantId)throw new l("IMPLEMENTATION_ERROR","GooglePay - Missing merchantId. Please ensure that it is correctly configured in your customer area.");this.googlePay=new o(this.props.environment,this.analytics,b(P({},n&&(null==r?void 0:r.onPaymentDataChanged)&&{onPaymentDataChanged:r.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}m(w,"type",d.googlepay),m(w,"txVariants",[d.googlepay,d.paywithgoogle]),m(w,"defaultProps",r);export{w as default};
2
2
  //# sourceMappingURL=GooglePay.js.map