@adyen/adyen-web 6.8.0 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/dist/cjs/adyen.css +11 -7
  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 +212 -49
  6. package/dist/es/_virtual/index.js +1 -1
  7. package/dist/es/_virtual/index2.js +2 -0
  8. package/dist/es/_virtual/index2.js.map +1 -0
  9. package/dist/es/adyen.css +11 -7
  10. package/dist/es/adyen.css.map +1 -1
  11. package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
  12. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  13. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  14. package/dist/es/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  15. package/dist/es/components/ApplePay/components/ApplePayButton.js +1 -1
  16. package/dist/es/components/ApplePay/components/ApplePayButton.js.map +1 -1
  17. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  18. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  19. package/dist/es/components/Boleto/Boleto.js.map +1 -1
  20. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  21. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  22. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  23. package/dist/es/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  24. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  25. package/dist/es/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  26. package/dist/es/components/Card/components/CardInput/components/CVC.js +1 -1
  27. package/dist/es/components/Card/components/CardInput/components/CVC.js.map +1 -1
  28. package/dist/es/components/Card/components/CardInput/components/CVCHint.js +1 -1
  29. package/dist/es/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  30. package/dist/es/components/Card/components/CardInput/components/CardFields.js +1 -1
  31. package/dist/es/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  32. package/dist/es/components/Card/components/CardInput/components/CardNumber.js +1 -1
  33. package/dist/es/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  34. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  35. package/dist/es/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  36. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  37. package/dist/es/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  38. package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
  39. package/dist/es/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
  40. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  41. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  42. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  43. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  44. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js +1 -1
  45. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
  46. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  47. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  48. package/dist/es/components/Giftcard/Giftcard.js +1 -1
  49. package/dist/es/components/Giftcard/Giftcard.js.map +1 -1
  50. package/dist/es/components/Giftcard/components/GiftcardComponent.js +1 -1
  51. package/dist/es/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  52. package/dist/es/components/Giftcard/components/GiftcardNumberField.js +1 -1
  53. package/dist/es/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  54. package/dist/es/components/Giftcard/components/GiftcardPinField.js +1 -1
  55. package/dist/es/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  56. package/dist/es/components/Giftcard/components/GiftcardResult.js +1 -1
  57. package/dist/es/components/Giftcard/components/GiftcardResult.js.map +1 -1
  58. package/dist/es/components/GooglePay/GooglePay.js +1 -1
  59. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  60. package/dist/es/components/MBWay/MBWay.js +1 -1
  61. package/dist/es/components/MBWay/MBWay.js.map +1 -1
  62. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  63. package/dist/es/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  64. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  65. package/dist/es/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  66. package/dist/es/components/PayPal/components/PaypalButtons.js +1 -1
  67. package/dist/es/components/PayPal/components/PaypalButtons.js.map +1 -1
  68. package/dist/es/components/PayTo/PayTo.js +2 -0
  69. package/dist/es/components/PayTo/PayTo.js.map +1 -0
  70. package/dist/es/components/PayTo/components/BSBInput.js +2 -0
  71. package/dist/es/components/PayTo/components/BSBInput.js.map +1 -0
  72. package/dist/es/components/PayTo/components/IdentifierSelector.js +2 -0
  73. package/dist/es/components/PayTo/components/IdentifierSelector.js.map +1 -0
  74. package/dist/es/components/PayTo/components/MandateSummary.js +2 -0
  75. package/dist/es/components/PayTo/components/MandateSummary.js.map +1 -0
  76. package/dist/es/components/PayTo/components/PayIDInput.js +2 -0
  77. package/dist/es/components/PayTo/components/PayIDInput.js.map +1 -0
  78. package/dist/es/components/PayTo/components/PayToComponent.js +2 -0
  79. package/dist/es/components/PayTo/components/PayToComponent.js.map +1 -0
  80. package/dist/es/components/PayTo/components/PayToInstructions.js +2 -0
  81. package/dist/es/components/PayTo/components/PayToInstructions.js.map +1 -0
  82. package/dist/es/components/PayTo/components/PayToNameFields.js +2 -0
  83. package/dist/es/components/PayTo/components/PayToNameFields.js.map +1 -0
  84. package/dist/es/components/PayTo/components/PayToPhone.js +2 -0
  85. package/dist/es/components/PayTo/components/PayToPhone.js.map +1 -0
  86. package/dist/es/components/PayTo/components/validate.js +2 -0
  87. package/dist/es/components/PayTo/components/validate.js.map +1 -0
  88. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  89. package/dist/es/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  90. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
  91. package/dist/es/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  92. package/dist/es/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -1
  93. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  94. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  95. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  96. package/dist/es/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  97. package/dist/es/components/components-name-map.js +1 -1
  98. package/dist/es/components/components-name-map.js.map +1 -1
  99. package/dist/es/components/index.js +1 -1
  100. package/dist/es/components/internal/Alert/Alert.js +1 -1
  101. package/dist/es/components/internal/Alert/Alert.js.map +1 -1
  102. package/dist/es/components/internal/Await/Await.js +1 -1
  103. package/dist/es/components/internal/Await/Await.js.map +1 -1
  104. package/dist/es/components/internal/Button/Button.js +1 -1
  105. package/dist/es/components/internal/Button/Button.js.map +1 -1
  106. package/dist/es/components/internal/ButtonGroup/ButtonGroup.js +1 -1
  107. package/dist/es/components/internal/ButtonGroup/ButtonGroup.js.map +1 -1
  108. package/dist/es/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js +1 -1
  109. package/dist/es/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js.map +1 -1
  110. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js +1 -1
  111. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js.map +1 -1
  112. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  113. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  114. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPSaveCookiesCheckbox/CtPSaveCookiesCheckbox.js +1 -1
  115. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPSaveCookiesCheckbox/CtPSaveCookiesCheckbox.js.map +1 -1
  116. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  117. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  118. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
  119. package/dist/es/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  120. package/dist/es/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  121. package/dist/es/components/internal/ContentSeparator/ContentSeparator.js +1 -1
  122. package/dist/es/components/internal/ContentSeparator/ContentSeparator.js.map +1 -1
  123. package/dist/es/components/internal/DetailsTable/DetailsTable.js +2 -0
  124. package/dist/es/components/internal/DetailsTable/DetailsTable.js.map +1 -0
  125. package/dist/es/components/internal/ExpandButton/ExpandButton.js +1 -1
  126. package/dist/es/components/internal/ExpandButton/ExpandButton.js.map +1 -1
  127. package/dist/es/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  128. package/dist/es/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  129. package/dist/es/components/internal/FormFields/Field/Field.js +1 -1
  130. package/dist/es/components/internal/FormFields/Field/Field.js.map +1 -1
  131. package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
  132. package/dist/es/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
  133. package/dist/es/components/internal/FormFields/InputBase.js +1 -1
  134. package/dist/es/components/internal/FormFields/InputBase.js.map +1 -1
  135. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  136. package/dist/es/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  137. package/dist/es/components/internal/FormFields/Select/Select.js +1 -1
  138. package/dist/es/components/internal/FormFields/Select/Select.js.map +1 -1
  139. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  140. package/dist/es/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  141. package/dist/es/components/internal/FormFields/Select/components/SelectList.js +1 -1
  142. package/dist/es/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  143. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  144. package/dist/es/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  145. package/dist/es/components/internal/IFrame/Iframe.js +1 -1
  146. package/dist/es/components/internal/IFrame/Iframe.js.map +1 -1
  147. package/dist/es/components/internal/Icon/Icon.js +1 -1
  148. package/dist/es/components/internal/Icon/Icon.js.map +1 -1
  149. package/dist/es/components/internal/Img/Img.js +1 -1
  150. package/dist/es/components/internal/Img/Img.js.map +1 -1
  151. package/dist/es/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js +1 -1
  152. package/dist/es/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js.map +1 -1
  153. package/dist/es/components/internal/LoadingWrapper/LoadingWrapper.js +1 -1
  154. package/dist/es/components/internal/LoadingWrapper/LoadingWrapper.js.map +1 -1
  155. package/dist/es/components/internal/Modal/Modal.js +1 -1
  156. package/dist/es/components/internal/Modal/Modal.js.map +1 -1
  157. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  158. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  159. package/dist/es/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  160. package/dist/es/components/internal/PhoneInput/PhoneInputFields.js +2 -0
  161. package/dist/es/components/internal/PhoneInput/PhoneInputFields.js.map +1 -0
  162. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js +2 -0
  163. package/dist/es/components/internal/PhoneInput/PhoneInputForm.js.map +1 -0
  164. package/dist/es/components/internal/PhoneInput/validate.js +1 -1
  165. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
  166. package/dist/es/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  167. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  168. package/dist/es/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  169. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  170. package/dist/es/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  171. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  172. package/dist/es/components/internal/Voucher/Voucher.js +1 -1
  173. package/dist/es/components/internal/Voucher/Voucher.js.map +1 -1
  174. package/dist/es/components/tx-variants.js +1 -1
  175. package/dist/es/components/tx-variants.js.map +1 -1
  176. package/dist/es/core/ProcessResponse/PaymentMethods/filters.js +1 -1
  177. package/dist/es/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
  178. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  179. package/dist/es/core/core.js +1 -1
  180. package/dist/es/core/utils.js +1 -1
  181. package/dist/es/core/utils.js.map +1 -1
  182. package/dist/es/external/classnames/index.js +2 -2
  183. package/dist/es/external/classnames/index.js.map +1 -1
  184. package/dist/es/index.d.ts +212 -49
  185. package/dist/es/index.js +1 -1
  186. package/dist/es/utils/Validator/ValidationRuleResult.js.map +1 -1
  187. package/dist/es/utils/Validator/Validator.js.map +1 -1
  188. package/dist/es-legacy/_virtual/index.js +1 -1
  189. package/dist/es-legacy/_virtual/index2.js +2 -0
  190. package/dist/es-legacy/_virtual/index2.js.map +1 -0
  191. package/dist/es-legacy/adyen.css +11 -7
  192. package/dist/es-legacy/adyen.css.map +1 -1
  193. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  194. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  195. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js +1 -1
  196. package/dist/es-legacy/components/Ach/components/AchInput/components/AchSFInput.js.map +1 -1
  197. package/dist/es-legacy/components/ApplePay/components/ApplePayButton.js +1 -1
  198. package/dist/es-legacy/components/ApplePay/components/ApplePayButton.js.map +1 -1
  199. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  200. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  201. package/dist/es-legacy/components/Boleto/Boleto.js.map +1 -1
  202. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  203. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  204. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js +1 -1
  205. package/dist/es-legacy/components/Card/components/CardInput/components/AvailableBrands/AvailableBrands.js.map +1 -1
  206. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js +1 -1
  207. package/dist/es-legacy/components/Card/components/CardInput/components/BrandIcon.js.map +1 -1
  208. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js +1 -1
  209. package/dist/es-legacy/components/Card/components/CardInput/components/CVC.js.map +1 -1
  210. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js +1 -1
  211. package/dist/es-legacy/components/Card/components/CardInput/components/CVCHint.js.map +1 -1
  212. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js +1 -1
  213. package/dist/es-legacy/components/Card/components/CardInput/components/CardFields.js.map +1 -1
  214. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js +1 -1
  215. package/dist/es-legacy/components/Card/components/CardInput/components/CardNumber.js.map +1 -1
  216. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js +1 -1
  217. package/dist/es-legacy/components/Card/components/CardInput/components/ExpirationDate.js.map +1 -1
  218. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js +1 -1
  219. package/dist/es-legacy/components/Card/components/CardInput/components/KCPAuthentication.js.map +1 -1
  220. package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js +1 -1
  221. package/dist/es-legacy/components/Dropin/components/PaymentMethod/DisableOneClickConfirmation.js.map +1 -1
  222. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js +1 -1
  223. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodIcon.js.map +1 -1
  224. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js +1 -1
  225. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodItem/PaymentMethodItem.js.map +1 -1
  226. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodName.js +1 -1
  227. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodName.js.map +1 -1
  228. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js +1 -1
  229. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodsContainer.js.map +1 -1
  230. package/dist/es-legacy/components/Giftcard/Giftcard.js +1 -1
  231. package/dist/es-legacy/components/Giftcard/Giftcard.js.map +1 -1
  232. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js +1 -1
  233. package/dist/es-legacy/components/Giftcard/components/GiftcardComponent.js.map +1 -1
  234. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js +1 -1
  235. package/dist/es-legacy/components/Giftcard/components/GiftcardNumberField.js.map +1 -1
  236. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js +1 -1
  237. package/dist/es-legacy/components/Giftcard/components/GiftcardPinField.js.map +1 -1
  238. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js +1 -1
  239. package/dist/es-legacy/components/Giftcard/components/GiftcardResult.js.map +1 -1
  240. package/dist/es-legacy/components/GooglePay/GooglePay.js +1 -1
  241. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  242. package/dist/es-legacy/components/MBWay/MBWay.js +1 -1
  243. package/dist/es-legacy/components/MBWay/MBWay.js.map +1 -1
  244. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js +1 -1
  245. package/dist/es-legacy/components/MBWay/components/MBWayInput/MBWayInput.js.map +1 -1
  246. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js +1 -1
  247. package/dist/es-legacy/components/MealVoucherFR/components/MealVoucherExpiryField.js.map +1 -1
  248. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js +1 -1
  249. package/dist/es-legacy/components/PayPal/components/PaypalButtons.js.map +1 -1
  250. package/dist/es-legacy/components/PayTo/PayTo.js +2 -0
  251. package/dist/es-legacy/components/PayTo/PayTo.js.map +1 -0
  252. package/dist/es-legacy/components/PayTo/components/BSBInput.js +2 -0
  253. package/dist/es-legacy/components/PayTo/components/BSBInput.js.map +1 -0
  254. package/dist/es-legacy/components/PayTo/components/IdentifierSelector.js +2 -0
  255. package/dist/es-legacy/components/PayTo/components/IdentifierSelector.js.map +1 -0
  256. package/dist/es-legacy/components/PayTo/components/MandateSummary.js +2 -0
  257. package/dist/es-legacy/components/PayTo/components/MandateSummary.js.map +1 -0
  258. package/dist/es-legacy/components/PayTo/components/PayIDInput.js +2 -0
  259. package/dist/es-legacy/components/PayTo/components/PayIDInput.js.map +1 -0
  260. package/dist/es-legacy/components/PayTo/components/PayToComponent.js +2 -0
  261. package/dist/es-legacy/components/PayTo/components/PayToComponent.js.map +1 -0
  262. package/dist/es-legacy/components/PayTo/components/PayToInstructions.js +2 -0
  263. package/dist/es-legacy/components/PayTo/components/PayToInstructions.js.map +1 -0
  264. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js +2 -0
  265. package/dist/es-legacy/components/PayTo/components/PayToNameFields.js.map +1 -0
  266. package/dist/es-legacy/components/PayTo/components/PayToPhone.js +2 -0
  267. package/dist/es-legacy/components/PayTo/components/PayToPhone.js.map +1 -0
  268. package/dist/es-legacy/components/PayTo/components/validate.js +2 -0
  269. package/dist/es-legacy/components/PayTo/components/validate.js.map +1 -0
  270. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js +1 -1
  271. package/dist/es-legacy/components/ThreeDS2/components/Challenge/DoChallenge3DS2.js.map +1 -1
  272. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js +1 -1
  273. package/dist/es-legacy/components/ThreeDS2/components/Form/ThreeDS2Form.js.map +1 -1
  274. package/dist/es-legacy/components/UPI/components/UPIComponent/useUpiSegmentedControlOptions.js.map +1 -1
  275. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js +1 -1
  276. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppItem/UPIIntentAppItem.js.map +1 -1
  277. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js +1 -1
  278. package/dist/es-legacy/components/UPI/components/UPIIntentAppList/UPIIntentAppList.js.map +1 -1
  279. package/dist/es-legacy/components/components-name-map.js +1 -1
  280. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  281. package/dist/es-legacy/components/index.js +1 -1
  282. package/dist/es-legacy/components/internal/Alert/Alert.js +1 -1
  283. package/dist/es-legacy/components/internal/Alert/Alert.js.map +1 -1
  284. package/dist/es-legacy/components/internal/Await/Await.js +1 -1
  285. package/dist/es-legacy/components/internal/Await/Await.js.map +1 -1
  286. package/dist/es-legacy/components/internal/Button/Button.js +1 -1
  287. package/dist/es-legacy/components/internal/Button/Button.js.map +1 -1
  288. package/dist/es-legacy/components/internal/ButtonGroup/ButtonGroup.js +1 -1
  289. package/dist/es-legacy/components/internal/ButtonGroup/ButtonGroup.js.map +1 -1
  290. package/dist/es-legacy/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js +1 -1
  291. package/dist/es-legacy/components/internal/ClickToPay/components/CtPBrand/CtPBrand.js.map +1 -1
  292. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js +1 -1
  293. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPSingleCard/CtPSingleCard.js.map +1 -1
  294. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js +1 -1
  295. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  296. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPSaveCookiesCheckbox/CtPSaveCookiesCheckbox.js +1 -1
  297. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPSaveCookiesCheckbox/CtPSaveCookiesCheckbox.js.map +1 -1
  298. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js +1 -1
  299. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPLogoutLink.js.map +1 -1
  300. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js +1 -1
  301. package/dist/es-legacy/components/internal/ClickToPay/components/CtPSection/CtPSection.js.map +1 -1
  302. package/dist/es-legacy/components/internal/CompanyDetails/CompanyDetails.js.map +1 -1
  303. package/dist/es-legacy/components/internal/ContentSeparator/ContentSeparator.js +1 -1
  304. package/dist/es-legacy/components/internal/ContentSeparator/ContentSeparator.js.map +1 -1
  305. package/dist/es-legacy/components/internal/DetailsTable/DetailsTable.js +2 -0
  306. package/dist/es-legacy/components/internal/DetailsTable/DetailsTable.js.map +1 -0
  307. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js +1 -1
  308. package/dist/es-legacy/components/internal/ExpandButton/ExpandButton.js.map +1 -1
  309. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js +1 -1
  310. package/dist/es-legacy/components/internal/FormFields/Checkbox/Checkbox.js.map +1 -1
  311. package/dist/es-legacy/components/internal/FormFields/Field/Field.js +1 -1
  312. package/dist/es-legacy/components/internal/FormFields/Field/Field.js.map +1 -1
  313. package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js +1 -1
  314. package/dist/es-legacy/components/internal/FormFields/Fieldset/Fieldset.js.map +1 -1
  315. package/dist/es-legacy/components/internal/FormFields/InputBase.js +1 -1
  316. package/dist/es-legacy/components/internal/FormFields/InputBase.js.map +1 -1
  317. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js +1 -1
  318. package/dist/es-legacy/components/internal/FormFields/RadioGroup/RadioGroup.js.map +1 -1
  319. package/dist/es-legacy/components/internal/FormFields/Select/Select.js +1 -1
  320. package/dist/es-legacy/components/internal/FormFields/Select/Select.js.map +1 -1
  321. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js +1 -1
  322. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectButton.js.map +1 -1
  323. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js +1 -1
  324. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectList.js.map +1 -1
  325. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js +1 -1
  326. package/dist/es-legacy/components/internal/FormFields/Select/components/SelectListItem.js.map +1 -1
  327. package/dist/es-legacy/components/internal/IFrame/Iframe.js +1 -1
  328. package/dist/es-legacy/components/internal/IFrame/Iframe.js.map +1 -1
  329. package/dist/es-legacy/components/internal/Icon/Icon.js +1 -1
  330. package/dist/es-legacy/components/internal/Icon/Icon.js.map +1 -1
  331. package/dist/es-legacy/components/internal/Img/Img.js +1 -1
  332. package/dist/es-legacy/components/internal/Img/Img.js.map +1 -1
  333. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js +1 -1
  334. package/dist/es-legacy/components/internal/IssuerList/IssuerButtonGroup/IssuerButton.js.map +1 -1
  335. package/dist/es-legacy/components/internal/LoadingWrapper/LoadingWrapper.js +1 -1
  336. package/dist/es-legacy/components/internal/LoadingWrapper/LoadingWrapper.js.map +1 -1
  337. package/dist/es-legacy/components/internal/Modal/Modal.js +1 -1
  338. package/dist/es-legacy/components/internal/Modal/Modal.js.map +1 -1
  339. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  340. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  341. package/dist/es-legacy/components/internal/PersonalDetails/PersonalDetails.js.map +1 -1
  342. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js +2 -0
  343. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputFields.js.map +1 -0
  344. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js +2 -0
  345. package/dist/es-legacy/components/internal/PhoneInput/PhoneInputForm.js.map +1 -0
  346. package/dist/es-legacy/components/internal/PhoneInput/validate.js +1 -1
  347. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js +1 -1
  348. package/dist/es-legacy/components/internal/SecuredFields/lib/CSF/utils/cardType.js.map +1 -1
  349. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js +1 -1
  350. package/dist/es-legacy/components/internal/SegmentedControl/SegmentedControl.js.map +1 -1
  351. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js +1 -1
  352. package/dist/es-legacy/components/internal/SendCopyToEmail/SendCopyToEmail.js.map +1 -1
  353. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  354. package/dist/es-legacy/components/internal/Voucher/Voucher.js +1 -1
  355. package/dist/es-legacy/components/internal/Voucher/Voucher.js.map +1 -1
  356. package/dist/es-legacy/components/tx-variants.js +1 -1
  357. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  358. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js +1 -1
  359. package/dist/es-legacy/core/ProcessResponse/PaymentMethods/filters.js.map +1 -1
  360. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  361. package/dist/es-legacy/core/core.js +1 -1
  362. package/dist/es-legacy/core/utils.js +1 -1
  363. package/dist/es-legacy/core/utils.js.map +1 -1
  364. package/dist/es-legacy/external/classnames/index.js +2 -2
  365. package/dist/es-legacy/external/classnames/index.js.map +1 -1
  366. package/dist/es-legacy/index.js +1 -1
  367. package/dist/es-legacy/utils/Validator/ValidationRuleResult.js.map +1 -1
  368. package/dist/es-legacy/utils/Validator/Validator.js.map +1 -1
  369. package/package.json +20 -14
  370. package/styles/adyen.css +11 -7
  371. package/dist/es/components/internal/PhoneInput/PhoneInput.js +0 -2
  372. package/dist/es/components/internal/PhoneInput/PhoneInput.js.map +0 -1
  373. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js +0 -2
  374. package/dist/es-legacy/components/internal/PhoneInput/PhoneInput.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n this.componentRef.setBalance({ balance, transactionLimit });\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return super.submit();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return super.submit();\n });\n } else {\n return this.handleOnRequiringConfirmation().then(() => super.submit());\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\n });\n };\n\n private handleOnRequiringConfirmation = (): Promise<any> => {\n if (this.props.onRequiringConfirmation) {\n return new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n });\n }\n };\n\n public submit() {\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onBalanceCheck={this.onBalanceCheck}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","onSubmit","payButton","super","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","setBalance","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","AdyenCheckoutError","handleError","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"Giftcard.js","sources":["../../../../src/components/Giftcard/Giftcard.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GiftcardComponent from './components/GiftcardComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport PayButton from '../internal/PayButton';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { PaymentAmount } from '../../types/global-types';\nimport { GiftCardElementData, GiftCardConfiguration, balanceCheckResponseType } from './types';\nimport { TxVariants } from '../tx-variants';\n\nexport class GiftcardElement extends UIElement<GiftCardConfiguration> {\n public static type = TxVariants.giftcard;\n\n protected static defaultProps = {\n brandsConfiguration: {}\n };\n\n formatProps(props) {\n return {\n ...props?.configuration,\n ...props\n };\n }\n\n formatData(): GiftCardElementData {\n return {\n paymentMethod: {\n type: this.constructor['type'],\n brand: this.props.brand,\n encryptedCardNumber: this.state.data?.encryptedCardNumber,\n encryptedSecurityCode: this.state.data?.encryptedSecurityCode\n }\n };\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.brandsConfiguration[this.props.brand]?.icon || this.props.icon || this.resources.getImage()(this.props.brand);\n }\n\n get displayName() {\n return this.props.brandsConfiguration[this.props.brand]?.name || this.props.name;\n }\n\n private handleBalanceCheck = (data: GiftCardElementData): Promise<balanceCheckResponseType> => {\n if (this.props.onBalanceCheck) {\n return new Promise((resolve, reject) => {\n void this.props.onBalanceCheck(resolve, reject, data);\n });\n }\n\n if (this.props.session) {\n return this.props.session.checkBalance(data);\n }\n };\n\n private onOrderRequest = data => {\n if (this.props.onOrderRequest)\n return new Promise((resolve, reject) => {\n void this.props.onOrderRequest(resolve, reject, data);\n });\n if (this.props.session) {\n return this.props.session.createOrder();\n }\n };\n\n public balanceCheck() {\n return this.onBalanceCheck();\n }\n\n private onBalanceCheck = (): void => {\n // skip balance check if no onBalanceCheck event has been defined\n const hasBalanceCheck = this.props.session || this.props.onBalanceCheck;\n if (!hasBalanceCheck) return super.submit();\n\n this.setStatus('loading');\n\n this.handleBalanceCheck(this.formatData())\n .then(({ balance, transactionLimit = {} as PaymentAmount }) => {\n if (!balance) throw new Error('card-error'); // card doesn't exist\n if (balance?.currency !== this.props.amount?.currency) throw new Error('currency-error');\n if (balance?.value <= 0) throw new Error('no-balance');\n\n if (this.props.amount.value > balance.value || this.props.amount.value > transactionLimit.value) {\n if (this.props.order) {\n return this.makeSubmitCall();\n }\n\n return this.onOrderRequest(this.data).then((order: { orderData: string; pspReference: string }) => {\n this.setState({ order: { orderData: order.orderData, pspReference: order.pspReference } });\n return this.makeSubmitCall();\n });\n } else {\n return this.handleOnRequiringConfirmation(balance, transactionLimit);\n }\n })\n .catch(error => {\n this.setStatus(error?.message || 'error');\n if (this.props.onError) {\n if (error instanceof AdyenCheckoutError) {\n this.handleError(error);\n } else {\n this.handleError(new AdyenCheckoutError('ERROR', error));\n }\n }\n });\n };\n\n /**\n * Check if it should call onRequiringConfirmation\n */\n private handleOnRequiringConfirmation = (balance, transactionLimit): Promise<any> => {\n this.componentRef.setBalance({ balance, transactionLimit });\n this.setStatus('ready');\n\n // 1. if we show pay button we don't need to ask for confirmation\n if (this.props.showPayButton) {\n return;\n }\n // 2. there's no callback, we throw error\n if (!this.props.onRequiringConfirmation) {\n throw new AdyenCheckoutError('IMPLEMENTATION_ERROR', 'onRequiringConfirmation must be provided');\n }\n // 3. success case if in case of custom pay button\n return (\n new Promise<void>((resolve, reject) => {\n void this.props.onRequiringConfirmation(resolve, reject);\n })\n //when this resolve passed to onRequiringConfirmation gets resolved make payments call\n .then(() => this.makeSubmitCall())\n //when it gets rejected handle cancellation\n .catch(() => {})\n );\n };\n\n public submit() {\n // for simplicity of the merchant we always only expose .submit()\n // however to make the actual payment call we call makeSubmitCall\n if (!this.isValid) {\n this.showValidation();\n return false;\n }\n\n this.balanceCheck();\n }\n\n // this makes the payment, as .submit is used by the merchant to trigger the payButton action\n private makeSubmitCall() {\n super.submit();\n }\n\n // Giftcards override the regular payButton flow\n public payButton = props => {\n return <PayButton {...props} />;\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <GiftcardComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n handleKeyPress={this.handleKeyPress}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n makeBalanceCheck={() => this.onBalanceCheck()}\n makePayment={() => this.makeSubmitCall()}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default GiftcardElement;\n"],"names":["GiftcardElement","UIElement","formatProps","props","_object_spread","configuration","formatData","_this_state_data","_this_state_data1","paymentMethod","type","this","constructor","brand","encryptedCardNumber","state","data","encryptedSecurityCode","isValid","icon","_this_props_brandsConfiguration_this_props_brand","brandsConfiguration","resources","getImage","displayName","name","balanceCheck","onBalanceCheck","submit","showValidation","makeSubmitCall","super","render","h","CoreProvider","i18n","loadingContext","GiftcardComponent","ref","componentRef","handleKeyPress","showPayButton","onChange","setState","makeBalanceCheck","makePayment","payButton","args","_define_property","handleBalanceCheck","Promise","resolve","reject","session","checkBalance","onOrderRequest","createOrder","setStatus","then","balance","transactionLimit","_this_props_amount","Error","currency","amount","value","order","orderData","pspReference","handleOnRequiringConfirmation","catch","error","message","onError","AdyenCheckoutError","handleError","setBalance","onRequiringConfirmation","PayButton","TxVariants","giftcard","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import o from"../../internal/Alert/Alert.js";import s from"./GiftcardResult.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as i}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as a}from"./GiftcardFields.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),o.forEach((function(e){c(t,e,r[e])}))}return t}function l(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class p extends t{setStatus(t){this.setState({status:t})}render(t,{focusedElement:a,balance:c,transactionLimit:p}){var d;const{i18n:f}=n(),h=(null==p?void 0:p.value)<(null==c?void 0:c.value)?p:c,m=(null==h?void 0:h.value)>=(null===(d=this.props.amount)||void 0===d?void 0:d.value);if(h&&m)return e(s,u({balance:c,transactionLimit:p,onSubmit:t.onSubmit},t));const b=t=>{if(t.errors.encryptedCardNumber)return f.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return f.get("error.giftcard.no-balance");case"card-error":return f.get("error.giftcard.card-error");case"currency-error":return f.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(o,{icon:"cross"},f.get("error.message.unknown")),e(r,l(u({},this.props),{ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:i,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:f,pinRequired:this.props.pinRequired,focusedElement:a,getCardErrorMessage:b,setRootNode:t,setFocusOn:e,sfpState:r})})),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.onSubmit,label:f.get("applyGiftcard")}))}constructor(...t){super(...t),c(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1}),c(this,"sfp",void 0),c(this,"onChange",(t=>{this.props.onChange({data:t.data,isValid:t.isSfpValid})})),c(this,"showValidation",(()=>{this.sfp.showValidation()})),c(this,"handleFocus",(t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)})),c(this,"setBalance",(({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}))}}c(p,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:a});export{p as default};
