@adyen/adyen-web 6.45.0 → 6.45.1

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 (232) hide show
  1. package/dist/cjs/adyen.css +12 -12
  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 +1983 -1924
  6. package/dist/es/adyen.css +12 -12
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/components/ANCVInput.js +1 -1
  9. package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
  10. package/dist/es/components/Ach/Ach.js +1 -1
  11. package/dist/es/components/Ach/Ach.js.map +1 -1
  12. package/dist/es/components/Ach/components/AchComponent.js +1 -1
  13. package/dist/es/components/Ach/components/AchComponent.js.map +1 -1
  14. package/dist/es/components/AmazonPay/AmazonPay.js +1 -1
  15. package/dist/es/components/AmazonPay/AmazonPay.js.map +1 -1
  16. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  17. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  18. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  19. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  20. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  21. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  22. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  23. package/dist/es/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  24. package/dist/es/components/Blik/Blik.js +1 -1
  25. package/dist/es/components/Blik/Blik.js.map +1 -1
  26. package/dist/es/components/Blik/components/BlikInput.js +1 -1
  27. package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
  28. package/dist/es/components/Card/Card.js +1 -1
  29. package/dist/es/components/Card/Card.js.map +1 -1
  30. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  31. package/dist/es/components/Card/components/ClickToPayHolder.js.map +1 -1
  32. package/dist/es/components/Card/components/ClickToPayWrapper.js +1 -1
  33. package/dist/es/components/Card/components/ClickToPayWrapper.js.map +1 -1
  34. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  35. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  36. package/dist/es/components/CustomCard/CustomCard.js +1 -1
  37. package/dist/es/components/CustomCard/CustomCard.js.map +1 -1
  38. package/dist/es/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  39. package/dist/es/components/Donation/Donation.js +1 -1
  40. package/dist/es/components/Donation/Donation.js.map +1 -1
  41. package/dist/es/components/Donation/components/DonationComponent.js +1 -1
  42. package/dist/es/components/Donation/components/DonationComponent.js.map +1 -1
  43. package/dist/es/components/Dropin/Dropin.js +1 -1
  44. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  45. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  46. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  47. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  48. package/dist/es/components/Giropay/Giropay.js +1 -1
  49. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  50. package/dist/es/components/MBWay/MBWay.js +1 -1
  51. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  52. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  53. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  54. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  55. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  56. package/dist/es/components/PayByBankPix/PayByBankPix.js +1 -1
  57. package/dist/es/components/PayByBankPix/PayByBankPix.js.map +1 -1
  58. package/dist/es/components/PayByBankUS/PayByBankUS.js +1 -1
  59. package/dist/es/components/PayByBankUS/PayByBankUS.js.map +1 -1
  60. package/dist/es/components/PayTo/components/BSBInput.js +1 -1
  61. package/dist/es/components/PayTo/components/BSBInput.js.map +1 -1
  62. package/dist/es/components/PayTo/components/PayToNameFields.js +1 -1
  63. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -1
  64. package/dist/es/components/PayTo/components/PayToPhone.js +1 -1
  65. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -1
  66. package/dist/es/components/Pix/Pix.js +1 -1
  67. package/dist/es/components/Pix/Pix.js.map +1 -1
  68. package/dist/es/components/Pix/components/PixInput/PixInput.js +1 -1
  69. package/dist/es/components/Pix/components/PixInput/PixInput.js.map +1 -1
  70. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  71. package/dist/es/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  72. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  73. package/dist/es/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  74. package/dist/es/components/Redirect/Redirect.js +1 -1
  75. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  76. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  77. package/dist/es/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  78. package/dist/es/components/Trustly/Trustly.js +1 -1
  79. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  80. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  81. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  82. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  83. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  84. package/dist/es/components/internal/Address/Specifications.js.map +1 -1
  85. package/dist/es/components/internal/Address/components/AddressSearch.js.map +1 -1
  86. package/dist/es/components/internal/Address/components/FieldContainer.js.map +1 -1
  87. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  88. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  89. package/dist/es/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  90. package/dist/es/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  91. package/dist/es/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  92. package/dist/es/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  93. package/dist/es/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  94. package/dist/es/components/internal/IbanInput/IbanInput.js +1 -1
  95. package/dist/es/components/internal/IbanInput/IbanInput.js.map +1 -1
  96. package/dist/es/components/internal/IbanInput/validate.js +1 -1
  97. package/dist/es/components/internal/IbanInput/validate.js.map +1 -1
  98. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  99. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  100. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  101. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  102. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  103. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  104. package/dist/es/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  105. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  106. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  107. package/dist/es/components/internal/UIElement/utils.js +1 -1
  108. package/dist/es/components/internal/UIElement/utils.js.map +1 -1
  109. package/dist/es/core/config.js +1 -1
  110. package/dist/es/index.d.ts +1983 -1924
  111. package/dist/es/utils/Validator/Validator.js +1 -1
  112. package/dist/es/utils/Validator/Validator.js.map +1 -1
  113. package/dist/es/utils/useForm/reducer.js +1 -1
  114. package/dist/es/utils/useForm/reducer.js.map +1 -1
  115. package/dist/es/utils/useForm/useForm.js +1 -1
  116. package/dist/es/utils/useForm/useForm.js.map +1 -1
  117. package/dist/es/utils/useForm/useFormWithA11y.js +1 -1
  118. package/dist/es/utils/useForm/useFormWithA11y.js.map +1 -1
  119. package/dist/es-legacy/adyen.css +12 -12
  120. package/dist/es-legacy/adyen.css.map +1 -1
  121. package/dist/es-legacy/components/ANCV/components/ANCVInput.js +1 -1
  122. package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
  123. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  124. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  125. package/dist/es-legacy/components/Ach/components/AchComponent.js +1 -1
  126. package/dist/es-legacy/components/Ach/components/AchComponent.js.map +1 -1
  127. package/dist/es-legacy/components/AmazonPay/AmazonPay.js +1 -1
  128. package/dist/es-legacy/components/AmazonPay/AmazonPay.js.map +1 -1
  129. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  130. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  131. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  132. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  133. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  134. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  135. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js +1 -1
  136. package/dist/es-legacy/components/BankTransfer/components/BankTransferInput/BankTransferInput.js.map +1 -1
  137. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  138. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  139. package/dist/es-legacy/components/Blik/components/BlikInput.js +1 -1
  140. package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
  141. package/dist/es-legacy/components/Card/Card.js +1 -1
  142. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  143. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  144. package/dist/es-legacy/components/Card/components/ClickToPayHolder.js.map +1 -1
  145. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js +1 -1
  146. package/dist/es-legacy/components/Card/components/ClickToPayWrapper.js.map +1 -1
  147. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  148. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  149. package/dist/es-legacy/components/CustomCard/CustomCard.js +1 -1
  150. package/dist/es-legacy/components/CustomCard/CustomCard.js.map +1 -1
  151. package/dist/es-legacy/components/CustomCard/CustomCardInput/CustomCardInput.js.map +1 -1
  152. package/dist/es-legacy/components/Donation/Donation.js +1 -1
  153. package/dist/es-legacy/components/Donation/Donation.js.map +1 -1
  154. package/dist/es-legacy/components/Donation/components/DonationComponent.js +1 -1
  155. package/dist/es-legacy/components/Donation/components/DonationComponent.js.map +1 -1
  156. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  157. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  158. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  159. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  160. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  161. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  162. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  163. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  164. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  165. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  166. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  167. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  168. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  169. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js +1 -1
  170. package/dist/es-legacy/components/PayByBankPix/PayByBankPix.js.map +1 -1
  171. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js +1 -1
  172. package/dist/es-legacy/components/PayByBankUS/PayByBankUS.js.map +1 -1
  173. package/dist/es-legacy/components/PayTo/components/BSBInput.js +1 -1
  174. package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -1
  175. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +1 -1
  176. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -1
  177. package/dist/es-legacy/components/PayTo/components/PayToPhone.js +1 -1
  178. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -1
  179. package/dist/es-legacy/components/Pix/Pix.js +1 -1
  180. package/dist/es-legacy/components/Pix/Pix.js.map +1 -1
  181. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js +1 -1
  182. package/dist/es-legacy/components/Pix/components/PixInput/PixInput.js.map +1 -1
  183. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js +1 -1
  184. package/dist/es-legacy/components/PreAuthorizedDebitCanada/PreAuthorizedDebitCanada.js.map +1 -1
  185. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js +1 -1
  186. package/dist/es-legacy/components/PreAuthorizedDebitCanada/components/PreAuthorizedDebitCanadaComponent.js.map +1 -1
  187. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  188. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  189. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  190. package/dist/es-legacy/components/ThreeDS2/ThreeDS2DeviceFingerprint.js.map +1 -1
  191. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  192. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  193. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  194. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  195. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  196. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  197. package/dist/es-legacy/components/internal/Address/Specifications.js.map +1 -1
  198. package/dist/es-legacy/components/internal/Address/components/AddressSearch.js.map +1 -1
  199. package/dist/es-legacy/components/internal/Address/components/FieldContainer.js.map +1 -1
  200. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  201. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js +1 -1
  202. package/dist/es-legacy/components/internal/ClickToPay/components/CtPLogin/CtPLoginInput.js.map +1 -1
  203. package/dist/es-legacy/components/internal/ClickToPay/context/ClickToPayProvider.js.map +1 -1
  204. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/AbstractSrcInitiator.js.map +1 -1
  205. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/MastercardSdk.js.map +1 -1
  206. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/VisaSdk.js.map +1 -1
  207. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js +1 -1
  208. package/dist/es-legacy/components/internal/IbanInput/IbanInput.js.map +1 -1
  209. package/dist/es-legacy/components/internal/IbanInput/validate.js +1 -1
  210. package/dist/es-legacy/components/internal/IbanInput/validate.js.map +1 -1
  211. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  212. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  213. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +1 -1
  214. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -1
  215. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  216. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  217. package/dist/es-legacy/components/internal/SecuredFields/SFP/SecuredFieldsProvider.js.map +1 -1
  218. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  219. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  220. package/dist/es-legacy/components/internal/UIElement/utils.js +1 -1
  221. package/dist/es-legacy/components/internal/UIElement/utils.js.map +1 -1
  222. package/dist/es-legacy/core/config.js +1 -1
  223. package/dist/es-legacy/utils/Validator/Validator.js +1 -1
  224. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  225. package/dist/es-legacy/utils/useForm/reducer.js +1 -1
  226. package/dist/es-legacy/utils/useForm/reducer.js.map +1 -1
  227. package/dist/es-legacy/utils/useForm/useForm.js +1 -1
  228. package/dist/es-legacy/utils/useForm/useForm.js.map +1 -1
  229. package/dist/es-legacy/utils/useForm/useFormWithA11y.js +1 -1
  230. package/dist/es-legacy/utils/useForm/useFormWithA11y.js.map +1 -1
  231. package/package.json +10 -10
  232. package/styles/adyen.css +12 -12
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as r,useState as a,useRef as t}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import o from"../../internal/LoadingWrapper/LoadingWrapper.js";import n from"../../internal/FormFields/InputText.js";import s from"../../internal/FormFields/Field/Field.js";import l from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{ancvValidationRules as c}from"../validate.js";function d({showPayButton:d,payButton:u,onChange:m,onSubmit:f,setComponentRef:p}){const{i18n:b}=i(),{handleChangeFor:y,triggerValidation:g,data:h,valid:F,errors:I,isValid:v}=l({schema:["beneficiaryId"],rules:c});r(()=>{m({data:h,errors:I,valid:F,isValid:v})},[m,h,F,I,v]);const[j,C]=a("ready"),k=t({setStatus:C,showValidation:g});return r(()=>{p(k.current)},[p,k.current]),e(o,null,e("div",{className:"adyen-checkout__ancv"},e("p",{className:"adyen-checkout-form-instruction"},b.get("ancv.form.instruction")),e(s,{errorMessage:!!I.beneficiaryId&&b.get(I.beneficiaryId.errorMessage),label:b.get("ancv.input.label"),isValid:F.beneficiaryId,name:"beneficiaryId"},e(n,{value:h.beneficiaryId,name:"beneficiaryId",spellcheck:!0,required:!0,onInput:y("beneficiaryId","input"),onBlur:y("beneficiaryId","blur"),autocomplete:void 0})),d&&u({status:j,label:b.get("confirmPurchase"),onClick:f})))}d.defaultProps={};export{d as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as r,useState as t,useRef as a}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import o from"../../internal/LoadingWrapper/LoadingWrapper.js";import n from"../../internal/FormFields/InputText.js";import s from"../../internal/FormFields/Field/Field.js";import l from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{ancvValidationRules as c}from"../validate.js";function d({showPayButton:d,payButton:u,onChange:m,onSubmit:f,setComponentRef:p}){const{i18n:b}=i(),{handleChangeFor:g,triggerValidation:y,data:h,valid:F,errors:I,isValid:v}=l({schema:["beneficiaryId"],rules:c});r(()=>{m({data:h,errors:I,valid:F,isValid:v})},[m,h,F,I,v]);const[j,C]=t("ready"),k=a({setStatus:C,showValidation:y});return r(()=>{p(k.current)},[p,k.current]),e(o,null,e("div",{className:"adyen-checkout__ancv"},e("p",{className:"adyen-checkout-form-instruction"},b.get("ancv.form.instruction")),e(s,{errorMessage:"string"==typeof I.beneficiaryId?.errorMessage&&b.get(I.beneficiaryId.errorMessage),label:b.get("ancv.input.label"),isValid:F.beneficiaryId,name:"beneficiaryId"},e(n,{value:h.beneficiaryId,name:"beneficiaryId",spellcheck:!0,required:!0,onInput:g("beneficiaryId","input"),onBlur:g("beneficiaryId","blur"),autocomplete:void 0})),d&&u({status:j,label:b.get("confirmPurchase"),onClick:f})))}d.defaultProps={};export{d as default};
2
2
  //# sourceMappingURL=ANCVInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ANCVInput.js","sources":["../../../../../src/components/ANCV/components/ANCVInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport LoadingWrapper from '../../internal/LoadingWrapper';\nimport InputText from '../../internal/FormFields/InputText';\nimport Field from '../../internal/FormFields/Field';\nimport useForm from '../../../utils/useForm';\nimport { ancvValidationRules } from '../validate';\nimport { ANCVDataState } from '../types';\nimport { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\nexport interface ANCVInputProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n onSubmit: () => void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n onChange: (data: {\n data: ANCVDataState;\n errors: { [key: string]: ValidationRuleResult };\n valid: { [key: string]: boolean };\n isValid: boolean;\n }) => void;\n}\n\ntype ANCVInputDataState = ANCVDataState;\n\nfunction ANCVInput({ showPayButton, payButton, onChange, onSubmit, setComponentRef }: Readonly<ANCVInputProps>) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<ANCVInputDataState>({\n schema: ['beneficiaryId'],\n rules: ancvValidationRules\n });\n\n useEffect(() => {\n onChange({ data, errors, valid, isValid });\n }, [onChange, data, valid, errors, isValid]);\n\n const [status, setStatus] = useState<string>('ready');\n\n const ancvRef = useRef<ComponentMethodsRef>({\n setStatus,\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n setComponentRef(ancvRef.current);\n }, [setComponentRef, ancvRef.current]);\n\n return (\n <LoadingWrapper>\n <div className=\"adyen-checkout__ancv\">\n <p className=\"adyen-checkout-form-instruction\">{i18n.get('ancv.form.instruction')}</p>\n <Field\n errorMessage={!!errors.beneficiaryId && i18n.get(errors.beneficiaryId.errorMessage)}\n label={i18n.get('ancv.input.label')}\n isValid={valid.beneficiaryId}\n name={'beneficiaryId'}\n >\n <InputText\n value={data.beneficiaryId}\n name={'beneficiaryId'}\n spellcheck={true}\n required={true}\n onInput={handleChangeFor('beneficiaryId', 'input')}\n onBlur={handleChangeFor('beneficiaryId', 'blur')}\n autocomplete={undefined}\n />\n </Field>\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase'), onClick: onSubmit })}\n </div>\n </LoadingWrapper>\n );\n}\n\nANCVInput.defaultProps = {};\n\nexport default ANCVInput;\n"],"names":["ANCVInput","showPayButton","payButton","onChange","onSubmit","setComponentRef","i18n","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","ancvValidationRules","useEffect","status","setStatus","useState","ancvRef","useRef","showValidation","current","h","LoadingWrapper","div","className","p","get","Field","errorMessage","beneficiaryId","label","name","InputText","value","spellcheck","required","onInput","onBlur","autocomplete","undefined","onClick","defaultProps"],"mappings":"qkBA4BA,SAASA,GAAUC,cAAEA,EAAaC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,EAAQC,gBAAEA,IAC/D,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,iBACTC,MAAOC,IAGXC,EAAU,KACNf,EAAS,CAAEO,OAAME,SAAQD,QAAOE,aACjC,CAACV,EAAUO,EAAMC,EAAOC,EAAQC,IAEnC,MAAOM,EAAQC,GAAaC,EAAiB,SAEvCC,EAAUC,EAA4B,CACxCH,YACAI,eAAgBf,IAOpB,OAJAS,EAAU,KACNb,EAAgBiB,EAAQG,UACzB,CAACpB,EAAiBiB,EAAQG,UAGzBC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,wBACXH,EAACI,IAAAA,CAAED,UAAU,mCAAmCvB,EAAKyB,IAAI,0BACzDL,EAACM,EAAAA,CACGC,eAAgBrB,EAAOsB,eAAiB5B,EAAKyB,IAAInB,EAAOsB,cAAcD,cACtEE,MAAO7B,EAAKyB,IAAI,oBAChBlB,QAASF,EAAMuB,cACfE,KAAM,iBAENV,EAACW,EAAAA,CACGC,MAAO5B,EAAKwB,cACZE,KAAM,gBACNG,YAAY,EACZC,UAAU,EACVC,QAASjC,EAAgB,gBAAiB,SAC1CkC,OAAQlC,EAAgB,gBAAiB,QACzCmC,kBAAcC,KAGrB3C,GAAiBC,EAAU,CAAEiB,SAAQgB,MAAO7B,EAAKyB,IAAI,mBAAoBc,QAASzC,KAInG,CAEAJ,EAAU8C,aAAe,CAAA"}