1
+ import{Component as t,createElement as e}from"../../../external/preact/dist/preact.js";import r from"../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import s from"../../internal/Alert/Alert.js";import o from"./GiftcardResult.js";import{useCoreContext as n}from"../../../core/Context/CoreProvider.js";import{GIFT_CARD as a}from"../../internal/SecuredFields/lib/constants.js";import{GiftCardFields as i}from"./GiftcardFields.js";function c(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e.push.apply(e,r)}return e}(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))})),t}class l extends t{setStatus(t){this.setState({status:t})}render(t,{focusedElement:i,balance:l,transactionLimit:p}){var d;const{i18n:f}=n(),h=(null==p?void 0:p.value)<(null==l?void 0:l.value)?p:l,m=(null==h?void 0:h.value)>=(null===(d=this.props.amount)||void 0===d?void 0:d.value);if(h&&m)return e(o,{amount:this.props.amount,balance:l,transactionLimit:p,makePayment:t.makePayment,status:this.state.status,showPayButton:this.props.showPayButton,payButton:this.props.payButton});const y=t=>{if(t.errors.encryptedCardNumber)return f.get(t.errors.encryptedCardNumber);switch(this.state.status){case"no-balance":return f.get("error.giftcard.no-balance");case"card-error":return f.get("error.giftcard.card-error");case"currency-error":return f.get("error.giftcard.currency-error");default:return null}};return e("div",{className:"adyen-checkout__giftcard"},"error"===this.state.status&&e(s,{icon:"cross"},f.get("error.message.unknown")),e(r,u(function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},s=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),s.forEach((function(e){c(t,e,r[e])}))}return t}({},this.props),{ref:t=>{this.sfp=t},onChange:this.onChange,onFocus:this.handleFocus,type:a,render:({setRootNode:t,setFocusOn:e},r)=>this.props.fieldsLayoutComponent({i18n:f,pinRequired:this.props.pinRequired,focusedElement:i,getCardErrorMessage:y,setRootNode:t,setFocusOn:e,sfpState:r})})),this.props.showPayButton&&this.props.payButton({status:this.state.status,onClick:this.props.makeBalanceCheck,label:f.get("applyGiftcard")}))}constructor(...t){super(...t),c(this,"state",{status:"ready",data:{},balance:null,transactionLimit:null,focusedElement:!1,isValid:!1}),c(this,"sfp",void 0),c(this,"onChange",(t=>{this.props.onChange({data:t.data,isValid:t.isSfpValid})})),c(this,"showValidation",(()=>{this.sfp.showValidation()})),c(this,"handleFocus",(t=>{this.setState({focusedElement:t.currentFocusObject});!0===t.focus?this.props.onFocus(t):this.props.onBlur(t)})),c(this,"setBalance",(({balance:t,transactionLimit:e})=>{this.setState({balance:t,transactionLimit:e})}))}}c(l,"defaultProps",{pinRequired:!0,expiryDateRequired:!1,onChange:()=>{},onFocus:()=>{},onBlur:()=>{},fieldsLayoutComponent:i});export{l as default};
2
2
  //# sourceMappingURL=GiftcardComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n onSubmit: (event) => void;\n onBalanceCheck: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return <GiftcardResult balance={balance} transactionLimit={transactionLimit} onSubmit={props.onSubmit} {...props} />;\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.onSubmit,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","_this_props_amount","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","onSubmit","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","state","div","className","Alert","icon","SecuredFieldsProvider","_object_spread_props","_object_spread","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","showPayButton","payButton","onClick","label","super","args","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"quCA4BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IAIgB,IAAAC,EAHrD,MAAMC,KAAEA,GAASC,IAEXC,GAAoBJ,aAAAA,EAAAA,EAAkBK,QAAQN,aAAAA,EAAAA,EAASM,OAAQL,EAAmBD,EAClFO,GAAmBF,aAAAA,EAAAA,EAAmBC,SAAS,QAAAJ,EAAAP,KAAKG,MAAMU,cAAX,IAAAN,OAAA,EAAAA,EAAmBI,OAExE,GAAID,GAAqBE,EACrB,OAAOE,EAACC,EAAAA,EAAAA,CAAeV,QAASA,EAASC,iBAAkBA,EAAkBU,SAAUb,EAAMa,UAAcb,IAG/G,MAAMc,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOZ,EAAKa,IAAIH,EAASC,OAAOC,qBAEzE,OAAQpB,KAAKsB,MAAMvB,QACf,IAAK,aACD,OAAOS,EAAKa,IAAI,6BACpB,IAAK,aACD,OAAOb,EAAKa,IAAI,6BACpB,IAAK,iBACD,OAAOb,EAAKa,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIP,EAACS,MAAAA,CAAIC,UAAU,4BACY,UAAtBxB,KAAKsB,MAAMvB,QAAsBe,EAACW,EAAAA,CAAMC,KAAM,SAAUlB,EAAKa,IAAI,0BAElEP,EAACa,EACOC,EAAAC,EAAA,CAAA,EAAA7B,KAAKG,OAAK,CACd2B,IAAKA,IACD9B,KAAK+B,IAAMD,CAAAA,EAEfE,SAAUhC,KAAKgC,SACfC,QAASjC,KAAKkC,YACdC,KAAMC,EACNlC,OAAQ,EAAGmC,cAAaC,cAAcpB,IAClClB,KAAKG,MAAMoC,sBAAsB,CAC7B/B,KAAMA,EACNgC,YAAaxC,KAAKG,MAAMqC,YACxBpC,eAAgBA,EAChBa,oBAAqBA,EACrBoB,YAAaA,EACbC,WAAYA,EACZpB,SAAUA,OAKrBlB,KAAKG,MAAMsC,eACRzC,KAAKG,MAAMuC,UAAU,CACjB3C,OAAQC,KAAKsB,MAAMvB,OACnB4C,QAAS3C,KAAKG,MAAMa,SACpB4B,MAAOpC,EAAKa,IAAI,mBAIpC,mBA7GJwB,SAAAC,GACIC,OAAOzB,QAAQ,CACXvB,OAAQ,QACRiD,KAAM,CAAC,EACP3C,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB6C,SAAS,IAYbF,OAAOhB,WAAP,GAEAgB,EAAA/C,KAAOgC,YAAWd,IACdlB,KAAKG,MAAM6B,SAAS,CAChBgB,KAAM9B,EAAS8B,KACfC,QAAS/B,EAASgC,YACtB,IAGJH,OAAOI,kBAAiB,KACpBnD,KAAK+B,IAAIoB,gBAAc,IAO3BJ,EAAA/C,KAAOkC,eAAckB,IACjBpD,KAAKC,SAAS,CAAEG,eAAgBgD,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBtD,KAAKG,MAAM8B,QAAQmB,GAEnBpD,KAAKG,MAAMoD,OAAOH,EACtB,IAGJL,OAAOS,cAAa,EAAGnD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9CyC,EAVEnD,EAUY6D,eAAe,CACzBjB,aAAa,EACbkB,oBAAoB,EACpB1B,SAAU,OACVC,QAAS,OACTsB,OAAQ,OACRhB,sBAAuBoB"}
1
+ {"version":3,"file":"GiftcardComponent.js","sources":["../../../../../src/components/Giftcard/components/GiftcardComponent.tsx"],"sourcesContent":["import { Component, FunctionComponent, h } from 'preact';\nimport SecuredFieldsProvider from '../../internal/SecuredFields/SFP/SecuredFieldsProvider';\nimport Alert from '../../internal/Alert';\nimport GiftcardResult from './GiftcardResult';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { GIFT_CARD } from '../../internal/SecuredFields/lib/constants';\nimport { GiftCardFields } from './GiftcardFields';\nimport { GiftcardFieldsProps, Placeholders } from './types';\n\ninterface GiftcardComponentProps {\n onChange: (state) => void;\n onFocus: (event) => void;\n onBlur: (event) => void;\n\n makeBalanceCheck: (event) => void;\n makePayment: (event) => void;\n\n amount?: PaymentAmount;\n showPayButton: boolean;\n payButton: (config) => any;\n\n pinRequired: boolean;\n expiryDateRequired?: boolean;\n fieldsLayoutComponent: FunctionComponent<GiftcardFieldsProps>;\n placeholders?: Placeholders;\n handleKeyPress?: (o: KeyboardEvent) => void;\n}\n\nclass Giftcard extends Component<GiftcardComponentProps> {\n public state = {\n status: 'ready',\n data: {},\n balance: null,\n transactionLimit: null,\n focusedElement: false,\n isValid: false\n };\n\n public static defaultProps = {\n pinRequired: true,\n expiryDateRequired: false,\n onChange: () => {},\n onFocus: () => {},\n onBlur: () => {},\n fieldsLayoutComponent: GiftCardFields\n };\n\n public sfp;\n\n public onChange = sfpState => {\n this.props.onChange({\n data: sfpState.data,\n isValid: sfpState.isSfpValid\n });\n };\n\n public showValidation = () => {\n this.sfp.showValidation();\n };\n\n setStatus(status) {\n this.setState({ status });\n }\n\n public handleFocus = e => {\n this.setState({ focusedElement: e.currentFocusObject });\n\n const isFocused = e.focus === true;\n if (isFocused) {\n this.props.onFocus(e);\n } else {\n this.props.onBlur(e);\n }\n };\n\n public setBalance = ({ balance, transactionLimit }) => {\n this.setState({ balance, transactionLimit });\n };\n\n render(props, { focusedElement, balance, transactionLimit }) {\n const { i18n } = useCoreContext();\n\n const transactionAmount = transactionLimit?.value < balance?.value ? transactionLimit : balance;\n const hasEnoughBalance = transactionAmount?.value >= this.props.amount?.value;\n\n if (transactionAmount && hasEnoughBalance) {\n return (\n <GiftcardResult\n amount={this.props.amount}\n balance={balance}\n transactionLimit={transactionLimit}\n makePayment={props.makePayment}\n status={this.state.status}\n showPayButton={this.props.showPayButton}\n payButton={this.props.payButton}\n />\n );\n }\n\n const getCardErrorMessage = sfpState => {\n if (sfpState.errors.encryptedCardNumber) return i18n.get(sfpState.errors.encryptedCardNumber);\n\n switch (this.state.status) {\n case 'no-balance':\n return i18n.get('error.giftcard.no-balance');\n case 'card-error':\n return i18n.get('error.giftcard.card-error');\n case 'currency-error':\n return i18n.get('error.giftcard.currency-error');\n default:\n return null;\n }\n };\n\n return (\n <div className=\"adyen-checkout__giftcard\">\n {this.state.status === 'error' && <Alert icon={'cross'}>{i18n.get('error.message.unknown')}</Alert>}\n\n <SecuredFieldsProvider\n {...this.props}\n ref={ref => {\n this.sfp = ref;\n }}\n onChange={this.onChange}\n onFocus={this.handleFocus}\n type={GIFT_CARD}\n render={({ setRootNode, setFocusOn }, sfpState) =>\n this.props.fieldsLayoutComponent({\n i18n: i18n,\n pinRequired: this.props.pinRequired,\n focusedElement: focusedElement,\n getCardErrorMessage: getCardErrorMessage,\n setRootNode: setRootNode,\n setFocusOn: setFocusOn,\n sfpState: sfpState\n })\n }\n />\n\n {this.props.showPayButton &&\n this.props.payButton({\n status: this.state.status,\n onClick: this.props.makeBalanceCheck,\n label: i18n.get('applyGiftcard')\n })}\n </div>\n );\n }\n}\n\nexport default Giftcard;\n"],"names":["Giftcard","Component","setStatus","status","this","setState","render","props","focusedElement","balance","transactionLimit","_this_props_amount","i18n","useCoreContext","transactionAmount","value","hasEnoughBalance","amount","h","GiftcardResult","makePayment","state","showPayButton","payButton","getCardErrorMessage","sfpState","errors","encryptedCardNumber","get","div","className","Alert","icon","SecuredFieldsProvider","_object_spread_props","_object_spread","ref","sfp","onChange","onFocus","handleFocus","type","GIFT_CARD","setRootNode","setFocusOn","fieldsLayoutComponent","pinRequired","onClick","makeBalanceCheck","label","super","args","_define_property","data","isValid","isSfpValid","showValidation","e","currentFocusObject","focus","onBlur","setBalance","defaultProps","expiryDateRequired","GiftCardFields"],"mappings":"65BA6BA,MAAMA,UAAiBC,EAgCnBC,SAAAA,CAAUC,GACNC,KAAKC,SAAS,CAAEF,UACpB,CAiBAG,MAAAA,CAAOC,GAAOC,eAAEA,EAAcC,QAAEA,EAAOC,iBAAEA,IAIgB,IAAAC,EAHrD,MAAMC,KAAEA,GAASC,IAEXC,GAAoBJ,aAAAA,EAAAA,EAAkBK,QAAQN,aAAAA,EAAAA,EAASM,OAAQL,EAAmBD,EAClFO,GAAmBF,aAAAA,EAAAA,EAAmBC,SAAS,QAAAJ,EAAAP,KAAKG,MAAMU,cAAX,IAAAN,OAAA,EAAAA,EAAmBI,OAExE,GAAID,GAAqBE,EACrB,OACIE,EAACC,EAAAA,CACGF,OAAQb,KAAKG,MAAMU,OACnBR,QAASA,EACTC,iBAAkBA,EAClBU,YAAab,EAAMa,YACnBjB,OAAQC,KAAKiB,MAAMlB,OACnBmB,cAAelB,KAAKG,MAAMe,cAC1BC,UAAWnB,KAAKG,MAAMgB,YAKlC,MAAMC,EAAsBC,IACxB,GAAIA,EAASC,OAAOC,oBAAqB,OAAOf,EAAKgB,IAAIH,EAASC,OAAOC,qBAEzE,OAAQvB,KAAKiB,MAAMlB,QACf,IAAK,aACD,OAAOS,EAAKgB,IAAI,6BACpB,IAAK,aACD,OAAOhB,EAAKgB,IAAI,6BACpB,IAAK,iBACD,OAAOhB,EAAKgB,IAAI,iCACpB,QACI,OAAO,KACf,EAGJ,OACIV,EAACW,MAAAA,CAAIC,UAAU,4BACY,UAAtB1B,KAAKiB,MAAMlB,QAAsBe,EAACa,EAAAA,CAAMC,KAAM,SAAUpB,EAAKgB,IAAI,0BAElEV,EAACe,EACOC,wUAAAC,CAAA,CAAA,EAAA/B,KAAKG,OAAK,CACd6B,IAAKA,IACDhC,KAAKiC,IAAMD,CAAAA,EAEfE,SAAUlC,KAAKkC,SACfC,QAASnC,KAAKoC,YACdC,KAAMC,EACNpC,OAAQ,EAAGqC,cAAaC,cAAcnB,IAClCrB,KAAKG,MAAMsC,sBAAsB,CAC7BjC,KAAMA,EACNkC,YAAa1C,KAAKG,MAAMuC,YACxBtC,eAAgBA,EAChBgB,oBAAqBA,EACrBmB,YAAaA,EACbC,WAAYA,EACZnB,SAAUA,OAKrBrB,KAAKG,MAAMe,eACRlB,KAAKG,MAAMgB,UAAU,CACjBpB,OAAQC,KAAKiB,MAAMlB,OACnB4C,QAAS3C,KAAKG,MAAMyC,iBACpBC,MAAOrC,EAAKgB,IAAI,mBAIpC,mBAvHJsB,SAAAC,GACIC,OAAO/B,QAAQ,CACXlB,OAAQ,QACRkD,KAAM,CAAC,EACP5C,QAAS,KACTC,iBAAkB,KAClBF,gBAAgB,EAChB8C,SAAS,IAYbF,OAAOf,WAAP,GAEAe,EAAAhD,KAAOkC,YAAWb,IACdrB,KAAKG,MAAM+B,SAAS,CAChBe,KAAM5B,EAAS4B,KACfC,QAAS7B,EAAS8B,YACtB,IAGJH,OAAOI,kBAAiB,KACpBpD,KAAKiC,IAAImB,gBAAc,IAO3BJ,EAAAhD,KAAOoC,eAAciB,IACjBrD,KAAKC,SAAS,CAAEG,eAAgBiD,EAAEC,sBAEJ,IAAZD,EAAEE,MAEhBvD,KAAKG,MAAMgC,QAAQkB,GAEnBrD,KAAKG,MAAMqD,OAAOH,EACtB,IAGJL,OAAOS,cAAa,EAAGpD,UAASC,uBAC5BN,KAAKC,SAAS,CAAEI,UAASC,oBAAiB,KAtC9C0C,EAVEpD,EAUY8D,eAAe,CACzBhB,aAAa,EACbiB,oBAAoB,EACpBzB,SAAU,OACVC,QAAS,OACTqB,OAAQ,OACRf,sBAAuBmB"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const d=({i18n:d,classNameModifiers:o,sfpState:c,getCardErrorMessage:s,focusedElement:m,setFocusOn:i})=>a(t,{label:d.get("giftcard.cardNumber.label"),classNameModifiers:["number",...o],errorMessage:s(c),focused:"encryptedCardNumber"===m,onFocusField:()=>i("encryptedCardNumber"),dir:"ltr",name:"encryptedCardNumber",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedCardNumber","data-info":'{"length":"15-32", "maskInterval":4}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cardNumber__input":!0,"adyen-checkout__input--error":s(c),"adyen-checkout__input--focus":"encryptedCardNumber"===m})}));export{d as GiftcardNumberField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const d=({i18n:d,classNameModifiers:o,sfpState:c,getCardErrorMessage:s,focusedElement:i,setFocusOn:m})=>a(t,{label:d.get("giftcard.cardNumber.label"),classNameModifiers:["number",...o],errorMessage:s(c),focused:"encryptedCardNumber"===i,onFocusField:()=>m("encryptedCardNumber"),dir:"ltr",name:"encryptedCardNumber",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedCardNumber","data-info":'{"length":"15-32", "maskInterval":4}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cardNumber__input":!0,"adyen-checkout__input--error":s(c),"adyen-checkout__input--focus":"encryptedCardNumber"===i})}));export{d as GiftcardNumberField};
2
2
  //# sourceMappingURL=GiftcardNumberField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardNumberField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardNumberField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardNumberField = ({ i18n, classNameModifiers, sfpState, getCardErrorMessage, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.cardNumber.label')}\n classNameModifiers={['number', ...classNameModifiers]}\n errorMessage={getCardErrorMessage(sfpState)}\n focused={focusedElement === 'encryptedCardNumber'}\n onFocusField={() => setFocusOn('encryptedCardNumber')}\n dir={'ltr'}\n name={'encryptedCardNumber'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedCardNumber\"\n data-info='{\"length\":\"15-32\", \"maskInterval\":4}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cardNumber__input': true,\n 'adyen-checkout__input--error': getCardErrorMessage(sfpState),\n 'adyen-checkout__input--focus': focusedElement === 'encryptedCardNumber'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardNumberField","i18n","classNameModifiers","sfpState","getCardErrorMessage","focusedElement","setFocusOn","h","Field","label","get","errorMessage","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"2WAOaA,MAAAA,EAAsB,EAAGC,OAAMC,qBAAoBC,WAAUC,sBAAqBC,iBAAgBC,gBAEvGC,EAACC,EAAAA,CACGC,MAAOR,EAAKS,IAAI,6BAChBR,mBAAoB,CAAC,YAAaA,GAClCS,aAAcP,EAAoBD,GAClCS,QAA4B,wBAAnBP,EACTQ,aAAc,IAAMP,EAAW,uBAC/BQ,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,sBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,2CAA2C,EAC3C,+BAAgCpB,EAAoBD,GACpD,+BAAmD,wBAAnBE"}