1
+ {"version":3,"file":"ANCVInput.js","sources":["../../../../../src/components/ANCV/components/ANCVInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport LoadingWrapper from '../../internal/LoadingWrapper';\nimport InputText from '../../internal/FormFields/InputText';\nimport Field from '../../internal/FormFields/Field';\nimport useForm from '../../../utils/useForm';\nimport { ancvValidationRules } from '../validate';\nimport { ANCVDataState } from '../types';\nimport { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\nexport interface ANCVInputProps {\n setComponentRef: (ref: ComponentMethodsRef) => void;\n showPayButton: boolean;\n onSubmit: () => void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n onChange: (data: {\n data: ANCVDataState;\n errors: { [key: string]: ValidationRuleResult };\n valid: { [key: string]: boolean };\n isValid: boolean;\n }) => void;\n}\n\ntype ANCVInputDataState = ANCVDataState;\n\nfunction ANCVInput({ showPayButton, payButton, onChange, onSubmit, setComponentRef }: Readonly<ANCVInputProps>) {\n const { i18n } = useCoreContext();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<ANCVInputDataState>({\n schema: ['beneficiaryId'],\n rules: ancvValidationRules\n });\n\n useEffect(() => {\n onChange({ data, errors, valid, isValid });\n }, [onChange, data, valid, errors, isValid]);\n\n const [status, setStatus] = useState<string>('ready');\n\n const ancvRef = useRef<ComponentMethodsRef>({\n setStatus,\n showValidation: triggerValidation\n });\n\n useEffect(() => {\n setComponentRef(ancvRef.current);\n }, [setComponentRef, ancvRef.current]);\n\n return (\n <LoadingWrapper>\n <div className=\"adyen-checkout__ancv\">\n <p className=\"adyen-checkout-form-instruction\">{i18n.get('ancv.form.instruction')}</p>\n <Field\n errorMessage={typeof errors.beneficiaryId?.errorMessage === 'string' && i18n.get(errors.beneficiaryId.errorMessage)}\n label={i18n.get('ancv.input.label')}\n isValid={valid.beneficiaryId}\n name={'beneficiaryId'}\n >\n <InputText\n value={data.beneficiaryId}\n name={'beneficiaryId'}\n spellcheck={true}\n required={true}\n onInput={handleChangeFor('beneficiaryId', 'input')}\n onBlur={handleChangeFor('beneficiaryId', 'blur')}\n autocomplete={undefined}\n />\n </Field>\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase'), onClick: onSubmit })}\n </div>\n </LoadingWrapper>\n );\n}\n\nANCVInput.defaultProps = {};\n\nexport default ANCVInput;\n"],"names":["ANCVInput","showPayButton","payButton","onChange","onSubmit","setComponentRef","i18n","useCoreContext","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","ancvValidationRules","useEffect","status","setStatus","useState","ancvRef","useRef","showValidation","current","h","LoadingWrapper","div","className","p","get","Field","errorMessage","beneficiaryId","label","name","InputText","value","spellcheck","required","onInput","onBlur","autocomplete","undefined","onClick","defaultProps"],"mappings":"qkBA4BA,SAASA,GAAUC,cAAEA,EAAaC,UAAEA,EAASC,SAAEA,EAAQC,SAAEA,EAAQC,gBAAEA,IAC/D,MAAMC,KAAEA,GAASC,KAEXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,iBACTC,MAAOC,IAGXC,EAAU,KACNf,EAAS,CAAEO,OAAME,SAAQD,QAAOE,aACjC,CAACV,EAAUO,EAAMC,EAAOC,EAAQC,IAEnC,MAAOM,EAAQC,GAAaC,EAAiB,SAEvCC,EAAUC,EAA4B,CACxCH,YACAI,eAAgBf,IAOpB,OAJAS,EAAU,KACNb,EAAgBiB,EAAQG,UACzB,CAACpB,EAAiBiB,EAAQG,UAGzBC,EAACC,OACGD,EAACE,MAAAA,CAAIC,UAAU,wBACXH,EAACI,IAAAA,CAAED,UAAU,mCAAmCvB,EAAKyB,IAAI,0BACzDL,EAACM,EAAAA,CACGC,aAA4D,iBAAvCrB,EAAOsB,eAAeD,cAA6B3B,EAAKyB,IAAInB,EAAOsB,cAAcD,cACtGE,MAAO7B,EAAKyB,IAAI,oBAChBlB,QAASF,EAAMuB,cACfE,KAAM,iBAENV,EAACW,EAAAA,CACGC,MAAO5B,EAAKwB,cACZE,KAAM,gBACNG,YAAY,EACZC,UAAU,EACVC,QAASjC,EAAgB,gBAAiB,SAC1CkC,OAAQlC,EAAgB,gBAAiB,QACzCmC,kBAAcC,KAGrB3C,GAAiBC,EAAU,CAAEiB,SAAQgB,MAAO7B,EAAKyB,IAAI,mBAAoBc,QAASzC,KAInG,CAEAJ,EAAU8C,aAAe,CAAA"}
@@ -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 o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";import a from"./components/AchComponent.js";import n from"./defaultProps.js";function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class p extends e{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:p.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:p.type,ownerName:this.state.data.ownerName,accountHolderType:this.state.data.selectedAccountType?.split(".")[0],bankAccountType:this.state.data.selectedAccountType?.split(".")[1],bankLocationId:this.state.data.routingNumber,bankAccountNumber:this.state.data.accountNumber},...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.bankAccountNumber?`•••• ${this.props.bankAccountNumber.slice(-4)}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("ach.savedBankAccount"):""}componentToRender(){return this.props.storedPaymentMethodId?t(o,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(a,{onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton,hasHolderName:this.props.hasHolderName,placeholders:this.props.placeholders,data:this.props.data,setComponentRef:this.setComponentRef,enableStoreDetails:this.props.enableStoreDetails})}}r(p,"type",s.ach),r(p,"defaultProps",n);export{p as AchElement,p as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";import a from"./components/AchComponent.js";import n from"./defaultProps.js";function r(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}class p extends e{formatData(){return!!this.props.storedPaymentMethodId?{paymentMethod:{type:p.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:p.type,ownerName:this.state.data.ownerName,accountHolderType:this.state.data.selectedAccountType?.split(".")[0],bankAccountType:this.state.data.selectedAccountType?.split(".")[1],bankLocationId:this.state.data.routingNumber,bankAccountNumber:this.state.data.accountNumber},...this.state.storePaymentMethod&&{storePaymentMethod:this.state.storePaymentMethod}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.bankAccountNumber?`•••• ${this.props.bankAccountNumber.slice(-4)}`:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?this.props.i18n.get("ach.savedBankAccount"):""}componentToRender(){return this.props.storedPaymentMethodId?t(o,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef}):t(a,{onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton,hasHolderName:this.props.hasHolderName,placeholders:this.props.placeholders,data:this.props.data,setComponentRef:this.setComponentRef,enableStoreDetails:this.props.enableStoreDetails})}}r(p,"type",s.ach),r(p,"defaultProps",n);export{p as AchElement,p as default};
2
2
  //# sourceMappingURL=Ach.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport AchComponent from './components/AchComponent';\nimport defaultProps from './defaultProps';\n\nimport type { AchConfiguration } from './types';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static readonly type = TxVariants.ach;\n\n protected static readonly defaultProps = defaultProps;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: AchElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: AchElement.type,\n ownerName: this.state.data.ownerName,\n accountHolderType: this.state.data.selectedAccountType?.split('.')[0],\n bankAccountType: this.state.data.selectedAccountType?.split('.')[1],\n bankLocationId: this.state.data.routingNumber,\n bankAccountNumber: this.state.data.accountNumber\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.bankAccountNumber) {\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <AchComponent\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n hasHolderName={this.props.hasHolderName}\n placeholders={this.props.placeholders}\n data={this.props.data}\n setComponentRef={this.setComponentRef}\n enableStoreDetails={this.props.enableStoreDetails}\n />\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","formatData","this","props","storedPaymentMethodId","paymentMethod","type","ownerName","state","data","accountHolderType","selectedAccountType","split","bankAccountType","bankLocationId","routingNumber","bankAccountNumber","accountNumber","storePaymentMethod","isValid","displayName","slice","name","additionalInfo","i18n","get","componentToRender","h","RedirectButton","showPayButton","payButton","onSubmit","submit","ref","componentRef","AchComponent","onChange","setState","hasHolderName","placeholders","setComponentRef","enableStoreDetails","_define_property","TxVariants","ach","defaultProps"],"mappings":"obASO,MAAMA,UAAmBC,EAKZC,UAAAA,GAGZ,QAF2BC,KAAKC,MAAMC,sBAG3B,CACHC,cAAe,CACXC,KAAMP,EAAWO,KACjBF,sBAAuBF,KAAKC,MAAMC,wBAKvC,CACHC,cAAe,CACXC,KAAMP,EAAWO,KACjBC,UAAWL,KAAKM,MAAMC,KAAKF,UAC3BG,kBAAmBR,KAAKM,MAAMC,KAAKE,qBAAqBC,MAAM,KAAK,GACnEC,gBAAiBX,KAAKM,MAAMC,KAAKE,qBAAqBC,MAAM,KAAK,GACjEE,eAAgBZ,KAAKM,MAAMC,KAAKM,cAChCC,kBAAmBd,KAAKM,MAAMC,KAAKQ,kBAEnCf,KAAKM,MAAMU,oBAAsB,CAAEA,mBAAoBhB,KAAKM,MAAMU,oBAE9E,CAEA,WAAoBC,GAChB,QAAIjB,KAAKC,MAAMC,yBAINF,KAAKM,MAAMW,OACxB,CAEA,eAAoBC,GAChB,OAAIlB,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMa,kBACxC,QAAQd,KAAKC,MAAMa,kBAAkBK,OAAM,KAE/CnB,KAAKC,MAAMmB,IACtB,CAEA,kBAAoBC,GAChB,OAAOrB,KAAKC,MAAMC,sBAAwBF,KAAKC,MAAMqB,KAAKC,IAAI,wBAA0B,EAC5F,CAEmBC,iBAAAA,GACf,OAAOxB,KAAKC,MAAMC,sBACduB,EAACC,EAAAA,CACGC,cAAe3B,KAAKC,MAAM0B,cAC1BP,KAAMpB,KAAKkB,YACXU,UAAW5B,KAAK4B,UAChBC,SAAU7B,KAAK8B,OACfC,IAAKA,IACD/B,KAAKgC,aAAeD,KAI5BN,EAACQ,EAAAA,CACGC,SAAUlC,KAAKmC,SACfP,UAAW5B,KAAK4B,UAChBD,cAAe3B,KAAKC,MAAM0B,cAC1BS,cAAepC,KAAKC,MAAMmC,cAC1BC,aAAcrC,KAAKC,MAAMoC,aACzB9B,KAAMP,KAAKC,MAAMM,KACjB+B,gBAAiBtC,KAAKsC,gBACtBC,mBAAoBvC,KAAKC,MAAMsC,oBAG3C,EAvEAC,EADS3C,EACcO,OAAOqC,EAAWC,KAEzCF,EAHS3C,EAGiB8C,eAAeA"}