1
+ {"version":3,"file":"GiftcardNumberField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardNumberField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardNumberField = ({ i18n, classNameModifiers, sfpState, getCardErrorMessage, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.cardNumber.label')}\n classNameModifiers={['number', ...classNameModifiers]}\n errorMessage={getCardErrorMessage(sfpState)}\n focused={focusedElement === 'encryptedCardNumber'}\n onFocusField={() => setFocusOn('encryptedCardNumber')}\n dir={'ltr'}\n name={'encryptedCardNumber'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedCardNumber\"\n data-info='{\"length\":\"15-32\", \"maskInterval\":4}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cardNumber__input': true,\n 'adyen-checkout__input--error': getCardErrorMessage(sfpState),\n 'adyen-checkout__input--focus': focusedElement === 'encryptedCardNumber'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardNumberField","i18n","classNameModifiers","sfpState","getCardErrorMessage","focusedElement","setFocusOn","h","Field","label","get","errorMessage","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"gWAOaA,MAAAA,EAAsB,EAAGC,OAAMC,qBAAoBC,WAAUC,sBAAqBC,iBAAgBC,gBAEvGC,EAACC,EAAAA,CACGC,MAAOR,EAAKS,IAAI,6BAChBR,mBAAoB,CAAC,YAAaA,GAClCS,aAAcP,EAAoBD,GAClCS,QAA4B,wBAAnBP,EACTQ,aAAc,IAAMP,EAAW,uBAC/BQ,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,sBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,2CAA2C,EAC3C,+BAAgCpB,EAAoBD,GACpD,+BAAmD,wBAAnBE"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const c=({i18n:c,classNameModifiers:a,sfpState:d,focusedElement:i,setFocusOn:s,label:p=c.get("creditCard.pin.label")})=>n(t,{label:p,classNameModifiers:["pin",...a],errorMessage:d.errors.encryptedSecurityCode&&c.get(d.errors.encryptedSecurityCode),focused:"encryptedSecurityCode"===i,onFocusField:()=>s("encryptedSecurityCode"),dir:"ltr",name:"encryptedSecurityCode",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:o},n(e,{encryptedFieldType:"encryptedSecurityCode","data-info":'{"length":"3-10", "maskInterval": 0}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cvc__input":!0,"adyen-checkout__input--error":d.errors.encryptedSecurityCode,"adyen-checkout__input--focus":"encryptedSecurityCode"===i})}));export{c as GiftcardPinField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as n}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as o}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const c=({i18n:c,classNameModifiers:d,sfpState:a,focusedElement:i,setFocusOn:s,label:p=c.get("creditCard.pin.label")})=>n(t,{label:p,classNameModifiers:["pin",...d],errorMessage:a.errors.encryptedSecurityCode&&c.get(a.errors.encryptedSecurityCode),focused:"encryptedSecurityCode"===i,onFocusField:()=>s("encryptedSecurityCode"),dir:"ltr",name:"encryptedSecurityCode",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:o},n(e,{encryptedFieldType:"encryptedSecurityCode","data-info":'{"length":"3-10", "maskInterval": 0}',className:r({"adyen-checkout__input":!0,"adyen-checkout__input--large":!0,"adyen-checkout__card__cvc__input":!0,"adyen-checkout__input--error":a.errors.encryptedSecurityCode,"adyen-checkout__input--focus":"encryptedSecurityCode"===i})}));export{c as GiftcardPinField};
2
2
  //# sourceMappingURL=GiftcardPinField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: GiftcardFieldProps) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors.encryptedSecurityCode && i18n.get(sfpState.errors.encryptedSecurityCode)}\n focused={focusedElement === 'encryptedSecurityCode'}\n onFocusField={() => setFocusOn('encryptedSecurityCode')}\n dir={'ltr'}\n name={'encryptedSecurityCode'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedSecurityCode\"\n data-info='{\"length\":\"3-10\", \"maskInterval\": 0}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cvc__input': true,\n 'adyen-checkout__input--error': sfpState.errors.encryptedSecurityCode,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedSecurityCode'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardPinField","i18n","classNameModifiers","sfpState","focusedElement","setFocusOn","label","get","h","Field","errorMessage","errors","encryptedSecurityCode","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"iXAOaA,EAAmB,EAC5BC,OACAC,qBACAC,WACAC,iBACAC,aACAC,QAAQL,EAAKM,IAAI,2BAGbC,EAACC,EAAAA,CACGH,MAAOA,EACPJ,mBAAoB,CAAC,SAAUA,GAC/BQ,aAAcP,EAASQ,OAAOC,uBAAyBX,EAAKM,IAAIJ,EAASQ,OAAOC,uBAChFC,QAA4B,0BAAnBT,EACTU,aAAc,IAAMT,EAAW,yBAC/BU,IAAK,MACLC,KAAM,wBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,wBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,oCAAoC,EACpC,+BAAgCtB,EAASQ,OAAOC,sBAChD,+BAAmD,0BAAnBR"}
1
+ {"version":3,"file":"GiftcardPinField.js","sources":["../../../../../src/components/Giftcard/components/GiftcardPinField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from './types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const GiftcardPinField = ({\n i18n,\n classNameModifiers,\n sfpState,\n focusedElement,\n setFocusOn,\n label = i18n.get('creditCard.pin.label')\n}: GiftcardFieldProps) => {\n return (\n <Field\n label={label}\n classNameModifiers={['pin', ...classNameModifiers]}\n errorMessage={sfpState.errors.encryptedSecurityCode && i18n.get(sfpState.errors.encryptedSecurityCode)}\n focused={focusedElement === 'encryptedSecurityCode'}\n onFocusField={() => setFocusOn('encryptedSecurityCode')}\n dir={'ltr'}\n name={'encryptedSecurityCode'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType=\"encryptedSecurityCode\"\n data-info='{\"length\":\"3-10\", \"maskInterval\": 0}'\n className={classNames({\n 'adyen-checkout__input': true,\n 'adyen-checkout__input--large': true,\n 'adyen-checkout__card__cvc__input': true,\n 'adyen-checkout__input--error': sfpState.errors.encryptedSecurityCode,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedSecurityCode'\n })}\n />\n </Field>\n );\n};\n"],"names":["GiftcardPinField","i18n","classNameModifiers","sfpState","focusedElement","setFocusOn","label","get","h","Field","errorMessage","errors","encryptedSecurityCode","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","data-info","className","classNames"],"mappings":"sWAOaA,EAAmB,EAC5BC,OACAC,qBACAC,WACAC,iBACAC,aACAC,QAAQL,EAAKM,IAAI,2BAGbC,EAACC,EAAAA,CACGH,MAAOA,EACPJ,mBAAoB,CAAC,SAAUA,GAC/BQ,aAAcP,EAASQ,OAAOC,uBAAyBX,EAAKM,IAAIJ,EAASQ,OAAOC,uBAChFC,QAA4B,0BAAnBT,EACTU,aAAc,IAAMT,EAAW,yBAC/BU,IAAK,MACLC,KAAM,wBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1BZ,EAACa,EAAAA,CACGC,mBAAmB,wBACnBC,YAAU,uCACVC,UAAWC,EAAW,CAClB,yBAAyB,EACzB,gCAAgC,EAChC,oCAAoC,EACpC,+BAAgCtB,EAASQ,OAAOC,sBAChD,+BAAmD,0BAAnBR"}
@@ -1,2 +1,2 @@
1
- import{createElement as a}from"../../../external/preact/dist/preact.js";import{useCoreContext as e}from"../../../core/Context/CoreProvider.js";function t(a,e){if(null==a)return{};var t,n,c=function(a,e){if(null==a)return{};var t,n,c={},r=Object.keys(a);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||(c[t]=a[t]);return c}(a,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);for(n=0;n<r.length;n++)t=r[n],e.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(a,t)&&(c[t]=a[t])}return c}function n(n){var{brand:c,amount:r,balance:l,transactionLimit:u}=n,i=t(n,["brand","amount","balance","transactionLimit"]);const{i18n:o}=e(),s=r.value>(null==u?void 0:u.value)?u:r,_=(null==l?void 0:l.value)-(null==s?void 0:s.value);return a("div",{className:"adyen-checkout__giftcard-result"},a("ul",{className:"adyen-checkout__giftcard-result__balance"},a("li",{className:"adyen-checkout__giftcard-result__balance__item"},a("span",{className:"adyen-checkout__giftcard-result__balance__title"},o.get("giftcardBalance")),a("span",{className:"adyen-checkout__giftcard-result__balance__value adyen-checkout__giftcard-result__balance__value--amount"},o.amount(l.value,l.currency))),u&&u.value&&a("li",{className:"adyen-checkout__giftcard-result__balance__item"},a("span",{className:"adyen-checkout__giftcard-result__balance__title adyen-checkout__giftcard-result__balance__title--transactionLimit"},o.get("giftcardTransactionLimit",{values:{amount:o.amount(u.value,u.currency)}})))),this.props.showPayButton&&this.props.payButton({amount:s,status:i.status,onClick:i.onSubmit}),a("p",{className:"adyen-checkout__giftcard-result__remaining-balance"},o.get("partialPayment.remainingBalance",{values:{amount:o.amount(_,l.currency)}})))}export{n as default};
1
+ import{createElement as a}from"../../../external/preact/dist/preact.js";import{useCoreContext as e}from"../../../core/Context/CoreProvider.js";function t({amount:t,balance:c,transactionLimit:n,status:l,makePayment:u,showPayButton:_,payButton:r}){const{i18n:s}=e(),i=t.value>(null==n?void 0:n.value)?n:t,o=(null==c?void 0:c.value)-(null==i?void 0:i.value);return a("div",{className:"adyen-checkout__giftcard-result"},a("ul",{className:"adyen-checkout__giftcard-result__balance"},a("li",{className:"adyen-checkout__giftcard-result__balance__item"},a("span",{className:"adyen-checkout__giftcard-result__balance__title"},s.get("giftcardBalance")),a("span",{className:"adyen-checkout__giftcard-result__balance__value adyen-checkout__giftcard-result__balance__value--amount"},s.amount(c.value,c.currency))),n&&n.value&&a("li",{className:"adyen-checkout__giftcard-result__balance__item"},a("span",{className:"adyen-checkout__giftcard-result__balance__title adyen-checkout__giftcard-result__balance__title--transactionLimit"},s.get("giftcardTransactionLimit",{values:{amount:s.amount(n.value,n.currency)}})))),_&&r({amount:i,status:l,onClick:u}),a("p",{className:"adyen-checkout__giftcard-result__remaining-balance"},s.get("partialPayment.remainingBalance",{values:{amount:s.amount(o,c.currency)}})))}export{t as default};
2
2
  //# sourceMappingURL=GiftcardResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GiftcardResult.js","sources":["../../../../../src/components/Giftcard/components/GiftcardResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport './GiftcardResult.scss';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\n\nfunction GiftcardResult({ brand, amount, balance, transactionLimit, ...props }) {\n const { i18n } = useCoreContext();\n const transactionAmount = amount.value > transactionLimit?.value ? transactionLimit : amount;\n const remainingBalance = balance?.value - transactionAmount?.value;\n\n return (\n <div className=\"adyen-checkout__giftcard-result\">\n <ul className=\"adyen-checkout__giftcard-result__balance\">\n <li className=\"adyen-checkout__giftcard-result__balance__item\">\n <span className=\"adyen-checkout__giftcard-result__balance__title\">{i18n.get('giftcardBalance')}</span>\n <span className=\"adyen-checkout__giftcard-result__balance__value adyen-checkout__giftcard-result__balance__value--amount\">\n {i18n.amount(balance.value, balance.currency)}\n </span>\n </li>\n {transactionLimit && transactionLimit.value && (\n <li className=\"adyen-checkout__giftcard-result__balance__item\">\n <span className=\"adyen-checkout__giftcard-result__balance__title adyen-checkout__giftcard-result__balance__title--transactionLimit\">\n {i18n.get('giftcardTransactionLimit', {\n values: { amount: i18n.amount(transactionLimit.value, transactionLimit.currency) }\n })}\n </span>\n </li>\n )}\n </ul>\n\n {this.props.showPayButton &&\n this.props.payButton({\n amount: transactionAmount,\n status: props.status,\n onClick: props.onSubmit\n })}\n\n <p className=\"adyen-checkout__giftcard-result__remaining-balance\">\n {i18n.get('partialPayment.remainingBalance', {\n values: { amount: i18n.amount(remainingBalance, balance.currency) }\n })}\n </p>\n </div>\n );\n}\n\nexport default GiftcardResult;\n"],"names":["GiftcardResult","_param","brand","amount","balance","transactionLimit","props","_object_without_properties","i18n","useCoreContext","transactionAmount","value","remainingBalance","h","div","className","ul","li","span","get","currency","values","this","showPayButton","payButton","status","onClick","onSubmit","p"],"mappings":"mgBAIA,SAASA,EAAeC,OAAAC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,EAAOC,iBAAEA,GAA1BJ,EAA+CK,EAA/CC,EAAAN,EAAA,CAAEC,QAAOC,SAAQC,UAASC,qBAC9C,MAAMG,KAAEA,GAASC,IACXC,EAAoBP,EAAOQ,OAAQN,aAAAA,EAAAA,EAAkBM,OAAQN,EAAmBF,EAChFS,GAAmBR,aAAAA,EAAAA,EAASO,QAAQD,aAAAA,EAAAA,EAAmBC,OAE7D,OACIE,EAACC,MAAAA,CAAIC,UAAU,mCACXF,EAACG,KAAAA,CAAGD,UAAU,4CACVF,EAACI,KAAAA,CAAGF,UAAU,kDACVF,EAACK,OAAAA,CAAKH,UAAU,mDAAmDP,EAAKW,IAAI,oBAC5EN,EAACK,OAAAA,CAAKH,UAAU,2GACXP,EAAKL,OAAOC,EAAQO,MAAOP,EAAQgB,YAG3Cf,GAAoBA,EAAiBM,OAClCE,EAACI,KAAAA,CAAGF,UAAU,kDACVF,EAACK,OAAAA,CAAKH,UAAU,qHACXP,EAAKW,IAAI,2BAA4B,CAClCE,OAAQ,CAAElB,OAAQK,EAAKL,OAAOE,EAAiBM,MAAON,EAAiBe,gBAO1FE,KAAKhB,MAAMiB,eACRD,KAAKhB,MAAMkB,UAAU,CACjBrB,OAAQO,EACRe,OAAQnB,EAAMmB,OACdC,QAASpB,EAAMqB,WAGvBd,EAACe,IAAAA,CAAEb,UAAU,sDACRP,EAAKW,IAAI,kCAAmC,CACzCE,OAAQ,CAAElB,OAAQK,EAAKL,OAAOS,EAAkBR,EAAQgB,cAK5E"}