1
+ {"version":3,"file":"Ach.js","sources":["../../../../src/components/Ach/Ach.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport AchComponent from './components/AchComponent';\nimport defaultProps from './defaultProps';\n\nimport type { AchConfiguration } from './types';\n\nexport class AchElement extends UIElement<AchConfiguration> {\n public static readonly type = TxVariants.ach;\n\n protected static readonly defaultProps = defaultProps;\n\n public override formatData() {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n if (recurringPayment) {\n return {\n paymentMethod: {\n type: AchElement.type,\n storedPaymentMethodId: this.props.storedPaymentMethodId\n }\n };\n }\n\n return {\n paymentMethod: {\n type: AchElement.type,\n ownerName: this.state.data.ownerName,\n accountHolderType: this.state.data.selectedAccountType?.split('.')[0],\n bankAccountType: this.state.data.selectedAccountType?.split('.')[1],\n bankLocationId: this.state.data.routingNumber,\n bankAccountNumber: this.state.data.accountNumber\n },\n ...(this.state.storePaymentMethod && { storePaymentMethod: this.state.storePaymentMethod })\n };\n }\n\n public override get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n public override get displayName(): string {\n if (this.props.storedPaymentMethodId && this.props.bankAccountNumber) {\n return `•••• ${this.props.bankAccountNumber.slice(-4)}`;\n }\n return this.props.name;\n }\n\n public override get additionalInfo(): string {\n return this.props.storedPaymentMethodId ? this.props.i18n.get('ach.savedBankAccount') : '';\n }\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n ) : (\n <AchComponent\n onChange={this.setState}\n payButton={this.payButton}\n showPayButton={this.props.showPayButton}\n hasHolderName={this.props.hasHolderName}\n placeholders={this.props.placeholders}\n data={this.props.data}\n setComponentRef={this.setComponentRef}\n enableStoreDetails={this.props.enableStoreDetails}\n />\n );\n }\n}\n\nexport default AchElement;\n"],"names":["AchElement","UIElement","formatData","this","props","storedPaymentMethodId","paymentMethod","type","ownerName","state","data","accountHolderType","selectedAccountType","split","bankAccountType","bankLocationId","routingNumber","bankAccountNumber","accountNumber","storePaymentMethod","isValid","displayName","slice","name","additionalInfo","i18n","get","componentToRender","h","RedirectButton","showPayButton","payButton","onSubmit","submit","setComponentRef","AchComponent","onChange","setState","hasHolderName","placeholders","enableStoreDetails","_define_property","TxVariants","ach","defaultProps"],"mappings":"obASO,MAAMA,UAAmBC,EAKZC,UAAAA,GAGZ,QAF2BC,KAAKC,MAAMC,sBAG3B,CACHC,cAAe,CACXC,KAAMP,EAAWO,KACjBF,sBAAuBF,KAAKC,MAAMC,wBAKvC,CACHC,cAAe,CACXC,KAAMP,EAAWO,KACjBC,UAAWL,KAAKM,MAAMC,KAAKF,UAC3BG,kBAAmBR,KAAKM,MAAMC,KAAKE,qBAAqBC,MAAM,KAAK,GACnEC,gBAAiBX,KAAKM,MAAMC,KAAKE,qBAAqBC,MAAM,KAAK,GACjEE,eAAgBZ,KAAKM,MAAMC,KAAKM,cAChCC,kBAAmBd,KAAKM,MAAMC,KAAKQ,kBAEnCf,KAAKM,MAAMU,oBAAsB,CAAEA,mBAAoBhB,KAAKM,MAAMU,oBAE9E,CAEA,WAAoBC,GAChB,QAAIjB,KAAKC,MAAMC,yBAINF,KAAKM,MAAMW,OACxB,CAEA,eAAoBC,GAChB,OAAIlB,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMa,kBACxC,QAAQd,KAAKC,MAAMa,kBAAkBK,OAAM,KAE/CnB,KAAKC,MAAMmB,IACtB,CAEA,kBAAoBC,GAChB,OAAOrB,KAAKC,MAAMC,sBAAwBF,KAAKC,MAAMqB,KAAKC,IAAI,wBAA0B,EAC5F,CAEmBC,iBAAAA,GACf,OAAOxB,KAAKC,MAAMC,sBACduB,EAACC,EAAAA,CACGC,cAAe3B,KAAKC,MAAM0B,cAC1BP,KAAMpB,KAAKkB,YACXU,UAAW5B,KAAK4B,UAChBC,SAAU7B,KAAK8B,OACfC,gBAAiB/B,KAAK+B,kBAG1BN,EAACO,EAAAA,CACGC,SAAUjC,KAAKkC,SACfN,UAAW5B,KAAK4B,UAChBD,cAAe3B,KAAKC,MAAM0B,cAC1BQ,cAAenC,KAAKC,MAAMkC,cAC1BC,aAAcpC,KAAKC,MAAMmC,aACzB7B,KAAMP,KAAKC,MAAMM,KACjBwB,gBAAiB/B,KAAK+B,gBACtBM,mBAAoBrC,KAAKC,MAAMoC,oBAG3C,EArEAC,EADSzC,EACcO,OAAOmC,EAAWC,KAEzCF,EAHSzC,EAGiB4C,eAAeA"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useMemo as r,useState as o,useRef as t,useEffect as a,useCallback as n}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import c from"../../internal/FormInstruction/FormInstruction.js";import{AccountTypeSelector as u}from"./AccountTypeSelector.js";import l from"../../internal/FormFields/Fieldset/Fieldset.js";import s from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import m from"../../internal/FormFields/Field/Field.js";import d from"../../internal/FormFields/InputText.js";import{achValidationRules as b,achFormatters as N}from"./validate.js";import p from"../../internal/StoreDetails/StoreDetails.js";import g from"./useSRPanelForACHErrors.js";import f from"../../../core/Context/useImage.js";import{PREFIX as h}from"../../internal/Icon/constants.js";function V({onChange:V,payButton:F,showPayButton:j,placeholders:M,data:y,hasHolderName:v,setComponentRef:w,enableStoreDetails:A}){const S=f(),C=r(()=>["selectedAccountType","routingNumber","accountNumber","accountNumberVerification",...v?["ownerName"]:[]],[v]),{i18n:x}=i(),[I,T]=o("ready"),{handleChangeFor:k,triggerValidation:B,data:q,errors:D,valid:P,isValid:E}=s({schema:C,defaultData:y,rules:b,formatters:N}),[H,R]=o(!1),_="loading"===I,$=t(!1),z=t({setStatus:T,showValidation:()=>{$.current=!0,B()}});a(()=>{w(z.current)},[w,z.current]),g({errors:D,data:q,isValidating:$}),a(()=>{V({data:q,valid:P,errors:D,isValid:E,storePaymentMethod:H})},[V,q,P,D,E,H]);const G=n(e=>{k("accountNumber","input")(e);!!D.accountNumberVerification&&B(["accountNumberVerification"])},[k,B,q.accountNumberVerification,D.accountNumberVerification]);return e("div",{className:"adyen-checkout__ach"},e(c,null),e(l,{classNameModifiers:[],label:x.get("ach.bankAccount.title")},e(u,{placeholder:M?.accountTypeSelector,onSelect:k("selectedAccountType"),selectedAccountType:q.selectedAccountType,disabled:_,errorMessage:!!D.selectedAccountType&&x.get(D.selectedAccountType.errorMessage)}),v&&e(m,{label:x.get("ach.accountHolderNameField.title"),errorMessage:!!D.ownerName&&x.get(D.ownerName.errorMessage),isValid:!!P.ownerName,name:"ownerName"},e(d,{disabled:_,name:"ownerName",placeholder:M?.ownerName,value:q.ownerName,onInput:k("ownerName","input"),onBlur:k("ownerName","blur"),required:!0,autocomplete:"name"})),e(m,{label:x.get("ach.routingNumber.label"),classNameModifiers:["col-60"],errorMessage:!!D.routingNumber&&x.get(D.routingNumber.errorMessage),name:"routingNumber",isValid:!!P.routingNumber},e(d,{disabled:_,name:"routingNumber",placeholder:M?.routingNumber,value:q.routingNumber,onInput:k("routingNumber","input"),onBlur:k("routingNumber","blur"),required:!0,maxlength:9,autocomplete:void 0})),e(m,{label:x.get("ach.bankAccountNumber.label"),classNameModifiers:["col-40"],errorMessage:!!D.accountNumber&&x.get(D.accountNumber.errorMessage),isValid:!!P.accountNumber,name:"accountNumber"},e(d,{disabled:_,name:"accountNumber",placeholder:M?.accountNumber,value:q.accountNumber,onInput:G,onBlur:k("accountNumber","blur"),required:!0,maxlength:17,autocomplete:void 0})),e(m,{label:x.get("ach.bankAccountNumberVerification.label"),errorMessage:!!D.accountNumberVerification&&x.get(D.accountNumberVerification.errorMessage),name:"accountNumberVerification",isValid:!!P.accountNumberVerification},e(d,{disabled:_,name:"accountNumberVerification",placeholder:M?.accountNumberVerification,value:q.accountNumberVerification,onInput:k("accountNumberVerification","input"),onBlur:k("accountNumberVerification","blur"),required:!0,maxlength:17,autocomplete:void 0}))),A&&e(p,{disabled:_,onChange:R}),j&&F({status:I,icon:S({imageFolder:"components/"})(`${h}lock`)}))}export{V as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useMemo as r,useState as o,useRef as t,useEffect as a,useCallback as n}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import c from"../../internal/FormInstruction/FormInstruction.js";import{AccountTypeSelector as u}from"./AccountTypeSelector.js";import s from"../../internal/FormFields/Fieldset/Fieldset.js";import l from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import m from"../../internal/FormFields/Field/Field.js";import d from"../../internal/FormFields/InputText.js";import{achValidationRules as b,achFormatters as g}from"./validate.js";import p from"../../internal/StoreDetails/StoreDetails.js";import N from"./useSRPanelForACHErrors.js";import f from"../../../core/Context/useImage.js";import{PREFIX as h}from"../../internal/Icon/constants.js";function V({onChange:V,payButton:F,showPayButton:M,placeholders:y,data:j,hasHolderName:v,setComponentRef:w,enableStoreDetails:A}){const S=f(),C=r(()=>["selectedAccountType","routingNumber","accountNumber","accountNumberVerification",...v?["ownerName"]:[]],[v]),{i18n:x}=i(),[I,T]=o("ready"),{handleChangeFor:k,triggerValidation:B,data:q,errors:D,valid:P,isValid:E}=l({schema:C,defaultData:j,rules:b,formatters:g}),[H,R]=o(!1),_="loading"===I,$=t(!1),z=t({setStatus:T,showValidation:()=>{$.current=!0,B()}});a(()=>{w(z.current)},[w,z.current]),N({errors:D,data:q,isValidating:$}),a(()=>{V({data:q,valid:P,errors:D,isValid:E,storePaymentMethod:H})},[V,q,P,D,E,H]);const G=n(e=>{k("accountNumber","input")(e);Boolean(D.accountNumberVerification)&&B(["accountNumberVerification"])},[k,B,q.accountNumberVerification,D.accountNumberVerification]);return e("div",{className:"adyen-checkout__ach"},e(c,null),e(s,{classNameModifiers:[],label:x.get("ach.bankAccount.title")},e(u,{placeholder:y?.accountTypeSelector,onSelect:k("selectedAccountType"),selectedAccountType:q.selectedAccountType,disabled:_,errorMessage:"string"==typeof D.selectedAccountType?.errorMessage&&x.get(D.selectedAccountType.errorMessage)}),v&&e(m,{label:x.get("ach.accountHolderNameField.title"),errorMessage:"string"==typeof D.ownerName?.errorMessage&&x.get(D.ownerName.errorMessage),isValid:!!P.ownerName,name:"ownerName"},e(d,{disabled:_,name:"ownerName",placeholder:y?.ownerName,value:q.ownerName,onInput:k("ownerName","input"),onBlur:k("ownerName","blur"),required:!0,autocomplete:"name"})),e(m,{label:x.get("ach.routingNumber.label"),classNameModifiers:["col-60"],errorMessage:"string"==typeof D.routingNumber?.errorMessage&&x.get(D.routingNumber.errorMessage),name:"routingNumber",isValid:!!P.routingNumber},e(d,{disabled:_,name:"routingNumber",placeholder:y?.routingNumber,value:q.routingNumber,onInput:k("routingNumber","input"),onBlur:k("routingNumber","blur"),required:!0,maxlength:9,autocomplete:void 0})),e(m,{label:x.get("ach.bankAccountNumber.label"),classNameModifiers:["col-40"],errorMessage:"string"==typeof D.accountNumber?.errorMessage&&x.get(D.accountNumber.errorMessage),isValid:!!P.accountNumber,name:"accountNumber"},e(d,{disabled:_,name:"accountNumber",placeholder:y?.accountNumber,value:q.accountNumber,onInput:G,onBlur:k("accountNumber","blur"),required:!0,maxlength:17,autocomplete:void 0})),e(m,{label:x.get("ach.bankAccountNumberVerification.label"),errorMessage:"string"==typeof D.accountNumberVerification?.errorMessage&&x.get(D.accountNumberVerification.errorMessage),name:"accountNumberVerification",isValid:!!P.accountNumberVerification},e(d,{disabled:_,name:"accountNumberVerification",placeholder:y?.accountNumberVerification,value:q.accountNumberVerification,onInput:k("accountNumberVerification","input"),onBlur:k("accountNumberVerification","blur"),required:!0,maxlength:17,autocomplete:void 0}))),A&&e(p,{disabled:_,onChange:R}),M&&F({status:I,icon:S({imageFolder:"components/"})(`${h}lock`)}))}export{V as default};
2
2
  //# sourceMappingURL=AchComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AchComponent.js","sources":["../../../../../src/components/Ach/components/AchComponent.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { AccountTypeSelector } from './AccountTypeSelector';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { achValidationRules, achFormatters } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useSRPanelForAchErrors from './useSRPanelForACHErrors';\nimport useImage from '../../../core/Context/useImage';\nimport { PREFIX } from '../../internal/Icon/constants';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { AchPlaceholders } from '../types';\nimport type { AchStateErrors } from './useSRPanelForACHErrors';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\ntype AchForm = {\n selectedAccountType: string;\n ownerName: string;\n routingNumber: string;\n accountNumber: string;\n accountNumberVerification: string;\n};\n\nexport type AchFormPrefillData = Partial<Pick<AchForm, 'ownerName'>>;\n\ninterface AchComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: AchForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: ValidationRuleResult };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n hasHolderName: boolean;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n placeholders?: AchPlaceholders;\n data?: AchFormPrefillData;\n}\n\nfunction AchComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n data: defaultData,\n hasHolderName,\n setComponentRef,\n enableStoreDetails\n}: Readonly<AchComponentProps>) {\n const getImage = useImage();\n const schema = useMemo(\n () => ['selectedAccountType', 'routingNumber', 'accountNumber', 'accountNumberVerification', ...(hasHolderName ? ['ownerName'] : [])],\n [hasHolderName]\n );\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<AchForm>({\n schema,\n defaultData,\n rules: achValidationRules,\n formatters: achFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n const isFormDisabled = status === 'loading';\n\n const isValidating = useRef(false);\n\n const achRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n isValidating.current = true;\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(achRef.current);\n }, [setComponentRef, achRef.current]);\n\n useSRPanelForAchErrors({ errors: errors as AchStateErrors, data, isValidating });\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n /**\n * If the \"Verify account number\" field has errors, we want to trigger\n * its validation when there is any change done to the \"Account number\" field\n */\n const onAccountNumberInput = useCallback(\n (event: h.JSX.TargetedInputEvent<HTMLInputElement>) => {\n handleChangeFor('accountNumber', 'input')(event);\n\n const hasAccountVerificationError = !!errors.accountNumberVerification;\n if (hasAccountVerificationError) {\n triggerValidation(['accountNumberVerification']);\n }\n },\n [handleChangeFor, triggerValidation, data.accountNumberVerification, errors.accountNumberVerification]\n );\n\n return (\n <div className=\"adyen-checkout__ach\">\n <FormInstruction />\n\n <Fieldset classNameModifiers={[]} label={i18n.get('ach.bankAccount.title')}>\n <AccountTypeSelector\n placeholder={placeholders?.accountTypeSelector}\n onSelect={handleChangeFor('selectedAccountType')}\n selectedAccountType={data.selectedAccountType}\n disabled={isFormDisabled}\n errorMessage={!!errors.selectedAccountType && i18n.get(errors.selectedAccountType.errorMessage)}\n />\n\n {hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n errorMessage={!!errors.ownerName && i18n.get(errors.ownerName.errorMessage)}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n autocomplete={'name'}\n />\n </Field>\n )}\n\n <Field\n label={i18n.get('ach.routingNumber.label')}\n classNameModifiers={['col-60']}\n errorMessage={!!errors.routingNumber && i18n.get(errors.routingNumber.errorMessage)}\n name={'routingNumber'}\n isValid={!!valid.routingNumber}\n >\n <InputText\n disabled={isFormDisabled}\n name={'routingNumber'}\n placeholder={placeholders?.routingNumber}\n value={data.routingNumber}\n onInput={handleChangeFor('routingNumber', 'input')}\n onBlur={handleChangeFor('routingNumber', 'blur')}\n required={true}\n maxlength={9}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('ach.bankAccountNumber.label')}\n classNameModifiers={['col-40']}\n errorMessage={!!errors.accountNumber && i18n.get(errors.accountNumber.errorMessage)}\n isValid={!!valid.accountNumber}\n name={'accountNumber'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'accountNumber'}\n placeholder={placeholders?.accountNumber}\n value={data.accountNumber}\n onInput={onAccountNumberInput}\n onBlur={handleChangeFor('accountNumber', 'blur')}\n required={true}\n maxlength={17}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('ach.bankAccountNumberVerification.label')}\n errorMessage={!!errors.accountNumberVerification && i18n.get(errors.accountNumberVerification.errorMessage)}\n name={'accountNumberVerification'}\n isValid={!!valid.accountNumberVerification}\n >\n <InputText\n disabled={isFormDisabled}\n name={'accountNumberVerification'}\n placeholder={placeholders?.accountNumberVerification}\n value={data.accountNumberVerification}\n onInput={handleChangeFor('accountNumberVerification', 'input')}\n onBlur={handleChangeFor('accountNumberVerification', 'blur')}\n required={true}\n maxlength={17}\n autocomplete={undefined}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && <StoreDetails disabled={isFormDisabled} onChange={setStorePaymentMethod} />}\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`) })}\n </div>\n );\n}\n\nexport default AchComponent;\n"],"names":["AchComponent","onChange","payButton","showPayButton","placeholders","data","defaultData","hasHolderName","setComponentRef","enableStoreDetails","getImage","useImage","schema","useMemo","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","errors","valid","isValid","useForm","rules","achValidationRules","formatters","achFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","isValidating","useRef","achRef","showValidation","current","useEffect","useSRPanelForAchErrors","onAccountNumberInput","useCallback","event","accountNumberVerification","h","div","className","FormInstruction","Fieldset","classNameModifiers","label","get","AccountTypeSelector","placeholder","accountTypeSelector","onSelect","selectedAccountType","disabled","errorMessage","Field","ownerName","name","InputText","value","onInput","onBlur","required","autocomplete","routingNumber","maxlength","undefined","accountNumber","StoreDetails","icon","imageFolder","PREFIX"],"mappings":"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"}