1
+ {"version":3,"file":"GiftcardResult.js","sources":["../../../../../src/components/Giftcard/components/GiftcardResult.tsx"],"sourcesContent":["import { h } from 'preact';\nimport './GiftcardResult.scss';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { PayButtonProps } from '../../internal/PayButton/PayButton';\n\ninterface GiftcardResultProps {\n amount: PaymentAmount;\n balance: PaymentAmount;\n transactionLimit: PaymentAmount;\n status: string;\n makePayment: () => void;\n showPayButton: boolean;\n payButton(props?: PayButtonProps): h.JSX.Element;\n}\n\nfunction GiftcardResult({ amount, balance, transactionLimit, status, makePayment, showPayButton, payButton }: GiftcardResultProps) {\n const { i18n } = useCoreContext();\n const transactionAmount = amount.value > transactionLimit?.value ? transactionLimit : amount;\n const remainingBalance = balance?.value - transactionAmount?.value;\n\n return (\n <div className=\"adyen-checkout__giftcard-result\">\n <ul className=\"adyen-checkout__giftcard-result__balance\">\n <li className=\"adyen-checkout__giftcard-result__balance__item\">\n <span className=\"adyen-checkout__giftcard-result__balance__title\">{i18n.get('giftcardBalance')}</span>\n <span className=\"adyen-checkout__giftcard-result__balance__value adyen-checkout__giftcard-result__balance__value--amount\">\n {i18n.amount(balance.value, balance.currency)}\n </span>\n </li>\n {transactionLimit && transactionLimit.value && (\n <li className=\"adyen-checkout__giftcard-result__balance__item\">\n <span className=\"adyen-checkout__giftcard-result__balance__title adyen-checkout__giftcard-result__balance__title--transactionLimit\">\n {i18n.get('giftcardTransactionLimit', {\n values: { amount: i18n.amount(transactionLimit.value, transactionLimit.currency) }\n })}\n </span>\n </li>\n )}\n </ul>\n\n {showPayButton &&\n payButton({\n amount: transactionAmount,\n status: status,\n onClick: makePayment\n })}\n\n <p className=\"adyen-checkout__giftcard-result__remaining-balance\">\n {i18n.get('partialPayment.remainingBalance', {\n values: { amount: i18n.amount(remainingBalance, balance.currency) }\n })}\n </p>\n </div>\n );\n}\n\nexport default GiftcardResult;\n"],"names":["GiftcardResult","amount","balance","transactionLimit","status","makePayment","showPayButton","payButton","i18n","useCoreContext","transactionAmount","value","remainingBalance","h","div","className","ul","li","span","get","currency","values","onClick","p"],"mappings":"+IAgBA,SAASA,GAAeC,OAAEA,EAAMC,QAAEA,EAAOC,iBAAEA,EAAgBC,OAAEA,EAAMC,YAAEA,EAAWC,cAAEA,EAAaC,UAAEA,IAC7F,MAAMC,KAAEA,GAASC,IACXC,EAAoBT,EAAOU,OAAQR,aAAAA,EAAAA,EAAkBQ,OAAQR,EAAmBF,EAChFW,GAAmBV,aAAAA,EAAAA,EAASS,QAAQD,aAAAA,EAAAA,EAAmBC,OAE7D,OACIE,EAACC,MAAAA,CAAIC,UAAU,mCACXF,EAACG,KAAAA,CAAGD,UAAU,4CACVF,EAACI,KAAAA,CAAGF,UAAU,kDACVF,EAACK,OAAAA,CAAKH,UAAU,mDAAmDP,EAAKW,IAAI,oBAC5EN,EAACK,OAAAA,CAAKH,UAAU,2GACXP,EAAKP,OAAOC,EAAQS,MAAOT,EAAQkB,YAG3CjB,GAAoBA,EAAiBQ,OAClCE,EAACI,KAAAA,CAAGF,UAAU,kDACVF,EAACK,OAAAA,CAAKH,UAAU,qHACXP,EAAKW,IAAI,2BAA4B,CAClCE,OAAQ,CAAEpB,OAAQO,EAAKP,OAAOE,EAAiBQ,MAAOR,EAAiBiB,gBAO1Fd,GACGC,EAAU,CACNN,OAAQS,EACRN,OAAQA,EACRkB,QAASjB,IAGjBQ,EAACU,IAAAA,CAAER,UAAU,sDACRP,EAAKW,IAAI,kCAAmC,CACzCE,OAAQ,CAAEpB,OAAQO,EAAKP,OAAOW,EAAkBV,EAAQkB,cAK5E"}
@@ -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"./GooglePayService.js";import r from"./components/GooglePayButton.js";import n from"./defaultProps.js";import{getGooglePayLocale as s,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as p}from"../tx-variants.js";import{sanitizeResponse as h,verifyPaymentDidNotFail as u}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as d,ANALYTICS_INSTANT_PAYMENT_BUTTON as c}from"../../core/Analytics/constants.js";function y(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function g(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable})))),r.forEach((function(e){y(t,e,o[e])}))}return t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))})),t}class P extends e{formatProps(t){var e,o;const r=null!==(o=t.buttonSizeMode)&&void 0!==o?o:t.isDropin?"fill":"static";var n;const i=s(null!==(n=t.buttonLocale)&&void 0!==n?n:null===(e=t.i18n)||void 0===e?void 0:e.locale),a=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return m(g({},t),{configuration:t.configuration,buttonSizeMode:r,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:r}=this.state,{isExpress:n}=this.props;return g({paymentMethod:g({type:this.type,googlePayCardNetwork:t,googlePayToken:e},n&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},r&&{deliveryAddress:r})}submitAnalytics(t){super.submitAnalytics(g({},t),this.props)}async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized(g({authorizedEvent:o},r&&{billingAddress:r},n&&{deliveryAddress:n}),{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}get browserInfo(){return a()}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(r,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(t,e){super(t,e),y(this,"googlePay",void 0),y(this,"submit",(()=>{this.props.isInstantPayment&&this.submitAnalytics({type:d,target:c}),new Promise(((t,e)=>this.props.onClick(t,e))).then((()=>this.googlePay.initiatePayment(this.props,this.core.options.countryCode))).catch((t=>{"CANCELED"===t.statusCode?this.handleError(new l("CANCEL",t.toString(),{cause:t})):this.handleError(new l("ERROR",t.toString(),{cause:t}))}))})),y(this,"onPaymentAuthorized",(async t=>{const e=i(t.paymentMethodData.info.billingAddress),o=i(t.shippingAddress,!0);return this.setState(g({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork},e&&{billingAddress:e},o&&{deliveryAddress:o})),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(h).then(u).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{var o;this.setElementStatus("ready");const r=null==e||null===(o=e.error)||void 0===o?void 0:o.googlePayError,n=this.props.i18n.get("error.subtitle.payment"),s="string"==typeof r?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:r||n}:{intent:(null==r?void 0:r.intent)||"PAYMENT_AUTHORIZATION",reason:(null==r?void 0:r.reason)||"OTHER_ERROR",message:(null==r?void 0:r.message)||n};t({transactionState:"ERROR",error:s});const i=m(g({},e),{error:{googlePayError:s}});this.handleFailedResult(i)}))}))})),y(this,"isReadyToPay",(()=>this.googlePay.isReadyToPay(this.props))),y(this,"prefetch",(()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode))),this.handleAuthorization=this.handleAuthorization.bind(this);const{isExpress:r,paymentDataCallbacks:n}=this.props;if(!1===r&&(null==n?void 0:n.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,m(g({},r&&(null==n?void 0:n.onPaymentDataChanged)&&{onPaymentDataChanged:n.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}y(P,"type",p.googlepay),y(P,"txVariants",[p.googlepay,p.paywithgoogle]),y(P,"defaultProps",n);export{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"./GooglePayService.js";import r from"./components/GooglePayButton.js";import n from"./defaultProps.js";import{getGooglePayLocale as s,formatGooglePayContactToAdyenAddressFormat as i}from"./utils.js";import a from"../../utils/browserInfo.js";import l from"../../core/Errors/AdyenCheckoutError.js";import{TxVariants as h}from"../tx-variants.js";import{sanitizeResponse as p,verifyPaymentDidNotFail as u}from"../internal/UIElement/utils.js";import{ANALYTICS_SELECTED_STR as d,ANALYTICS_INSTANT_PAYMENT_BUTTON as y}from"../../core/Analytics/constants.js";function c(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function g(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable})))),r.forEach((function(e){c(t,e,o[e])}))}return t}function m(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))})),t}class P extends e{formatProps(t){var e,o;const r=null!==(o=t.buttonSizeMode)&&void 0!==o?o:t.isDropin?"fill":"static";var n;const i=s(null!==(n=t.buttonLocale)&&void 0!==n?n:null===(e=t.i18n)||void 0===e?void 0:e.locale),a=[...t.callbackIntents,"PAYMENT_AUTHORIZATION"];return m(g({},t),{configuration:t.configuration,buttonSizeMode:r,buttonLocale:i,callbackIntents:a})}formatData(){const{googlePayCardNetwork:t,googlePayToken:e,billingAddress:o,deliveryAddress:r}=this.state,{isExpress:n}=this.props;return g({paymentMethod:g({type:this.type,googlePayCardNetwork:t,googlePayToken:e},n&&{subtype:"express"}),browserInfo:this.browserInfo,origin:!!window&&window.location.origin},o&&{billingAddress:o},r&&{deliveryAddress:r})}submitAnalytics(t){super.submitAnalytics(g({},t),this.props)}showGooglePayPaymentSheet(){this.googlePay.initiatePayment(this.props,this.core.options.countryCode).catch((t=>{this.handleError(new l("CANCELED"===t.statusCode?"CANCEL":"ERROR",t.toString(),{cause:t}))}))}async handleAuthorization(){return new Promise(((t,e)=>{this.props.onAuthorized||t();const{authorizedEvent:o,billingAddress:r,deliveryAddress:n}=this.state;this.props.onAuthorized(g({authorizedEvent:o},r&&{billingAddress:r},n&&{deliveryAddress:n}),{resolve:t,reject:e})})).catch((t=>{const e={error:{googlePayError:t}};return Promise.reject(e)}))}get isValid(){return!!this.state.googlePayToken}async isAvailable(){return this.isReadyToPay().then((t=>{if(!t.result)throw new l("ERROR","GooglePay is not available");if(!1===t.paymentMethodPresent)throw new l("ERROR","GooglePay - No paymentMethodPresent");return Promise.resolve()})).catch((t=>Promise.reject(t)))}get browserInfo(){return a()}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()("googlepay")}render(){return this.props.showPayButton?t(r,{buttonColor:this.props.buttonColor,buttonType:this.props.buttonType,buttonSizeMode:this.props.buttonSizeMode,buttonLocale:this.props.buttonLocale,buttonRootNode:this.props.buttonRootNode,buttonRadius:this.props.buttonRadius,paymentsClient:this.googlePay.paymentsClient,onClick:this.submit}):null}constructor(t,e){super(t,e),c(this,"googlePay",void 0),c(this,"submit",(()=>{this.props.isInstantPayment&&this.submitAnalytics({type:d,target:y}),new Promise(((t,e)=>this.props.onClick(t,e))).then(this.showGooglePayPaymentSheet).catch((()=>{}))})),c(this,"onPaymentAuthorized",(async t=>{const e=i(t.paymentMethodData.info.billingAddress),o=i(t.shippingAddress,!0);return this.setState(g({authorizedEvent:t,googlePayToken:t.paymentMethodData.tokenizationData.token,googlePayCardNetwork:t.paymentMethodData.info.cardNetwork},e&&{billingAddress:e},o&&{deliveryAddress:o})),new Promise((t=>{this.handleAuthorization().then(this.makePaymentsCall).then(p).then(u).then((e=>(t({transactionState:"SUCCESS"}),e))).then((t=>{this.handleResponse(t)})).catch((e=>{var o;this.setElementStatus("ready");const r=null==e||null===(o=e.error)||void 0===o?void 0:o.googlePayError,n=this.props.i18n.get("error.subtitle.payment"),s="string"==typeof r?{intent:"PAYMENT_AUTHORIZATION",reason:"OTHER_ERROR",message:r||n}:{intent:(null==r?void 0:r.intent)||"PAYMENT_AUTHORIZATION",reason:(null==r?void 0:r.reason)||"OTHER_ERROR",message:(null==r?void 0:r.message)||n};t({transactionState:"ERROR",error:s});const i=m(g({},e),{error:{googlePayError:s}});this.handleFailedResult(i)}))}))})),c(this,"isReadyToPay",(()=>this.googlePay.isReadyToPay(this.props))),c(this,"prefetch",(()=>this.googlePay.prefetchPaymentData(this.props,this.core.options.countryCode))),this.handleAuthorization=this.handleAuthorization.bind(this),this.showGooglePayPaymentSheet=this.showGooglePayPaymentSheet.bind(this);const{isExpress:r,paymentDataCallbacks:n}=this.props;if(!1===r&&(null==n?void 0:n.onPaymentDataChanged))throw new l("IMPLEMENTATION_ERROR",'GooglePay - You must set "isExpress" flag to "true" in order to use "onPaymentDataChanged" callback');this.googlePay=new o(this.props.environment,m(g({},r&&(null==n?void 0:n.onPaymentDataChanged)&&{onPaymentDataChanged:n.onPaymentDataChanged}),{onPaymentAuthorized:this.onPaymentAuthorized}))}}c(P,"type",h.googlepay),c(P,"txVariants",[h.googlepay,h.paywithgoogle]),c(P,"defaultProps",n);export{P as default};
2
2
  //# sourceMappingURL=GooglePay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n public override submit = () => {\n // Analytics\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise((resolve, reject) => this.props.onClick(resolve, reject))\n .then(() => this.googlePay.initiatePayment(this.props, this.core.options.countryCode))\n .catch((error: google.payments.api.PaymentsError) => {\n if (error.statusCode === 'CANCELED') {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('CANCEL', error.toString(), { cause: error }));\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError('ERROR', error.toString(), { cause: error }));\n }\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","catch","error","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","AdyenCheckoutError","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","googlePay","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","initiatePayment","core","options","countryCode","statusCode","handleError","toString","cause","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"GooglePay.js","sources":["../../../../src/components/GooglePay/GooglePay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport GooglePayService from './GooglePayService';\nimport GooglePayButton from './components/GooglePayButton';\nimport defaultProps from './defaultProps';\nimport { formatGooglePayContactToAdyenAddressFormat, getGooglePayLocale } from './utils';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport AdyenCheckoutError from '../../core/Errors/AdyenCheckoutError';\nimport { TxVariants } from '../tx-variants';\nimport { sanitizeResponse, verifyPaymentDidNotFail } from '../internal/UIElement/utils';\nimport { ANALYTICS_INSTANT_PAYMENT_BUTTON, ANALYTICS_SELECTED_STR } from '../../core/Analytics/constants';\nimport { SendAnalyticsObject } from '../../core/Analytics/types';\n\nimport type { AddressData, BrowserInfo, PaymentResponseData, RawPaymentResponse } from '../../types/global-types';\nimport type { GooglePayConfiguration } from './types';\nimport type { ICore } from '../../core/types';\n\nclass GooglePay extends UIElement<GooglePayConfiguration> {\n public static type = TxVariants.googlepay;\n public static txVariants = [TxVariants.googlepay, TxVariants.paywithgoogle];\n public static defaultProps = defaultProps;\n\n protected readonly googlePay;\n\n constructor(checkout: ICore, props?: GooglePayConfiguration) {\n super(checkout, props);\n this.handleAuthorization = this.handleAuthorization.bind(this);\n this.showGooglePayPaymentSheet = this.showGooglePayPaymentSheet.bind(this);\n\n const { isExpress, paymentDataCallbacks } = this.props;\n\n if (isExpress === false && paymentDataCallbacks?.onPaymentDataChanged) {\n throw new AdyenCheckoutError(\n 'IMPLEMENTATION_ERROR',\n 'GooglePay - You must set \"isExpress\" flag to \"true\" in order to use \"onPaymentDataChanged\" callback'\n );\n }\n\n this.googlePay = new GooglePayService(this.props.environment, {\n ...(isExpress && paymentDataCallbacks?.onPaymentDataChanged && { onPaymentDataChanged: paymentDataCallbacks.onPaymentDataChanged }),\n onPaymentAuthorized: this.onPaymentAuthorized\n });\n }\n\n protected override formatProps(props): GooglePayConfiguration {\n const buttonSizeMode = props.buttonSizeMode ?? (props.isDropin ? 'fill' : 'static');\n const buttonLocale = getGooglePayLocale(props.buttonLocale ?? props.i18n?.locale);\n\n const callbackIntents: google.payments.api.CallbackIntent[] = [...props.callbackIntents, 'PAYMENT_AUTHORIZATION'];\n\n return {\n ...props,\n configuration: props.configuration,\n buttonSizeMode,\n buttonLocale,\n callbackIntents\n };\n }\n\n /**\n * Formats the component data output\n */\n protected override formatData() {\n const { googlePayCardNetwork, googlePayToken, billingAddress, deliveryAddress } = this.state;\n const { isExpress } = this.props;\n\n return {\n paymentMethod: {\n type: this.type,\n googlePayCardNetwork,\n googlePayToken,\n ...(isExpress && { subtype: 'express' })\n },\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n };\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n // Analytics will need to know about this.props.isExpress & this.props.expressPage\n super.submitAnalytics({ ...analyticsObj }, this.props);\n }\n\n /**\n * Displays the Google Pay payment sheet overlay\n */\n private showGooglePayPaymentSheet() {\n this.googlePay.initiatePayment(this.props, this.core.options.countryCode).catch((error: google.payments.api.PaymentsError) => {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n this.handleError(new AdyenCheckoutError(error.statusCode === 'CANCELED' ? 'CANCEL' : 'ERROR', error.toString(), { cause: error }));\n });\n }\n\n public override submit = () => {\n if (this.props.isInstantPayment) {\n this.submitAnalytics({ type: ANALYTICS_SELECTED_STR, target: ANALYTICS_INSTANT_PAYMENT_BUTTON });\n }\n\n new Promise<void>((resolve, reject) => this.props.onClick(resolve, reject)).then(this.showGooglePayPaymentSheet).catch(() => {\n // Swallow exception triggered by onClick reject\n });\n };\n\n /**\n * Method called when the payment is authorized in the payment sheet\n *\n * @see https://developers.google.com/pay/api/web/reference/client#onPaymentAuthorized\n **/\n private onPaymentAuthorized = async (paymentData: google.payments.api.PaymentData): Promise<google.payments.api.PaymentAuthorizationResult> => {\n const billingAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.paymentMethodData.info.billingAddress);\n const deliveryAddress: AddressData = formatGooglePayContactToAdyenAddressFormat(paymentData.shippingAddress, true);\n\n this.setState({\n authorizedEvent: paymentData,\n googlePayToken: paymentData.paymentMethodData.tokenizationData.token,\n googlePayCardNetwork: paymentData.paymentMethodData.info.cardNetwork,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n });\n\n return new Promise<google.payments.api.PaymentAuthorizationResult>(resolve => {\n this.handleAuthorization()\n .then(this.makePaymentsCall)\n .then(sanitizeResponse)\n .then(verifyPaymentDidNotFail)\n .then((paymentResponse: PaymentResponseData) => {\n resolve({ transactionState: 'SUCCESS' });\n return paymentResponse;\n })\n .then(paymentResponse => {\n this.handleResponse(paymentResponse);\n })\n .catch((paymentResponse?: RawPaymentResponse) => {\n this.setElementStatus('ready');\n\n const googlePayError = paymentResponse?.error?.googlePayError;\n const fallbackMessage = this.props.i18n.get('error.subtitle.payment');\n\n const error: google.payments.api.PaymentDataError =\n typeof googlePayError === 'string' || undefined\n ? {\n intent: 'PAYMENT_AUTHORIZATION',\n reason: 'OTHER_ERROR',\n message: (googlePayError as string) || fallbackMessage\n }\n : {\n intent: googlePayError?.intent || 'PAYMENT_AUTHORIZATION',\n reason: googlePayError?.reason || 'OTHER_ERROR',\n message: googlePayError?.message || fallbackMessage\n };\n\n resolve({\n transactionState: 'ERROR',\n error\n });\n\n const responseWithError = {\n ...paymentResponse,\n error: {\n googlePayError: error\n }\n };\n\n this.handleFailedResult(responseWithError);\n });\n });\n };\n\n /**\n * Call the 'onAuthorized' callback if available.\n * Must be resolved/reject for the payment flow to continue\n */\n private async handleAuthorization(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (!this.props.onAuthorized) {\n resolve();\n }\n\n const { authorizedEvent, billingAddress, deliveryAddress } = this.state;\n\n this.props.onAuthorized(\n {\n authorizedEvent,\n ...(billingAddress && { billingAddress }),\n ...(deliveryAddress && { deliveryAddress })\n },\n { resolve, reject }\n );\n }).catch((error?: google.payments.api.PaymentDataError | string) => {\n // Format error in a way that the 'catch' of the 'onPaymentAuthorize' block accepts it\n const data = { error: { googlePayError: error } };\n return Promise.reject(data);\n });\n }\n\n /**\n * Validation\n */\n get isValid(): boolean {\n return !!this.state.googlePayToken;\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public override async isAvailable(): Promise<void> {\n return this.isReadyToPay()\n .then(response => {\n if (!response.result) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay is not available');\n }\n\n if (response.paymentMethodPresent === false) {\n throw new AdyenCheckoutError('ERROR', 'GooglePay - No paymentMethodPresent');\n }\n\n return Promise.resolve();\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Determine a shopper's ability to return a form of payment from the Google Pay API.\n */\n public isReadyToPay = (): Promise<google.payments.api.IsReadyToPayResponse> => {\n return this.googlePay.isReadyToPay(this.props);\n };\n\n /**\n * Use this method to prefetch a PaymentDataRequest configuration to improve loadPaymentData execution time on later user interaction. No value is returned.\n */\n public prefetch = (): void => {\n return this.googlePay.prefetchPaymentData(this.props, this.core.options.countryCode);\n };\n\n get browserInfo(): BrowserInfo {\n return collectBrowserInfo();\n }\n\n get icon(): string {\n return this.props.icon ?? this.resources.getImage()('googlepay');\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <GooglePayButton\n buttonColor={this.props.buttonColor}\n buttonType={this.props.buttonType}\n buttonSizeMode={this.props.buttonSizeMode}\n buttonLocale={this.props.buttonLocale}\n buttonRootNode={this.props.buttonRootNode}\n buttonRadius={this.props.buttonRadius}\n paymentsClient={this.googlePay.paymentsClient}\n onClick={this.submit}\n />\n );\n }\n\n return null;\n }\n}\n\nexport default GooglePay;\n"],"names":["GooglePay","UIElement","formatProps","props","buttonSizeMode","isDropin","buttonLocale","getGooglePayLocale","i18n","locale","callbackIntents","_object_spread_props","configuration","formatData","googlePayCardNetwork","googlePayToken","billingAddress","deliveryAddress","this","state","isExpress","_object_spread","paymentMethod","type","subtype","browserInfo","origin","window","location","submitAnalytics","analyticsObj","super","showGooglePayPaymentSheet","googlePay","initiatePayment","core","options","countryCode","catch","error","handleError","AdyenCheckoutError","statusCode","toString","cause","handleAuthorization","Promise","resolve","reject","onAuthorized","authorizedEvent","data","googlePayError","isValid","isAvailable","isReadyToPay","then","response","result","paymentMethodPresent","collectBrowserInfo","icon","_this_props_icon","resources","getImage","render","showPayButton","h","GooglePayButton","buttonColor","buttonType","buttonRootNode","buttonRadius","paymentsClient","onClick","submit","constructor","checkout","_define_property","isInstantPayment","ANALYTICS_SELECTED_STR","target","ANALYTICS_INSTANT_PAYMENT_BUTTON","onPaymentAuthorized","async","paymentData","formatGooglePayContactToAdyenAddressFormat","paymentMethodData","info","shippingAddress","setState","tokenizationData","token","cardNetwork","makePaymentsCall","sanitizeResponse","verifyPaymentDidNotFail","paymentResponse","transactionState","handleResponse","setElementStatus","fallbackMessage","get","intent","reason","message","responseWithError","handleFailedResult","prefetch","prefetchPaymentData","bind","paymentDataCallbacks","onPaymentDataChanged","GooglePayService","environment","TxVariants","googlepay","txVariants","paywithgoogle","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){a(e,t,r[t])}))}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class l extends t{formatProps(e){const{data:t={},placeholders:r={}}=e;return c(m({},e),{data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:r.telephoneNumber||r.phoneNumber}})}formatData(){var e;return{paymentMethod:m({type:l.type},(null===(e=this.state.data)||void 0===e?void 0:e.phoneNumber)&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber})}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(i,{srPanel:this.props.modules.srPanel},e(s,{ref:e=>{this.componentRef=e},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,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}))):e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,c(m({ref:e=>{this.componentRef=e}},this.props),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}a(l,"type",p.mbway);export{l as MBWayElement,l as default};
1
+ import{createElement as e}from"../../external/preact/dist/preact.js";import{UIElement as t}from"../internal/UIElement/UIElement.js";import r from"./components/MBWayInput/MBWayInput.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import n from"./components/MBWayAwait/config.js";import s from"../internal/Await/Await.js";import i from"../../core/Errors/SRPanelProvider.js";import{TxVariants as p}from"../tx-variants.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){a(e,t,r[t])}))}return e}function c(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}class l extends t{formatProps(e){const{data:t={},placeholders:r={}}=e;return c(m({},e),{data:{phoneNumber:t.telephoneNumber||t.phoneNumber,phonePrefix:t.phonePrefix||"+351"},placeholders:{phoneNumber:r.telephoneNumber||r.phoneNumber}})}formatData(){var e;return{paymentMethod:m({type:l.type},(null===(e=this.state.data)||void 0===e?void 0:e.phoneNumber)&&{telephoneNumber:this.state.data.phonePrefix+this.state.data.phoneNumber})}}get isValid(){return!!this.state.isValid}get displayName(){return this.props.name}render(){return this.props.paymentData?e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(i,{srPanel:this.props.modules.srPanel},e(s,{ref:e=>{this.componentRef=e},clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,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}))):e(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},e(r,c(m({ref:e=>{this.componentRef=e}},this.props),{setComponentRef:this.setComponentRef,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton})))}}a(l,"type",p.mbway);export{l as MBWayElement,l as default};
2
2
  //# sourceMappingURL=MBWay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\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 </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by 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 </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","_object_spread","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"wuCAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EACAH,EAAAA,CAAAA,EAAAA,GAAAA,CACHC,KAAM,CACFG,YAAaH,EAAKI,iBAAmBJ,EAAKG,YAC1CE,YAAaL,EAAKK,aAAe,QAErCJ,aAAc,CACVE,YAAaF,EAAaG,iBAAmBH,EAAaE,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMd,EAAac,OACf,QAAAH,EAAAI,KAAKC,MAAMZ,YAAX,IAAAO,OAAA,EAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBO,KAAKC,MAAMZ,KAAKK,YAAcM,KAAKC,MAAMZ,KAAKG,cAGjH,CAEA,WAAIU,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKZ,MAAM0B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKZ,MAAM8B,UACtBZ,YAAaN,KAAKZ,MAAMkB,YACxBa,QAASnB,KAAKZ,MAAM+B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,EAAAA,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,GAEpBhB,KAAKZ,OAAK,CACdoD,SAAUxC,KAAKyC,SACfC,SAAU1C,KAAK2C,OACfC,UAAW5C,KAAK4C,aAIhC,EAhFAC,EADS5D,EACKc,OAAO+C,EAAWC"}
1
+ {"version":3,"file":"MBWay.js","sources":["../../../../src/components/MBWay/MBWay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport MBWayInput from './components/MBWayInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './components/MBWayAwait/config';\nimport Await from '../../components/internal/Await';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\nexport class MBWayElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.mbway;\n\n formatProps(props) {\n const { data = {}, placeholders = {} } = props;\n\n return {\n ...props,\n data: {\n phoneNumber: data.telephoneNumber || data.phoneNumber,\n phonePrefix: data.phonePrefix || '+351' // if not specified default to Portuguese country code\n },\n placeholders: {\n phoneNumber: placeholders.telephoneNumber || placeholders.phoneNumber\n }\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): object {\n return {\n paymentMethod: {\n type: MBWayElement.type,\n ...(this.state.data?.phoneNumber && { telephoneNumber: this.state.data.phonePrefix + this.state.data.phoneNumber })\n }\n };\n }\n\n get isValid(): boolean {\n return !!this.state.isValid;\n }\n\n get displayName(): string {\n return this.props.name;\n }\n\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.props.onError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\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 </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <MBWayInput\n /* @ts-ignore ref handled internally by Component */\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n setComponentRef={this.setComponentRef}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n </CoreProvider>\n );\n }\n}\n\nexport default MBWayElement;\n"],"names":["MBWayElement","UIElement","formatProps","props","data","placeholders","_object_spread_props","phoneNumber","telephoneNumber","phonePrefix","formatData","_this_state_data","paymentMethod","_object_spread","type","this","state","isValid","displayName","name","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","MBWayInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","_define_property","TxVariants","mbway"],"mappings":"wuCAUO,MAAMA,UAAqBC,EAG9BC,WAAAA,CAAYC,GACR,MAAMC,KAAEA,EAAO,CAAA,EAAEC,aAAEA,EAAe,CAAA,GAAOF,EAEzC,OAAOG,EACAH,EAAAA,CAAAA,EAAAA,GAAAA,CACHC,KAAM,CACFG,YAAaH,EAAKI,iBAAmBJ,EAAKG,YAC1CE,YAAaL,EAAKK,aAAe,QAErCJ,aAAc,CACVE,YAAaF,EAAaG,iBAAmBH,EAAaE,cAGtE,CAKAG,UAAAA,GAIgB,IAAAC,EAHZ,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMd,EAAac,OACf,QAAAH,EAAAI,KAAKC,MAAMZ,YAAX,IAAAO,OAAA,EAAAA,EAAiBJ,cAAe,CAAEC,gBAAiBO,KAAKC,MAAMZ,KAAKK,YAAcM,KAAKC,MAAMZ,KAAKG,cAGjH,CAEA,WAAIU,GACA,QAASF,KAAKC,MAAMC,OACxB,CAEA,eAAIC,GACA,OAAOH,KAAKZ,MAAMgB,IACtB,CAEAC,MAAAA,GACI,OAAIL,KAAKZ,MAAMkB,YAEPC,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACK,EAAAA,CAAgBC,QAASb,KAAKZ,MAAM0B,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,EAExBE,UAAWlB,KAAKZ,MAAM8B,UACtBZ,YAAaN,KAAKZ,MAAMkB,YACxBa,QAASnB,KAAKZ,MAAM+B,QACpBC,WAAYpB,KAAKoB,WACjBC,UAAWrB,KAAKsB,KAChBvB,KAAMwB,EAAOxB,KACbyB,YAAaxB,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOG,eACxCC,UAAW3B,KAAKZ,MAAMqB,KAAKgB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBtC,KAAKsC,oBAQtC/B,EAACC,EAAAA,CAAaC,KAAMT,KAAKZ,MAAMqB,KAAMC,eAAgBV,KAAKZ,MAAMsB,eAAgBC,UAAWX,KAAKW,WAC5FJ,EAACgC,EAAAA,EAAAA,EAAAA,CAEGvB,IAAKA,IACDhB,KAAKiB,aAAeD,CAAAA,GAEpBhB,KAAKZ,OAAK,CACdoD,gBAAiBxC,KAAKwC,gBACtBC,SAAUzC,KAAK0C,SACfC,SAAU3C,KAAK4C,OACfC,UAAW7C,KAAK6C,aAIhC,EAjFAC,EADS7D,EACKc,OAAOgD,EAAWC"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as t,useState as r}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import n from"../../../internal/PhoneInput/PhoneInput.js";import a from"../../../internal/LoadingWrapper/LoadingWrapper.js";import i from"../../../internal/PhoneInput/usePhonePrefixes.js";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function u(u){var c;const{i18n:p,loadingContext:d}=o(),f=t(null),{allowedCountries:b=[]}=u,[m,y]=r("ready");this.setStatus=y,this.showValidation=null==f||null===(c=f.current)||void 0===c?void 0:c.triggerValidation;const{loadingStatus:h,phonePrefixes:O}=i({allowedCountries:b,loadingContext:d,handleError:u.onError});return e(a,{status:h},e("div",{className:"adyen-checkout__mb-way"},e(n,l(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){s(e,t,r[t])}))}return e}({},u),{items:O,ref:f,onChange:({data:e,valid:t,errors:r,isValid:o})=>{u.onChange({data:e,valid:t,errors:r,isValid:o})},data:u.data})),u.showPayButton&&u.payButton({status:m,label:p.get("confirmPurchase")})))}u.defaultProps={onChange:()=>{},phoneNumberKey:"mobileNumber",phoneNumberErrorKey:"mobileNumber.invalid"};export{u as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as t,useState as r}from"../../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import n from"../../../internal/PhoneInput/PhoneInputForm.js";import a from"../../../internal/LoadingWrapper/LoadingWrapper.js";import i from"../../../internal/PhoneInput/usePhonePrefixes.js";function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function c(c){const{i18n:l,loadingContext:p}=o(),f=t(null),{allowedCountries:m=[]}=c,[b,d]=r("ready");this.setStatus=d;const{loadingStatus:y,phonePrefixes:O}=i({allowedCountries:m,loadingContext:p,handleError:c.onError});return e(a,{status:y},e("div",{className:"adyen-checkout__mb-way"},e(n,u(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){s(e,t,r[t])}))}return e}({setComponentRef:c.setComponentRef},c),{items:O,ref:f,onChange:({data:e,valid:t,errors:r,isValid:o})=>{c.onChange({data:e,valid:t,errors:r,isValid:o})},data:c.data})),c.showPayButton&&c.payButton({status:b,label:l.get("confirmPurchase")})))}c.defaultProps={onChange:()=>{},phoneNumberKey:"mobileNumber",phoneNumberErrorKey:"mobileNumber.invalid"};export{c as default};
2
2
  //# sourceMappingURL=MBWayInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MBWayInput.js","sources":["../../../../../../src/components/MBWay/components/MBWayInput/MBWayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useRef } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MBWayInputProps } from './types';\nimport './MBWayInput.scss';\nimport PhoneInput from '../../../internal/PhoneInput';\nimport LoadingWrapper from '../../../internal/LoadingWrapper';\nimport usePhonePrefixes from '../../../internal/PhoneInput/usePhonePrefixes';\n\nfunction MBWayInput(props: MBWayInputProps) {\n const { i18n, loadingContext } = useCoreContext();\n\n const phoneInputRef = useRef(null);\n\n const { allowedCountries = [] } = props;\n\n const [status, setStatus] = useState<string>('ready');\n\n this.setStatus = setStatus;\n this.showValidation = phoneInputRef?.current?.triggerValidation;\n\n const { loadingStatus: prefixLoadingStatus, phonePrefixes } = usePhonePrefixes({ allowedCountries, loadingContext, handleError: props.onError });\n\n const onChange = ({ data, valid, errors, isValid }) => {\n props.onChange({ data, valid, errors, isValid });\n };\n\n return (\n <LoadingWrapper status={prefixLoadingStatus}>\n <div className=\"adyen-checkout__mb-way\">\n <PhoneInput {...props} items={phonePrefixes} ref={phoneInputRef} onChange={onChange} data={props.data} />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n </LoadingWrapper>\n );\n}\n\nMBWayInput.defaultProps = {\n onChange: () => {},\n phoneNumberKey: 'mobileNumber',\n phoneNumberErrorKey: 'mobileNumber.invalid'\n};\n\nexport default MBWayInput;\n"],"names":["MBWayInput","props","phoneInputRef","i18n","loadingContext","useCoreContext","useRef","allowedCountries","status","setStatus","useState","this","showValidation","current","triggerValidation","loadingStatus","prefixLoadingStatus","phonePrefixes","usePhonePrefixes","handleError","onError","h","LoadingWrapper","div","className","PhoneInput","items","ref","onChange","data","valid","errors","isValid","showPayButton","payButton","label","get","defaultProps","phoneNumberKey","phoneNumberErrorKey"],"mappings":"+4BASA,SAASA,EAAWC,GAUMC,IAAAA,EATtB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAE3BH,EAAgBI,EAAO,OAEvBC,iBAAEA,EAAmB,IAAON,GAE3BO,EAAQC,GAAaC,EAAiB,SAE7CC,KAAKF,UAAYA,EACjBE,KAAKC,eAAiBV,SAAsB,QAAtBA,EAAAA,EAAeW,eAAfX,IAAAA,OAAAA,EAAAA,EAAwBY,kBAE9C,MAAQC,cAAeC,EAAmBC,cAAEA,GAAkBC,EAAiB,CAAEX,mBAAkBH,iBAAgBe,YAAalB,EAAMmB,UAMtI,OACIC,EAACC,EAAAA,CAAed,OAAQQ,GACpBK,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,EAAexB,wUAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAOyB,MAAOT,EAAeU,IAAKzB,EAAe0B,SAP5D,EAAGC,OAAMC,QAAOC,SAAQC,cACrC/B,EAAM2B,SAAS,CAAEC,OAAMC,QAAOC,SAAQC,WAAQ,EAM+CH,KAAM5B,EAAM4B,QAEhG5B,EAAMgC,eAAiBhC,EAAMiC,UAAU,CAAE1B,SAAQ2B,MAAOhC,EAAKiC,IAAI,sBAIlF,CAEApC,EAAWqC,aAAe,CACtBT,SAAU,OACVU,eAAgB,eAChBC,oBAAqB"}