1
+ {"version":3,"file":"AchComponent.js","sources":["../../../../../src/components/Ach/components/AchComponent.tsx"],"sourcesContent":["import { h, TargetedInputEvent } from 'preact';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { AccountTypeSelector } from './AccountTypeSelector';\nimport Fieldset from '../../internal/FormFields/Fieldset';\nimport useForm from '../../../utils/useForm';\nimport Field from '../../internal/FormFields/Field';\nimport InputText from '../../internal/FormFields/InputText';\nimport { achValidationRules, achFormatters } from './validate';\nimport StoreDetails from '../../internal/StoreDetails';\nimport useSRPanelForAchErrors from './useSRPanelForACHErrors';\nimport useImage from '../../../core/Context/useImage';\nimport { PREFIX } from '../../internal/Icon/constants';\n\nimport type { PayButtonProps } from '../../internal/PayButton/PayButton';\nimport type { ComponentMethodsRef } from '../../internal/UIElement/types';\nimport type { AchPlaceholders } from '../types';\nimport type { AchStateErrors } from './useSRPanelForACHErrors';\nimport { ValidationRuleResult } from '../../../utils/Validator/ValidationRuleResult';\n\ntype AchForm = {\n selectedAccountType: string;\n ownerName: string;\n routingNumber: string;\n accountNumber: string;\n accountNumberVerification: string;\n};\n\nexport type AchFormPrefillData = Partial<Pick<AchForm, 'ownerName'>>;\n\ninterface AchComponentProps {\n onChange({\n data,\n valid,\n errors,\n isValid,\n storePaymentMethod\n }: {\n data: AchForm;\n valid: { [key: string]: boolean };\n errors: { [key: string]: ValidationRuleResult };\n isValid: boolean;\n storePaymentMethod: boolean;\n }): void;\n payButton: (props: PayButtonProps) => h.JSX.Element;\n setComponentRef: (ref: ComponentMethodsRef) => void;\n hasHolderName: boolean;\n showPayButton: boolean;\n enableStoreDetails: boolean;\n placeholders?: AchPlaceholders;\n data?: AchFormPrefillData;\n}\n\nfunction AchComponent({\n onChange,\n payButton,\n showPayButton,\n placeholders,\n data: defaultData,\n hasHolderName,\n setComponentRef,\n enableStoreDetails\n}: Readonly<AchComponentProps>) {\n const getImage = useImage();\n const schema = useMemo(\n () => ['selectedAccountType', 'routingNumber', 'accountNumber', 'accountNumberVerification', ...(hasHolderName ? ['ownerName'] : [])],\n [hasHolderName]\n );\n const { i18n } = useCoreContext();\n const [status, setStatus] = useState('ready');\n const { handleChangeFor, triggerValidation, data, errors, valid, isValid } = useForm<AchForm>({\n schema,\n defaultData,\n rules: achValidationRules,\n formatters: achFormatters\n });\n const [storePaymentMethod, setStorePaymentMethod] = useState(false);\n const isFormDisabled = status === 'loading';\n\n const isValidating = useRef(false);\n\n const achRef = useRef<ComponentMethodsRef>({\n setStatus: setStatus,\n showValidation: () => {\n isValidating.current = true;\n triggerValidation();\n }\n });\n\n useEffect(() => {\n setComponentRef(achRef.current);\n }, [setComponentRef, achRef.current]);\n\n useSRPanelForAchErrors({ errors: errors as unknown as AchStateErrors, data, isValidating });\n\n useEffect(() => {\n onChange({ data, valid, errors, isValid, storePaymentMethod });\n }, [onChange, data, valid, errors, isValid, storePaymentMethod]);\n\n /**\n * If the \"Verify account number\" field has errors, we want to trigger\n * its validation when there is any change done to the \"Account number\" field\n */\n const onAccountNumberInput = useCallback(\n (event: TargetedInputEvent<HTMLInputElement>) => {\n handleChangeFor('accountNumber', 'input')(event);\n\n const hasAccountVerificationError = Boolean(errors.accountNumberVerification);\n if (hasAccountVerificationError) {\n triggerValidation(['accountNumberVerification']);\n }\n },\n [handleChangeFor, triggerValidation, data.accountNumberVerification, errors.accountNumberVerification]\n );\n\n return (\n <div className=\"adyen-checkout__ach\">\n <FormInstruction />\n\n <Fieldset classNameModifiers={[]} label={i18n.get('ach.bankAccount.title')}>\n <AccountTypeSelector\n placeholder={placeholders?.accountTypeSelector}\n onSelect={handleChangeFor('selectedAccountType')}\n selectedAccountType={data.selectedAccountType}\n disabled={isFormDisabled}\n errorMessage={typeof errors.selectedAccountType?.errorMessage === 'string' && i18n.get(errors.selectedAccountType.errorMessage)}\n />\n\n {hasHolderName && (\n <Field\n label={i18n.get('ach.accountHolderNameField.title')}\n errorMessage={typeof errors.ownerName?.errorMessage === 'string' && i18n.get(errors.ownerName.errorMessage)}\n isValid={!!valid.ownerName}\n name={'ownerName'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'ownerName'}\n placeholder={placeholders?.ownerName}\n value={data.ownerName}\n onInput={handleChangeFor('ownerName', 'input')}\n onBlur={handleChangeFor('ownerName', 'blur')}\n required={true}\n autocomplete={'name'}\n />\n </Field>\n )}\n\n <Field\n label={i18n.get('ach.routingNumber.label')}\n classNameModifiers={['col-60']}\n errorMessage={typeof errors.routingNumber?.errorMessage === 'string' && i18n.get(errors.routingNumber.errorMessage)}\n name={'routingNumber'}\n isValid={!!valid.routingNumber}\n >\n <InputText\n disabled={isFormDisabled}\n name={'routingNumber'}\n placeholder={placeholders?.routingNumber}\n value={data.routingNumber}\n onInput={handleChangeFor('routingNumber', 'input')}\n onBlur={handleChangeFor('routingNumber', 'blur')}\n required={true}\n maxlength={9}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('ach.bankAccountNumber.label')}\n classNameModifiers={['col-40']}\n errorMessage={typeof errors.accountNumber?.errorMessage === 'string' && i18n.get(errors.accountNumber.errorMessage)}\n isValid={!!valid.accountNumber}\n name={'accountNumber'}\n >\n <InputText\n disabled={isFormDisabled}\n name={'accountNumber'}\n placeholder={placeholders?.accountNumber}\n value={data.accountNumber}\n onInput={onAccountNumberInput}\n onBlur={handleChangeFor('accountNumber', 'blur')}\n required={true}\n maxlength={17}\n autocomplete={undefined}\n />\n </Field>\n\n <Field\n label={i18n.get('ach.bankAccountNumberVerification.label')}\n errorMessage={\n typeof errors.accountNumberVerification?.errorMessage === 'string' && i18n.get(errors.accountNumberVerification.errorMessage)\n }\n name={'accountNumberVerification'}\n isValid={!!valid.accountNumberVerification}\n >\n <InputText\n disabled={isFormDisabled}\n name={'accountNumberVerification'}\n placeholder={placeholders?.accountNumberVerification}\n value={data.accountNumberVerification}\n onInput={handleChangeFor('accountNumberVerification', 'input')}\n onBlur={handleChangeFor('accountNumberVerification', 'blur')}\n required={true}\n maxlength={17}\n autocomplete={undefined}\n />\n </Field>\n </Fieldset>\n\n {enableStoreDetails && <StoreDetails disabled={isFormDisabled} onChange={setStorePaymentMethod} />}\n\n {showPayButton && payButton({ status, icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`) })}\n </div>\n );\n}\n\nexport default AchComponent;\n"],"names":["AchComponent","onChange","payButton","showPayButton","placeholders","data","defaultData","hasHolderName","setComponentRef","enableStoreDetails","getImage","useImage","schema","useMemo","i18n","useCoreContext","status","setStatus","useState","handleChangeFor","triggerValidation","errors","valid","isValid","useForm","rules","achValidationRules","formatters","achFormatters","storePaymentMethod","setStorePaymentMethod","isFormDisabled","isValidating","useRef","achRef","showValidation","current","useEffect","useSRPanelForAchErrors","onAccountNumberInput","useCallback","event","Boolean","accountNumberVerification","h","div","className","FormInstruction","Fieldset","classNameModifiers","label","get","AccountTypeSelector","placeholder","accountTypeSelector","onSelect","selectedAccountType","disabled","errorMessage","Field","ownerName","name","InputText","value","onInput","onBlur","required","autocomplete","routingNumber","maxlength","undefined","accountNumber","StoreDetails","icon","imageFolder","PREFIX"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import t from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as r}from"./services.js";import{TxVariants as i}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as a}from"../internal/UIElement/utils.js";import{AnalyticsInfoEvent as c,InfoEventType as l}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function u(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class h extends o{formatProps(e){return{...e,checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment.toUpperCase(),locale:e.locale.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType}}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:{type:h.type,...e&&{checkoutSessionId:e}},browserInfo:this.browserInfo}}beforeRender(e){const o=new c({type:l.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...e?.isExpress&&{isExpress:e.isExpress},...e?.expressPage&&{expressPage:e.expressPage}});this.analytics.sendAnalytics(o)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:n}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const s={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:o.publicKeyId,region:o.region};return r(t,n,s)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:n}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const s={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:o.publicKeyId,region:o.region};r(t,n,s).then((e={})=>{if(!e?.declineFlowUrl)throw e;window.location.assign(e.declineFlowUrl)}).catch(e=>{this.props.onError&&this.props.onError(e,this.componentRef)})}get isValid(){return!0}get browserInfo(){return t()}submit(){const e=this.componentRef?.getSubmitFunction()||null;if(e)return e();this.makePaymentsCall().then(p).then(a).then(this.handleResponse).catch(this.handleFailedResult)}componentToRender(){return e(n,{setComponentRef:this.setComponentRef,showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props})}}u(h,"type",i.amazonpay),u(h,"defaultProps",s);export{h as AmazonPayElement,h as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import t from"../../utils/browserInfo.js";import n from"./components/AmazonPayComponent.js";import s from"./defaultProps.js";import{getCheckoutDetails as r}from"./services.js";import{TxVariants as i}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as a}from"../internal/UIElement/utils.js";import{AnalyticsInfoEvent as c,InfoEventType as l}from"../../core/Analytics/events/AnalyticsInfoEvent.js";function u(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class h extends o{formatProps(e){return{...e,checkoutMode:e.isDropin?"ProcessOrder":e.checkoutMode,environment:e.environment?.toUpperCase(),locale:e.locale?.replace("-","_"),productType:e.isDropin&&!e.addressDetails?"PayOnly":e.productType}}formatData(){const{amazonCheckoutSessionId:e}=this.props;return{paymentMethod:{type:h.type,...e&&{checkoutSessionId:e}},browserInfo:this.browserInfo}}beforeRender(e){const o=new c({type:l.rendered,component:this.type,configData:{...e,showPayButton:this.props.showPayButton},...e?.isExpress&&{isExpress:e.isExpress},...e?.expressPage&&{expressPage:e.expressPage}});this.analytics.sendAnalytics(o)}getShopperDetails(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:n}=this.props;if(!e)return console.error("Could not shopper details. Missing checkoutSessionId.");const s={checkoutSessionId:e,getDeliveryAddress:!0,publicKeyId:o?.publicKeyId||"",region:o.region};return r(t??"",n??"",s)}handleDeclineFlow(){const{amazonCheckoutSessionId:e,configuration:o={},loadingContext:t,clientKey:n}=this.props;if(!e)return console.error("Could handle the decline flow. Missing checkoutSessionId.");const s={checkoutSessionId:e,getDeclineFlowUrl:!0,publicKeyId:o.publicKeyId??"",region:o.region};r(t??"",n??"",s).then((e={})=>{if(!e?.declineFlowUrl)throw e;window.location.assign(e.declineFlowUrl)}).catch(e=>{this.props.onError&&this.props.onError(e,this)})}get isValid(){return!0}get browserInfo(){return t()}submit(){const e=this.componentRef?.getSubmitFunction?.()||null;if(e)return e();this.makePaymentsCall().then(p).then(a).then(this.handleResponse).catch(this.handleFailedResult)}componentToRender(){return e(n,{setComponentRef:this.setComponentRef,showPayButton:this.props.showPayButton,onClick:this.props.onClick,onError:this.props.onError,onSignOut:this.props.onSignOut,...this.props})}constructor(...e){super(...e),u(this,"componentRef",void 0)}}u(h,"type",i.amazonpay),u(h,"defaultProps",s);export{h as AmazonPayElement,h as default};
2
2
  //# sourceMappingURL=AmazonPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nimport './AmazonPay.scss';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static readonly type = TxVariants.amazonpay;\n\n protected static readonly defaultProps = defaultProps;\n\n formatProps(props) {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment.toUpperCase(),\n locale: props.locale.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected override beforeRender(configSetByMerchant?: AmazonPayConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext, clientKey, request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId,\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext, clientKey, request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this.componentRef);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmitFunction = this.componentRef?.getSubmitFunction() || null;\n if (amazonComponentSubmitFunction) {\n return amazonComponentSubmitFunction();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <AmazonPayComponent\n setComponentRef={this.setComponentRef}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","componentRef","isValid","collectBrowserInfo","submit","amazonComponentSubmitFunction","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","componentToRender","h","AmazonPayComponent","setComponentRef","onClick","onSignOut","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"oqBAaO,MAAMA,UAAyBC,EAKlCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,YAAYC,cAC/BC,OAAQL,EAAMK,OAAOC,QAAQ,IAAK,KAClCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMjB,EAAiBiB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEmBC,YAAAA,CAAaC,GAC5B,MAAMC,EAAQ,IAAIC,EAAmB,CACjCL,KAAMM,EAAcC,SACpBC,UAAWV,KAAKE,KAChBS,WAAY,IAAKN,EAAqBO,cAAeZ,KAAKZ,MAAMwB,kBAC5DP,GAAqBQ,WAAa,CAAEA,UAAWR,EAAoBQ,cACnER,GAAqBS,aAAe,CAAEA,YAAaT,EAAoBS,eAG/Ed,KAAKe,UAAUC,cAAcV,EACjC,CAEAW,iBAAAA,GACI,MAAMnB,wBAAEA,EAAuBoB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcpB,KAAKZ,MACxF,IAAKU,EAAyB,OAAOuB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCxB,kBAAmBD,EACnB0B,oBAAoB,EACpBC,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,EAAgBC,EAAWG,EACzD,CAEOK,iBAAAA,GACH,MAAM9B,wBAAEA,EAAuBoB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcpB,KAAKZ,MACxF,IAAKU,EAAyB,OAAOuB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCxB,kBAAmBD,EACnB+B,mBAAmB,EACnBJ,YAAaP,EAAcO,YAC3BC,OAAQR,EAAcQ,QAG1BC,EAAmBR,EAAgBC,EAAWG,GACzCO,KAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCtB,KAAKZ,MAAMiD,SAASrC,KAAKZ,MAAMiD,QAAQf,EAAOtB,KAAKsC,eAEnE,CAEA,WAAIC,GACA,OAAO,CACX,CAEA,eAAIpC,GACA,OAAOqC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAgC1C,KAAKsC,cAAcK,qBAAuB,KAChF,GAAID,EACA,OAAOA,IAEX1C,KAAK4C,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK9B,KAAK+C,gBAAgBX,MAAMpC,KAAKgD,mBACtH,CAEmBC,iBAAAA,GACf,OACIC,EAACC,EAAAA,CACGC,gBAAiBpD,KAAKoD,gBACtBxC,cAAeZ,KAAKZ,MAAMwB,cAC1ByC,QAASrD,KAAKZ,MAAMiE,QACpBhB,QAASrC,KAAKZ,MAAMiD,QACpBiB,UAAWtD,KAAKZ,MAAMkE,aAClBtD,KAAKZ,OAGrB,EAtGAmE,EADStE,EACciB,OAAOsD,EAAWC,WAEzCF,EAHStE,EAGiByE,eAAeA"}