1
+ {"version":3,"file":"MBWayInput.js","sources":["../../../../../../src/components/MBWay/components/MBWayInput/MBWayInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useRef } from 'preact/hooks';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { MBWayInputProps } from './types';\nimport './MBWayInput.scss';\nimport PhoneInputForm from '../../../internal/PhoneInput';\nimport LoadingWrapper from '../../../internal/LoadingWrapper';\nimport usePhonePrefixes from '../../../internal/PhoneInput/usePhonePrefixes';\n\nfunction MBWayInput(props: MBWayInputProps) {\n const { i18n, loadingContext } = useCoreContext();\n\n const phoneInputRef = useRef(null);\n\n const { allowedCountries = [] } = props;\n\n const [status, setStatus] = useState<string>('ready');\n\n this.setStatus = setStatus;\n\n const { loadingStatus: prefixLoadingStatus, phonePrefixes } = usePhonePrefixes({ allowedCountries, loadingContext, handleError: props.onError });\n\n const onChange = ({ data, valid, errors, isValid }) => {\n props.onChange({ data, valid, errors, isValid });\n };\n\n return (\n <LoadingWrapper status={prefixLoadingStatus}>\n <div className=\"adyen-checkout__mb-way\">\n <PhoneInputForm\n setComponentRef={props.setComponentRef}\n {...props}\n items={phonePrefixes}\n ref={phoneInputRef}\n onChange={onChange}\n data={props.data}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n </LoadingWrapper>\n );\n}\n\nMBWayInput.defaultProps = {\n onChange: () => {},\n phoneNumberKey: 'mobileNumber',\n phoneNumberErrorKey: 'mobileNumber.invalid'\n};\n\nexport default MBWayInput;\n"],"names":["MBWayInput","props","i18n","loadingContext","useCoreContext","phoneInputRef","useRef","allowedCountries","status","setStatus","useState","this","loadingStatus","prefixLoadingStatus","phonePrefixes","usePhonePrefixes","handleError","onError","h","LoadingWrapper","div","className","PhoneInputForm","setComponentRef","items","ref","onChange","data","valid","errors","isValid","showPayButton","payButton","label","get","defaultProps","phoneNumberKey","phoneNumberErrorKey"],"mappings":"m5BASA,SAASA,EAAWC,GAChB,MAAMC,KAAEA,EAAIC,eAAEA,GAAmBC,IAE3BC,EAAgBC,EAAO,OAEvBC,iBAAEA,EAAmB,IAAON,GAE3BO,EAAQC,GAAaC,EAAiB,SAE7CC,KAAKF,UAAYA,EAEjB,MAAQG,cAAeC,EAAmBC,cAAEA,GAAkBC,EAAiB,CAAER,mBAAkBJ,iBAAgBa,YAAaf,EAAMgB,UAMtI,OACIC,EAACC,EAAAA,CAAeX,OAAQK,GACpBK,EAACE,MAAAA,CAAIC,UAAU,0BACXH,EAACI,EAAAA,wUAAAA,CAAAA,CACGC,gBAAiBtB,EAAMsB,iBACnBtB,GAAAA,CACJuB,MAAOV,EACPW,IAAKpB,EACLqB,SAZC,EAAGC,OAAMC,QAAOC,SAAQC,cACrC7B,EAAMyB,SAAS,CAAEC,OAAMC,QAAOC,SAAQC,WAAQ,EAYlCH,KAAM1B,EAAM0B,QAGf1B,EAAM8B,eAAiB9B,EAAM+B,UAAU,CAAExB,SAAQyB,MAAO/B,EAAKgC,IAAI,sBAIlF,CAEAlC,EAAWmC,aAAe,CACtBT,SAAU,OACVU,eAAgB,eAChBC,oBAAqB"}
@@ -1,2 +1,2 @@
1
- import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../external/classnames/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const p=({i18n:p,sfpState:i,focusedElement:c,setFocusOn:o})=>a(t,{label:p.get("giftcard.expiryDate.label"),classNameModifiers:["expireDate","50"],errorMessage:i.errors.encryptedExpiryDate&&p.get(i.errors.encryptedExpiryDate),focused:"encryptedExpiryDate"===c,onFocusField:()=>o("encryptedExpiryDate"),dir:"ltr",name:"encryptedExpiryDate",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedExpiryDate",className:r("adyen-checkout__input","adyen-checkout__input--small","adyen-checkout__card__exp-date__input",{"adyen-checkout__input--error":i.errors.encryptedExpiryDate,"adyen-checkout__input--focus":"encryptedExpiryDate"===c,"adyen-checkout__input--valid":!!i.valid.encryptedExpiryMonth&&!!i.valid.encryptedExpiryYear})}));export{p as MealVoucherExpiryField};
1
+ import e from"../../Card/components/CardInput/components/DataSfSpan.js";import r from"../../../_virtual/index.js";import t from"../../internal/FormFields/Field/Field.js";import{createElement as a}from"../../../external/preact/dist/preact.js";import{alternativeLabelContent as n}from"../../Card/components/CardInput/components/FieldLabelAlternative.js";const p=({i18n:p,sfpState:i,focusedElement:o,setFocusOn:c})=>a(t,{label:p.get("giftcard.expiryDate.label"),classNameModifiers:["expireDate","50"],errorMessage:i.errors.encryptedExpiryDate&&p.get(i.errors.encryptedExpiryDate),focused:"encryptedExpiryDate"===o,onFocusField:()=>c("encryptedExpiryDate"),dir:"ltr",name:"encryptedExpiryDate",contextVisibleToScreenReader:!1,useLabelElement:!1,renderAlternativeToLabel:n},a(e,{encryptedFieldType:"encryptedExpiryDate",className:r("adyen-checkout__input","adyen-checkout__input--small","adyen-checkout__card__exp-date__input",{"adyen-checkout__input--error":i.errors.encryptedExpiryDate,"adyen-checkout__input--focus":"encryptedExpiryDate"===o,"adyen-checkout__input--valid":!!i.valid.encryptedExpiryMonth&&!!i.valid.encryptedExpiryYear})}));export{p as MealVoucherExpiryField};
2
2
  //# sourceMappingURL=MealVoucherExpiryField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors.encryptedExpiryDate && i18n.get(sfpState.errors.encryptedExpiryDate)}\n focused={focusedElement === 'encryptedExpiryDate'}\n onFocusField={() => setFocusOn('encryptedExpiryDate')}\n dir={'ltr'}\n name={'encryptedExpiryDate'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType={'encryptedExpiryDate'}\n className={classNames('adyen-checkout__input', 'adyen-checkout__input--small', 'adyen-checkout__card__exp-date__input', {\n 'adyen-checkout__input--error': sfpState.errors.encryptedExpiryDate,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedExpiryDate',\n 'adyen-checkout__input--valid': !!sfpState.valid.encryptedExpiryMonth && !!sfpState.valid.encryptedExpiryYear\n })}\n />\n </Field>\n );\n};\n"],"names":["MealVoucherExpiryField","i18n","sfpState","focusedElement","setFocusOn","h","Field","label","get","classNameModifiers","errorMessage","errors","encryptedExpiryDate","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","className","classNames","valid","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"2WAOO,MAAMA,EAAyB,EAAGC,OAAMC,WAAUC,iBAAgBC,gBAEjEC,EAACC,EAAAA,CACGC,MAAON,EAAKO,IAAI,6BAChBC,mBAAoB,CAAC,aAAc,MACnCC,aAAcR,EAASS,OAAOC,qBAAuBX,EAAKO,IAAIN,EAASS,OAAOC,qBAC9EC,QAA4B,wBAAnBV,EACTW,aAAc,IAAMV,EAAW,uBAC/BW,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1Bf,EAACgB,EAAAA,CACGC,mBAAoB,sBACpBC,UAAWC,EAAW,wBAAyB,+BAAgC,wCAAyC,CACpH,+BAAgCtB,EAASS,OAAOC,oBAChD,+BAAmD,wBAAnBT,EAChC,iCAAkCD,EAASuB,MAAMC,wBAA0BxB,EAASuB,MAAME"}
1
+ {"version":3,"file":"MealVoucherExpiryField.js","sources":["../../../../../src/components/MealVoucherFR/components/MealVoucherExpiryField.tsx"],"sourcesContent":["import DataSfSpan from '../../Card/components/CardInput/components/DataSfSpan';\nimport classNames from 'classnames';\nimport Field from '../../internal/FormFields/Field';\nimport { h } from 'preact';\nimport { GiftcardFieldProps } from '../../Giftcard/components/types';\nimport { alternativeLabelContent } from '../../Card/components/CardInput/components/FieldLabelAlternative';\n\nexport const MealVoucherExpiryField = ({ i18n, sfpState, focusedElement, setFocusOn }: GiftcardFieldProps) => {\n return (\n <Field\n label={i18n.get('giftcard.expiryDate.label')}\n classNameModifiers={['expireDate', '50']}\n errorMessage={sfpState.errors.encryptedExpiryDate && i18n.get(sfpState.errors.encryptedExpiryDate)}\n focused={focusedElement === 'encryptedExpiryDate'}\n onFocusField={() => setFocusOn('encryptedExpiryDate')}\n dir={'ltr'}\n name={'encryptedExpiryDate'}\n contextVisibleToScreenReader={false}\n useLabelElement={false}\n renderAlternativeToLabel={alternativeLabelContent}\n >\n <DataSfSpan\n encryptedFieldType={'encryptedExpiryDate'}\n className={classNames('adyen-checkout__input', 'adyen-checkout__input--small', 'adyen-checkout__card__exp-date__input', {\n 'adyen-checkout__input--error': sfpState.errors.encryptedExpiryDate,\n 'adyen-checkout__input--focus': focusedElement === 'encryptedExpiryDate',\n 'adyen-checkout__input--valid': !!sfpState.valid.encryptedExpiryMonth && !!sfpState.valid.encryptedExpiryYear\n })}\n />\n </Field>\n );\n};\n"],"names":["MealVoucherExpiryField","i18n","sfpState","focusedElement","setFocusOn","h","Field","label","get","classNameModifiers","errorMessage","errors","encryptedExpiryDate","focused","onFocusField","dir","name","contextVisibleToScreenReader","useLabelElement","renderAlternativeToLabel","alternativeLabelContent","DataSfSpan","encryptedFieldType","className","classNames","valid","encryptedExpiryMonth","encryptedExpiryYear"],"mappings":"gWAOO,MAAMA,EAAyB,EAAGC,OAAMC,WAAUC,iBAAgBC,gBAEjEC,EAACC,EAAAA,CACGC,MAAON,EAAKO,IAAI,6BAChBC,mBAAoB,CAAC,aAAc,MACnCC,aAAcR,EAASS,OAAOC,qBAAuBX,EAAKO,IAAIN,EAASS,OAAOC,qBAC9EC,QAA4B,wBAAnBV,EACTW,aAAc,IAAMV,EAAW,uBAC/BW,IAAK,MACLC,KAAM,sBACNC,8BAA8B,EAC9BC,iBAAiB,EACjBC,yBAA0BC,GAE1Bf,EAACgB,EAAAA,CACGC,mBAAoB,sBACpBC,UAAWC,EAAW,wBAAyB,+BAAgC,wCAAyC,CACpH,+BAAgCtB,EAASS,OAAOC,oBAChD,+BAAmD,wBAAnBT,EAChC,iCAAkCD,EAASuB,MAAMC,wBAA0BxB,EAASuB,MAAME"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as n,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import o from"../../../external/classnames/index.js";import{getStyle as r}from"../utils/get-paypal-styles.js";import a from"../../internal/Spinner/Spinner.js";import{useCoreContext as c}from"../../../core/Context/CoreProvider.js";function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function l(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function s(s){var u,{onInit:y,onApprove:_,onClick:f,onCancel:b,onError:d,onShippingAddressChange:m,onShippingOptionsChange:g,onSubmit:O,isProcessingPayment:h,paypalRef:P,style:k}=s,v=l(s,["onInit","onApprove","onClick","onCancel","onError","onShippingAddressChange","onShippingOptionsChange","onSubmit","isProcessingPayment","paypalRef","style"]);const{i18n:j}=c(),S="tokenize"===(null===(u=v.configuration)||void 0===u?void 0:u.intent),C=n(null),E=n(null),w=n(null),A=n(null),N=(e,n)=>{const t=p(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(n){i(e,n,t[n])}))}return e}({},S&&{createBillingAgreement:O},!S&&{createOrder:O},!S&&"venmo"!==e&&m&&{onShippingAddressChange:m},!S&&"venmo"!==e&&g&&{onShippingOptionsChange:g}),{fundingSource:e,style:r(e,k),onInit:y,onClick:f,onCancel:b,onError:d,onApprove:_}),o=P.Buttons(t);o.isEligible()&&o.render(n.current)};t((()=>{const{PAYPAL:e,CREDIT:n,PAYLATER:t,VENMO:o}=P.FUNDING;N(e,C),v.blockPayPalCreditButton||N(n,E),v.blockPayPalPayLaterButton||N(t,w),v.blockPayPalVenmoButton||N(o,A)}),[]);const x=!0===v.commit;return e("div",{className:o("adyen-checkout__paypal__buttons",{"adyen-checkout__paypal-processing":h})},e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal",ref:C}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit",ref:E}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later",ref:w}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo",ref:A}),h&&e("div",{className:"adyen-checkout__paypal"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing"},e(a,{size:"medium",inline:!0}),x&&j.get("paypal.processingPayment"))))}export{s as default};
1
+ import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as n,useEffect as t}from"../../../external/preact/hooks/dist/hooks.js";import o from"../../../_virtual/index.js";import{getStyle as r}from"../utils/get-paypal-styles.js";import a from"../../internal/Spinner/Spinner.js";import{useCoreContext as c}from"../../../core/Context/CoreProvider.js";function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function p(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function l(e,n){if(null==e)return{};var t,o,r=function(e,n){if(null==e)return{};var t,o,r={},a=Object.keys(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)t=a[o],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function s(s){var u,{onInit:y,onApprove:_,onClick:f,onCancel:b,onError:d,onShippingAddressChange:m,onShippingOptionsChange:g,onSubmit:O,isProcessingPayment:h,paypalRef:P,style:v}=s,k=l(s,["onInit","onApprove","onClick","onCancel","onError","onShippingAddressChange","onShippingOptionsChange","onSubmit","isProcessingPayment","paypalRef","style"]);const{i18n:j}=c(),S="tokenize"===(null===(u=k.configuration)||void 0===u?void 0:u.intent),C=n(null),E=n(null),w=n(null),A=n(null),N=(e,n)=>{const t=p(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(n){i(e,n,t[n])}))}return e}({},S&&{createBillingAgreement:O},!S&&{createOrder:O},!S&&"venmo"!==e&&m&&{onShippingAddressChange:m},!S&&"venmo"!==e&&g&&{onShippingOptionsChange:g}),{fundingSource:e,style:r(e,v),onInit:y,onClick:f,onCancel:b,onError:d,onApprove:_}),o=P.Buttons(t);o.isEligible()&&o.render(n.current)};t((()=>{const{PAYPAL:e,CREDIT:n,PAYLATER:t,VENMO:o}=P.FUNDING;N(e,C),k.blockPayPalCreditButton||N(n,E),k.blockPayPalPayLaterButton||N(t,w),k.blockPayPalVenmoButton||N(o,A)}),[]);const x=!0===k.commit;return e("div",{className:o("adyen-checkout__paypal__buttons",{"adyen-checkout__paypal-processing":h})},e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal",ref:C}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit",ref:E}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later",ref:w}),e("div",{className:"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo",ref:A}),h&&e("div",{className:"adyen-checkout__paypal"},e("div",{className:"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing"},e(a,{size:"medium",inline:!0}),x&&j.get("paypal.processingPayment"))))}export{s as default};
2
2
  //# sourceMappingURL=PaypalButtons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaypalButtons.js","sources":["../../../../../src/components/PayPal/components/PaypalButtons.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport classnames from 'classnames';\nimport { getStyle } from '../utils/get-paypal-styles';\nimport Spinner from '../../internal/Spinner';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\n\nimport type { PayPalButtonsProps } from './types';\nimport type { FundingSource } from '../types';\n\nexport default function PaypalButtons({\n onInit,\n onApprove,\n onClick,\n onCancel,\n onError,\n onShippingAddressChange,\n onShippingOptionsChange,\n onSubmit,\n isProcessingPayment,\n paypalRef,\n style,\n ...props\n}: PayPalButtonsProps) {\n const { i18n } = useCoreContext();\n const isTokenize = props.configuration?.intent === 'tokenize';\n const paypalButtonRef = useRef<HTMLDivElement>(null);\n const creditButtonRef = useRef<HTMLDivElement>(null);\n const payLaterButtonRef = useRef<HTMLDivElement>(null);\n const venmoButtonRef = useRef<HTMLDivElement>(null);\n\n const createButton = (fundingSource: FundingSource, buttonRef) => {\n const configuration = {\n ...(isTokenize && { createBillingAgreement: onSubmit }),\n ...(!isTokenize && { createOrder: onSubmit }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingAddressChange && { onShippingAddressChange }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingOptionsChange && { onShippingOptionsChange }),\n fundingSource,\n style: getStyle(fundingSource, style),\n onInit,\n onClick,\n onCancel,\n onError,\n onApprove\n };\n\n const button = paypalRef.Buttons(configuration);\n\n if (button.isEligible()) {\n button.render(buttonRef.current);\n }\n };\n\n useEffect(() => {\n const { PAYPAL, CREDIT, PAYLATER, VENMO } = paypalRef.FUNDING;\n createButton(PAYPAL, paypalButtonRef);\n\n if (!props.blockPayPalCreditButton) createButton(CREDIT, creditButtonRef);\n if (!props.blockPayPalPayLaterButton) createButton(PAYLATER, payLaterButtonRef);\n if (!props.blockPayPalVenmoButton) createButton(VENMO, venmoButtonRef);\n }, []);\n\n const isProcessingPaymentWithoutReviewPage = props.commit === true;\n\n return (\n <div className={classnames('adyen-checkout__paypal__buttons', { 'adyen-checkout__paypal-processing': isProcessingPayment })}>\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal\" ref={paypalButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit\" ref={creditButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later\" ref={payLaterButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo\" ref={venmoButtonRef} />\n\n {isProcessingPayment && (\n <div className=\"adyen-checkout__paypal\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing\">\n <Spinner size=\"medium\" inline />\n {isProcessingPaymentWithoutReviewPage && i18n.get('paypal.processingPayment')}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["PaypalButtons","_param","props","onInit","onApprove","onClick","onCancel","onError","onShippingAddressChange","onShippingOptionsChange","onSubmit","isProcessingPayment","paypalRef","style","_object_without_properties","i18n","useCoreContext","isTokenize","configuration","intent","paypalButtonRef","useRef","creditButtonRef","payLaterButtonRef","venmoButtonRef","createButton","fundingSource","buttonRef","_object_spread_props","createBillingAgreement","createOrder","getStyle","button","Buttons","isEligible","render","current","useEffect","PAYPAL","CREDIT","PAYLATER","VENMO","FUNDING","blockPayPalCreditButton","blockPayPalPayLaterButton","blockPayPalVenmoButton","isProcessingPaymentWithoutReviewPage","commit","h","div","className","classnames","ref","Spinner","size","inline","get"],"mappings":"8tCAUe,SAASA,EAAcC,OAefC,GAfeC,OAClCA,EAAMC,UACNA,EAASC,QACTA,EAAOC,SACPA,EAAQC,QACRA,EAAOC,wBACPA,EAAuBC,wBACvBA,EAAuBC,SACvBA,EAAQC,oBACRA,EAAmBC,UACnBA,EAASC,MACTA,GAXkCZ,EAY/BC,EAZ+BY,EAAAb,EAAA,CAClCE,SACAC,YACAC,UACAC,WACAC,UACAC,0BACAC,0BACAC,WACAC,sBACAC,YACAC,UAGA,MAAME,KAAEA,GAASC,IACXC,EAA6C,cAAhCf,QAAAA,EAAAA,EAAMgB,qBAANhB,IAAAA,OAAAA,EAAAA,EAAqBiB,QAClCC,EAAkBC,EAAuB,MACzCC,EAAkBD,EAAuB,MACzCE,EAAoBF,EAAuB,MAC3CG,EAAiBH,EAAuB,MAExCI,EAAe,CAACC,EAA8BC,KAChD,MAAMT,EAAgBU,4UACdX,GAAc,CAAEY,uBAAwBnB,IACvCO,GAAc,CAAEa,YAAapB,IAC7BO,GAAgC,UAAlBS,GAA6BlB,GAA2B,CAAEA,4BACxES,GAAgC,UAAlBS,GAA6BjB,GAA2B,CAAEA,4BAAwB,CACrGiB,gBACAb,MAAOkB,EAASL,EAAeb,GAC/BV,SACAE,UACAC,WACAC,UACAH,cAGE4B,EAASpB,EAAUqB,QAAQf,GAE7Bc,EAAOE,cACPF,EAAOG,OAAOR,EAAUS,QAC5B,EAGJC,GAAU,KACN,MAAMC,OAAEA,EAAMC,OAAEA,EAAMC,SAAEA,EAAQC,MAAEA,GAAU7B,EAAU8B,QACtDjB,EAAaa,EAAQlB,GAEhBlB,EAAMyC,yBAAyBlB,EAAac,EAAQjB,GACpDpB,EAAM0C,2BAA2BnB,EAAae,EAAUjB,GACxDrB,EAAM2C,wBAAwBpB,EAAagB,EAAOjB,EAAAA,GACxD,IAEH,MAAMsB,GAAwD,IAAjB5C,EAAM6C,OAEnD,OACIC,EAACC,MAAAA,CAAIC,UAAWC,EAAW,kCAAmC,CAAE,oCAAqCxC,KACjGqC,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAKhC,IAC5F4B,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAK9B,IAC5F0B,EAACC,MAAAA,CAAIC,UAAU,2EAA2EE,IAAK7B,IAC/FyB,EAACC,MAAAA,CAAIC,UAAU,uEAAuEE,IAAK5B,IAE1Fb,GACGqC,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACC,MAAAA,CAAIC,UAAU,6EACXF,EAACK,EAAAA,CAAQC,KAAK,SAASC,QAAAA,IACtBT,GAAwC/B,EAAKyC,IAAI,8BAM1E"}
1
+ {"version":3,"file":"PaypalButtons.js","sources":["../../../../../src/components/PayPal/components/PaypalButtons.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useEffect, useRef } from 'preact/hooks';\nimport classnames from 'classnames';\nimport { getStyle } from '../utils/get-paypal-styles';\nimport Spinner from '../../internal/Spinner';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\n\nimport type { PayPalButtonsProps } from './types';\nimport type { FundingSource } from '../types';\n\nexport default function PaypalButtons({\n onInit,\n onApprove,\n onClick,\n onCancel,\n onError,\n onShippingAddressChange,\n onShippingOptionsChange,\n onSubmit,\n isProcessingPayment,\n paypalRef,\n style,\n ...props\n}: PayPalButtonsProps) {\n const { i18n } = useCoreContext();\n const isTokenize = props.configuration?.intent === 'tokenize';\n const paypalButtonRef = useRef<HTMLDivElement>(null);\n const creditButtonRef = useRef<HTMLDivElement>(null);\n const payLaterButtonRef = useRef<HTMLDivElement>(null);\n const venmoButtonRef = useRef<HTMLDivElement>(null);\n\n const createButton = (fundingSource: FundingSource, buttonRef) => {\n const configuration = {\n ...(isTokenize && { createBillingAgreement: onSubmit }),\n ...(!isTokenize && { createOrder: onSubmit }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingAddressChange && { onShippingAddressChange }),\n ...(!isTokenize && fundingSource !== 'venmo' && onShippingOptionsChange && { onShippingOptionsChange }),\n fundingSource,\n style: getStyle(fundingSource, style),\n onInit,\n onClick,\n onCancel,\n onError,\n onApprove\n };\n\n const button = paypalRef.Buttons(configuration);\n\n if (button.isEligible()) {\n button.render(buttonRef.current);\n }\n };\n\n useEffect(() => {\n const { PAYPAL, CREDIT, PAYLATER, VENMO } = paypalRef.FUNDING;\n createButton(PAYPAL, paypalButtonRef);\n\n if (!props.blockPayPalCreditButton) createButton(CREDIT, creditButtonRef);\n if (!props.blockPayPalPayLaterButton) createButton(PAYLATER, payLaterButtonRef);\n if (!props.blockPayPalVenmoButton) createButton(VENMO, venmoButtonRef);\n }, []);\n\n const isProcessingPaymentWithoutReviewPage = props.commit === true;\n\n return (\n <div className={classnames('adyen-checkout__paypal__buttons', { 'adyen-checkout__paypal-processing': isProcessingPayment })}>\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--paypal\" ref={paypalButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--credit\" ref={creditButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--pay-later\" ref={payLaterButtonRef} />\n <div className=\"adyen-checkout__paypal__button adyen-checkout__paypal__button--venmo\" ref={venmoButtonRef} />\n\n {isProcessingPayment && (\n <div className=\"adyen-checkout__paypal\">\n <div className=\"adyen-checkout__paypal__status adyen-checkout__paypal__status--processing\">\n <Spinner size=\"medium\" inline />\n {isProcessingPaymentWithoutReviewPage && i18n.get('paypal.processingPayment')}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["PaypalButtons","_param","props","onInit","onApprove","onClick","onCancel","onError","onShippingAddressChange","onShippingOptionsChange","onSubmit","isProcessingPayment","paypalRef","style","_object_without_properties","i18n","useCoreContext","isTokenize","configuration","intent","paypalButtonRef","useRef","creditButtonRef","payLaterButtonRef","venmoButtonRef","createButton","fundingSource","buttonRef","_object_spread_props","createBillingAgreement","createOrder","getStyle","button","Buttons","isEligible","render","current","useEffect","PAYPAL","CREDIT","PAYLATER","VENMO","FUNDING","blockPayPalCreditButton","blockPayPalPayLaterButton","blockPayPalVenmoButton","isProcessingPaymentWithoutReviewPage","commit","h","div","className","classnames","ref","Spinner","size","inline","get"],"mappings":"mtCAUe,SAASA,EAAcC,OAefC,GAfeC,OAClCA,EAAMC,UACNA,EAASC,QACTA,EAAOC,SACPA,EAAQC,QACRA,EAAOC,wBACPA,EAAuBC,wBACvBA,EAAuBC,SACvBA,EAAQC,oBACRA,EAAmBC,UACnBA,EAASC,MACTA,GAXkCZ,EAY/BC,EAZ+BY,EAAAb,EAAA,CAClCE,SACAC,YACAC,UACAC,WACAC,UACAC,0BACAC,0BACAC,WACAC,sBACAC,YACAC,UAGA,MAAME,KAAEA,GAASC,IACXC,EAA6C,cAAhCf,QAAAA,EAAAA,EAAMgB,qBAANhB,IAAAA,OAAAA,EAAAA,EAAqBiB,QAClCC,EAAkBC,EAAuB,MACzCC,EAAkBD,EAAuB,MACzCE,EAAoBF,EAAuB,MAC3CG,EAAiBH,EAAuB,MAExCI,EAAe,CAACC,EAA8BC,KAChD,MAAMT,EAAgBU,4UACdX,GAAc,CAAEY,uBAAwBnB,IACvCO,GAAc,CAAEa,YAAapB,IAC7BO,GAAgC,UAAlBS,GAA6BlB,GAA2B,CAAEA,4BACxES,GAAgC,UAAlBS,GAA6BjB,GAA2B,CAAEA,4BAAwB,CACrGiB,gBACAb,MAAOkB,EAASL,EAAeb,GAC/BV,SACAE,UACAC,WACAC,UACAH,cAGE4B,EAASpB,EAAUqB,QAAQf,GAE7Bc,EAAOE,cACPF,EAAOG,OAAOR,EAAUS,QAC5B,EAGJC,GAAU,KACN,MAAMC,OAAEA,EAAMC,OAAEA,EAAMC,SAAEA,EAAQC,MAAEA,GAAU7B,EAAU8B,QACtDjB,EAAaa,EAAQlB,GAEhBlB,EAAMyC,yBAAyBlB,EAAac,EAAQjB,GACpDpB,EAAM0C,2BAA2BnB,EAAae,EAAUjB,GACxDrB,EAAM2C,wBAAwBpB,EAAagB,EAAOjB,EAAAA,GACxD,IAEH,MAAMsB,GAAwD,IAAjB5C,EAAM6C,OAEnD,OACIC,EAACC,MAAAA,CAAIC,UAAWC,EAAW,kCAAmC,CAAE,oCAAqCxC,KACjGqC,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAKhC,IAC5F4B,EAACC,MAAAA,CAAIC,UAAU,wEAAwEE,IAAK9B,IAC5F0B,EAACC,MAAAA,CAAIC,UAAU,2EAA2EE,IAAK7B,IAC/FyB,EAACC,MAAAA,CAAIC,UAAU,uEAAuEE,IAAK5B,IAE1Fb,GACGqC,EAACC,MAAAA,CAAIC,UAAU,0BACXF,EAACC,MAAAA,CAAIC,UAAU,6EACXF,EAACK,EAAAA,CAAQC,KAAK,SAASC,QAAAA,IACtBT,GAAwC/B,EAAKyC,IAAI,8BAM1E"}
@@ -0,0 +1,2 @@
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as o}from"../../core/Context/CoreProvider.js";import r from"../internal/Await/Await.js";import s from"../../core/Errors/SRPanelProvider.js";import{TxVariants as n}from"../tx-variants.js";import{PayToIdentifierEnum as a}from"./components/IdentifierSelector.js";import i from"./components/PayToComponent.js";import{PayToInstructions as p}from"./components/PayToInstructions.js";import m from"./components/MandateSummary.js";import h from"../internal/PayButton/PayButton.js";import{payAmountLabel as c}from"../internal/PayButton/utils.js";function d(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function l(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{},r=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(o).filter((function(t){return Object.getOwnPropertyDescriptor(o,t).enumerable})))),r.forEach((function(e){d(t,e,o[e])}))}return t}function u(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e.push.apply(e,o)}return e}(Object(e)).forEach((function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(e,o))})),t}const y=6e4,f=1e4,b=!1,P=t=>{if("bsb-option"===t.selectedInput)return`${t.bsb}-${t.bankAccountNumber}`;if("payid-option"===t.selectedInput)switch(t.selectedIdentifier){case a.email:return t.email;case a.abn:return t.abn;case a.orgid:return t.orgid;case a.phone:return`${t.phonePrefix}-${t.phoneNumber}`}};class g extends e{formatProps(t){return u(l({},t),{data:u(l({},t.data),{phonePrefix:"+61"})})}formatData(){return this.props.storedPaymentMethodId?{paymentMethod:{type:g.type,storedPaymentMethodId:this.props.storedPaymentMethodId}}:{paymentMethod:{type:g.type,shopperAccountIdentifier:P(this.state.data)},shopperName:{firstName:this.state.data.firstName,lastName:this.state.data.lastName}}}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.name:""}render(){return this.props.storedPaymentMethodId?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.showPayButton&&t(h,u(l({},this.props),{classNameModifiers:["standalone"],amount:this.props.amount,label:c(this.props.i18n,this.props.amount),onClick:this.submit}))):this.props.paymentData?t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(s,{srPanel:this.props.modules.srPanel},t(r,{ref:t=>{this.componentRef=t},amount:this.props.amount,showAmount:!0,instructions:p,clientKey:this.props.clientKey,paymentData:this.props.paymentData,onError:this.props.onError,onComplete:this.onComplete,brandLogo:this.icon,type:this.constructor.type,messageText:this.props.i18n.get("payto.confirmPayment"),awaitText:this.props.i18n.get("payto.await.waitForConfirmation"),showCountdownTimer:b,throttleTime:y,throttleInterval:f,onActionHandled:this.onActionHandled,endSlot:()=>!!this.props.mandate&&t(m,{mandate:this.props.mandate,payee:this.props.payee,currencyCode:this.props.amount.currency})}))):t(o,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(i,{data:this.props.data,placeholders:this.props.placeholders,setComponentRef:this.setComponentRef,onChange:this.setState,payButton:this.payButton,showPayButton:this.props.showPayButton}))}}d(g,"type",n.payto),d(g,"defaultProps",{placeholders:{}});export{g as PayToElement,g as default};
2
+ //# sourceMappingURL=PayTo.js.map