1
+ {"version":3,"file":"AmazonPay.js","sources":["../../../../src/components/AmazonPay/AmazonPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AmazonPayComponent from './components/AmazonPayComponent';\nimport { AmazonPayElementData, AmazonPayConfiguration, CheckoutDetailsRequest, AmazonPayComponentRef } from './types';\nimport defaultProps from './defaultProps';\nimport { getCheckoutDetails } from './services';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { AnalyticsInfoEvent, InfoEventType } from '../../core/Analytics/events/AnalyticsInfoEvent';\n\nimport './AmazonPay.scss';\n\nexport class AmazonPayElement extends UIElement<AmazonPayConfiguration> {\n public static readonly type = TxVariants.amazonpay;\n\n protected static readonly defaultProps = defaultProps;\n\n protected componentRef: AmazonPayComponentRef | undefined;\n\n formatProps(props: AmazonPayConfiguration): AmazonPayConfiguration {\n return {\n ...props,\n checkoutMode: props.isDropin ? 'ProcessOrder' : props.checkoutMode,\n environment: props.environment?.toUpperCase(),\n locale: props.locale?.replace('-', '_'),\n productType: props.isDropin && !props.addressDetails ? 'PayOnly' : props.productType\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): AmazonPayElementData {\n const { amazonCheckoutSessionId: checkoutSessionId } = this.props;\n return {\n paymentMethod: {\n type: AmazonPayElement.type,\n ...(checkoutSessionId && { checkoutSessionId })\n },\n browserInfo: this.browserInfo\n };\n }\n\n protected override beforeRender(configSetByMerchant?: AmazonPayConfiguration) {\n const event = new AnalyticsInfoEvent({\n type: InfoEventType.rendered,\n component: this.type,\n configData: { ...configSetByMerchant, showPayButton: this.props.showPayButton },\n ...(configSetByMerchant?.isExpress && { isExpress: configSetByMerchant.isExpress }),\n ...(configSetByMerchant?.expressPage && { expressPage: configSetByMerchant.expressPage })\n });\n\n this.analytics.sendAnalytics(event);\n }\n\n getShopperDetails() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could not shopper details. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeliveryAddress: true,\n publicKeyId: configuration?.publicKeyId || '',\n region: configuration.region\n };\n\n return getCheckoutDetails(loadingContext ?? '', clientKey ?? '', request);\n }\n\n public handleDeclineFlow() {\n const { amazonCheckoutSessionId, configuration = {}, loadingContext, clientKey } = this.props;\n if (!amazonCheckoutSessionId) return console.error('Could handle the decline flow. Missing checkoutSessionId.');\n\n const request: CheckoutDetailsRequest = {\n checkoutSessionId: amazonCheckoutSessionId,\n getDeclineFlowUrl: true,\n publicKeyId: configuration.publicKeyId ?? '',\n region: configuration.region\n };\n\n getCheckoutDetails(loadingContext ?? '', clientKey ?? '', request)\n .then((response = {}) => {\n if (!response?.declineFlowUrl) throw response;\n window.location.assign(response.declineFlowUrl);\n })\n .catch(error => {\n if (this.props.onError) this.props.onError(error, this);\n });\n }\n\n get isValid() {\n return true;\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n\n public submit(): void {\n const amazonComponentSubmitFunction = this.componentRef?.getSubmitFunction?.() || null;\n if (amazonComponentSubmitFunction) {\n return amazonComponentSubmitFunction();\n }\n this.makePaymentsCall().then(sanitizeResponse).then(verifyPaymentDidNotFail).then(this.handleResponse).catch(this.handleFailedResult);\n }\n\n protected override componentToRender(): h.JSX.Element {\n return (\n <AmazonPayComponent\n setComponentRef={this.setComponentRef}\n showPayButton={this.props.showPayButton}\n onClick={this.props.onClick}\n onError={this.props.onError}\n onSignOut={this.props.onSignOut}\n {...this.props}\n />\n );\n }\n}\n\nexport default AmazonPayElement;\n"],"names":["AmazonPayElement","UIElement","formatProps","props","checkoutMode","isDropin","environment","toUpperCase","locale","replace","productType","addressDetails","formatData","amazonCheckoutSessionId","checkoutSessionId","this","paymentMethod","type","browserInfo","beforeRender","configSetByMerchant","event","AnalyticsInfoEvent","InfoEventType","rendered","component","configData","showPayButton","isExpress","expressPage","analytics","sendAnalytics","getShopperDetails","configuration","loadingContext","clientKey","console","error","request","getDeliveryAddress","publicKeyId","region","getCheckoutDetails","handleDeclineFlow","getDeclineFlowUrl","then","response","declineFlowUrl","window","location","assign","catch","onError","isValid","collectBrowserInfo","submit","amazonComponentSubmitFunction","componentRef","getSubmitFunction","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","handleResponse","handleFailedResult","componentToRender","h","AmazonPayComponent","setComponentRef","onClick","onSignOut","super","args","_define_property","TxVariants","amazonpay","defaultProps"],"mappings":"oqBAaO,MAAMA,UAAyBC,EAOlCC,WAAAA,CAAYC,GACR,MAAO,IACAA,EACHC,aAAcD,EAAME,SAAW,eAAiBF,EAAMC,aACtDE,YAAaH,EAAMG,aAAaC,cAChCC,OAAQL,EAAMK,QAAQC,QAAQ,IAAK,KACnCC,YAAaP,EAAME,WAAaF,EAAMQ,eAAiB,UAAYR,EAAMO,YAEjF,CAKAE,UAAAA,GACI,MAAQC,wBAAyBC,GAAsBC,KAAKZ,MAC5D,MAAO,CACHa,cAAe,CACXC,KAAMjB,EAAiBiB,QACnBH,GAAqB,CAAEA,sBAE/BI,YAAaH,KAAKG,YAE1B,CAEmBC,YAAAA,CAAaC,GAC5B,MAAMC,EAAQ,IAAIC,EAAmB,CACjCL,KAAMM,EAAcC,SACpBC,UAAWV,KAAKE,KAChBS,WAAY,IAAKN,EAAqBO,cAAeZ,KAAKZ,MAAMwB,kBAC5DP,GAAqBQ,WAAa,CAAEA,UAAWR,EAAoBQ,cACnER,GAAqBS,aAAe,CAAEA,YAAaT,EAAoBS,eAG/Ed,KAAKe,UAAUC,cAAcV,EACjC,CAEAW,iBAAAA,GACI,MAAMnB,wBAAEA,EAAuBoB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcpB,KAAKZ,MACxF,IAAKU,EAAyB,OAAOuB,QAAQC,MAAM,yDAEnD,MAAMC,EAAkC,CACpCxB,kBAAmBD,EACnB0B,oBAAoB,EACpBC,YAAaP,GAAeO,aAAe,GAC3CC,OAAQR,EAAcQ,QAG1B,OAAOC,EAAmBR,GAAkB,GAAIC,GAAa,GAAIG,EACrE,CAEOK,iBAAAA,GACH,MAAM9B,wBAAEA,EAAuBoB,cAAEA,EAAgB,CAAA,EAAEC,eAAEA,EAAcC,UAAEA,GAAcpB,KAAKZ,MACxF,IAAKU,EAAyB,OAAOuB,QAAQC,MAAM,6DAEnD,MAAMC,EAAkC,CACpCxB,kBAAmBD,EACnB+B,mBAAmB,EACnBJ,YAAaP,EAAcO,aAAe,GAC1CC,OAAQR,EAAcQ,QAG1BC,EAAmBR,GAAkB,GAAIC,GAAa,GAAIG,GACrDO,KAAK,CAACC,EAAW,MACd,IAAKA,GAAUC,eAAgB,MAAMD,EACrCE,OAAOC,SAASC,OAAOJ,EAASC,kBAEnCI,MAAMd,IACCtB,KAAKZ,MAAMiD,SAASrC,KAAKZ,MAAMiD,QAAQf,EAAOtB,OAE9D,CAEA,WAAIsC,GACA,OAAO,CACX,CAEA,eAAInC,GACA,OAAOoC,GACX,CAEOC,MAAAA,GACH,MAAMC,EAAgCzC,KAAK0C,cAAcC,uBAAyB,KAClF,GAAIF,EACA,OAAOA,IAEXzC,KAAK4C,mBAAmBd,KAAKe,GAAkBf,KAAKgB,GAAyBhB,KAAK9B,KAAK+C,gBAAgBX,MAAMpC,KAAKgD,mBACtH,CAEmBC,iBAAAA,GACf,OACIC,EAACC,EAAAA,CACGC,gBAAiBpD,KAAKoD,gBACtBxC,cAAeZ,KAAKZ,MAAMwB,cAC1ByC,QAASrD,KAAKZ,MAAMiE,QACpBhB,QAASrC,KAAKZ,MAAMiD,QACpBiB,UAAWtD,KAAKZ,MAAMkE,aAClBtD,KAAKZ,OAGrB,mBAzGGmE,SAAAC,GAKHC,EAAAzD,KAAU0C,wBAJVe,EADSxE,EACciB,OAAOwD,EAAWC,WAEzCF,EAHSxE,EAGiB2E,eAAeA"}
@@ -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 a from"./components/BacsInput.js";import o from"./components/BacsResult.js";import n from"../internal/PayButton/PayButton.js";import{TxVariants as s}from"../tx-variants.js";function i(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}class r extends e{formatData(){return{paymentMethod:{type:r.type,...this.state.data?.holderName&&{holderName:this.state.data.holderName},...this.state.data?.bankAccountNumber&&{bankAccountNumber:this.state.data.bankAccountNumber},...this.state.data?.bankLocationId&&{bankLocationId:this.state.data.bankLocationId}},...this.state.data?.shopperEmail&&{shopperEmail:this.state.data.shopperEmail}}}get isValid(){return!!this.state.isValid}componentToRender(){return this.props.url?t(o,{ref:t=>{this.componentRef=t},icon:this.icon,url:this.props.url,paymentMethodType:this.props.paymentMethodType,onActionHandled:this.onActionHandled}):t(a,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,payButton:this.payButton,onSubmit:this.submit})}constructor(...e){super(...e),i(this,"payButton",e=>t(n,{onClick:this.submit,...e,showReview:!!this.props.onReview}))}}i(r,"type",s.directdebit_GB);export{r as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import a from"./components/BacsInput.js";import o from"./components/BacsResult.js";import s from"../internal/PayButton/PayButton.js";import{TxVariants as n}from"../tx-variants.js";function i(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}class r extends e{formatData(){return{paymentMethod:{type:r.type,...this.state.data?.holderName&&{holderName:this.state.data.holderName},...this.state.data?.bankAccountNumber&&{bankAccountNumber:this.state.data.bankAccountNumber},...this.state.data?.bankLocationId&&{bankLocationId:this.state.data.bankLocationId}},...this.state.data?.shopperEmail&&{shopperEmail:this.state.data.shopperEmail}}}get isValid(){return!!this.state.isValid}componentToRender(){return this.props.url?t(o,{icon:this.icon,url:this.props.url,paymentMethodType:this.props.paymentMethodType,onActionHandled:this.onActionHandled}):t(a,{...this.props,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,onSubmit:this.submit})}constructor(...e){super(...e),i(this,"payButton",e=>t(s,{onClick:this.submit,...e,showReview:!!this.props.onReview}))}}i(r,"type",n.directdebit_GB);export{r as default};
2
2
  //# sourceMappingURL=BacsDD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.directdebit_GB;\n\n formatData(): BacsElementData {\n return {\n paymentMethod: {\n type: BacsElement.type,\n ...(this.state.data?.holderName && { holderName: this.state.data.holderName }),\n ...(this.state.data?.bankAccountNumber && { bankAccountNumber: this.state.data.bankAccountNumber }),\n ...(this.state.data?.bankLocationId && { bankLocationId: this.state.data.bankLocationId })\n },\n ...(this.state.data?.shopperEmail && { shopperEmail: this.state.data.shopperEmail })\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n protected override payButton = (props: PayButtonProps) => {\n return <PayButton onClick={this.submit} {...props} showReview={!!this.props.onReview} />;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.url ? (\n <BacsResult\n ref={ref => {\n this.componentRef = ref;\n }}\n icon={this.icon}\n url={this.props.url}\n paymentMethodType={this.props.paymentMethodType}\n onActionHandled={this.onActionHandled}\n // originalAction={this.props.originalAction}\n />\n ) : (\n <BacsInput\n // @ts-ignore ref is internal from the Component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n payButton={this.payButton}\n onSubmit={this.submit}\n />\n );\n }\n}\n\nexport default BacsElement;\n"],"names":["BacsElement","UIElement","formatData","paymentMethod","type","this","state","data","holderName","bankAccountNumber","bankLocationId","shopperEmail","isValid","componentToRender","props","url","h","BacsResult","ref","componentRef","icon","paymentMethodType","onActionHandled","BacsInput","onChange","setState","payButton","onSubmit","submit","super","args","_define_property","PayButton","onClick","showReview","onReview","TxVariants","directdebit_GB"],"mappings":"gbAUA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMJ,EAAYI,QACdC,KAAKC,MAAMC,MAAMC,YAAc,CAAEA,WAAYH,KAAKC,MAAMC,KAAKC,eAC7DH,KAAKC,MAAMC,MAAME,mBAAqB,CAAEA,kBAAmBJ,KAAKC,MAAMC,KAAKE,sBAC3EJ,KAAKC,MAAMC,MAAMG,gBAAkB,CAAEA,eAAgBL,KAAKC,MAAMC,KAAKG,oBAEzEL,KAAKC,MAAMC,MAAMI,cAAgB,CAAEA,aAAcN,KAAKC,MAAMC,KAAKI,cAE7E,CAEA,WAAIC,GACA,QAASP,KAAKC,MAAMM,OACxB,CAMmBC,iBAAAA,GACf,OAAOR,KAAKS,MAAMC,IACdC,EAACC,EAAAA,CACGC,IAAKA,IACDb,KAAKc,aAAeD,GAExBE,KAAMf,KAAKe,KACXL,IAAKV,KAAKS,MAAMC,IAChBM,kBAAmBhB,KAAKS,MAAMO,kBAC9BC,gBAAiBjB,KAAKiB,kBAI1BN,EAACO,EAAAA,CAEGL,IAAKA,IACDb,KAAKc,aAAeD,MAEpBb,KAAKS,MACTU,SAAUnB,KAAKoB,SACfC,UAAWrB,KAAKqB,UAChBC,SAAUtB,KAAKuB,QAG3B,mBA/CJC,SAAAC,GAmBIC,EAAA1B,KAAmBqB,YAAaZ,GACrBE,EAACgB,EAAAA,CAAUC,QAAS5B,KAAKuB,UAAYd,EAAOoB,aAAc7B,KAAKS,MAAMqB,aAnBhFJ,EADE/B,EACqBI,OAAOgC,EAAWC"}
1
+ {"version":3,"file":"BacsDD.js","sources":["../../../../src/components/BacsDD/BacsDD.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BacsInput from './components/BacsInput';\nimport BacsResult from './components/BacsResult';\nimport PayButton from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\nimport { BacsElementData } from './types';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\n\nclass BacsElement extends UIElement<VoucherConfiguration> {\n public static readonly type = TxVariants.directdebit_GB;\n\n formatData(): BacsElementData {\n return {\n paymentMethod: {\n type: BacsElement.type,\n ...(this.state.data?.holderName && { holderName: this.state.data.holderName }),\n ...(this.state.data?.bankAccountNumber && { bankAccountNumber: this.state.data.bankAccountNumber }),\n ...(this.state.data?.bankLocationId && { bankLocationId: this.state.data.bankLocationId })\n },\n ...(this.state.data?.shopperEmail && { shopperEmail: this.state.data.shopperEmail })\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n protected override payButton = (props: PayButtonProps) => {\n return <PayButton onClick={this.submit} {...props} showReview={!!this.props.onReview} />;\n };\n\n protected override componentToRender(): h.JSX.Element {\n return this.props.url ? (\n <BacsResult\n icon={this.icon}\n url={this.props.url}\n paymentMethodType={this.props.paymentMethodType}\n onActionHandled={this.onActionHandled}\n />\n ) : (\n <BacsInput\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n payButton={this.payButton}\n onSubmit={this.submit}\n />\n );\n }\n}\n\nexport default BacsElement;\n"],"names":["BacsElement","UIElement","formatData","paymentMethod","type","this","state","data","holderName","bankAccountNumber","bankLocationId","shopperEmail","isValid","componentToRender","props","url","h","BacsResult","icon","paymentMethodType","onActionHandled","BacsInput","setComponentRef","onChange","setState","payButton","onSubmit","submit","super","args","_define_property","PayButton","onClick","showReview","onReview","TxVariants","directdebit_GB"],"mappings":"gbAUA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAO,CACHC,cAAe,CACXC,KAAMJ,EAAYI,QACdC,KAAKC,MAAMC,MAAMC,YAAc,CAAEA,WAAYH,KAAKC,MAAMC,KAAKC,eAC7DH,KAAKC,MAAMC,MAAME,mBAAqB,CAAEA,kBAAmBJ,KAAKC,MAAMC,KAAKE,sBAC3EJ,KAAKC,MAAMC,MAAMG,gBAAkB,CAAEA,eAAgBL,KAAKC,MAAMC,KAAKG,oBAEzEL,KAAKC,MAAMC,MAAMI,cAAgB,CAAEA,aAAcN,KAAKC,MAAMC,KAAKI,cAE7E,CAEA,WAAIC,GACA,QAASP,KAAKC,MAAMM,OACxB,CAMmBC,iBAAAA,GACf,OAAOR,KAAKS,MAAMC,IACdC,EAACC,EAAAA,CACGC,KAAMb,KAAKa,KACXH,IAAKV,KAAKS,MAAMC,IAChBI,kBAAmBd,KAAKS,MAAMK,kBAC9BC,gBAAiBf,KAAKe,kBAG1BJ,EAACK,EAAAA,IACOhB,KAAKS,MACTQ,gBAAiBjB,KAAKiB,gBACtBC,SAAUlB,KAAKmB,SACfC,UAAWpB,KAAKoB,UAChBC,SAAUrB,KAAKsB,QAG3B,mBAxCJC,SAAAC,GAmBIC,EAAAzB,KAAmBoB,YAAaX,GACrBE,EAACe,EAAAA,CAAUC,QAAS3B,KAAKsB,UAAYb,EAAOmB,aAAc5B,KAAKS,MAAMoB,aAnBhFJ,EADE9B,EACqBI,OAAO+B,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import n from"../../../_virtual/index.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import r from"../../internal/FormFields/Field/Field.js";import c from"../../internal/FormFields/ConsentCheckbox/ConsentCheckbox.js";import{bacsValidationRules as i,bacsFormatters as s}from"./validate.js";import l from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import d from"../../../core/Context/useImage.js";import u from"../../internal/FormFields/InputText.js";import m from"../../internal/FormFields/InputEmail.js";import b from"../../internal/FormInstruction/FormInstruction.js";import{getErrorMessage as p}from"../../../utils/getErrorMessage.js";import{PREFIX as h}from"../../internal/Icon/constants.js";import{useAmount as k}from"../../../core/Context/AmountProvider.js";const g="enter-data",f="confirm-data";function N(N){const{i18n:_}=t(),C=d(),{amount:v}=k(),{handleChangeFor:y,triggerValidation:I,data:x,valid:F,errors:E,isValid:j}=l({schema:["holderName","bankAccountNumber","bankLocationId","shopperEmail","amountConsentCheckbox","accountConsentCheckbox"],defaultData:N.data,formatters:s,rules:i}),[A,L]=a(g);this.setStatus=L,this.showValidation=I;return o(()=>{N.onChange({data:x,valid:F,errors:E,isValid:j})},[x,F,E,j]),e("div",{className:n({"adyen-checkout__bacs":!0,"adyen-checkout__bacs--confirm":A===f||"loading"===A})},e(b,null),A==f&&e("div",{className:n({"adyen-checkout__bacs--edit":!0,"adyen-checkout__bacs--edit-dropin":N.isDropin})},e(u,{name:"bacsEdit",className:"adyen-checkout__bacs--edit-button",value:_.get("edit"),"aria-label":_.get("edit"),readonly:!0,onClick:()=>this.setStatus(g),autocomplete:void 0})),e(r,{className:n({"adyen-checkout__bacs--holder-name":!0,"adyen-checkout__field--inactive":A===f||"loading"===A}),label:_.get("bacs.accountHolderName"),errorMessage:!!E.holderName&&_.get("bacs.accountHolderName.invalid"),isValid:F.holderName,name:"accountHolderName",i18n:_},e(u,{name:"bacs.accountHolderName",className:"adyen-checkout__bacs-input--holder-name",placeholder:N.placeholders.holderName,value:x.holderName,"aria-invalid":!F.holderName,"aria-label":_.get("bacs.accountHolderName"),"aria-required":"true",required:!0,readonly:A===f||"loading"===A,autocorrect:"off",autocomplete:"name",onBlur:y("holderName","blur"),onInput:y("holderName","input")})),e("div",{className:"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper"},e(r,{errorMessage:!!E.bankAccountNumber&&_.get("bacs.accountNumber.invalid"),label:_.get("bacs.accountNumber"),className:n({"adyen-checkout__bacs--bank-account-number":!0,"adyen-checkout__field--inactive":A===f||"loading"===A}),classNameModifiers:["col-70"],isValid:F.bankAccountNumber,name:"bankAccountNumber",i18n:_},e(u,{value:x.bankAccountNumber,className:"adyen-checkout__bacs-input--bank-account-number",placeholder:N.placeholders.bankAccountNumber,"aria-invalid":!F.bankAccountNumber,"aria-label":_.get("bacs.accountNumber"),"aria-required":"true",required:!0,readonly:A===f||"loading"===A,autocorrect:"off",autocomplete:void 0,onBlur:y("bankAccountNumber","blur"),onInput:y("bankAccountNumber","input")})),e(r,{errorMessage:!!E.bankLocationId&&_.get("bacs.bankLocationId.invalid"),label:_.get("bacs.bankLocationId"),className:n({"adyen-checkout__bacs--bank-location-id":!0,"adyen-checkout__field--inactive":A===f||"loading"===A}),classNameModifiers:["col-30"],isValid:F.bankLocationId,name:"bankLocationId",i18n:_},e(u,{value:x.bankLocationId,className:"adyen-checkout__bacs-input--bank-location-id",placeholder:N.placeholders.bankLocationId,"aria-invalid":!F.bankLocationId,"aria-label":_.get("bacs.bankLocationId"),"aria-required":"true",required:!0,readonly:A===f||"loading"===A,autocorrect:"off",autocomplete:void 0,onBlur:y("bankLocationId","blur"),onInput:y("bankLocationId","input")}))),e(r,{errorMessage:p(_,E.shopperEmail,_.get("shopperEmail")),label:_.get("shopperEmail"),className:n({"adyen-checkout__bacs--shopper-email":!0,"adyen-checkout__field--inactive":A===f||"loading"===A}),isValid:F.shopperEmail,name:"emailAddress",i18n:_},e(m,{value:x.shopperEmail,name:"shopperEmail",className:"adyen-checkout__bacs-input--shopper-email",classNameModifiers:["large"],placeholder:N.placeholders.shopperEmail,spellcheck:!1,"aria-invalid":!F.shopperEmail,"aria-label":_.get("shopperEmail"),"aria-required":"true",required:!0,readonly:A===f||"loading"===A,autocorrect:"off",autocomplete:"email",onInput:y("shopperEmail","input"),onBlur:y("shopperEmail","blur")})),A===g&&e(c,{classNameModifiers:["amountConsentCheckbox"],errorMessage:!!E.amountConsentCheckbox,label:_.get("bacs.consent.amount"),onChange:y("amountConsentCheckbox"),checked:!!x.amountConsentCheckbox,i18n:_}),A===g&&e(c,{classNameModifiers:["accountConsentCheckbox"],errorMessage:!!E.accountConsentCheckbox,label:_.get("bacs.consent.account"),onChange:y("accountConsentCheckbox"),checked:!!x.accountConsentCheckbox,i18n:_}),N.showPayButton&&N.payButton({status:A,label:A===g?_.get("continue"):`${_.get("bacs.confirm")} ${v?.value&&v?.currency?_.amount(v.value,v.currency):""}`,icon:C({imageFolder:"components/"})(`${h}lock`),onClick:()=>j?A===g?this.setStatus(f):A===f?N.onSubmit():void 0:this.showValidation()}))}N.defaultProps={data:{},placeholders:{}};export{N as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useState as a,useRef as o,useEffect as n}from"../../../external/preact/hooks/dist/hooks.js";import t from"../../../_virtual/index.js";import{useCoreContext as r}from"../../../core/Context/CoreProvider.js";import c from"../../internal/FormFields/Field/Field.js";import i from"../../internal/FormFields/ConsentCheckbox/ConsentCheckbox.js";import{bacsValidationRules as l,bacsFormatters as s}from"./validate.js";import u from"../../../utils/useForm/useForm.js";import"../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import d from"../../../core/Context/useImage.js";import m from"../../internal/FormFields/InputText.js";import b from"../../internal/FormFields/InputEmail.js";import p from"../../internal/FormInstruction/FormInstruction.js";import{getErrorMessage as h}from"../../../utils/getErrorMessage.js";import{PREFIX as k}from"../../internal/Icon/constants.js";import{useAmount as f}from"../../../core/Context/AmountProvider.js";const g="enter-data",N="confirm-data";function _(_){const{i18n:C}=r(),v=d(),{amount:y}=f(),{handleChangeFor:I,triggerValidation:x,data:F,valid:E,errors:j,isValid:A}=u({schema:["holderName","bankAccountNumber","bankLocationId","shopperEmail","amountConsentCheckbox","accountConsentCheckbox"],defaultData:_.data,formatters:s,rules:l}),[L,M]=a(g),B=o({setStatus:M,showValidation:()=>{x()}});n(()=>{_.setComponentRef(B.current)},[_.setComponentRef]);return n(()=>{_.onChange({data:F,valid:E,errors:j,isValid:A})},[F,E,j,A]),e("div",{className:t({"adyen-checkout__bacs":!0,"adyen-checkout__bacs--confirm":L===N||"loading"===L})},e(p,null),L==N&&e("div",{className:t({"adyen-checkout__bacs--edit":!0,"adyen-checkout__bacs--edit-dropin":_.isDropin})},e(m,{name:"bacsEdit",className:"adyen-checkout__bacs--edit-button",value:C.get("edit"),"aria-label":C.get("edit"),readonly:!0,onClick:()=>B.current?.setStatus?.(g),autocomplete:void 0})),e(c,{className:t({"adyen-checkout__bacs--holder-name":!0,"adyen-checkout__field--inactive":L===N||"loading"===L}),label:C.get("bacs.accountHolderName"),errorMessage:!!j.holderName&&C.get("bacs.accountHolderName.invalid"),isValid:E.holderName,name:"accountHolderName",i18n:C},e(m,{name:"bacs.accountHolderName",className:"adyen-checkout__bacs-input--holder-name",placeholder:_.placeholders?.holderName,value:F.holderName,"aria-invalid":!E.holderName,"aria-label":C.get("bacs.accountHolderName"),"aria-required":"true",required:!0,readonly:L===N||"loading"===L,autocorrect:"off",autocomplete:"name",onBlur:I("holderName","blur"),onInput:I("holderName","input")})),e("div",{className:"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper"},e(c,{errorMessage:Boolean(j.bankAccountNumber)&&C.get("bacs.accountNumber.invalid"),label:C.get("bacs.accountNumber"),className:t({"adyen-checkout__bacs--bank-account-number":!0,"adyen-checkout__field--inactive":L===N||"loading"===L}),classNameModifiers:["col-70"],isValid:E.bankAccountNumber,name:"bankAccountNumber",i18n:C},e(m,{value:F.bankAccountNumber,className:"adyen-checkout__bacs-input--bank-account-number",placeholder:_.placeholders?.bankAccountNumber,"aria-invalid":!E.bankAccountNumber,"aria-label":C.get("bacs.accountNumber"),"aria-required":"true",required:!0,readonly:L===N||"loading"===L,autocorrect:"off",autocomplete:void 0,onBlur:I("bankAccountNumber","blur"),onInput:I("bankAccountNumber","input")})),e(c,{errorMessage:Boolean(j.bankLocationId)&&C.get("bacs.bankLocationId.invalid"),label:C.get("bacs.bankLocationId"),className:t({"adyen-checkout__bacs--bank-location-id":!0,"adyen-checkout__field--inactive":L===N||"loading"===L}),classNameModifiers:["col-30"],isValid:E.bankLocationId,name:"bankLocationId",i18n:C},e(m,{value:F.bankLocationId,className:"adyen-checkout__bacs-input--bank-location-id",placeholder:_.placeholders?.bankLocationId,"aria-invalid":!E.bankLocationId,"aria-label":C.get("bacs.bankLocationId"),"aria-required":"true",required:!0,readonly:L===N||"loading"===L,autocorrect:"off",autocomplete:void 0,onBlur:I("bankLocationId","blur"),onInput:I("bankLocationId","input")}))),e(c,{errorMessage:h(C,j.shopperEmail??void 0,C.get("shopperEmail")),label:C.get("shopperEmail"),className:t({"adyen-checkout__bacs--shopper-email":!0,"adyen-checkout__field--inactive":L===N||"loading"===L}),isValid:E.shopperEmail,name:"emailAddress",i18n:C},e(b,{value:F.shopperEmail,name:"shopperEmail",className:"adyen-checkout__bacs-input--shopper-email",classNameModifiers:["large"],placeholder:_.placeholders?.shopperEmail,spellcheck:!1,"aria-invalid":!E.shopperEmail,"aria-label":C.get("shopperEmail"),"aria-required":"true",required:!0,readonly:L===N||"loading"===L,autocorrect:"off",autocomplete:"email",onInput:I("shopperEmail","input"),onBlur:I("shopperEmail","blur")})),L===g&&e(i,{classNameModifiers:["amountConsentCheckbox"],errorMessage:j.amountConsentCheckbox,label:C.get("bacs.consent.amount"),onChange:I("amountConsentCheckbox"),checked:Boolean(F.amountConsentCheckbox),i18n:C}),L===g&&e(i,{classNameModifiers:["accountConsentCheckbox"],errorMessage:j.accountConsentCheckbox,label:C.get("bacs.consent.account"),onChange:I("accountConsentCheckbox"),checked:Boolean(F.accountConsentCheckbox),i18n:C}),_.showPayButton&&_.payButton?.({status:L,label:L===g?C.get("continue"):`${C.get("bacs.confirm")} ${y?.value&&y?.currency?C.amount(y.value,y.currency):""}`,icon:v({imageFolder:"components/"})(`${k}lock`),onClick:()=>A?L===g?B.current?.setStatus?.(N):L===N?_.onSubmit():void 0:B.current?.showValidation?.()}))}_.defaultProps={data:{},placeholders:{}};export{_ as default};
2
2
  //# sourceMappingURL=BacsInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport { useAmount } from '../../../core/Context/AmountProvider';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: Readonly<BacsInputProps>) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { amount } = useAmount();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n const handlePayButton = () => {\n if (!isValid) return this.showValidation();\n\n if (status === ENTER_STATE) {\n return this.setStatus(CONFIRM_STATE);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return this.setStatus(ENTER_STATE);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n <FormInstruction />\n\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n autocomplete={undefined}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={'name'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={!!errors.bankAccountNumber && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={undefined}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={!!errors.bankLocationId && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={undefined}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={'email'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={!!errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={!!data.amountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={!!errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={!!data.accountConsentCheckbox}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!amount?.value && !!amount?.currency ? i18n.amount(amount.value, amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","amount","useAmount","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","this","showValidation","useEffect","onChange","h","div","className","classNames","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","autocomplete","undefined","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"BacsInput.js","sources":["../../../../../src/components/BacsDD/components/BacsInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport classNames from 'classnames';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport ConsentCheckbox from '../../internal/FormFields/ConsentCheckbox';\nimport { bacsValidationRules, bacsFormatters } from './validate';\nimport { BacsDataState, BacsInputProps } from './types';\nimport './BacsInput.scss';\n\nimport useForm from '../../../utils/useForm';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport InputEmail from '../../internal/FormFields/InputEmail';\nimport FormInstruction from '../../internal/FormInstruction';\nimport { getErrorMessage } from '../../../utils/getErrorMessage';\nimport { PREFIX } from '../../internal/Icon/constants';\nimport { useAmount } from '../../../core/Context/AmountProvider';\nimport { ComponentMethodsRef, UIElementStatus } from '../../types';\n\nconst ENTER_STATE = 'enter-data';\nconst CONFIRM_STATE = 'confirm-data';\n\nfunction BacsInput(props: Readonly<BacsInputProps>) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { amount } = useAmount();\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BacsDataState>({\n schema: ['holderName', 'bankAccountNumber', 'bankLocationId', 'shopperEmail', 'amountConsentCheckbox', 'accountConsentCheckbox'],\n defaultData: props.data,\n formatters: bacsFormatters,\n rules: bacsValidationRules\n });\n\n const [status, setStatus] = useState(ENTER_STATE);\n\n const bacsInputRef = useRef<ComponentMethodsRef>({\n setStatus,\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.setComponentRef(bacsInputRef.current);\n }, [props.setComponentRef]);\n\n const handlePayButton = () => {\n if (!isValid) return bacsInputRef.current?.showValidation?.();\n\n if (status === ENTER_STATE) {\n return bacsInputRef.current?.setStatus?.(CONFIRM_STATE as UIElementStatus);\n } else if (status === CONFIRM_STATE) {\n return props.onSubmit();\n }\n };\n\n const handleEdit = () => {\n return bacsInputRef.current?.setStatus?.(ENTER_STATE as UIElementStatus);\n };\n\n useEffect(() => {\n props.onChange({ data, valid, errors, isValid });\n }, [data, valid, errors, isValid]);\n\n return (\n <div\n className={classNames({\n 'adyen-checkout__bacs': true,\n 'adyen-checkout__bacs--confirm': status === CONFIRM_STATE || status === 'loading'\n })}\n >\n <FormInstruction />\n\n {status == CONFIRM_STATE && (\n <div\n className={classNames({\n 'adyen-checkout__bacs--edit': true,\n 'adyen-checkout__bacs--edit-dropin': props.isDropin\n })}\n >\n <InputText\n name={'bacsEdit'}\n className={'adyen-checkout__bacs--edit-button'}\n value={i18n.get('edit')}\n aria-label={i18n.get('edit')}\n readonly={true}\n onClick={handleEdit}\n autocomplete={undefined}\n />\n </div>\n )}\n\n <Field\n className={classNames({\n 'adyen-checkout__bacs--holder-name': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n label={i18n.get('bacs.accountHolderName')}\n errorMessage={errors.holderName ? i18n.get('bacs.accountHolderName.invalid') : false}\n isValid={valid.holderName}\n name={'accountHolderName'}\n i18n={i18n}\n >\n <InputText\n name={'bacs.accountHolderName'}\n className={'adyen-checkout__bacs-input--holder-name'}\n placeholder={props.placeholders?.holderName}\n value={data.holderName}\n aria-invalid={!valid.holderName}\n aria-label={i18n.get('bacs.accountHolderName')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={'name'}\n onBlur={handleChangeFor('holderName', 'blur')}\n onInput={handleChangeFor('holderName', 'input')}\n />\n </Field>\n\n <div className=\"adyen-checkout__bacs__num-id adyen-checkout__field-wrapper\">\n <Field\n errorMessage={Boolean(errors.bankAccountNumber) && i18n.get('bacs.accountNumber.invalid')}\n label={i18n.get('bacs.accountNumber')}\n className={classNames({\n 'adyen-checkout__bacs--bank-account-number': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-70']}\n isValid={valid.bankAccountNumber}\n name={'bankAccountNumber'}\n i18n={i18n}\n >\n <InputText\n value={data.bankAccountNumber}\n className={'adyen-checkout__bacs-input--bank-account-number'}\n placeholder={props.placeholders?.bankAccountNumber}\n aria-invalid={!valid.bankAccountNumber}\n aria-label={i18n.get('bacs.accountNumber')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={undefined}\n onBlur={handleChangeFor('bankAccountNumber', 'blur')}\n onInput={handleChangeFor('bankAccountNumber', 'input')}\n />\n </Field>\n\n <Field\n errorMessage={Boolean(errors.bankLocationId) && i18n.get('bacs.bankLocationId.invalid')}\n label={i18n.get('bacs.bankLocationId')}\n className={classNames({\n 'adyen-checkout__bacs--bank-location-id': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n classNameModifiers={['col-30']}\n isValid={valid.bankLocationId}\n name={'bankLocationId'}\n i18n={i18n}\n >\n <InputText\n value={data.bankLocationId}\n className={'adyen-checkout__bacs-input--bank-location-id'}\n placeholder={props.placeholders?.bankLocationId}\n aria-invalid={!valid.bankLocationId}\n aria-label={i18n.get('bacs.bankLocationId')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={undefined}\n onBlur={handleChangeFor('bankLocationId', 'blur')}\n onInput={handleChangeFor('bankLocationId', 'input')}\n />\n </Field>\n </div>\n\n <Field\n errorMessage={getErrorMessage(i18n, errors.shopperEmail ?? undefined, i18n.get('shopperEmail'))}\n label={i18n.get('shopperEmail')}\n className={classNames({\n 'adyen-checkout__bacs--shopper-email': true,\n 'adyen-checkout__field--inactive': status === CONFIRM_STATE || status === 'loading'\n })}\n isValid={valid.shopperEmail}\n name={'emailAddress'}\n i18n={i18n}\n >\n <InputEmail\n value={data.shopperEmail}\n name={'shopperEmail'}\n className={'adyen-checkout__bacs-input--shopper-email'}\n classNameModifiers={['large']}\n placeholder={props.placeholders?.shopperEmail}\n spellcheck={false}\n aria-invalid={!valid.shopperEmail}\n aria-label={i18n.get('shopperEmail')}\n aria-required={'true'}\n required={true}\n readonly={status === CONFIRM_STATE || status === 'loading'}\n autocorrect={'off'}\n autocomplete={'email'}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n </Field>\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['amountConsentCheckbox']}\n errorMessage={errors.amountConsentCheckbox}\n label={i18n.get('bacs.consent.amount')}\n onChange={handleChangeFor('amountConsentCheckbox')}\n checked={Boolean(data.amountConsentCheckbox)}\n i18n={i18n}\n />\n )}\n\n {status === ENTER_STATE && (\n <ConsentCheckbox\n classNameModifiers={['accountConsentCheckbox']}\n errorMessage={errors.accountConsentCheckbox}\n label={i18n.get('bacs.consent.account')}\n onChange={handleChangeFor('accountConsentCheckbox')}\n checked={Boolean(data.accountConsentCheckbox)}\n i18n={i18n}\n />\n )}\n\n {props.showPayButton &&\n props.payButton?.({\n status,\n label:\n status === ENTER_STATE\n ? i18n.get('continue')\n : `${i18n.get('bacs.confirm')} ${\n !!amount?.value && !!amount?.currency ? i18n.amount(amount.value, amount.currency) : ''\n }`,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`),\n onClick: handlePayButton\n })}\n </div>\n );\n}\n\nBacsInput.defaultProps = {\n data: {},\n placeholders: {}\n};\n\nexport default BacsInput;\n"],"names":["ENTER_STATE","CONFIRM_STATE","BacsInput","props","i18n","useCoreContext","getImage","useImage","amount","useAmount","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","formatters","bacsFormatters","rules","bacsValidationRules","status","setStatus","useState","bacsInputRef","useRef","showValidation","useEffect","setComponentRef","current","onChange","h","div","className","classNames","FormInstruction","isDropin","InputText","name","value","get","aria-label","readonly","onClick","autocomplete","undefined","Field","label","errorMessage","holderName","placeholder","placeholders","aria-invalid","aria-required","required","autocorrect","onBlur","onInput","Boolean","bankAccountNumber","classNameModifiers","bankLocationId","getErrorMessage","shopperEmail","InputEmail","spellcheck","ConsentCheckbox","amountConsentCheckbox","checked","accountConsentCheckbox","showPayButton","payButton","currency","icon","imageFolder","PREFIX","onSubmit","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as n,Fragment as r}from"../../external/preact/dist/preact.js";import{UIElement as a}from"../internal/UIElement/UIElement.js";import e from"../internal/RedirectButton/RedirectButton.js";import s from"./components/BankTransferResult/BankTransferResult.js";import t from"./components/BankTransferInput/BankTransferInput.js";import{TxVariants as o}from"../tx-variants.js";function i(n,r,a){return r in n?Object.defineProperty(n,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[r]=a,n}class f extends a{get isValid(){return!!this.state.isValid}formatData(){const{shopperEmail:n}=this.state.data,r=this.type!==o.bankTransfer_IBAN?{subtype:"embedded"}:{};return{paymentMethod:{type:this.type,...r},...n&&{shopperEmail:n}}}componentToRender(){return this.props.reference?n(s,{...this.props,onActionHandled:this.onActionHandled}):n(r,null,this.props.showEmailAddress&&n(t,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState}),n(e,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton}))}constructor(...n){super(...n),i(this,"state",{isValid:!this.props.showEmailAddress,data:{}})}}i(f,"type",o.bankTransfer_IBAN),i(f,"txVariants",[o.bankTransfer_IBAN,o.bankTransfer_BE,o.bankTransfer_NL,o.bankTransfer_PL,o.bankTransfer_FR,o.bankTransfer_CH,o.bankTransfer_IE,o.bankTransfer_GB,o.bankTransfer_DE,o.bankTransfer_AE,o.bankTransfer_AT,o.bankTransfer_AU,o.bankTransfer_BG,o.bankTransfer_CA,o.bankTransfer_EE,o.bankTransfer_ES,o.bankTransfer_FI,o.bankTransfer_HK,o.bankTransfer_HU,o.bankTransfer_IT,o.bankTransfer_JP,o.bankTransfer_LU,o.bankTransfer_NZ,o.bankTransfer_PT,o.bankTransfer_SG,o.bankTransfer_SK,o.bankTransfer_US]),i(f,"defaultProps",{showEmailAddress:!0,showContextualElement:!0,data:{shopperEmail:""}});export{f as BankTransferElement,f as default};
1
+ import{createElement as n,Fragment as e}from"../../external/preact/dist/preact.js";import{UIElement as r}from"../internal/UIElement/UIElement.js";import a from"../internal/RedirectButton/RedirectButton.js";import t from"./components/BankTransferResult/BankTransferResult.js";import s from"./components/BankTransferInput/BankTransferInput.js";import{TxVariants as o}from"../tx-variants.js";function i(n,e,r){return e in n?Object.defineProperty(n,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[e]=r,n}class f extends r{get isValid(){return!!this.state.isValid}formatData(){const{shopperEmail:n}=this.state.data,e=this.type!==o.bankTransfer_IBAN?{subtype:"embedded"}:{};return{paymentMethod:{type:this.type,...e},...n&&{shopperEmail:n}}}componentToRender(){return this.props.reference?n(t,{...this.props,onActionHandled:this.onActionHandled}):n(e,null,this.props.showEmailAddress&&n(s,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState}),n(a,{...this.props,setComponentRef:this.setComponentRef,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton}))}constructor(...n){super(...n),i(this,"state",{isValid:!this.props.showEmailAddress,data:{}})}}i(f,"type",o.bankTransfer_IBAN),i(f,"txVariants",[o.bankTransfer_IBAN,o.bankTransfer_BE,o.bankTransfer_NL,o.bankTransfer_PL,o.bankTransfer_FR,o.bankTransfer_CH,o.bankTransfer_IE,o.bankTransfer_GB,o.bankTransfer_DE,o.bankTransfer_AE,o.bankTransfer_AT,o.bankTransfer_AU,o.bankTransfer_BG,o.bankTransfer_CA,o.bankTransfer_EE,o.bankTransfer_ES,o.bankTransfer_FI,o.bankTransfer_HK,o.bankTransfer_HU,o.bankTransfer_IT,o.bankTransfer_JP,o.bankTransfer_LU,o.bankTransfer_NZ,o.bankTransfer_PT,o.bankTransfer_SG,o.bankTransfer_SK,o.bankTransfer_US]),i(f,"defaultProps",{showEmailAddress:!0,showContextualElement:!0,data:{shopperEmail:""}});export{f as BankTransferElement,f as default};
2
2
  //# sourceMappingURL=BankTransfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static readonly type = TxVariants.bankTransfer_IBAN;\n public static readonly txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static readonly defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n return (\n <Fragment>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </Fragment>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","paymentMethod","componentToRender","props","reference","h","BankTransferResult","onActionHandled","Fragment","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"6fAQO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,MAAO,CACHI,cAAe,CACXH,KAAMN,KAAKM,QACRD,MAEHF,GAAgB,CAAEA,gBAE9B,CAEmBO,iBAAAA,GACf,OAAIV,KAAKW,MAAMC,UACJC,EAACC,EAAAA,IAAuBd,KAAKW,MAAOI,gBAAiBf,KAAKe,kBAIjEF,EAACG,OACIhB,KAAKW,MAAMM,kBAAoBJ,EAACK,EAAAA,CAAkBC,gBAAiBnB,KAAKmB,mBAAqBnB,KAAKW,MAAOS,SAAUpB,KAAKqB,WACzHR,EAACS,EAAAA,IACOtB,KAAKW,MACTY,cAAevB,KAAKW,MAAMY,cAC1BC,KAAMxB,KAAKyB,YACXC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,YAIhC,mBAjFGC,SAAAC,GAuCHC,EAAA/B,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKW,MAAMM,iBACrBb,KAAM,CAAA,KAxCV2B,EADSlC,EACcS,OAAOC,EAAWC,mBACzCuB,EAFSlC,EAEcmC,aAAa,CAChCzB,EAAWC,kBACXD,EAAW0B,gBACX1B,EAAW2B,gBACX3B,EAAW4B,gBACX5B,EAAW6B,gBACX7B,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,kBAGf3B,EAhCSlC,EAgCc8D,eAAe,CAClC1C,kBAAkB,EAClB2C,uBAAuB,EACvBxD,KAAM,CAAED,aAAc"}
1
+ {"version":3,"file":"BankTransfer.js","sources":["../../../../src/components/BankTransfer/BankTransfer.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport RedirectButton from '../internal/RedirectButton';\nimport { BankTransferConfiguration, BankTransferState } from './types';\nimport BankTransferResult from './components/BankTransferResult';\nimport BankTransferInput from './components/BankTransferInput';\nimport { TxVariants } from '../tx-variants';\n\nexport class BankTransferElement extends UIElement<BankTransferConfiguration> {\n public static readonly type = TxVariants.bankTransfer_IBAN;\n public static readonly txVariants = [\n TxVariants.bankTransfer_IBAN,\n TxVariants.bankTransfer_BE,\n TxVariants.bankTransfer_NL,\n TxVariants.bankTransfer_PL,\n TxVariants.bankTransfer_FR,\n TxVariants.bankTransfer_CH,\n TxVariants.bankTransfer_IE,\n TxVariants.bankTransfer_GB,\n TxVariants.bankTransfer_DE,\n TxVariants.bankTransfer_AE,\n TxVariants.bankTransfer_AT,\n TxVariants.bankTransfer_AU,\n TxVariants.bankTransfer_BG,\n TxVariants.bankTransfer_CA,\n TxVariants.bankTransfer_EE,\n TxVariants.bankTransfer_ES,\n TxVariants.bankTransfer_FI,\n TxVariants.bankTransfer_HK,\n TxVariants.bankTransfer_HU,\n TxVariants.bankTransfer_IT,\n TxVariants.bankTransfer_JP,\n TxVariants.bankTransfer_LU,\n TxVariants.bankTransfer_NZ,\n TxVariants.bankTransfer_PT,\n TxVariants.bankTransfer_SG,\n TxVariants.bankTransfer_SK,\n TxVariants.bankTransfer_US\n ];\n\n public static readonly defaultProps = {\n showEmailAddress: true,\n showContextualElement: true,\n data: { shopperEmail: '' }\n };\n\n // @ts-ignore Double check why state extends all props\n public state: BankTransferState = {\n isValid: !this.props.showEmailAddress,\n data: {}\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n const { shopperEmail } = this.state.data;\n const subtype = this.type !== (TxVariants.bankTransfer_IBAN as string) ? { subtype: 'embedded' } : {};\n\n return {\n paymentMethod: {\n type: this.type,\n ...subtype\n },\n ...(shopperEmail && { shopperEmail })\n };\n }\n\n protected override componentToRender(): h.JSX.Element {\n if (this.props.reference) {\n return <BankTransferResult {...this.props} onActionHandled={this.onActionHandled} />;\n }\n\n return (\n <Fragment>\n {this.props.showEmailAddress && <BankTransferInput setComponentRef={this.setComponentRef} {...this.props} onChange={this.setState} />}\n <RedirectButton\n {...this.props}\n setComponentRef={this.setComponentRef}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </Fragment>\n );\n }\n}\n\nexport default BankTransferElement;\n"],"names":["BankTransferElement","UIElement","isValid","this","state","formatData","shopperEmail","data","subtype","type","TxVariants","bankTransfer_IBAN","paymentMethod","componentToRender","props","reference","h","BankTransferResult","onActionHandled","Fragment","showEmailAddress","BankTransferInput","setComponentRef","onChange","setState","RedirectButton","showPayButton","name","displayName","onSubmit","submit","payButton","super","args","_define_property","txVariants","bankTransfer_BE","bankTransfer_NL","bankTransfer_PL","bankTransfer_FR","bankTransfer_CH","bankTransfer_IE","bankTransfer_GB","bankTransfer_DE","bankTransfer_AE","bankTransfer_AT","bankTransfer_AU","bankTransfer_BG","bankTransfer_CA","bankTransfer_EE","bankTransfer_ES","bankTransfer_FI","bankTransfer_HK","bankTransfer_HU","bankTransfer_IT","bankTransfer_JP","bankTransfer_LU","bankTransfer_NZ","bankTransfer_PT","bankTransfer_SG","bankTransfer_SK","bankTransfer_US","defaultProps","showContextualElement"],"mappings":"6fAQO,MAAMA,UAA4BC,EA4CrC,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAMC,aAAEA,GAAiBH,KAAKC,MAAMG,KAC9BC,EAAUL,KAAKM,OAAUC,EAAWC,kBAA+B,CAAEH,QAAS,YAAe,CAAA,EAEnG,MAAO,CACHI,cAAe,CACXH,KAAMN,KAAKM,QACRD,MAEHF,GAAgB,CAAEA,gBAE9B,CAEmBO,iBAAAA,GACf,OAAIV,KAAKW,MAAMC,UACJC,EAACC,EAAAA,IAAuBd,KAAKW,MAAOI,gBAAiBf,KAAKe,kBAIjEF,EAACG,OACIhB,KAAKW,MAAMM,kBAAoBJ,EAACK,EAAAA,CAAkBC,gBAAiBnB,KAAKmB,mBAAqBnB,KAAKW,MAAOS,SAAUpB,KAAKqB,WACzHR,EAACS,EAAAA,IACOtB,KAAKW,MACTQ,gBAAiBnB,KAAKmB,gBACtBI,cAAevB,KAAKW,MAAMY,cAC1BC,KAAMxB,KAAKyB,YACXC,SAAU1B,KAAK2B,OACfC,UAAW5B,KAAK4B,YAIhC,mBAlFGC,SAAAC,GAuCHC,EAAA/B,KAAOC,QAA2B,CAC9BF,SAAUC,KAAKW,MAAMM,iBACrBb,KAAM,CAAA,KAxCV2B,EADSlC,EACcS,OAAOC,EAAWC,mBACzCuB,EAFSlC,EAEcmC,aAAa,CAChCzB,EAAWC,kBACXD,EAAW0B,gBACX1B,EAAW2B,gBACX3B,EAAW4B,gBACX5B,EAAW6B,gBACX7B,EAAW8B,gBACX9B,EAAW+B,gBACX/B,EAAWgC,gBACXhC,EAAWiC,gBACXjC,EAAWkC,gBACXlC,EAAWmC,gBACXnC,EAAWoC,gBACXpC,EAAWqC,gBACXrC,EAAWsC,gBACXtC,EAAWuC,gBACXvC,EAAWwC,gBACXxC,EAAWyC,gBACXzC,EAAW0C,gBACX1C,EAAW2C,gBACX3C,EAAW4C,gBACX5C,EAAW6C,gBACX7C,EAAW8C,gBACX9C,EAAW+C,gBACX/C,EAAWgD,gBACXhD,EAAWiD,gBACXjD,EAAWkD,gBACXlD,EAAWmD,kBAGf3B,EAhCSlC,EAgCc8D,eAAe,CAClC1C,kBAAkB,EAClB2C,uBAAuB,EACvBxD,KAAM,CAAED,aAAc"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import{useRef as r,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import t from"../../../../utils/useForm/useForm.js";import"../../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{getErrorMessage as s}from"../../../../utils/getErrorMessage.js";import i from"../../../internal/FormFields/InputEmail.js";import l from"../../../internal/FormFields/Field/Field.js";import{optionalEmailValidationRule as n}from"./validationRule.js";function m(m){const{i18n:p}=a(),d=`${p.get("shopperEmail")} ${p.get("field.title.optional")}`,{handleChangeFor:u,triggerValidation:c,data:h,valid:f,errors:E,isValid:_}=t({schema:["shopperEmail"],defaultData:m.data,rules:{shopperEmail:n}}),g=r({showValidation:()=>{c()}});return o(()=>{m.onChange({data:h,errors:E,valid:f,isValid:_})},[h,f,E,_]),o(()=>{m.setComponentRef(g.current)},[m.setComponentRef]),e("div",{className:"adyen-checkout__bankTransfer"},e("p",{className:"adyen-checkout__bankTransfer__introduction"},p.get("bankTransfer.introduction")),e("div",{className:"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField"},e(l,{label:d,classNameModifiers:["shopperEmail"],errorMessage:!!E.shopperEmail&&s(p,E.shopperEmail,p.get("shopperEmail")),isValid:f.shopperEmail,name:"shopperEmail",showContextualElement:m.showContextualElement,contextualText:p.get("bankTransfer.shopperEmail.contextualText")},e(i,{name:"shopperEmail",autoCorrect:"off",spellcheck:!1,required:!1,value:h.shopperEmail,onInput:u("shopperEmail","input"),onBlur:u("shopperEmail","blur"),autocomplete:"email"}))))}export{m as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useCoreContext as a}from"../../../../core/Context/CoreProvider.js";import{useRef as r,useEffect as o}from"../../../../external/preact/hooks/dist/hooks.js";import t from"../../../../utils/useForm/useForm.js";import"../../../internal/SecuredFields/lib/CSF/utils/userAgent.js";import{getErrorMessage as s}from"../../../../utils/getErrorMessage.js";import i from"../../../internal/FormFields/InputEmail.js";import l from"../../../internal/FormFields/Field/Field.js";import{optionalEmailValidationRule as n}from"./validationRule.js";function m(m){const{i18n:p}=a(),d=`${p.get("shopperEmail")} ${p.get("field.title.optional")}`,{handleChangeFor:u,triggerValidation:c,data:h,valid:f,errors:E,isValid:_}=t({schema:["shopperEmail"],defaultData:m.data,rules:{shopperEmail:n}}),g=r({showValidation:()=>{c()}});return o(()=>{m.onChange({data:h,errors:E,valid:f,isValid:_})},[h,f,E,_]),o(()=>{m.setComponentRef(g.current)},[m.setComponentRef]),e("div",{className:"adyen-checkout__bankTransfer"},e("p",{className:"adyen-checkout__bankTransfer__introduction"},p.get("bankTransfer.introduction")),e("div",{className:"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField"},e(l,{label:d,classNameModifiers:["shopperEmail"],errorMessage:Boolean(E.shopperEmail)&&s(p,E.shopperEmail,p.get("shopperEmail")),isValid:f.shopperEmail,name:"shopperEmail",showContextualElement:m.showContextualElement,contextualText:p.get("bankTransfer.shopperEmail.contextualText")},e(i,{name:"shopperEmail",autoCorrect:"off",spellcheck:!1,required:!1,value:h.shopperEmail,onInput:u("shopperEmail","input"),onBlur:u("shopperEmail","blur"),autocomplete:"email"}))))}export{m as default};
2
2
  //# sourceMappingURL=BankTransferInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BankTransferInput.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferInput/BankTransferInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './BankTransferInput.scss';\nimport { useEffect, useRef } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport { BankTransferSchema } from '../../types';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Field from '../../../internal/FormFields/Field';\nimport { optionalEmailValidationRule } from './validationRule';\nimport { BankTransferInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction BankTransferInput(props: Readonly<BankTransferInputProps>) {\n const { i18n } = useCoreContext();\n const emailOptionalLabel = `${i18n.get('shopperEmail')} ${i18n.get('field.title.optional')}`;\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BankTransferSchema>({\n schema: ['shopperEmail'],\n defaultData: props.data,\n rules: {\n shopperEmail: optionalEmailValidationRule\n }\n });\n\n const self = useRef<ComponentMethodsRef>({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid });\n }, [data, valid, errors, isValid]);\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n return (\n <div className=\"adyen-checkout__bankTransfer\">\n <p className=\"adyen-checkout__bankTransfer__introduction\">{i18n.get('bankTransfer.introduction')}</p>\n <div className=\"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField\">\n <Field\n label={emailOptionalLabel}\n classNameModifiers={['shopperEmail']}\n errorMessage={!!errors.shopperEmail && getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n isValid={valid.shopperEmail}\n name={'shopperEmail'}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('bankTransfer.shopperEmail.contextualText')}\n >\n <InputEmail\n name={'shopperEmail'}\n autoCorrect={'off'}\n spellcheck={false}\n required={false}\n value={data.shopperEmail}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n autocomplete={'email'}\n />\n </Field>\n </div>\n </div>\n );\n}\n\nexport default BankTransferInput;\n"],"names":["BankTransferInput","props","i18n","useCoreContext","emailOptionalLabel","get","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","rules","shopperEmail","optionalEmailValidationRule","self","useRef","showValidation","useEffect","onChange","setComponentRef","current","h","div","className","p","Field","label","classNameModifiers","errorMessage","getErrorMessage","name","showContextualElement","contextualText","InputEmail","autoCorrect","spellcheck","required","value","onInput","onBlur","autocomplete"],"mappings":"kmBAaA,SAASA,EAAkBC,GACvB,MAAMC,KAAEA,GAASC,IACXC,EAAqB,GAAGF,EAAKG,IAAI,mBAAmBH,EAAKG,IAAI,2BAE7DC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,gBACTC,YAAab,EAAMO,KACnBO,MAAO,CACHC,aAAcC,KAIhBC,EAAOC,EAA4B,CACrCC,eAAgB,KACZb,OAYR,OARAc,EAAU,KACNpB,EAAMqB,SAAS,CAAEd,OAAME,SAAQD,QAAOE,aACvC,CAACH,EAAMC,EAAOC,EAAQC,IAEzBU,EAAU,KACNpB,EAAMsB,gBAAgBL,EAAKM,UAC5B,CAACvB,EAAMsB,kBAGNE,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,IAAAA,CAAED,UAAU,8CAA8CzB,EAAKG,IAAI,8BACpEoB,EAACC,MAAAA,CAAIC,UAAU,+GACXF,EAACI,EAAAA,CACGC,MAAO1B,EACP2B,mBAAoB,CAAC,gBACrBC,eAAgBtB,EAAOM,cAAgBiB,EAAgB/B,EAAMQ,EAAOM,aAAcd,EAAKG,IAAI,iBAC3FM,QAASF,EAAMO,aACfkB,KAAM,eACNC,sBAAuBlC,EAAMkC,sBAC7BC,eAAgBlC,EAAKG,IAAI,6CAEzBoB,EAACY,EAAAA,CACGH,KAAM,eACNI,YAAa,MACbC,YAAY,EACZC,UAAU,EACVC,MAAOjC,EAAKQ,aACZ0B,QAASpC,EAAgB,eAAgB,SACzCqC,OAAQrC,EAAgB,eAAgB,QACxCsC,aAAc,YAMtC"}
1
+ {"version":3,"file":"BankTransferInput.js","sources":["../../../../../../src/components/BankTransfer/components/BankTransferInput/BankTransferInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport './BankTransferInput.scss';\nimport { useEffect, useRef } from 'preact/hooks';\nimport useForm from '../../../../utils/useForm';\nimport { BankTransferSchema } from '../../types';\nimport { getErrorMessage } from '../../../../utils/getErrorMessage';\nimport InputEmail from '../../../internal/FormFields/InputEmail';\nimport Field from '../../../internal/FormFields/Field';\nimport { optionalEmailValidationRule } from './validationRule';\nimport { BankTransferInputProps } from './types';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nfunction BankTransferInput(props: Readonly<BankTransferInputProps>) {\n const { i18n } = useCoreContext();\n const emailOptionalLabel = `${i18n.get('shopperEmail')} ${i18n.get('field.title.optional')}`;\n\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BankTransferSchema>({\n schema: ['shopperEmail'],\n defaultData: props.data,\n rules: {\n shopperEmail: optionalEmailValidationRule\n }\n });\n\n const self = useRef<ComponentMethodsRef>({\n showValidation: () => {\n triggerValidation();\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid });\n }, [data, valid, errors, isValid]);\n\n useEffect(() => {\n props.setComponentRef(self.current);\n }, [props.setComponentRef]);\n\n return (\n <div className=\"adyen-checkout__bankTransfer\">\n <p className=\"adyen-checkout__bankTransfer__introduction\">{i18n.get('bankTransfer.introduction')}</p>\n <div className=\"adyen-checkout__fieldset adyen-checkout__fieldset--sendCopyToEmail adyen-checkout__bankTransfer__emailField\">\n <Field\n label={emailOptionalLabel}\n classNameModifiers={['shopperEmail']}\n errorMessage={Boolean(errors.shopperEmail) && getErrorMessage(i18n, errors.shopperEmail, i18n.get('shopperEmail'))}\n isValid={valid.shopperEmail}\n name={'shopperEmail'}\n showContextualElement={props.showContextualElement}\n contextualText={i18n.get('bankTransfer.shopperEmail.contextualText')}\n >\n <InputEmail\n name={'shopperEmail'}\n autoCorrect={'off'}\n spellcheck={false}\n required={false}\n value={data.shopperEmail}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n autocomplete={'email'}\n />\n </Field>\n </div>\n </div>\n );\n}\n\nexport default BankTransferInput;\n"],"names":["BankTransferInput","props","i18n","useCoreContext","emailOptionalLabel","get","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","defaultData","rules","shopperEmail","optionalEmailValidationRule","self","useRef","showValidation","useEffect","onChange","setComponentRef","current","h","div","className","p","Field","label","classNameModifiers","errorMessage","Boolean","getErrorMessage","name","showContextualElement","contextualText","InputEmail","autoCorrect","spellcheck","required","value","onInput","onBlur","autocomplete"],"mappings":"kmBAaA,SAASA,EAAkBC,GACvB,MAAMC,KAAEA,GAASC,IACXC,EAAqB,GAAGF,EAAKG,IAAI,mBAAmBH,EAAKG,IAAI,2BAE7DC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,gBACTC,YAAab,EAAMO,KACnBO,MAAO,CACHC,aAAcC,KAIhBC,EAAOC,EAA4B,CACrCC,eAAgB,KACZb,OAYR,OARAc,EAAU,KACNpB,EAAMqB,SAAS,CAAEd,OAAME,SAAQD,QAAOE,aACvC,CAACH,EAAMC,EAAOC,EAAQC,IAEzBU,EAAU,KACNpB,EAAMsB,gBAAgBL,EAAKM,UAC5B,CAACvB,EAAMsB,kBAGNE,EAACC,MAAAA,CAAIC,UAAU,gCACXF,EAACG,IAAAA,CAAED,UAAU,8CAA8CzB,EAAKG,IAAI,8BACpEoB,EAACC,MAAAA,CAAIC,UAAU,+GACXF,EAACI,EAAAA,CACGC,MAAO1B,EACP2B,mBAAoB,CAAC,gBACrBC,aAAcC,QAAQvB,EAAOM,eAAiBkB,EAAgBhC,EAAMQ,EAAOM,aAAcd,EAAKG,IAAI,iBAClGM,QAASF,EAAMO,aACfmB,KAAM,eACNC,sBAAuBnC,EAAMmC,sBAC7BC,eAAgBnC,EAAKG,IAAI,6CAEzBoB,EAACa,EAAAA,CACGH,KAAM,eACNI,YAAa,MACbC,YAAY,EACZC,UAAU,EACVC,MAAOlC,EAAKQ,aACZ2B,QAASrC,EAAgB,eAAgB,SACzCsC,OAAQtC,EAAgB,eAAgB,QACxCuC,aAAc,YAMtC"}
@@ -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 o from"./components/BlikInput.js";import{Await as s}from"../internal/Await/Await.js";import n from"./config.js";import i from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as r}from"../tx-variants.js";class a extends e{formatData(){const t=!!this.props.storedPaymentMethodId;return{paymentMethod:{type:a.type,...!t&&{blikCode:this.state?.data?.blikCode},...t&&{storedPaymentMethodId:this.props.storedPaymentMethodId}}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId&&this.props.label?this.props.name:null}componentToRender(){return this.props.paymentData?t(s,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.handleError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}):this.props.storedPaymentMethodId?t(i,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(o,{ref:t=>{this.componentRef=t},...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})}}var p,m,d;p=a,m="type",d=r.blik,m in p?Object.defineProperty(p,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):p[m]=d;export{a as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/BlikInput.js";import{Await as s}from"../internal/Await/Await.js";import n from"./config.js";import i from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as a}from"../tx-variants.js";class r extends e{formatData(){const t=!!this.props.storedPaymentMethodId;return{paymentMethod:{type:r.type,...!t&&{blikCode:this.state?.data?.blikCode},...t&&{storedPaymentMethodId:this.props.storedPaymentMethodId}}}}get isValid(){return!!this.props.storedPaymentMethodId||!!this.state.isValid}get displayName(){return this.props.storedPaymentMethodId&&this.props.label?this.props.label:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId&&this.props.label?this.props.name:null}componentToRender(){return this.props.paymentData?t(s,{clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.handleError,onComplete:this.onComplete,brandLogo:this.icon,brandName:this.displayName,type:n.type,messageText:this.props.i18n.get(n.messageTextId),awaitText:this.props.i18n.get(n.awaitTextId),showCountdownTimer:n.showCountdownTimer,delay:n.STATUS_INTERVAL,countdownTime:n.COUNTDOWN_MINUTES,throttleTime:n.THROTTLE_TIME,throttleInterval:n.THROTTLE_INTERVAL,onActionHandled:this.onActionHandled}):this.props.storedPaymentMethodId?t(i,{showPayButton:this.props.showPayButton,name:this.displayName,payButton:this.payButton,onSubmit:this.submit,setComponentRef:this.setComponentRef}):t(o,{...this.props,setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})}}var p,m,d;p=r,m="type",d=a.blik,m in p?Object.defineProperty(p,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):p[m]=d;export{r as default};
2
2
  //# sourceMappingURL=Blik.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport { Await } from '../internal/Await';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","componentToRender","paymentData","h","Await","clientKey","onError","handleError","onComplete","brandLogo","icon","brandName","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","payButton","onSubmit","submit","ref","componentRef","BlikInput","onChange","setState","TxVariants","blik"],"mappings":"sWAgBA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAe,CACXC,KAAMR,EAAYQ,SACbL,GAAoB,CAAEM,SAAUL,KAAKM,OAAOC,MAAMF,aACnDN,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIM,GACA,QAAIR,KAAKC,MAAMC,yBAINF,KAAKM,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMS,MAEfV,KAAKC,MAAMU,IACtB,CAEA,kBAAIC,GACA,OAAIZ,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMU,KAEf,IACX,CAOA,iBAAAE,GACI,OAAIb,KAAKC,MAAMa,YAEPC,EAACC,EAAAA,CACGC,UAAWjB,KAAKC,MAAMgB,UACtBH,YAAad,KAAKC,MAAMa,YACxBI,QAASlB,KAAKmB,YACdC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBC,UAAWvB,KAAKS,YAChBL,KAAMoB,EAAOpB,KACbqB,YAAazB,KAAKC,MAAMyB,KAAKC,IAAIH,EAAOI,eACxCC,UAAW7B,KAAKC,MAAMyB,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiBxC,KAAKwC,kBAK3BxC,KAAKC,MAAMC,sBACda,EAAC0B,EAAAA,CACGC,cAAe1C,KAAKC,MAAMyC,cAC1B/B,KAAMX,KAAKS,YACXkC,UAAW3C,KAAK2C,UAChBC,SAAU5C,KAAK6C,OACfC,IAAKA,IACD9C,KAAK+C,aAAeD,KAI5B/B,EAACiC,EAAAA,CAEGF,IAAKA,IACD9C,KAAK+C,aAAeD,MAEpB9C,KAAKC,MACTgD,SAAUjD,KAAKkD,SACfN,SAAU5C,KAAK6C,OACfF,UAAW3C,KAAK2C,WAG5B,cAvFE/C,IACqBQ,SAAO+C,EAAWC"}
1
+ {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport { Await } from '../internal/Await';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static readonly type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n protected override componentToRender(): h.JSX.Element {\n if (this.props.paymentData) {\n return (\n <Await\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n brandName={this.displayName}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.onActionHandled}\n />\n );\n }\n\n return this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n payButton={this.payButton}\n onSubmit={this.submit}\n setComponentRef={this.setComponentRef}\n />\n ) : (\n <BlikInput\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","componentToRender","paymentData","h","Await","clientKey","onError","handleError","onComplete","brandLogo","icon","brandName","config","messageText","i18n","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","payButton","onSubmit","submit","setComponentRef","BlikInput","onChange","setState","TxVariants","blik"],"mappings":"sWAgBA,MAAMA,UAAoBC,EAGtBC,UAAAA,GACI,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAe,CACXC,KAAMR,EAAYQ,SACbL,GAAoB,CAAEM,SAAUL,KAAKM,OAAOC,MAAMF,aACnDN,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIM,GACA,QAAIR,KAAKC,MAAMC,yBAINF,KAAKM,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIT,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMS,MAEfV,KAAKC,MAAMU,IACtB,CAEA,kBAAIC,GACA,OAAIZ,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMS,MACxCV,KAAKC,MAAMU,KAEf,IACX,CAOA,iBAAAE,GACI,OAAIb,KAAKC,MAAMa,YAEPC,EAACC,EAAAA,CACGC,UAAWjB,KAAKC,MAAMgB,UACtBH,YAAad,KAAKC,MAAMa,YACxBI,QAASlB,KAAKmB,YACdC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBC,UAAWvB,KAAKS,YAChBL,KAAMoB,EAAOpB,KACbqB,YAAazB,KAAKC,MAAMyB,KAAKC,IAAIH,EAAOI,eACxCC,UAAW7B,KAAKC,MAAMyB,KAAKC,IAAIH,EAAOM,aACtCC,mBAAoBP,EAAOO,mBAC3BC,MAAOR,EAAOS,gBACdC,cAAeV,EAAOW,kBACtBC,aAAcZ,EAAOa,cACrBC,iBAAkBd,EAAOe,kBACzBC,gBAAiBxC,KAAKwC,kBAK3BxC,KAAKC,MAAMC,sBACda,EAAC0B,EAAAA,CACGC,cAAe1C,KAAKC,MAAMyC,cAC1B/B,KAAMX,KAAKS,YACXkC,UAAW3C,KAAK2C,UAChBC,SAAU5C,KAAK6C,OACfC,gBAAiB9C,KAAK8C,kBAG1B/B,EAACgC,EAAAA,IACO/C,KAAKC,MACT6C,gBAAiB9C,KAAK8C,gBACtBE,SAAUhD,KAAKiD,SACfL,SAAU5C,KAAK6C,OACfF,UAAW3C,KAAK2C,WAG5B,cAlFE/C,IACqBQ,SAAO8C,EAAWC"}