@adyen/adyen-web 6.0.0-alpha.7 → 6.0.0-beta.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 (271) hide show
  1. package/dist/cjs/adyen.css +65 -65
  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 +1767 -1832
  6. package/dist/es/adyen.css +65 -65
  7. package/dist/es/adyen.css.map +1 -1
  8. package/dist/es/components/ANCV/ANCV.js +1 -1
  9. package/dist/es/components/ANCV/ANCV.js.map +1 -1
  10. package/dist/es/components/ANCV/components/ANCVInput.js.map +1 -1
  11. package/dist/es/components/Ach/Ach.js +1 -1
  12. package/dist/es/components/Ach/Ach.js.map +1 -1
  13. package/dist/es/components/Ach/components/AchInput/AchInput.js +1 -1
  14. package/dist/es/components/Ach/components/AchInput/AchInput.js.map +1 -1
  15. package/dist/es/components/Ach/components/AchInput/defaultProps.js +1 -1
  16. package/dist/es/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  17. package/dist/es/components/AfterPay/AfterPayB2B.js +1 -1
  18. package/dist/es/components/AfterPay/AfterPayB2B.js.map +1 -1
  19. package/dist/es/components/BacsDD/BacsDD.js +1 -1
  20. package/dist/es/components/BacsDD/BacsDD.js.map +1 -1
  21. package/dist/es/components/BacsDD/components/BacsInput.js +1 -1
  22. package/dist/es/components/BacsDD/components/BacsInput.js.map +1 -1
  23. package/dist/es/components/BankTransfer/BankTransfer.js +1 -1
  24. package/dist/es/components/BankTransfer/BankTransfer.js.map +1 -1
  25. package/dist/es/components/Blik/Blik.js +1 -1
  26. package/dist/es/components/Blik/Blik.js.map +1 -1
  27. package/dist/es/components/Blik/components/BlikInput.js.map +1 -1
  28. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  29. package/dist/es/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  30. package/dist/es/components/Card/Card.js +1 -1
  31. package/dist/es/components/Card/Card.js.map +1 -1
  32. package/dist/es/components/Card/components/CardInput/CardInput.js +1 -1
  33. package/dist/es/components/Card/components/CardInput/CardInput.js.map +1 -1
  34. package/dist/es/components/Card/components/CardInput/handlers.js +1 -1
  35. package/dist/es/components/Card/components/CardInput/types.js.map +1 -1
  36. package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +2 -0
  37. package/dist/es/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
  38. package/dist/es/components/CashAppPay/CashAppPay.js +1 -1
  39. package/dist/es/components/CashAppPay/CashAppPay.js.map +1 -1
  40. package/dist/es/components/Doku/Doku.js +1 -1
  41. package/dist/es/components/Doku/Doku.js.map +1 -1
  42. package/dist/es/components/Doku/components/DokuInput/DokuInput.js +1 -1
  43. package/dist/es/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  44. package/dist/es/components/Dropin/Dropin.js +1 -1
  45. package/dist/es/components/Dropin/Dropin.js.map +1 -1
  46. package/dist/es/components/Dropin/components/DropinComponent.js +1 -1
  47. package/dist/es/components/Dropin/components/DropinComponent.js.map +1 -1
  48. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  49. package/dist/es/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  50. package/dist/es/components/Dropin/elements/createElements.js.map +1 -1
  51. package/dist/es/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  52. package/dist/es/components/Dropin/elements/createStoredElements.js.map +1 -1
  53. package/dist/es/components/Dropin/elements/filters.js.map +1 -1
  54. package/dist/es/components/Econtext/Econtext.js +1 -1
  55. package/dist/es/components/Econtext/Econtext.js.map +1 -1
  56. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  57. package/dist/es/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  58. package/dist/es/components/Giropay/Giropay.js +1 -1
  59. package/dist/es/components/Giropay/Giropay.js.map +1 -1
  60. package/dist/es/components/GooglePay/GooglePay.js.map +1 -1
  61. package/dist/es/components/Multibanco/Multibanco.js +1 -1
  62. package/dist/es/components/Multibanco/Multibanco.js.map +1 -1
  63. package/dist/es/components/PersonalDetails/PersonalDetails.js +1 -1
  64. package/dist/es/components/PersonalDetails/PersonalDetails.js.map +1 -1
  65. package/dist/es/components/Redirect/Redirect.js +1 -1
  66. package/dist/es/components/Redirect/Redirect.js.map +1 -1
  67. package/dist/es/components/Sepa/Sepa.js +1 -1
  68. package/dist/es/components/Sepa/Sepa.js.map +1 -1
  69. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  70. package/dist/es/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  71. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  72. package/dist/es/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  73. package/dist/es/components/Trustly/Trustly.js +1 -1
  74. package/dist/es/components/Trustly/Trustly.js.map +1 -1
  75. package/dist/es/components/WeChat/config.js +1 -1
  76. package/dist/es/components/WeChat/config.js.map +1 -1
  77. package/dist/es/components/components-name-map.js +1 -1
  78. package/dist/es/components/components-name-map.js.map +1 -1
  79. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  80. package/dist/es/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  81. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  82. package/dist/es/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  83. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  84. package/dist/es/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  85. package/dist/es/components/index.js +1 -1
  86. package/dist/es/components/internal/BaseElement/BaseElement.js +1 -1
  87. package/dist/es/components/internal/BaseElement/BaseElement.js.map +1 -1
  88. package/dist/es/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  89. package/dist/es/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  90. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js +1 -1
  91. package/dist/es/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  92. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
  93. package/dist/es/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  94. package/dist/es/components/internal/ClickToPay/services/utils.js +1 -1
  95. package/dist/es/components/internal/ClickToPay/services/utils.js.map +1 -1
  96. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  97. package/dist/es/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  98. package/dist/es/components/internal/RedirectButton/RedirectButton.js +1 -1
  99. package/dist/es/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  100. package/dist/es/components/internal/UIElement/UIElement.js +1 -1
  101. package/dist/es/components/internal/UIElement/UIElement.js.map +1 -1
  102. package/dist/es/components/tx-variants.js +1 -1
  103. package/dist/es/components/tx-variants.js.map +1 -1
  104. package/dist/es/core/AdyenCheckout.js.map +1 -1
  105. package/dist/es/core/Analytics/Analytics.js +1 -1
  106. package/dist/es/core/Analytics/Analytics.js.map +1 -1
  107. package/dist/es/core/Analytics/analyticsPreProcessor.js +1 -1
  108. package/dist/es/core/Analytics/analyticsPreProcessor.js.map +1 -1
  109. package/dist/es/core/Analytics/constants.js +1 -1
  110. package/dist/es/core/Analytics/constants.js.map +1 -1
  111. package/dist/es/core/Analytics/utils.js +1 -1
  112. package/dist/es/core/Analytics/utils.js.map +1 -1
  113. package/dist/es/core/CheckoutSession/CheckoutSession.js.map +1 -1
  114. package/dist/es/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
  115. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  116. package/dist/es/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  117. package/dist/es/core/Services/analytics/collect-id.js +1 -1
  118. package/dist/es/core/Services/analytics/collect-id.js.map +1 -1
  119. package/dist/es/core/Services/http.js +1 -1
  120. package/dist/es/core/Services/http.js.map +1 -1
  121. package/dist/es/core/Services/sessions/setup-session.js +1 -1
  122. package/dist/es/core/Services/sessions/setup-session.js.map +1 -1
  123. package/dist/es/core/config.js +1 -1
  124. package/dist/es/core/config.js.map +1 -1
  125. package/dist/es/core/core.js +1 -1
  126. package/dist/es/core/core.js.map +1 -1
  127. package/dist/es/core/core.registry.js +1 -1
  128. package/dist/es/core/core.registry.js.map +1 -1
  129. package/dist/es/external/preact/dist/preact.js +1 -1
  130. package/dist/es/external/preact/dist/preact.js.map +1 -1
  131. package/dist/es/index.d.ts +1767 -1832
  132. package/dist/es/index.js +1 -1
  133. package/dist/es/language/constants.js +1 -1
  134. package/dist/es/language/constants.js.map +1 -1
  135. package/dist/es-legacy/adyen.css +65 -65
  136. package/dist/es-legacy/adyen.css.map +1 -1
  137. package/dist/es-legacy/components/ANCV/ANCV.js +1 -1
  138. package/dist/es-legacy/components/ANCV/ANCV.js.map +1 -1
  139. package/dist/es-legacy/components/ANCV/components/ANCVInput.js.map +1 -1
  140. package/dist/es-legacy/components/Ach/Ach.js +1 -1
  141. package/dist/es-legacy/components/Ach/Ach.js.map +1 -1
  142. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js +1 -1
  143. package/dist/es-legacy/components/Ach/components/AchInput/AchInput.js.map +1 -1
  144. package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js +1 -1
  145. package/dist/es-legacy/components/Ach/components/AchInput/defaultProps.js.map +1 -1
  146. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js +1 -1
  147. package/dist/es-legacy/components/AfterPay/AfterPayB2B.js.map +1 -1
  148. package/dist/es-legacy/components/BacsDD/BacsDD.js +1 -1
  149. package/dist/es-legacy/components/BacsDD/BacsDD.js.map +1 -1
  150. package/dist/es-legacy/components/BacsDD/components/BacsInput.js +1 -1
  151. package/dist/es-legacy/components/BacsDD/components/BacsInput.js.map +1 -1
  152. package/dist/es-legacy/components/BankTransfer/BankTransfer.js +1 -1
  153. package/dist/es-legacy/components/BankTransfer/BankTransfer.js.map +1 -1
  154. package/dist/es-legacy/components/Blik/Blik.js +1 -1
  155. package/dist/es-legacy/components/Blik/Blik.js.map +1 -1
  156. package/dist/es-legacy/components/Blik/components/BlikInput.js.map +1 -1
  157. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js +1 -1
  158. package/dist/es-legacy/components/Boleto/components/BoletoInput/BoletoInput.js.map +1 -1
  159. package/dist/es-legacy/components/Card/Card.js +1 -1
  160. package/dist/es-legacy/components/Card/Card.js.map +1 -1
  161. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js +1 -1
  162. package/dist/es-legacy/components/Card/components/CardInput/CardInput.js.map +1 -1
  163. package/dist/es-legacy/components/Card/components/CardInput/handlers.js +1 -1
  164. package/dist/es-legacy/components/Card/components/CardInput/types.js.map +1 -1
  165. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js +2 -0
  166. package/dist/es-legacy/components/Card/components/CardInput/useSRPanelForCardInputErrors.js.map +1 -0
  167. package/dist/es-legacy/components/CashAppPay/CashAppPay.js +1 -1
  168. package/dist/es-legacy/components/CashAppPay/CashAppPay.js.map +1 -1
  169. package/dist/es-legacy/components/Doku/Doku.js +1 -1
  170. package/dist/es-legacy/components/Doku/Doku.js.map +1 -1
  171. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js +1 -1
  172. package/dist/es-legacy/components/Doku/components/DokuInput/DokuInput.js.map +1 -1
  173. package/dist/es-legacy/components/Dropin/Dropin.js +1 -1
  174. package/dist/es-legacy/components/Dropin/Dropin.js.map +1 -1
  175. package/dist/es-legacy/components/Dropin/components/DropinComponent.js +1 -1
  176. package/dist/es-legacy/components/Dropin/components/DropinComponent.js.map +1 -1
  177. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js +1 -1
  178. package/dist/es-legacy/components/Dropin/components/PaymentMethod/PaymentMethodList.js.map +1 -1
  179. package/dist/es-legacy/components/Dropin/elements/createElements.js.map +1 -1
  180. package/dist/es-legacy/components/Dropin/elements/createInstantPaymentElements.js.map +1 -1
  181. package/dist/es-legacy/components/Dropin/elements/createStoredElements.js.map +1 -1
  182. package/dist/es-legacy/components/Dropin/elements/filters.js.map +1 -1
  183. package/dist/es-legacy/components/Econtext/Econtext.js +1 -1
  184. package/dist/es-legacy/components/Econtext/Econtext.js.map +1 -1
  185. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js +1 -1
  186. package/dist/es-legacy/components/Econtext/components/EcontextInput/EcontextInput.js.map +1 -1
  187. package/dist/es-legacy/components/Giropay/Giropay.js +1 -1
  188. package/dist/es-legacy/components/Giropay/Giropay.js.map +1 -1
  189. package/dist/es-legacy/components/GooglePay/GooglePay.js.map +1 -1
  190. package/dist/es-legacy/components/Multibanco/Multibanco.js +1 -1
  191. package/dist/es-legacy/components/Multibanco/Multibanco.js.map +1 -1
  192. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js +1 -1
  193. package/dist/es-legacy/components/PersonalDetails/PersonalDetails.js.map +1 -1
  194. package/dist/es-legacy/components/Redirect/Redirect.js +1 -1
  195. package/dist/es-legacy/components/Redirect/Redirect.js.map +1 -1
  196. package/dist/es-legacy/components/Sepa/Sepa.js +1 -1
  197. package/dist/es-legacy/components/Sepa/Sepa.js.map +1 -1
  198. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js +1 -1
  199. package/dist/es-legacy/components/ThreeDS2/components/Challenge/PrepareChallenge3DS2.js.map +1 -1
  200. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js +1 -1
  201. package/dist/es-legacy/components/ThreeDS2/components/DeviceFingerprint/PrepareFingerprint3DS2.js.map +1 -1
  202. package/dist/es-legacy/components/Trustly/Trustly.js +1 -1
  203. package/dist/es-legacy/components/Trustly/Trustly.js.map +1 -1
  204. package/dist/es-legacy/components/WeChat/config.js +1 -1
  205. package/dist/es-legacy/components/WeChat/config.js.map +1 -1
  206. package/dist/es-legacy/components/components-name-map.js +1 -1
  207. package/dist/es-legacy/components/components-name-map.js.map +1 -1
  208. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js +1 -1
  209. package/dist/es-legacy/components/helpers/IssuerListContainer/IssuerListContainer.js.map +1 -1
  210. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js +1 -1
  211. package/dist/es-legacy/components/helpers/OpenInvoiceContainer/OpenInvoiceContainer.js.map +1 -1
  212. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js +1 -1
  213. package/dist/es-legacy/components/helpers/QRLoaderContainer/QRLoaderContainer.js.map +1 -1
  214. package/dist/es-legacy/components/index.js +1 -1
  215. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js +1 -1
  216. package/dist/es-legacy/components/internal/BaseElement/BaseElement.js.map +1 -1
  217. package/dist/es-legacy/components/internal/ClickToPay/components/CtPCards/CtPCards.js.map +1 -1
  218. package/dist/es-legacy/components/internal/ClickToPay/components/CtPOneTimePassword/CtPOneTimePasswordInput/CtPResendOtpLink.js.map +1 -1
  219. package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js +1 -1
  220. package/dist/es-legacy/components/internal/ClickToPay/models/ShopperCard.js.map +1 -1
  221. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js +1 -1
  222. package/dist/es-legacy/components/internal/ClickToPay/services/sdks/SrciError.js.map +1 -1
  223. package/dist/es-legacy/components/internal/ClickToPay/services/utils.js +1 -1
  224. package/dist/es-legacy/components/internal/ClickToPay/services/utils.js.map +1 -1
  225. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js +1 -1
  226. package/dist/es-legacy/components/internal/OpenInvoice/OpenInvoice.js.map +1 -1
  227. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js +1 -1
  228. package/dist/es-legacy/components/internal/RedirectButton/RedirectButton.js.map +1 -1
  229. package/dist/es-legacy/components/internal/UIElement/UIElement.js +1 -1
  230. package/dist/es-legacy/components/internal/UIElement/UIElement.js.map +1 -1
  231. package/dist/es-legacy/components/tx-variants.js +1 -1
  232. package/dist/es-legacy/components/tx-variants.js.map +1 -1
  233. package/dist/es-legacy/core/AdyenCheckout.js.map +1 -1
  234. package/dist/es-legacy/core/Analytics/Analytics.js +1 -1
  235. package/dist/es-legacy/core/Analytics/Analytics.js.map +1 -1
  236. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js +1 -1
  237. package/dist/es-legacy/core/Analytics/analyticsPreProcessor.js.map +1 -1
  238. package/dist/es-legacy/core/Analytics/constants.js +1 -1
  239. package/dist/es-legacy/core/Analytics/constants.js.map +1 -1
  240. package/dist/es-legacy/core/Analytics/utils.js +1 -1
  241. package/dist/es-legacy/core/Analytics/utils.js.map +1 -1
  242. package/dist/es-legacy/core/CheckoutSession/CheckoutSession.js.map +1 -1
  243. package/dist/es-legacy/core/ProcessResponse/PaymentAction/PaymentAction.js.map +1 -1
  244. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js +1 -1
  245. package/dist/es-legacy/core/ProcessResponse/PaymentAction/actionTypes.js.map +1 -1
  246. package/dist/es-legacy/core/Services/analytics/collect-id.js +1 -1
  247. package/dist/es-legacy/core/Services/analytics/collect-id.js.map +1 -1
  248. package/dist/es-legacy/core/Services/http.js +1 -1
  249. package/dist/es-legacy/core/Services/http.js.map +1 -1
  250. package/dist/es-legacy/core/Services/sessions/setup-session.js +1 -1
  251. package/dist/es-legacy/core/Services/sessions/setup-session.js.map +1 -1
  252. package/dist/es-legacy/core/config.js +1 -1
  253. package/dist/es-legacy/core/config.js.map +1 -1
  254. package/dist/es-legacy/core/core.js +1 -1
  255. package/dist/es-legacy/core/core.js.map +1 -1
  256. package/dist/es-legacy/core/core.registry.js +1 -1
  257. package/dist/es-legacy/core/core.registry.js.map +1 -1
  258. package/dist/es-legacy/external/preact/dist/preact.js +1 -1
  259. package/dist/es-legacy/external/preact/dist/preact.js.map +1 -1
  260. package/dist/es-legacy/index.js +1 -1
  261. package/dist/es-legacy/language/constants.js +1 -1
  262. package/dist/es-legacy/language/constants.js.map +1 -1
  263. package/package.json +30 -30
  264. package/dist/es/components/Ideal/index.js +0 -2
  265. package/dist/es/components/Ideal/index.js.map +0 -1
  266. package/dist/es/core/Services/analytics/log-event.js +0 -2
  267. package/dist/es/core/Services/analytics/log-event.js.map +0 -1
  268. package/dist/es-legacy/components/Ideal/index.js +0 -2
  269. package/dist/es-legacy/components/Ideal/index.js.map +0 -1
  270. package/dist/es-legacy/core/Services/analytics/log-event.js +0 -2
  271. package/dist/es-legacy/core/Services/analytics/log-event.js.map +0 -1
@@ -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{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{CashAppComponent as o}from"./components/CashAppComponent.js";import r from"./services/CashAppService.js";import{CashAppSdkLoader as a}from"./services/CashAppSdkLoader.js";import n from"./defaultProps.js";import i from"../internal/RedirectButton/RedirectButton.js";import"../../external/classnames/index.js";import{payAmountLabel as p}from"../internal/PayButton/utils.js";import{TxVariants as h}from"../tx-variants.js";import{PREFIX as d}from"../internal/Icon/constants.js";class c extends e{static type=h.cashapp;cashAppService;static defaultProps=n;constructor(t,e){super(t,e),this.props.enableStoreDetails&&this.props.storePaymentMethod&&console.warn("CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior."),this.props.storedPaymentMethodId||(this.cashAppService=new r(new a,{storePaymentMethod:this.props.storePaymentMethod,useCashAppButtonUi:this.props.showPayButton,environment:this.props.environment,amount:this.props.amount,redirectURL:this.props.redirectURL,clientId:this.props.configuration?.clientId,scopeId:this.props.configuration?.scopeId,button:this.props.button,referenceId:this.props.referenceId}))}formatProps(t){return{...t,enableStoreDetails:t.session?.configuration?.enableStoreDetails||t.enableStoreDetails}}formatData(){const{shopperWantsToStore:t,grantId:e,onFileGrantId:s,cashTag:o,customerId:r}=this.state.data||{},{storePaymentMethod:a,storedPaymentMethodId:n}=this.props,i=this.props.enableStoreDetails||!this.props.session&&a;if(n)return{paymentMethod:{type:c.type,storedPaymentMethodId:n}};return{paymentMethod:{type:c.type,...e&&{grantId:e},...r&&{customerId:r},...s&&o&&{onFileGrantId:s,cashtag:o}},...i&&{storePaymentMethod:a||t}}}get displayName(){return this.props.storedPaymentMethodId&&this.props.cashtag?this.props.cashtag:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?"Cash App Pay":""}submit=()=>{const{onClick:t,storedPaymentMethodId:e}=this.props;if(e)return void super.submit();let s=!1;new Promise(((e,s)=>t({resolve:e,reject:s}))).catch((()=>{throw s=!0,Error("onClick rejected")})).then((()=>this.cashAppService.createCustomerRequest())).then((()=>{this.cashAppService.begin()})).catch((t=>{s||this.handleError(t)}))};get isValid(){return!0}handleOnChangeStoreDetails=t=>{const e={...this.state.data,shopperWantsToStore:t};this.setState({data:e})};handleAuthorize=t=>{const e={...this.state.data,...t};this.setState({data:e,valid:{},errors:{},isValid:!0}),super.submit()};render(){return t(s,{i18n:this.props.i18n,resources:this.resources,loadingContext:this.props.loadingContext},this.props.storedPaymentMethodId?t(i,{label:p(this.props.i18n,this.props.amount),icon:this.resources?.getImage({imageFolder:"components/"})(`${d}lock`),name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(o,{ref:t=>{this.componentRef=t},enableStoreDetails:this.props.enableStoreDetails,cashAppService:this.cashAppService,onChangeStoreDetails:this.handleOnChangeStoreDetails,onError:this.handleError,onClick:this.submit,onAuthorize:this.handleAuthorize}))}}export{c as CashAppPay,c as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import{CoreProvider as s}from"../../core/Context/CoreProvider.js";import{CashAppComponent as o}from"./components/CashAppComponent.js";import r from"./services/CashAppService.js";import{CashAppSdkLoader as a}from"./services/CashAppSdkLoader.js";import n from"./defaultProps.js";import i from"../internal/RedirectButton/RedirectButton.js";import"../../external/classnames/index.js";import{payAmountLabel as p}from"../internal/PayButton/utils.js";import{TxVariants as h}from"../tx-variants.js";import{PREFIX as d}from"../internal/Icon/constants.js";class c extends e{static type=h.cashapp;cashAppService;static defaultProps=n;constructor(t,e){super(t,e),this.props.enableStoreDetails&&this.props.storePaymentMethod&&console.warn("CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior."),this.props.storedPaymentMethodId||(this.cashAppService=new r(new a,{storePaymentMethod:this.props.storePaymentMethod,useCashAppButtonUi:this.props.showPayButton,environment:this.props.environment,amount:this.props.amount,redirectURL:this.props.redirectURL,clientId:this.props.configuration?.clientId,scopeId:this.props.configuration?.scopeId,button:this.props.button,referenceId:this.props.referenceId}))}formatProps(t){return{...t,enableStoreDetails:t.session?.configuration?.enableStoreDetails||t.enableStoreDetails}}formatData(){const{shopperWantsToStore:t,grantId:e,onFileGrantId:s,cashTag:o,customerId:r}=this.state.data||{},{storePaymentMethod:a,storedPaymentMethodId:n}=this.props,i=this.props.enableStoreDetails||!this.props.session&&a;if(n)return{paymentMethod:{type:c.type,storedPaymentMethodId:n}};return{paymentMethod:{type:c.type,...e&&{grantId:e},...r&&{customerId:r},...s&&o&&{onFileGrantId:s,cashtag:o}},...i&&{storePaymentMethod:a||t}}}get displayName(){return this.props.storedPaymentMethodId&&this.props.cashtag?this.props.cashtag:this.props.name}get additionalInfo(){return this.props.storedPaymentMethodId?"Cash App Pay":""}submit=()=>{const{onClick:t,storedPaymentMethodId:e}=this.props;if(e)return void super.submit();let s=!1;new Promise(((e,s)=>t({resolve:e,reject:s}))).catch((()=>{throw s=!0,Error("onClick rejected")})).then((()=>this.cashAppService.createCustomerRequest())).then((()=>{this.cashAppService.begin()})).catch((t=>{s||this.handleError(t)}))};get isValid(){return!0}handleOnChangeStoreDetails=t=>{const e={...this.state.data,shopperWantsToStore:t};this.setState({data:e})};handleAuthorize=t=>{const e={...this.state.data,...t};this.setState({data:e,valid:{},errors:{},isValid:!0}),super.submit()};render(){return t(s,{i18n:this.props.i18n,resources:this.resources,loadingContext:this.props.loadingContext},this.props.storedPaymentMethodId?t(i,{showPayButton:this.props.showPayButton,label:p(this.props.i18n,this.props.amount),icon:this.resources?.getImage({imageFolder:"components/"})(`${d}lock`),name:this.displayName,amount:this.props.amount,payButton:this.payButton,onSubmit:this.submit,ref:t=>{this.componentRef=t}}):t(o,{ref:t=>{this.componentRef=t},enableStoreDetails:this.props.enableStoreDetails,cashAppService:this.cashAppService,onChangeStoreDetails:this.handleOnChangeStoreDetails,onError:this.handleError,onClick:this.submit,onAuthorize:this.handleAuthorize}))}}export{c as CashAppPay,c as default};
2
2
  //# sourceMappingURL=CashAppPay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CashAppPay.js","sources":["../../../../src/components/CashAppPay/CashAppPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { CashAppComponent } from './components/CashAppComponent';\nimport CashAppService from './services/CashAppService';\nimport { CashAppSdkLoader } from './services/CashAppSdkLoader';\nimport { CashAppPayElementData, CashAppPayConfiguration, CashAppPayEventData } from './types';\nimport { ICashAppService } from './services/types';\nimport defaultProps from './defaultProps';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport { PREFIX } from '../internal/Icon/constants';\n\nexport class CashAppPay extends UIElement<CashAppPayConfiguration> {\n public static type = TxVariants.cashapp;\n\n private readonly cashAppService: ICashAppService | undefined;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: CashAppPayConfiguration) {\n super(checkout, props);\n\n if (this.props.enableStoreDetails && this.props.storePaymentMethod) {\n console.warn(\n 'CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior.'\n );\n }\n\n if (this.props.storedPaymentMethodId) {\n return;\n }\n\n this.cashAppService = new CashAppService(new CashAppSdkLoader(), {\n storePaymentMethod: this.props.storePaymentMethod,\n useCashAppButtonUi: this.props.showPayButton,\n environment: this.props.environment,\n amount: this.props.amount,\n redirectURL: this.props.redirectURL,\n clientId: this.props.configuration?.clientId,\n scopeId: this.props.configuration?.scopeId,\n button: this.props.button,\n referenceId: this.props.referenceId\n });\n }\n\n public formatProps(props: CashAppPayConfiguration) {\n return {\n ...props,\n enableStoreDetails: props.session?.configuration?.enableStoreDetails || props.enableStoreDetails\n };\n }\n\n public formatData(): CashAppPayElementData {\n const { shopperWantsToStore, grantId, onFileGrantId, cashTag, customerId } = this.state.data || {};\n const { storePaymentMethod: storePaymentMethodSetByMerchant, storedPaymentMethodId } = this.props;\n\n /**\n * We include 'storePaymentMethod' flag if we either Display the Checkbox OR if it is non-sessions flow AND the merchant wants to store the payment method\n */\n const includeStorePaymentMethod = this.props.enableStoreDetails || (!this.props.session && storePaymentMethodSetByMerchant);\n\n if (storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: CashAppPay.type,\n storedPaymentMethodId\n }\n };\n }\n\n const shouldAddOnFileProperties = onFileGrantId && cashTag;\n\n return {\n paymentMethod: {\n type: CashAppPay.type,\n ...(grantId && { grantId }),\n ...(customerId && { customerId }),\n ...(shouldAddOnFileProperties && { onFileGrantId, cashtag: cashTag })\n },\n ...(includeStorePaymentMethod && { storePaymentMethod: storePaymentMethodSetByMerchant || shopperWantsToStore })\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.cashtag) {\n return this.props.cashtag;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? 'Cash App Pay' : '';\n }\n\n public submit = () => {\n const { onClick, storedPaymentMethodId } = this.props;\n\n if (storedPaymentMethodId) {\n super.submit();\n return;\n }\n\n let onClickPromiseRejected = false;\n\n new Promise<void>((resolve, reject) => onClick({ resolve, reject }))\n .catch(() => {\n onClickPromiseRejected = true;\n throw Error('onClick rejected');\n })\n .then(() => {\n return this.cashAppService.createCustomerRequest();\n })\n .then(() => {\n this.cashAppService.begin();\n })\n .catch(error => {\n if (onClickPromiseRejected) {\n // Swallow exception triggered by onClick reject\n return;\n }\n this.handleError(error);\n });\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n private handleOnChangeStoreDetails = (storePayment: boolean) => {\n const data = { ...this.state.data, shopperWantsToStore: storePayment };\n this.setState({ data });\n };\n\n private handleAuthorize = (cashAppPaymentData: CashAppPayEventData): void => {\n const data = { ...this.state.data, ...cashAppPaymentData };\n this.setState({ data, valid: {}, errors: {}, isValid: true });\n super.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} resources={this.resources} loadingContext={this.props.loadingContext}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <CashAppComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n enableStoreDetails={this.props.enableStoreDetails}\n cashAppService={this.cashAppService}\n onChangeStoreDetails={this.handleOnChangeStoreDetails}\n onError={this.handleError}\n onClick={this.submit}\n onAuthorize={this.handleAuthorize}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default CashAppPay;\n"],"names":["CashAppPay","UIElement","static","TxVariants","cashapp","cashAppService","defaultProps","constructor","checkout","props","super","this","enableStoreDetails","storePaymentMethod","console","warn","storedPaymentMethodId","CashAppService","CashAppSdkLoader","useCashAppButtonUi","showPayButton","environment","amount","redirectURL","clientId","configuration","scopeId","button","referenceId","formatProps","session","formatData","shopperWantsToStore","grantId","onFileGrantId","cashTag","customerId","state","data","storePaymentMethodSetByMerchant","includeStorePaymentMethod","paymentMethod","type","cashtag","displayName","name","additionalInfo","submit","onClick","onClickPromiseRejected","Promise","resolve","reject","catch","Error","then","createCustomerRequest","begin","error","handleError","isValid","handleOnChangeStoreDetails","storePayment","setState","handleAuthorize","cashAppPaymentData","valid","errors","render","h","CoreProvider","i18n","resources","loadingContext","RedirectButton","label","payAmountLabel","icon","getImage","imageFolder","PREFIX","payButton","onSubmit","ref","componentRef","CashAppComponent","onChangeStoreDetails","onError","onAuthorize"],"mappings":"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"}
1
+ {"version":3,"file":"CashAppPay.js","sources":["../../../../src/components/CashAppPay/CashAppPay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { CashAppComponent } from './components/CashAppComponent';\nimport CashAppService from './services/CashAppService';\nimport { CashAppSdkLoader } from './services/CashAppSdkLoader';\nimport { CashAppPayElementData, CashAppPayConfiguration, CashAppPayEventData } from './types';\nimport { ICashAppService } from './services/types';\nimport defaultProps from './defaultProps';\nimport RedirectButton from '../internal/RedirectButton';\nimport { payAmountLabel } from '../internal/PayButton';\nimport { TxVariants } from '../tx-variants';\nimport type { ICore } from '../../core/types';\nimport { PREFIX } from '../internal/Icon/constants';\n\nexport class CashAppPay extends UIElement<CashAppPayConfiguration> {\n public static type = TxVariants.cashapp;\n\n private readonly cashAppService: ICashAppService | undefined;\n\n protected static defaultProps = defaultProps;\n\n constructor(checkout: ICore, props?: CashAppPayConfiguration) {\n super(checkout, props);\n\n if (this.props.enableStoreDetails && this.props.storePaymentMethod) {\n console.warn(\n 'CashAppPay: enableStoreDetails AND storePaymentMethod configuration properties should not be used together. That can lead to undesired behavior.'\n );\n }\n\n if (this.props.storedPaymentMethodId) {\n return;\n }\n\n this.cashAppService = new CashAppService(new CashAppSdkLoader(), {\n storePaymentMethod: this.props.storePaymentMethod,\n useCashAppButtonUi: this.props.showPayButton,\n environment: this.props.environment,\n amount: this.props.amount,\n redirectURL: this.props.redirectURL,\n clientId: this.props.configuration?.clientId,\n scopeId: this.props.configuration?.scopeId,\n button: this.props.button,\n referenceId: this.props.referenceId\n });\n }\n\n public formatProps(props: CashAppPayConfiguration) {\n return {\n ...props,\n enableStoreDetails: props.session?.configuration?.enableStoreDetails || props.enableStoreDetails\n };\n }\n\n public formatData(): CashAppPayElementData {\n const { shopperWantsToStore, grantId, onFileGrantId, cashTag, customerId } = this.state.data || {};\n const { storePaymentMethod: storePaymentMethodSetByMerchant, storedPaymentMethodId } = this.props;\n\n /**\n * We include 'storePaymentMethod' flag if we either Display the Checkbox OR if it is non-sessions flow AND the merchant wants to store the payment method\n */\n const includeStorePaymentMethod = this.props.enableStoreDetails || (!this.props.session && storePaymentMethodSetByMerchant);\n\n if (storedPaymentMethodId) {\n return {\n paymentMethod: {\n type: CashAppPay.type,\n storedPaymentMethodId\n }\n };\n }\n\n const shouldAddOnFileProperties = onFileGrantId && cashTag;\n\n return {\n paymentMethod: {\n type: CashAppPay.type,\n ...(grantId && { grantId }),\n ...(customerId && { customerId }),\n ...(shouldAddOnFileProperties && { onFileGrantId, cashtag: cashTag })\n },\n ...(includeStorePaymentMethod && { storePaymentMethod: storePaymentMethodSetByMerchant || shopperWantsToStore })\n };\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.cashtag) {\n return this.props.cashtag;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n return this.props.storedPaymentMethodId ? 'Cash App Pay' : '';\n }\n\n public submit = () => {\n const { onClick, storedPaymentMethodId } = this.props;\n\n if (storedPaymentMethodId) {\n super.submit();\n return;\n }\n\n let onClickPromiseRejected = false;\n\n new Promise<void>((resolve, reject) => onClick({ resolve, reject }))\n .catch(() => {\n onClickPromiseRejected = true;\n throw Error('onClick rejected');\n })\n .then(() => {\n return this.cashAppService.createCustomerRequest();\n })\n .then(() => {\n this.cashAppService.begin();\n })\n .catch(error => {\n if (onClickPromiseRejected) {\n // Swallow exception triggered by onClick reject\n return;\n }\n this.handleError(error);\n });\n };\n\n public get isValid(): boolean {\n return true;\n }\n\n private handleOnChangeStoreDetails = (storePayment: boolean) => {\n const data = { ...this.state.data, shopperWantsToStore: storePayment };\n this.setState({ data });\n };\n\n private handleAuthorize = (cashAppPaymentData: CashAppPayEventData): void => {\n const data = { ...this.state.data, ...cashAppPaymentData };\n this.setState({ data, valid: {}, errors: {}, isValid: true });\n super.submit();\n };\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} resources={this.resources} loadingContext={this.props.loadingContext}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\n label={payAmountLabel(this.props.i18n, this.props.amount)}\n icon={this.resources?.getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)}\n name={this.displayName}\n amount={this.props.amount}\n payButton={this.payButton}\n onSubmit={this.submit}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n ) : (\n <CashAppComponent\n ref={ref => {\n this.componentRef = ref;\n }}\n enableStoreDetails={this.props.enableStoreDetails}\n cashAppService={this.cashAppService}\n onChangeStoreDetails={this.handleOnChangeStoreDetails}\n onError={this.handleError}\n onClick={this.submit}\n onAuthorize={this.handleAuthorize}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default CashAppPay;\n"],"names":["CashAppPay","UIElement","static","TxVariants","cashapp","cashAppService","defaultProps","constructor","checkout","props","super","this","enableStoreDetails","storePaymentMethod","console","warn","storedPaymentMethodId","CashAppService","CashAppSdkLoader","useCashAppButtonUi","showPayButton","environment","amount","redirectURL","clientId","configuration","scopeId","button","referenceId","formatProps","session","formatData","shopperWantsToStore","grantId","onFileGrantId","cashTag","customerId","state","data","storePaymentMethodSetByMerchant","includeStorePaymentMethod","paymentMethod","type","cashtag","displayName","name","additionalInfo","submit","onClick","onClickPromiseRejected","Promise","resolve","reject","catch","Error","then","createCustomerRequest","begin","error","handleError","isValid","handleOnChangeStoreDetails","storePayment","setState","handleAuthorize","cashAppPaymentData","valid","errors","render","h","CoreProvider","i18n","resources","loadingContext","RedirectButton","label","payAmountLabel","icon","getImage","imageFolder","PREFIX","payButton","onSubmit","ref","componentRef","CashAppComponent","onChangeStoreDetails","onError","onAuthorize"],"mappings":"sqBAeO,MAAMA,UAAmBC,EAC5BC,YAAqBC,EAAWC,QAEfC,eAEjBH,oBAAgCI,EAEhCC,WAAAA,CAAYC,EAAiBC,GACzBC,MAAMF,EAAUC,GAEZE,KAAKF,MAAMG,oBAAsBD,KAAKF,MAAMI,oBAC5CC,QAAQC,KACJ,oJAIJJ,KAAKF,MAAMO,wBAIfL,KAAKN,eAAiB,IAAIY,EAAe,IAAIC,EAAoB,CAC7DL,mBAAoBF,KAAKF,MAAMI,mBAC/BM,mBAAoBR,KAAKF,MAAMW,cAC/BC,YAAaV,KAAKF,MAAMY,YACxBC,OAAQX,KAAKF,MAAMa,OACnBC,YAAaZ,KAAKF,MAAMc,YACxBC,SAAUb,KAAKF,MAAMgB,eAAeD,SACpCE,QAASf,KAAKF,MAAMgB,eAAeC,QACnCC,OAAQhB,KAAKF,MAAMkB,OACnBC,YAAajB,KAAKF,MAAMmB,cAEhC,CAEOC,WAAAA,CAAYpB,GACf,MAAO,IACAA,EACHG,mBAAoBH,EAAMqB,SAASL,eAAeb,oBAAsBH,EAAMG,mBAEtF,CAEOmB,UAAAA,GACH,MAAMC,oBAAEA,EAAmBC,QAAEA,EAAOC,cAAEA,EAAaC,QAAEA,EAAOC,WAAEA,GAAezB,KAAK0B,MAAMC,MAAQ,IACxFzB,mBAAoB0B,EAA+BvB,sBAAEA,GAA0BL,KAAKF,MAKtF+B,EAA4B7B,KAAKF,MAAMG,qBAAwBD,KAAKF,MAAMqB,SAAWS,EAE3F,GAAIvB,EACA,MAAO,CACHyB,cAAe,CACXC,KAAM1C,EAAW0C,KACjB1B,0BAOZ,MAAO,CACHyB,cAAe,CACXC,KAAM1C,EAAW0C,QACbT,GAAW,CAAEA,cACbG,GAAc,CAAEA,iBANMF,GAAiBC,GAOV,CAAED,gBAAeS,QAASR,OAE3DK,GAA6B,CAAE3B,mBAAoB0B,GAAmCP,GAElG,CAEA,eAAIY,GACA,OAAIjC,KAAKF,MAAMO,uBAAyBL,KAAKF,MAAMkC,QACxChC,KAAKF,MAAMkC,QAEfhC,KAAKF,MAAMoC,IACtB,CAEA,kBAAIC,GACA,OAAOnC,KAAKF,MAAMO,sBAAwB,eAAiB,EAC/D,CAEO+B,OAAS,KACZ,MAAMC,QAAEA,EAAOhC,sBAAEA,GAA0BL,KAAKF,MAEhD,GAAIO,EAEA,YADAN,MAAMqC,SAIV,IAAIE,GAAyB,EAE7B,IAAIC,SAAc,CAACC,EAASC,IAAWJ,EAAQ,CAAEG,UAASC,aACrDC,OAAM,KAEH,MADAJ,GAAyB,EACnBK,MAAM,mBAAA,IAEfC,MAAK,IACK5C,KAAKN,eAAemD,0BAE9BD,MAAK,KACF5C,KAAKN,eAAeoD,OAAK,IAE5BJ,OAAMK,IACCT,GAIJtC,KAAKgD,YAAYD,EAAAA,GACrB,EAGR,WAAWE,GACP,OAAO,CACX,CAEQC,2BAA8BC,IAClC,MAAMxB,EAAO,IAAK3B,KAAK0B,MAAMC,KAAMN,oBAAqB8B,GACxDnD,KAAKoD,SAAS,CAAEzB,QAAK,EAGjB0B,gBAAmBC,IACvB,MAAM3B,EAAO,IAAK3B,KAAK0B,MAAMC,QAAS2B,GACtCtD,KAAKoD,SAAS,CAAEzB,OAAM4B,MAAO,CAAC,EAAGC,OAAQ,CAAC,EAAGP,SAAS,IACtDlD,MAAMqC,QAAAA,EAGVqB,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAM5D,KAAKF,MAAM8D,KAAMC,UAAW7D,KAAK6D,UAAWC,eAAgB9D,KAAKF,MAAMgE,gBACtF9D,KAAKF,MAAMO,sBACRqD,EAACK,EAAAA,CACGtD,cAAeT,KAAKF,MAAMW,cAC1BuD,MAAOC,EAAejE,KAAKF,MAAM8D,KAAM5D,KAAKF,MAAMa,QAClDuD,KAAMlE,KAAK6D,WAAWM,SAAS,CAAEC,YAAa,eAAxCpE,CAAyD,GAAGqE,SAClEnC,KAAMlC,KAAKiC,YACXtB,OAAQX,KAAKF,MAAMa,OACnB2D,UAAWtE,KAAKsE,UAChBC,SAAUvE,KAAKoC,OACfoC,IAAKA,IACDxE,KAAKyE,aAAeD,CAAAA,IAI5Bd,EAACgB,EAAAA,CACGF,IAAKA,IACDxE,KAAKyE,aAAeD,CAAAA,EAExBvE,mBAAoBD,KAAKF,MAAMG,mBAC/BP,eAAgBM,KAAKN,eACrBiF,qBAAsB3E,KAAKkD,2BAC3B0B,QAAS5E,KAAKgD,YACdX,QAASrC,KAAKoC,OACdyC,YAAa7E,KAAKqD,kBAKtC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as o}from"../internal/UIElement/UIElement.js";import e from"./components/DokuInput/DokuInput.js";import a from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";class i extends o{static type=s.doku;static txVariants=[s.doku,s.doku_alfamart,s.doku_permata_lite_atm,s.doku_indomaret,s.doku_atm_mandiri_va,s.doku_sinarmas_va,s.doku_mandiri_va,s.doku_cimb_va,s.doku_danamon_va,s.doku_bri_va,s.doku_bni_va,s.doku_bca_va,s.doku_wallet];static defaultProps={showFormInstruction:!0};get isValid(){return!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(a,{ref:t=>{this.componentRef=t},...this.props}):t(e,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as DokuElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/DokuInput/DokuInput.js";import a from"./components/DokuVoucherResult/DokuVoucherResult.js";import{CoreProvider as r}from"../../core/Context/CoreProvider.js";import{TxVariants as s}from"../tx-variants.js";class i extends e{static type=s.doku;static txVariants=[s.doku,s.doku_alfamart,s.doku_permata_lite_atm,s.doku_indomaret,s.doku_atm_mandiri_va,s.doku_sinarmas_va,s.doku_mandiri_va,s.doku_cimb_va,s.doku_danamon_va,s.doku_bri_va,s.doku_bni_va,s.doku_bca_va,s.doku_wallet];get isValid(){return!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(r,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(a,{ref:t=>{this.componentRef=t},...this.props}):t(o,{setComponentRef:this.setComponentRef,...this.props,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as DokuElement,i as default};
2
2
  //# sourceMappingURL=Doku.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n protected static defaultProps = {\n showFormInstruction: true\n };\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","static","TxVariants","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","showFormInstruction","isValid","this","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton"],"mappings":"2WAQO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAChCF,kBAA2B,CACvBC,EAAWC,KACXD,EAAWE,cACXF,EAAWG,sBACXH,EAAWI,eACXJ,EAAWK,oBACXL,EAAWM,iBACXN,EAAWO,gBACXP,EAAWQ,aACXR,EAAWS,gBACXT,EAAWU,YACXV,EAAWW,YACXX,EAAWY,YACXZ,EAAWa,aAGfd,oBAAgC,CAC5Be,qBAAqB,GAGzB,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAO,IACAF,KAAKC,MAAME,KACdC,cAAe,CACXC,KAAML,KAAKK,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMT,KAAKU,MAAMD,KAAME,eAAgBX,KAAKU,MAAMC,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKU,MAAMG,UACRN,EAACO,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKU,QAGbH,EAACU,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKU,MACTS,SAAUnB,KAAKoB,SACfC,SAAUrB,KAAKsB,OACfC,UAAWvB,KAAKuB,YAKpC"}
1
+ {"version":3,"file":"Doku.js","sources":["../../../../src/components/Doku/Doku.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport DokuInput from './components/DokuInput';\nimport DokuVoucherResult from './components/DokuVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { VoucherConfiguration } from '../internal/Voucher/types';\n\nexport class DokuElement extends UIElement<VoucherConfiguration> {\n public static type = TxVariants.doku;\n public static txVariants = [\n TxVariants.doku,\n TxVariants.doku_alfamart,\n TxVariants.doku_permata_lite_atm,\n TxVariants.doku_indomaret,\n TxVariants.doku_atm_mandiri_va,\n TxVariants.doku_sinarmas_va,\n TxVariants.doku_mandiri_va,\n TxVariants.doku_cimb_va,\n TxVariants.doku_danamon_va,\n TxVariants.doku_bri_va,\n TxVariants.doku_bni_va,\n TxVariants.doku_bca_va,\n TxVariants.doku_wallet\n ];\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <DokuVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <DokuInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default DokuElement;\n"],"names":["DokuElement","UIElement","static","TxVariants","doku","doku_alfamart","doku_permata_lite_atm","doku_indomaret","doku_atm_mandiri_va","doku_sinarmas_va","doku_mandiri_va","doku_cimb_va","doku_danamon_va","doku_bri_va","doku_bni_va","doku_bca_va","doku_wallet","isValid","this","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","props","loadingContext","resources","reference","DokuVoucherResult","ref","componentRef","DokuInput","setComponentRef","onChange","setState","onSubmit","submit","payButton"],"mappings":"2WAQO,MAAMA,UAAoBC,EAC7BC,YAAqBC,EAAWC,KAChCF,kBAA2B,CACvBC,EAAWC,KACXD,EAAWE,cACXF,EAAWG,sBACXH,EAAWI,eACXJ,EAAWK,oBACXL,EAAWM,iBACXN,EAAWO,gBACXP,EAAWQ,aACXR,EAAWS,gBACXT,EAAWU,YACXV,EAAWW,YACXX,EAAWY,YACXZ,EAAWa,aAGf,WAAIC,GACA,QAASC,KAAKC,MAAMF,OACxB,CAKAG,UAAAA,GACI,MAAO,IACAF,KAAKC,MAAME,KACdC,cAAe,CACXC,KAAML,KAAKK,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMT,KAAKU,MAAMD,KAAME,eAAgBX,KAAKU,MAAMC,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKU,MAAMG,UACRN,EAACO,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKU,QAGbH,EAACU,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKU,MACTS,SAAUnB,KAAKoB,SACfC,SAAUrB,KAAKsB,OACfC,UAAWvB,KAAKuB,YAKpC"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../../../external/preact/dist/preact.js";import{useRef as e,useState as r}from"../../../../external/preact/hooks/dist/hooks.js";import o from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as n}from"../../../../core/Context/CoreProvider.js";import a from"../../../internal/FormInstruction/FormInstruction.js";function s(s){const i=e(null),{i18n:u}=n(),[l,c]=r("ready"),m=e({});return Object.keys(m.current).length||s.setComponentRef?.(m.current),m.current.showValidation=()=>{i.current?.showValidation()},m.current.setStatus=c,t("div",{className:"adyen-checkout__doku-input__field"},s.showFormInstruction&&t(a,null),t(o,{data:s.data,requiredFields:["firstName","lastName","shopperEmail"],onChange:s.onChange,namePrefix:"doku",setComponentRef:t=>{i.current=t}}),s.showPayButton&&s.payButton({status:l,label:u.get("confirmPurchase")}))}export{s 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 o from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as n}from"../../../../core/Context/CoreProvider.js";import a from"../../../internal/FormInstruction/FormInstruction.js";function s(s){const i=t(null),{i18n:u}=n(),[l,c]=r("ready"),m=t({});return Object.keys(m.current).length||s.setComponentRef?.(m.current),m.current.showValidation=()=>{i.current?.showValidation()},m.current.setStatus=c,e("div",{className:"adyen-checkout__doku-input__field"},e(a,null),e(o,{data:s.data,requiredFields:["firstName","lastName","shopperEmail"],onChange:s.onChange,namePrefix:"doku",setComponentRef:e=>{i.current=e}}),s.showPayButton&&s.payButton({status:l,label:u.get("confirmPurchase")}))}export{s as default};
2
2
  //# sourceMappingURL=DokuInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n {props.showFormInstruction && <FormInstruction />}\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","showFormInstruction","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,CAAA,GAY5C,OAVKO,OAAOC,KAAKF,EAAQG,SAASC,QAC9BZ,EAAMa,kBAAkBL,EAAQG,SAGpCH,EAAQG,QAAQG,eAAiB,KAC7Bb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAQG,QAAQL,UAAYA,EAGxBS,EAACC,MAAAA,CAAIC,UAAU,qCACVjB,EAAMkB,qBAAuBH,EAACI,EAAAA,MAC/BJ,EAACK,EAAAA,CACGC,KAAMrB,EAAMqB,KACZC,eAAgB,CAAC,YAAa,WAAY,gBAC1CC,SAAUvB,EAAMuB,SAChBC,WAAW,OACXX,gBA7BkBY,IAC1BxB,EAAmBU,QAAUc,CAAAA,IA+BxBzB,EAAM0B,eAAiB1B,EAAM2B,UAAU,CAAEtB,SAAQuB,MAAOzB,EAAK0B,IAAI,qBAG9E"}
1
+ {"version":3,"file":"DokuInput.js","sources":["../../../../../../src/components/Doku/components/DokuInput/DokuInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\nexport default function DokuInput(props) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const dokuRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(dokuRef.current).length) {\n props.setComponentRef?.(dokuRef.current);\n }\n\n dokuRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n dokuRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__doku-input__field\">\n <FormInstruction />\n\n <PersonalDetails\n data={props.data}\n requiredFields={['firstName', 'lastName', 'shopperEmail']}\n onChange={props.onChange}\n namePrefix=\"doku\"\n setComponentRef={setPersonalDetailsRef}\n />\n\n {props.showPayButton && props.payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["DokuInput","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","dokuRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","FormInstruction","PersonalDetails","data","requiredFields","onChange","namePrefix","ref","showPayButton","payButton","label","get"],"mappings":"oXAOe,SAASA,EAAUC,GAC9B,MAAMC,EAAqBC,EAAO,OAK5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAUN,EAA4B,CAAA,GAY5C,OAVKO,OAAOC,KAAKF,EAAQG,SAASC,QAC9BZ,EAAMa,kBAAkBL,EAAQG,SAGpCH,EAAQG,QAAQG,eAAiB,KAC7Bb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAQG,QAAQL,UAAYA,EAGxBS,EAACC,MAAAA,CAAIC,UAAU,qCACXF,EAACG,QAEDH,EAACI,EAAAA,CACGC,KAAMpB,EAAMoB,KACZC,eAAgB,CAAC,YAAa,WAAY,gBAC1CC,SAAUtB,EAAMsB,SAChBC,WAAW,OACXV,gBA9BkBW,IAC1BvB,EAAmBU,QAAUa,CAAAA,IAgCxBxB,EAAMyB,eAAiBzB,EAAM0B,UAAU,CAAErB,SAAQsB,MAAOxB,EAAKyB,IAAI,qBAG9E"}
@@ -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"./defaultProps.js";import{DropinComponent as s}from"./components/DropinComponent.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{getCommonProps as i}from"./components/utils.js";import r from"./elements/createElements.js";import a from"./elements/createStoredElements.js";import h from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as m}from"../../utils/hasOwnProperty.js";import d from"../../core/Errors/SRPanelProvider.js";import p from"./elements/splitPaymentMethods.js";const l=["paywithgoogle","googlepay","applepay"];class c extends e{static defaultProps=o;dropinRef=null;paymentMethodsConfiguration;componentFromAction;constructor(t,e){super(t,e),this.submit=this.submit.bind(this),this.handleAction=this.handleAction.bind(this),this.props.paymentMethodComponents.forEach((t=>this.core.register(t))),this.paymentMethodsConfiguration=this.props.paymentMethodsConfiguration||{}}storeElementRefOnCore(){this.core.storeElementReference(this)}formatProps(t){return{type:"dropin",...super.formatProps(t),instantPaymentTypes:Array.from(new Set(t.instantPaymentTypes)).filter((t=>l.includes(t)))}}get isValid(){return!!this.dropinRef&&!!this.dropinRef.state.activePaymentMethod&&!!this.dropinRef.state.activePaymentMethod.isValid}showValidation(){return this.dropinRef.state.activePaymentMethod&&this.dropinRef.state.activePaymentMethod.showValidation(),this}setStatus(t,e={}){return this.dropinRef?.setStatus(t,e),this}get activePaymentMethod(){return this.dropinRef?.state||this.dropinRef?.state.activePaymentMethod?this.dropinRef.state.activePaymentMethod:null}get data(){return this.activePaymentMethod?this.dropinRef.state.activePaymentMethod.data:null}displayFinalAnimation(t){this.props.disableFinalAnimation||this.dropinRef.setStatus(t)}submit(){if(!this.activePaymentMethod)throw new Error("No active payment method.");this.activePaymentMethod.isValid||this.activePaymentMethod.showValidation(),this.activePaymentMethod.isInstantPayment&&this.closeActivePaymentMethod(),this.activePaymentMethod.submit()}handleCreate=()=>{const{paymentMethodsConfiguration:t,showStoredPaymentMethods:e,showPaymentMethods:o,instantPaymentTypes:s}=this.props,{paymentMethods:n,storedPaymentMethods:m,instantPaymentMethods:d}=p(this.core.paymentMethodsResponse,s),l=i({...this.props,elementRef:this.elementRef});return[e?a(m,t,l,this.core):[],o?r(n,t,l,this.core):[],h(d,t,l,this.core)]};handleAction(t,e={}){if(!t||!t.type){if(m(t,"action")&&m(t,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}if("redirect"!==t.type&&this.activePaymentMethod?.updateWithAction)return this.activePaymentMethod.updateWithAction(t);this.elementRef instanceof c&&(e={...this.elementRef.activePaymentMethod?.props,...e});const o=this.core.createFromAction(t,{...e,elementRef:this.elementRef,onAdditionalDetails:this.handleAdditionalDetails,isDropin:!0});return o?(this.setStatus(o.props.statusType,{component:o}),this.componentFromAction=o,this):null}handleOrder=({order:t})=>{this.updateParent({order:t})};closeActivePaymentMethod(){this.dropinRef.closeActivePaymentMethod()}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(d,{srPanel:this.props.modules.srPanel},t(s,{...this.props,core:this.core,onChange:this.setState,elementRef:this.elementRef,onCreateElements:this.handleCreate,ref:t=>{this.dropinRef=t}})))}}export{c 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"./defaultProps.js";import{DropinComponent as s}from"./components/DropinComponent.js";import{CoreProvider as i}from"../../core/Context/CoreProvider.js";import{getCommonProps as n}from"./components/utils.js";import r from"./elements/createElements.js";import a from"./elements/createStoredElements.js";import h from"./elements/createInstantPaymentElements.js";import{hasOwnProperty as m}from"../../utils/hasOwnProperty.js";import p from"../../core/Errors/SRPanelProvider.js";import d from"./elements/splitPaymentMethods.js";import{TxVariants as c}from"../tx-variants.js";const l=["paywithgoogle","googlepay","applepay"];class y extends e{static type=c.dropin;static defaultProps=o;dropinRef=null;paymentMethodsConfiguration;componentFromAction;constructor(t,e){super(t,e),this.submit=this.submit.bind(this),this.handleAction=this.handleAction.bind(this),this.props.paymentMethodComponents.forEach((t=>this.core.register(t))),this.paymentMethodsConfiguration=this.props.paymentMethodsConfiguration||{}}storeElementRefOnCore(){this.core.storeElementReference(this)}formatProps(t){return{type:"dropin",...super.formatProps(t),instantPaymentTypes:Array.from(new Set(t.instantPaymentTypes)).filter((t=>l.includes(t)))}}get isValid(){return!!this.dropinRef&&!!this.dropinRef.state.activePaymentMethod&&!!this.dropinRef.state.activePaymentMethod.isValid}showValidation(){return this.dropinRef.state.activePaymentMethod&&this.dropinRef.state.activePaymentMethod.showValidation(),this}setStatus(t,e={}){return this.dropinRef?.setStatus(t,e),this}get activePaymentMethod(){return this.dropinRef?.state||this.dropinRef?.state.activePaymentMethod?this.dropinRef.state.activePaymentMethod:null}get data(){return this.activePaymentMethod?this.dropinRef.state.activePaymentMethod.data:null}displayFinalAnimation(t){this.props.disableFinalAnimation||this.dropinRef.setStatus(t)}submit(){if(!this.activePaymentMethod)throw new Error("No active payment method.");this.activePaymentMethod.isValid||this.activePaymentMethod.showValidation(),this.activePaymentMethod.isInstantPayment&&this.closeActivePaymentMethod(),this.activePaymentMethod.submit()}handleCreate=()=>{const{paymentMethodsConfiguration:t,showStoredPaymentMethods:e,showPaymentMethods:o,instantPaymentTypes:s}=this.props,{paymentMethods:i,storedPaymentMethods:m,instantPaymentMethods:p}=d(this.core.paymentMethodsResponse,s),c=n({...this.props,elementRef:this.elementRef});return[e?a(m,t,c,this.core):[],o?r(i,t,c,this.core):[],h(p,t,c,this.core)]};handleAction(t,e={}){if(!t||!t.type){if(m(t,"action")&&m(t,"resultCode"))throw new Error('handleAction::Invalid Action - the passed action object itself has an "action" property and a "resultCode": have you passed in the whole response object by mistake?');throw new Error('handleAction::Invalid Action - the passed action object does not have a "type" property')}if("redirect"!==t.type&&this.activePaymentMethod?.updateWithAction)return this.activePaymentMethod.updateWithAction(t);this.elementRef instanceof y&&(e={...this.elementRef.activePaymentMethod?.props,...e});const o=this.core.createFromAction(t,{...e,elementRef:this.elementRef,onAdditionalDetails:this.handleAdditionalDetails,isDropin:!0});return o?(this.setStatus(o.props.statusType,{component:o}),this.componentFromAction=o,this):null}handleOrder=({order:t})=>{this.updateParent({order:t})};closeActivePaymentMethod(){this.dropinRef.closeActivePaymentMethod()}render(){return t(i,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(p,{srPanel:this.props.modules.srPanel},t(s,{...this.props,core:this.core,elementRef:this.elementRef,onCreateElements:this.handleCreate,ref:t=>{this.dropinRef=t}})))}}export{y as default};
2
2
  //# sourceMappingURL=Dropin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n onChange={this.setState}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","static","defaultProps","dropinRef","paymentMethodsConfiguration","componentFromAction","constructor","checkout","props","super","this","submit","bind","handleAction","paymentMethodComponents","forEach","PaymentMethod","core","register","storeElementRefOnCore","storeElementReference","formatProps","type","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","state","activePaymentMethod","showValidation","setStatus","status","data","displayFinalAnimation","disableFinalAnimation","Error","isInstantPayment","closeActivePaymentMethod","handleCreate","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","elementRef","createStoredElements","createElements","createInstantPaymentElements","action","hasOwnProperty","updateWithAction","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","handleOrder","order","updateParent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onChange","setState","onCreateElements","ref"],"mappings":"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"}
1
+ {"version":3,"file":"Dropin.js","sources":["../../../../src/components/Dropin/Dropin.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport defaultProps from './defaultProps';\nimport DropinComponent from '../../components/Dropin/components/DropinComponent';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { getCommonProps } from './components/utils';\nimport { createElements, createStoredElements } from './elements';\nimport createInstantPaymentElements from './elements/createInstantPaymentElements';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport splitPaymentMethods from './elements/splitPaymentMethods';\nimport { TxVariants } from '../tx-variants';\n\nimport type { DropinConfiguration, InstantPaymentTypes, PaymentMethodsConfiguration } from './types';\nimport type { PaymentAction, PaymentResponseData } from '../../types/global-types';\nimport type { ICore } from '../../core/types';\nimport type { IDropin } from './types';\n\nconst SUPPORTED_INSTANT_PAYMENTS = ['paywithgoogle', 'googlepay', 'applepay'];\n\nclass DropinElement extends UIElement<DropinConfiguration> implements IDropin {\n public static type = TxVariants.dropin;\n\n protected static defaultProps = defaultProps;\n\n public dropinRef = null;\n\n private paymentMethodsConfiguration: PaymentMethodsConfiguration;\n /**\n * Reference to the component created from `handleAction` (Ex.: ThreeDS2Challenge)\n */\n public componentFromAction?: UIElement;\n\n constructor(checkout: ICore, props?: DropinConfiguration) {\n super(checkout, props);\n this.submit = this.submit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n\n this.props.paymentMethodComponents.forEach(PaymentMethod => this.core.register(PaymentMethod));\n this.paymentMethodsConfiguration = this.props.paymentMethodsConfiguration || {};\n }\n\n protected override storeElementRefOnCore() {\n this.core.storeElementReference(this);\n }\n\n formatProps(props) {\n return {\n type: 'dropin', // for analytics\n ...super.formatProps(props),\n instantPaymentTypes: Array.from<InstantPaymentTypes>(new Set(props.instantPaymentTypes)).filter(value =>\n SUPPORTED_INSTANT_PAYMENTS.includes(value)\n )\n };\n }\n\n get isValid() {\n return !!this.dropinRef && !!this.dropinRef.state.activePaymentMethod && !!this.dropinRef.state.activePaymentMethod.isValid;\n }\n\n showValidation() {\n if (this.dropinRef.state.activePaymentMethod) {\n this.dropinRef.state.activePaymentMethod.showValidation();\n }\n\n return this;\n }\n\n public setStatus(status, props = {}): this {\n this.dropinRef?.setStatus(status, props);\n return this;\n }\n\n get activePaymentMethod() {\n if (!this.dropinRef?.state && !this.dropinRef?.state.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod;\n }\n\n get data() {\n if (!this.activePaymentMethod) {\n return null;\n }\n\n return this.dropinRef.state.activePaymentMethod.data;\n }\n\n public displayFinalAnimation(type: 'success' | 'error') {\n if (this.props.disableFinalAnimation) return;\n\n this.dropinRef.setStatus(type);\n }\n\n /**\n * Calls the onSubmit event with the state of the activePaymentMethod\n */\n public override submit(): void {\n if (!this.activePaymentMethod) {\n throw new Error('No active payment method.');\n }\n\n if (!this.activePaymentMethod.isValid) {\n this.activePaymentMethod.showValidation();\n }\n\n if (this.activePaymentMethod.isInstantPayment) {\n this.closeActivePaymentMethod();\n }\n\n this.activePaymentMethod.submit();\n }\n\n /**\n * Creates the Drop-in elements\n */\n private handleCreate = () => {\n const { paymentMethodsConfiguration, showStoredPaymentMethods, showPaymentMethods, instantPaymentTypes } = this.props;\n\n const { paymentMethods, storedPaymentMethods, instantPaymentMethods } = splitPaymentMethods(\n this.core.paymentMethodsResponse,\n instantPaymentTypes\n );\n\n const commonProps = getCommonProps({ ...this.props, elementRef: this.elementRef });\n\n const storedElements = showStoredPaymentMethods\n ? createStoredElements(storedPaymentMethods, paymentMethodsConfiguration, commonProps, this.core)\n : [];\n const elements = showPaymentMethods ? createElements(paymentMethods, paymentMethodsConfiguration, commonProps, this.core) : [];\n const instantPaymentElements = createInstantPaymentElements(instantPaymentMethods, paymentMethodsConfiguration, commonProps, this.core);\n\n return [storedElements, elements, instantPaymentElements];\n };\n\n public handleAction(action: PaymentAction, props = {}): this | null {\n if (!action || !action.type) {\n if (hasOwnProperty(action, 'action') && hasOwnProperty(action, 'resultCode')) {\n throw new Error(\n 'handleAction::Invalid Action - the passed action object itself has an \"action\" property and ' +\n 'a \"resultCode\": have you passed in the whole response object by mistake?'\n );\n }\n throw new Error('handleAction::Invalid Action - the passed action object does not have a \"type\" property');\n }\n\n if (action.type !== 'redirect' && this.activePaymentMethod?.updateWithAction) {\n return this.activePaymentMethod.updateWithAction(action);\n }\n\n if (this.elementRef instanceof DropinElement) {\n props = {\n ...this.elementRef.activePaymentMethod?.props,\n ...props\n };\n }\n\n const paymentAction: UIElement = this.core.createFromAction(action, {\n ...props,\n elementRef: this.elementRef, // maintain elementRef for 3DS2 flow\n onAdditionalDetails: this.handleAdditionalDetails,\n isDropin: true\n });\n\n if (paymentAction) {\n this.setStatus(paymentAction.props.statusType, { component: paymentAction });\n this.componentFromAction = paymentAction;\n return this;\n }\n\n return null;\n }\n\n /**\n * handleOrder is implemented so we don't trigger a callback like in the components\n * @param response - PaymentResponse\n */\n protected handleOrder = ({ order }: PaymentResponseData): void => {\n this.updateParent({ order });\n };\n\n closeActivePaymentMethod() {\n this.dropinRef.closeActivePaymentMethod();\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <DropinComponent\n {...this.props}\n core={this.core}\n elementRef={this.elementRef}\n onCreateElements={this.handleCreate}\n ref={dropinRef => {\n this.dropinRef = dropinRef;\n }}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default DropinElement;\n"],"names":["SUPPORTED_INSTANT_PAYMENTS","DropinElement","UIElement","static","TxVariants","dropin","defaultProps","dropinRef","paymentMethodsConfiguration","componentFromAction","constructor","checkout","props","super","this","submit","bind","handleAction","paymentMethodComponents","forEach","PaymentMethod","core","register","storeElementRefOnCore","storeElementReference","formatProps","type","instantPaymentTypes","Array","from","Set","filter","value","includes","isValid","state","activePaymentMethod","showValidation","setStatus","status","data","displayFinalAnimation","disableFinalAnimation","Error","isInstantPayment","closeActivePaymentMethod","handleCreate","showStoredPaymentMethods","showPaymentMethods","paymentMethods","storedPaymentMethods","instantPaymentMethods","splitPaymentMethods","paymentMethodsResponse","commonProps","getCommonProps","elementRef","createStoredElements","createElements","createInstantPaymentElements","action","hasOwnProperty","updateWithAction","paymentAction","createFromAction","onAdditionalDetails","handleAdditionalDetails","isDropin","statusType","component","handleOrder","order","updateParent","render","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","DropinComponent","onCreateElements","ref"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{Component as e,createElement as t}from"../../../external/preact/dist/preact.js";import s from"./PaymentMethod/PaymentMethodList.js";import o from"./status/index.js";import n from"../../../core/Services/order-status.js";import{sanitizeOrder as a}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as r}from"../../../core/Analytics/constants.js";import i from"../../../core/Errors/AdyenCheckoutError.js";class d extends e{state={elements:[],instantPaymentElements:[],storedPaymentElements:[],orderStatus:null,isDisabling:!1,status:{type:"loading",props:void 0},activePaymentMethod:null,cachedPaymentMethods:{}};componentDidMount(){this.prepareDropinData()}prepareDropinData=()=>{const{order:e,clientKey:t,loadingContext:s}=this.props,[o,a,i]=this.props.onCreateElements(),d=e?n({clientKey:t,loadingContext:s},e):null;Promise.all([o,a,i,d]).then((([e,t,s,o])=>{this.setState({instantPaymentElements:s,elements:t,storedPaymentElements:e,orderStatus:o}),this.setStatus("ready"),this.props.modules?.analytics.sendAnalytics("dropin",{type:r})})),this.onOrderCancel=this.getOnOrderCancel()};setStatus=(e,t={})=>{this.setState({status:{type:e,props:t}})};setActivePaymentMethod=e=>{this.setState((t=>({activePaymentMethod:e,cachedPaymentMethods:{...t.cachedPaymentMethods,[e._id]:!0}})))};componentDidUpdate(e,t){t.status.type!==this.state.status.type&&this.state.activePaymentMethod&&this.state.activePaymentMethod.setStatus(this.state.status.type),"ready"===this.state.status.type&&"ready"!==t.status.type&&this.props.onReady&&this.props.onReady()}handleOnSelectPaymentMethod=e=>{const{activePaymentMethod:t}=this.state;this.setActivePaymentMethod(e),(t&&t._id!==e._id||!t)&&(this.props.onSelect?.(e),e.submitAnalytics({type:r}))};handleDisableStoredPaymentMethod=e=>{this.setState({isDisabling:!0}),new Promise(((t,s)=>this.props.onDisableStoredPaymentMethod(e.props.storedPaymentMethodId,t,s))).then((()=>{this.setState((t=>({elements:t.elements.filter((t=>t._id!==e._id))}))),this.setState({isDisabling:!1})})).catch((()=>{this.setState({isDisabling:!1})}))};closeActivePaymentMethod(){this.setState({activePaymentMethod:null})}getOnOrderCancel=()=>this.props.onOrderCancel?e=>{const t=a(e.order);new Promise(((e,s)=>{this.props.onOrderCancel({order:t},{resolve:e,reject:s})})).then((({amount:e})=>this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null,e))).catch((e=>{throw new i("NETWORK_ERROR",e)}))}:this.props.session?e=>this.props.session.cancelOrder(e).then((()=>this.props.core.update({order:null}))).catch((e=>{console.error(e),this.setStatus(e?.message||"error")})):null;onOrderCancel;render(e,{elements:n,instantPaymentElements:a,storedPaymentElements:r,status:i,activePaymentMethod:d,cachedPaymentMethods:h}){const p="loading"===i.type,m="redirect"===i.type,c=n?.length||a?.length||r?.length;switch(i.type){case"success":return t(o.Success,{message:0===e?.amount?.value?"resultMessages.preauthorized":i.props?.message});case"error":return t(o.Error,{message:i.props?.message});case"custom":return i.props?.component?.render();default:return t("div",{className:`adyen-checkout__dropin adyen-checkout__dropin--${i.type}`},m&&i.props.component&&i.props.component.render(),p&&i.props&&i.props.component&&i.props.component.render(),!!c&&t(s,{isLoading:p||m,isDisablingPaymentMethod:this.state.isDisabling,paymentMethods:n,instantPaymentMethods:a,storedPaymentMethods:r,activePaymentMethod:d,cachedPaymentMethods:h,order:this.props.order,orderStatus:this.state.orderStatus,onOrderCancel:this.onOrderCancel,onSelect:this.handleOnSelectPaymentMethod,openFirstPaymentMethod:this.props.openFirstPaymentMethod,openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,onDisableStoredPaymentMethod:this.handleDisableStoredPaymentMethod,showRemovePaymentMethodButton:this.props.showRemovePaymentMethodButton,showRadioButton:this.props.showRadioButton}))}}}export{d as DropinComponent,d as default};
1
+ import{Component as e,createElement as t}from"../../../external/preact/dist/preact.js";import s from"./PaymentMethod/PaymentMethodList.js";import o from"./status/index.js";import n from"../../../core/Services/order-status.js";import{sanitizeOrder as a}from"../../internal/UIElement/utils.js";import{ANALYTICS_RENDERED_STR as r}from"../../../core/Analytics/constants.js";import i from"../../../core/Errors/AdyenCheckoutError.js";class d extends e{state={elements:[],instantPaymentElements:[],storedPaymentElements:[],orderStatus:null,isDisabling:!1,status:{type:"loading",props:void 0},activePaymentMethod:null,cachedPaymentMethods:{}};componentDidMount(){this.prepareDropinData()}prepareDropinData=()=>{const{order:e,clientKey:t,loadingContext:s}=this.props,[o,a,i]=this.props.onCreateElements(),d=e?n({clientKey:t,loadingContext:s},e):null;Promise.all([o,a,i,d]).then((([e,t,s,o])=>{this.setState({instantPaymentElements:s,elements:t,storedPaymentElements:e,orderStatus:o}),this.setStatus("ready"),this.props.modules?.analytics.sendAnalytics("dropin",{type:r})})),this.onOrderCancel=this.getOnOrderCancel()};setStatus=(e,t={})=>{this.setState({status:{type:e,props:t}})};setActivePaymentMethod=e=>{this.setState((t=>({activePaymentMethod:e,cachedPaymentMethods:{...t.cachedPaymentMethods,[e._id]:!0}})))};componentDidUpdate(e,t){t.status.type!==this.state.status.type&&this.state.activePaymentMethod&&this.state.activePaymentMethod.setStatus(this.state.status.type),"ready"===this.state.status.type&&"ready"!==t.status.type&&this.props.onReady&&this.props.onReady()}handleOnSelectPaymentMethod=e=>{const{activePaymentMethod:t}=this.state;this.setActivePaymentMethod(e),(t&&t._id!==e._id||!t)&&(this.props.onSelect?.(e),e.submitAnalytics({type:r}))};handleDisableStoredPaymentMethod=e=>{this.setState({isDisabling:!0}),new Promise(((t,s)=>this.props.onDisableStoredPaymentMethod(e.props.storedPaymentMethodId,t,s))).then((()=>{this.setState((t=>({elements:t.elements.filter((t=>t._id!==e._id))}))),this.setState({isDisabling:!1})})).catch((()=>{this.setState({isDisabling:!1})}))};closeActivePaymentMethod(){this.setState({activePaymentMethod:null})}getOnOrderCancel=()=>this.props.onOrderCancel?e=>{const t=a(e.order);new Promise(((e,s)=>{this.props.onOrderCancel({order:t},{resolve:e,reject:s})})).then((({amount:e})=>this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null,e))).catch((e=>{throw new i("NETWORK_ERROR",e)}))}:this.props.session?e=>this.props.session.cancelOrder(e).then((()=>this.props.core.update({order:null}))).catch((e=>{console.error(e),this.setStatus(e?.message||"error")})):null;onOrderCancel;render(e,{elements:n,instantPaymentElements:a,storedPaymentElements:r,status:i,activePaymentMethod:d,cachedPaymentMethods:h}){const p="loading"===i.type,m="redirect"===i.type,c=n?.length||a?.length||r?.length;switch(i.type){case"success":return t(o.Success,{message:0===e?.amount?.value?"resultMessages.preauthorized":i.props?.message});case"error":return t(o.Error,{message:i.props?.message});case"custom":return i.props?.component?.render();default:return t("div",{className:`adyen-checkout__dropin adyen-checkout__dropin--${i.type}`},m&&i.props.component&&i.props.component.render(),p&&i.props&&i.props.component&&i.props.component.render(),!!c&&t(s,{isLoading:p||m,isDisablingPaymentMethod:this.state.isDisabling,paymentMethods:n,instantPaymentMethods:a,storedPaymentMethods:r,activePaymentMethod:d,cachedPaymentMethods:h,order:this.props.order,orderStatus:this.state.orderStatus,onOrderCancel:this.onOrderCancel,onSelect:this.handleOnSelectPaymentMethod,openPaymentMethod:this.props.openPaymentMethod,openFirstPaymentMethod:this.props.openFirstPaymentMethod,openFirstStoredPaymentMethod:this.props.openFirstStoredPaymentMethod,onDisableStoredPaymentMethod:this.handleDisableStoredPaymentMethod,showRemovePaymentMethodButton:this.props.showRemovePaymentMethodButton,showRadioButton:this.props.showRadioButton}))}}}export{d as DropinComponent,d as default};
2
2
  //# sourceMappingURL=DropinComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', { type: ANALYTICS_RENDERED_STR });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = paymentMethod => {\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({ elements: prevState.elements.filter(pm => pm._id !== storedPaymentMethod._id) }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","state","elements","instantPaymentElements","storedPaymentElements","orderStatus","isDisabling","status","type","props","undefined","activePaymentMethod","cachedPaymentMethods","componentDidMount","this","prepareDropinData","order","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","setState","setStatus","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","onOrderCancel","getOnOrderCancel","setActivePaymentMethod","paymentMethod","prevState","_id","componentDidUpdate","prevProps","onReady","handleOnSelectPaymentMethod","onSelect","submitAnalytics","handleDisableStoredPaymentMethod","storedPaymentMethod","resolve","reject","onDisableStoredPaymentMethod","storedPaymentMethodId","filter","pm","catch","closeActivePaymentMethod","data","sanitizeOrder","amount","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console","message","render","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstPaymentMethod","openFirstStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton"],"mappings":"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"}
1
+ {"version":3,"file":"DropinComponent.js","sources":["../../../../../src/components/Dropin/components/DropinComponent.tsx"],"sourcesContent":["import { Component, h } from 'preact';\nimport PaymentMethodList from './PaymentMethod/PaymentMethodList';\nimport Status from './status';\nimport getOrderStatus from '../../../core/Services/order-status';\nimport { DropinComponentProps, DropinComponentState, DropinStatusProps, onOrderCancelData } from '../types';\nimport './DropinComponent.scss';\nimport { UIElementStatus } from '../../internal/UIElement/types';\nimport { sanitizeOrder } from '../../internal/UIElement/utils';\nimport { PaymentAmount } from '../../../types/global-types';\nimport { ANALYTICS_RENDERED_STR } from '../../../core/Analytics/constants';\nimport AdyenCheckoutError from '../../../core/Errors/AdyenCheckoutError';\n\nexport class DropinComponent extends Component<DropinComponentProps, DropinComponentState> {\n public state: DropinComponentState = {\n elements: [],\n instantPaymentElements: [],\n storedPaymentElements: [],\n orderStatus: null,\n isDisabling: false,\n status: { type: 'loading', props: undefined },\n activePaymentMethod: null,\n cachedPaymentMethods: {}\n };\n\n componentDidMount() {\n this.prepareDropinData();\n }\n\n public prepareDropinData = () => {\n const { order, clientKey, loadingContext } = this.props;\n const [storedElementsPromises, elementsPromises, instantPaymentsPromises] = this.props.onCreateElements();\n const orderStatusPromise = order ? getOrderStatus({ clientKey, loadingContext }, order) : null;\n\n Promise.all([storedElementsPromises, elementsPromises, instantPaymentsPromises, orderStatusPromise]).then(\n ([storedPaymentElements, elements, instantPaymentElements, orderStatus]) => {\n this.setState({ instantPaymentElements, elements, storedPaymentElements, orderStatus });\n this.setStatus('ready');\n\n this.props.modules?.analytics.sendAnalytics('dropin', { type: ANALYTICS_RENDERED_STR });\n }\n );\n\n this.onOrderCancel = this.getOnOrderCancel();\n };\n\n public setStatus = (status: UIElementStatus, props: DropinStatusProps = {}) => {\n this.setState({ status: { type: status, props } });\n };\n\n private setActivePaymentMethod = paymentMethod => {\n this.setState(prevState => ({\n activePaymentMethod: paymentMethod,\n cachedPaymentMethods: { ...prevState.cachedPaymentMethods, [paymentMethod._id]: true }\n }));\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.status.type !== this.state.status.type && this.state.activePaymentMethod) {\n this.state.activePaymentMethod.setStatus(this.state.status.type);\n }\n\n if (this.state.status.type === 'ready' && prevState.status.type !== 'ready' && this.props.onReady) {\n this.props.onReady();\n }\n }\n\n private handleOnSelectPaymentMethod = paymentMethod => {\n const { activePaymentMethod } = this.state;\n\n this.setActivePaymentMethod(paymentMethod);\n\n // onSelect event\n if ((activePaymentMethod && activePaymentMethod._id !== paymentMethod._id) || !activePaymentMethod) {\n this.props.onSelect?.(paymentMethod);\n\n paymentMethod.submitAnalytics({ type: ANALYTICS_RENDERED_STR });\n }\n };\n\n private handleDisableStoredPaymentMethod = storedPaymentMethod => {\n this.setState({ isDisabling: true });\n\n new Promise((resolve, reject) => this.props.onDisableStoredPaymentMethod(storedPaymentMethod.props.storedPaymentMethodId, resolve, reject))\n .then(() => {\n this.setState(prevState => ({ elements: prevState.elements.filter(pm => pm._id !== storedPaymentMethod._id) }));\n this.setState({ isDisabling: false });\n })\n .catch(() => {\n this.setState({ isDisabling: false });\n });\n };\n\n closeActivePaymentMethod() {\n this.setState({ activePaymentMethod: null });\n }\n\n /**\n * getOnOrderCancel decides which onOrderCancel logic should be used, manual or sessions\n */\n private getOnOrderCancel = () => {\n if (this.props.onOrderCancel) {\n return (data: onOrderCancelData) => {\n const order = sanitizeOrder(data.order);\n new Promise<{ amount: PaymentAmount }>((resolve, reject) => {\n this.props.onOrderCancel({ order }, { resolve, reject });\n })\n .then(({ amount }) => this.props.elementRef.handleAdvanceFlowPaymentMethodsUpdate(null, amount))\n .catch(error => {\n throw new AdyenCheckoutError('NETWORK_ERROR', error);\n });\n };\n }\n if (this.props.session) {\n return (data: onOrderCancelData) =>\n this.props.session\n .cancelOrder(data)\n .then(() => this.props.core.update({ order: null }))\n .catch(error => {\n console.error(error);\n this.setStatus(error?.message || 'error');\n });\n }\n return null;\n };\n\n private onOrderCancel: (data: onOrderCancelData) => void;\n\n render(props, { elements, instantPaymentElements, storedPaymentElements, status, activePaymentMethod, cachedPaymentMethods }) {\n const isLoading = status.type === 'loading';\n const isRedirecting = status.type === 'redirect';\n const hasPaymentMethodsToBeDisplayed = elements?.length || instantPaymentElements?.length || storedPaymentElements?.length;\n\n switch (status.type) {\n case 'success':\n return <Status.Success message={props?.amount?.value === 0 ? 'resultMessages.preauthorized' : status.props?.message} />;\n\n case 'error':\n return <Status.Error message={status.props?.message} />;\n\n case 'custom':\n return status.props?.component?.render();\n\n default:\n return (\n <div className={`adyen-checkout__dropin adyen-checkout__dropin--${status.type}`}>\n {isRedirecting && status.props.component && status.props.component.render()}\n {isLoading && status.props && status.props.component && status.props.component.render()}\n {!!hasPaymentMethodsToBeDisplayed && (\n <PaymentMethodList\n isLoading={isLoading || isRedirecting}\n isDisablingPaymentMethod={this.state.isDisabling}\n paymentMethods={elements}\n instantPaymentMethods={instantPaymentElements}\n storedPaymentMethods={storedPaymentElements}\n activePaymentMethod={activePaymentMethod}\n cachedPaymentMethods={cachedPaymentMethods}\n order={this.props.order}\n orderStatus={this.state.orderStatus}\n onOrderCancel={this.onOrderCancel}\n onSelect={this.handleOnSelectPaymentMethod}\n openPaymentMethod={this.props.openPaymentMethod}\n openFirstPaymentMethod={this.props.openFirstPaymentMethod}\n openFirstStoredPaymentMethod={this.props.openFirstStoredPaymentMethod}\n onDisableStoredPaymentMethod={this.handleDisableStoredPaymentMethod}\n showRemovePaymentMethodButton={this.props.showRemovePaymentMethodButton}\n showRadioButton={this.props.showRadioButton}\n />\n )}\n </div>\n );\n }\n }\n}\n\nexport default DropinComponent;\n"],"names":["DropinComponent","Component","state","elements","instantPaymentElements","storedPaymentElements","orderStatus","isDisabling","status","type","props","undefined","activePaymentMethod","cachedPaymentMethods","componentDidMount","this","prepareDropinData","order","clientKey","loadingContext","storedElementsPromises","elementsPromises","instantPaymentsPromises","onCreateElements","orderStatusPromise","getOrderStatus","Promise","all","then","setState","setStatus","modules","analytics","sendAnalytics","ANALYTICS_RENDERED_STR","onOrderCancel","getOnOrderCancel","setActivePaymentMethod","paymentMethod","prevState","_id","componentDidUpdate","prevProps","onReady","handleOnSelectPaymentMethod","onSelect","submitAnalytics","handleDisableStoredPaymentMethod","storedPaymentMethod","resolve","reject","onDisableStoredPaymentMethod","storedPaymentMethodId","filter","pm","catch","closeActivePaymentMethod","data","sanitizeOrder","amount","elementRef","handleAdvanceFlowPaymentMethodsUpdate","error","AdyenCheckoutError","session","cancelOrder","core","update","console","message","render","isLoading","isRedirecting","hasPaymentMethodsToBeDisplayed","length","h","Status","Success","value","Error","component","div","className","PaymentMethodList","isDisablingPaymentMethod","paymentMethods","instantPaymentMethods","storedPaymentMethods","openPaymentMethod","openFirstPaymentMethod","openFirstStoredPaymentMethod","showRemovePaymentMethodButton","showRadioButton"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/getProp.js";import{OrderPaymentMethods as r}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import m from"./PaymentMethodsContainer.js";import{useEffect as d}from"../../../../external/preact/hooks/dist/hooks.js";const i=({paymentMethods:i=[],instantPaymentMethods:l=[],storedPaymentMethods:p=[],openFirstStoredPaymentMethod:h,openFirstPaymentMethod:c,order:f,orderStatus:y=null,onOrderCancel:M,onSelect:P=(()=>{}),...u})=>{const{i18n:g}=s(),j=a(i),C=l.length>0,S=p.length>0,b=C||S?g.get("paymentMethodsList.otherPayments.label"):"";return d((()=>{const e=p[0],t=i[0];if(e||t){if(h&&!0===o(e,"props.oneClick"))return void P(e);c&&P(t)}}),[p,i,h,c]),e(t,null,y&&e(r,{order:f,orderStatus:y,onOrderCancel:M,brandLogoConfiguration:j}),C&&e(n,{paymentMethods:l}),S&&e(m,{...u,label:g.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:p,onSelect:P}),!!i.length&&e(m,{...u,label:b,classNameModifiers:["otherPayments"],paymentMethods:i,onSelect:P}))};export{i as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import o from"../../../../utils/getProp.js";import{OrderPaymentMethods as r}from"./OrderPaymentMethods.js";import n from"./InstantPaymentMethods.js";import{useCoreContext as s}from"../../../../core/Context/CoreProvider.js";import{useBrandLogoConfiguration as a}from"./useBrandLogoConfiguration.js";import m from"./PaymentMethodsContainer.js";import{useEffect as d}from"../../../../external/preact/hooks/dist/hooks.js";const i=({paymentMethods:i=[],instantPaymentMethods:p=[],storedPaymentMethods:l=[],openFirstStoredPaymentMethod:y,openFirstPaymentMethod:h,openPaymentMethod:f,order:c,orderStatus:M=null,onOrderCancel:u,onSelect:P=(()=>{}),...g})=>{const{i18n:j}=s(),C=a(i),S=p.length>0,b=l.length>0,x=S||b?j.get("paymentMethodsList.otherPayments.label"):"";return d((()=>{if(f?.type){const e=i.find((e=>e.type===f?.type));if(e)return void P(e);console.warn(`Drop-in: payment method type "${f?.type}" not found`)}const e=l[0],t=i[0];if(e||t){if(y&&!0===o(e,"props.oneClick"))return void P(e);h&&P(t)}}),[l,i,y,h,f]),e(t,null,M&&e(r,{order:c,orderStatus:M,onOrderCancel:u,brandLogoConfiguration:C}),S&&e(n,{paymentMethods:p}),b&&e(m,{...g,label:j.get("paymentMethodsList.storedPayments.label"),classNameModifiers:["storedPayments"],paymentMethods:l,onSelect:P}),!!i.length&&e(m,{...g,label:x,classNameModifiers:["otherPayments"],paymentMethods:i,onSelect:P}))};export{i as default};
2
2
  //# sourceMappingURL=PaymentMethodList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"2fAqBA,MAAMA,EAAoB,EACtBC,iBAAiB,GACjBC,wBAAwB,GACxBC,uBAAuB,GACvBC,+BACAC,yBACAC,QACAC,cAAc,KACdC,gBACAC,WAAW,YACRC,MAEH,MAAMC,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bb,GACnDc,EAA2Bb,EAAsBc,OAAS,EAC1DC,EAA0Bd,EAAqBa,OAAS,EACxDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GAoB/H,OAlBAC,GAAU,KAEN,MAAMC,EAAqBlB,EAAqB,GAC1CmB,EAAwBrB,EAAe,GAE7C,GAAIoB,GAAsBC,EAAuB,CAE7C,GAD8BlB,IAAkF,IAAlDmB,EAAQF,EAAoB,kBAGtF,YADAZ,EAASY,GAIThB,GACAI,EAASa,EAEjB,IACD,CAACnB,EAAsBF,EAAgBG,EAA8BC,IAGpEmB,EAACC,EACIlB,KAAAA,GACGiB,EAACE,EAAAA,CACGpB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4BS,EAACG,EAAAA,CAAsB1B,eAAgBC,IAEnEe,GACGO,EAACI,EAAAA,IACOlB,EACJmB,MAAOlB,EAAKQ,IAAI,2CAChBW,mBAAoB,CAAC,kBACrB7B,eAAgBE,EAChBM,SAAUA,MAIfR,EAAee,QACdQ,EAACI,EAAAA,IACOlB,EACJmB,MAAOX,EACPY,mBAAoB,CAAC,iBACrB7B,eAAgBA,EAChBQ,SAAUA"}
1
+ {"version":3,"file":"PaymentMethodList.js","sources":["../../../../../../src/components/Dropin/components/PaymentMethod/PaymentMethodList.tsx"],"sourcesContent":["import { Fragment, h } from 'preact';\nimport getProp from '../../../../utils/getProp';\nimport UIElement from '../../../internal/UIElement/UIElement';\nimport { Order, OrderStatus } from '../../../../types/global-types';\nimport OrderPaymentMethods from './OrderPaymentMethods';\nimport InstantPaymentMethods from './InstantPaymentMethods';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { useBrandLogoConfiguration } from './useBrandLogoConfiguration';\nimport PaymentMethodsContainer, { PaymentMethodsContainerProps } from './PaymentMethodsContainer';\nimport { useEffect } from 'preact/hooks';\n\ninterface PaymentMethodListProps extends Omit<PaymentMethodsContainerProps, 'label' | 'classNameModifiers'> {\n instantPaymentMethods?: UIElement[];\n storedPaymentMethods?: UIElement[];\n openFirstStoredPaymentMethod?: boolean;\n openFirstPaymentMethod?: boolean;\n openPaymentMethod?: {\n type: string;\n };\n order?: Order;\n orderStatus?: OrderStatus;\n onOrderCancel?: (order) => void;\n}\n\nconst PaymentMethodList = ({\n paymentMethods = [], // Non-stored payments\n instantPaymentMethods = [],\n storedPaymentMethods = [],\n openFirstStoredPaymentMethod,\n openFirstPaymentMethod,\n openPaymentMethod,\n order,\n orderStatus = null,\n onOrderCancel,\n onSelect = () => {},\n ...rest\n}: PaymentMethodListProps) => {\n const { i18n } = useCoreContext();\n const brandLogoConfiguration = useBrandLogoConfiguration(paymentMethods);\n const hasInstantPaymentMethods = instantPaymentMethods.length > 0;\n const hasStoredPaymentMethods = storedPaymentMethods.length > 0;\n const pmListLabel = hasInstantPaymentMethods || hasStoredPaymentMethods ? i18n.get('paymentMethodsList.otherPayments.label') : '';\n\n useEffect(() => {\n if (openPaymentMethod?.type) {\n const paymentMethod = paymentMethods.find(paymentMethod => paymentMethod.type === openPaymentMethod?.type);\n if (!paymentMethod) {\n console.warn(`Drop-in: payment method type \"${openPaymentMethod?.type}\" not found`);\n } else {\n onSelect(paymentMethod);\n return;\n }\n }\n\n // Open first PaymentMethodItem\n const firstStoredPayment = storedPaymentMethods[0];\n const firstNonStoredPayment = paymentMethods[0];\n\n if (firstStoredPayment || firstNonStoredPayment) {\n const shouldOpenFirstStored = openFirstStoredPaymentMethod && getProp(firstStoredPayment, 'props.oneClick') === true;\n if (shouldOpenFirstStored) {\n onSelect(firstStoredPayment);\n return;\n }\n\n if (openFirstPaymentMethod) {\n onSelect(firstNonStoredPayment);\n }\n }\n }, [storedPaymentMethods, paymentMethods, openFirstStoredPaymentMethod, openFirstPaymentMethod, openPaymentMethod]);\n\n return (\n <Fragment>\n {orderStatus && (\n <OrderPaymentMethods\n order={order}\n orderStatus={orderStatus}\n onOrderCancel={onOrderCancel}\n brandLogoConfiguration={brandLogoConfiguration}\n />\n )}\n\n {hasInstantPaymentMethods && <InstantPaymentMethods paymentMethods={instantPaymentMethods} />}\n\n {hasStoredPaymentMethods && (\n <PaymentMethodsContainer\n {...rest}\n label={i18n.get('paymentMethodsList.storedPayments.label')}\n classNameModifiers={['storedPayments']}\n paymentMethods={storedPaymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n\n {!!paymentMethods.length && (\n <PaymentMethodsContainer\n {...rest}\n label={pmListLabel}\n classNameModifiers={['otherPayments']}\n paymentMethods={paymentMethods}\n onSelect={onSelect}\n ></PaymentMethodsContainer>\n )}\n </Fragment>\n );\n};\n\nexport default PaymentMethodList;\n"],"names":["PaymentMethodList","paymentMethods","instantPaymentMethods","storedPaymentMethods","openFirstStoredPaymentMethod","openFirstPaymentMethod","openPaymentMethod","order","orderStatus","onOrderCancel","onSelect","rest","i18n","useCoreContext","brandLogoConfiguration","useBrandLogoConfiguration","hasInstantPaymentMethods","length","hasStoredPaymentMethods","pmListLabel","get","useEffect","type","paymentMethod","find","console","warn","firstStoredPayment","firstNonStoredPayment","getProp","h","Fragment","OrderPaymentMethods","InstantPaymentMethods","PaymentMethodsContainer","label","classNameModifiers"],"mappings":"2fAwBA,MAAMA,EAAoB,EACtBC,iBAAiB,GACjBC,wBAAwB,GACxBC,uBAAuB,GACvBC,+BACAC,yBACAC,oBACAC,QACAC,cAAc,KACdC,gBACAC,WAAW,YACRC,MAEH,MAAMC,KAAEA,GAASC,IACXC,EAAyBC,EAA0Bd,GACnDe,EAA2Bd,EAAsBe,OAAS,EAC1DC,EAA0Bf,EAAqBc,OAAS,EACxDE,EAAcH,GAA4BE,EAA0BN,EAAKQ,IAAI,0CAA4C,GA8B/H,OA5BAC,GAAU,KACN,GAAIf,GAAmBgB,KAAM,CACzB,MAAMC,EAAgBtB,EAAeuB,MAAKD,GAAiBA,EAAcD,OAAShB,GAAmBgB,OACrG,GAAKC,EAID,YADAb,EAASa,GAFTE,QAAQC,KAAK,iCAAiCpB,GAAmBgB,kBAKzE,CAGA,MAAMK,EAAqBxB,EAAqB,GAC1CyB,EAAwB3B,EAAe,GAE7C,GAAI0B,GAAsBC,EAAuB,CAE7C,GAD8BxB,IAAkF,IAAlDyB,EAAQF,EAAoB,kBAGtF,YADAjB,EAASiB,GAITtB,GACAK,EAASkB,EAEjB,IACD,CAACzB,EAAsBF,EAAgBG,EAA8BC,EAAwBC,IAG5FwB,EAACC,EACIvB,KAAAA,GACGsB,EAACE,EAAAA,CACGzB,MAAOA,EACPC,YAAaA,EACbC,cAAeA,EACfK,uBAAwBA,IAI/BE,GAA4Bc,EAACG,EAAAA,CAAsBhC,eAAgBC,IAEnEgB,GACGY,EAACI,EAAAA,IACOvB,EACJwB,MAAOvB,EAAKQ,IAAI,2CAChBgB,mBAAoB,CAAC,kBACrBnC,eAAgBE,EAChBO,SAAUA,MAIfT,EAAegB,QACda,EAACI,EAAAA,IACOvB,EACJwB,MAAOhB,EACPiB,mBAAoB,CAAC,iBACrBnC,eAAgBA,EAChBS,SAAUA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\nimport type { IUIElement } from '../../internal/UIElement/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<IUIElement[]> => {\n const elements = paymentMethods\n .map(paymentMethod => {\n const paymentMethodConfigurationProps = getComponentConfiguration(\n paymentMethod.type,\n paymentMethodsConfiguration,\n paymentMethod.isStoredPaymentMethod\n );\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","map","paymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","isStoredPaymentMethod","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"gNAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWJ,EACZK,KAAIC,IACD,MAAMC,EAAkCC,EACpCF,EAAcG,KACdR,EACAK,EAAcI,uBAEZC,EAAuBR,EAAKS,aAAaN,EAAcG,MAE7D,IAAKE,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcG,qFAC+DM,EAC7ET,EAAcG,+HAGf,KAGX,MAAMO,EAAe,IAAKV,KAAkBJ,KAAgBK,GAE5D,OAAO,IAAII,EAAqBR,EAAMa,EAAAA,IAEzCC,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBhB,EAAAA"}
1
+ {"version":3,"file":"createElements.js","sources":["../../../../../src/components/Dropin/elements/createElements.ts"],"sourcesContent":["import { filterUnsupported, filterPresent, filterAvailable } from './filters';\nimport { getComponentConfiguration } from './getComponentConfiguration';\nimport getComponentNameOfPaymentType from '../../components-name-map';\nimport UIElement from '../../internal/UIElement';\nimport type { PaymentMethod, StoredPaymentMethod } from '../../../types/global-types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { ICore } from '../../../core/types';\n\n/**\n * Returns a filtered (available) list of component Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createElements = (\n paymentMethods: PaymentMethod[] | StoredPaymentMethod[],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n const elements = paymentMethods\n .map(paymentMethod => {\n const paymentMethodConfigurationProps = getComponentConfiguration(\n paymentMethod.type,\n paymentMethodsConfiguration,\n paymentMethod.isStoredPaymentMethod\n );\n const PaymentMethodElement = core.getComponent(paymentMethod.type);\n\n if (!PaymentMethodElement) {\n console.warn(\n `\\nDropin: You support the payment method '${\n paymentMethod.type\n }' but this component has not been configured. Make sure to import the Class '${getComponentNameOfPaymentType(\n paymentMethod.type\n )}' and then pass it in the Dropin's 'paymentMethodComponents' config property if you wish to offer this payment method.`\n );\n return null;\n }\n\n const elementProps = { ...paymentMethod, ...commonProps, ...paymentMethodConfigurationProps };\n\n return new PaymentMethodElement(core, elementProps);\n })\n .filter(filterPresent)\n .filter(filterUnsupported);\n\n return filterAvailable(elements);\n};\n\nexport default createElements;\n"],"names":["createElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","elements","map","paymentMethod","paymentMethodConfigurationProps","getComponentConfiguration","type","isStoredPaymentMethod","PaymentMethodElement","getComponent","console","warn","getComponentNameOfPaymentType","elementProps","filter","filterPresent","filterUnsupported","filterAvailable"],"mappings":"gNAgBMA,MAAAA,EAAiB,CACnBC,EACAC,EACAC,EACAC,KAEA,MAAMC,EAAWJ,EACZK,KAAIC,IACD,MAAMC,EAAkCC,EACpCF,EAAcG,KACdR,EACAK,EAAcI,uBAEZC,EAAuBR,EAAKS,aAAaN,EAAcG,MAE7D,IAAKE,EAQD,OAPAE,QAAQC,KACJ,6CACIR,EAAcG,qFAC+DM,EAC7ET,EAAcG,+HAGf,KAGX,MAAMO,EAAe,IAAKV,KAAkBJ,KAAgBK,GAE5D,OAAO,IAAII,EAAqBR,EAAMa,EAAAA,IAEzCC,OAAOC,GACPD,OAAOE,GAEZ,OAAOC,EAAgBhB,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { IUIElement } from '../../internal/UIElement/types';\n\n/**\n * Returns a filtered (available) list of InstantPaymentMethods Elements\n *\n * @param instantPaymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createInstantPaymentElements = (\n instantPaymentMethods: PaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<IUIElement[]> => {\n if (instantPaymentMethods.length) {\n return createElements(\n instantPaymentMethods,\n paymentMethodsConfiguration,\n { ...commonProps, isInstantPayment: true, showPayButton: true },\n core\n );\n }\n return Promise.resolve([]);\n};\n\nexport default createInstantPaymentElements;\n"],"names":["createInstantPaymentElements","instantPaymentMethods","paymentMethodsConfiguration","commonProps","core","length","createElements","isInstantPayment","showPayButton","Promise","resolve"],"mappings":"yCAcMA,EAA+B,CACjCC,EAAyC,GACzCC,EACAC,EACAC,IAEIH,EAAsBI,OACfC,EACHL,EACAC,EACA,IAAKC,EAAaI,kBAAkB,EAAMC,eAAe,GACzDJ,GAGDK,QAAQC,QAAQ"}
1
+ {"version":3,"file":"createInstantPaymentElements.js","sources":["../../../../../src/components/Dropin/elements/createInstantPaymentElements.ts"],"sourcesContent":["import UIElement from '../../internal/UIElement';\nimport createElements from './createElements';\nimport type { PaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of InstantPaymentMethods Elements\n *\n * @param instantPaymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createInstantPaymentElements = (\n instantPaymentMethods: PaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => {\n if (instantPaymentMethods.length) {\n return createElements(\n instantPaymentMethods,\n paymentMethodsConfiguration,\n { ...commonProps, isInstantPayment: true, showPayButton: true },\n core\n );\n }\n return Promise.resolve([]);\n};\n\nexport default createInstantPaymentElements;\n"],"names":["createInstantPaymentElements","instantPaymentMethods","paymentMethodsConfiguration","commonProps","core","length","createElements","isInstantPayment","showPayButton","Promise","resolve"],"mappings":"yCAcMA,EAA+B,CACjCC,EAAyC,GACzCC,EACAC,EACAC,IAEIH,EAAsBI,OACfC,EACHL,EACAC,EACA,IAAKC,EAAaI,kBAAkB,EAAMC,eAAe,GACzDJ,GAGDK,QAAQC,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\nimport type { IUIElement } from '../../internal/UIElement/types';\n\n/**\n * Returns a filtered (available) list of oneClick paymentMethod Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createStoredElements = (\n paymentMethods: StoredPaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<IUIElement[]> => createElements(paymentMethods, paymentMethodsConfiguration, { ...commonProps, oneClick: true }, core);\n\nexport default createStoredElements;\n"],"names":["createStoredElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","createElements","oneClick"],"mappings":"mCAcA,MAAMA,EAAuB,CACzBC,EAAwC,GACxCC,EACAC,EACAC,IACwBC,EAAeJ,EAAgBC,EAA6B,IAAKC,EAAaG,UAAU,GAAQF"}
1
+ {"version":3,"file":"createStoredElements.js","sources":["../../../../../src/components/Dropin/elements/createStoredElements.ts"],"sourcesContent":["import createElements from './createElements';\nimport UIElement from '../../internal/UIElement';\nimport type { StoredPaymentMethod } from '../../../types/global-types';\nimport type { ICore } from '../../../core/types';\nimport type { PaymentMethodsConfiguration } from '../types';\n\n/**\n * Returns a filtered (available) list of oneClick paymentMethod Elements\n *\n * @param paymentMethods - Array of PaymentMethod objects from the /paymentMethods response\n * @param paymentMethodsConfiguration - Dropin paymentMethodsConfiguration object\n * @param commonProps - High level props to be passed through to every component\n * @param core - Reference to the checkout core object\n */\nconst createStoredElements = (\n paymentMethods: StoredPaymentMethod[] = [],\n paymentMethodsConfiguration: PaymentMethodsConfiguration,\n commonProps,\n core: ICore\n): Promise<UIElement[]> => createElements(paymentMethods, paymentMethodsConfiguration, { ...commonProps, oneClick: true }, core);\n\nexport default createStoredElements;\n"],"names":["createStoredElements","paymentMethods","paymentMethodsConfiguration","commonProps","core","createElements","oneClick"],"mappings":"mCAcA,MAAMA,EAAuB,CACzBC,EAAwC,GACxCC,EACAC,EACAC,IACuBC,EAAeJ,EAAgBC,EAA6B,IAAKC,EAAaG,UAAU,GAAQF"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport type { IUIElement } from '../../internal/UIElement/types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: IUIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D"}
1
+ {"version":3,"file":"filters.js","sources":["../../../../../src/components/Dropin/elements/filters.ts"],"sourcesContent":["import promiseTimeout from '../../../utils/promiseTimeout';\nimport { UIElement } from '../../../types';\n\nexport const UNSUPPORTED_PAYMENT_METHODS = ['androidpay', 'samsungpay', 'clicktopay'];\n\n// filter payment methods that we don't support in the Drop-in\nexport const filterUnsupported = paymentMethod => !UNSUPPORTED_PAYMENT_METHODS.includes(paymentMethod.constructor['type']);\n\n// filter payment methods that we support (that are in the paymentMethods/index dictionary)\nexport const filterPresent = paymentMethod => !!paymentMethod;\n\n// filter payment methods that are available to the user\nexport const filterAvailable = (elements: UIElement[]) => {\n const elementIsAvailablePromises = elements.map(element => {\n const { promise } = promiseTimeout(5000, element.isAvailable(), {});\n return promise;\n });\n\n return Promise.allSettled(elementIsAvailablePromises).then(promiseResults => {\n return elements.filter((element, i) => promiseResults[i].status === 'fulfilled');\n });\n};\n"],"names":["UNSUPPORTED_PAYMENT_METHODS","filterUnsupported","paymentMethod","includes","constructor","filterPresent","filterAvailable","elements","elementIsAvailablePromises","map","element","promise","promiseTimeout","isAvailable","Promise","allSettled","then","promiseResults","filter","i","status"],"mappings":"sDAGaA,EAA8B,CAAC,aAAc,aAAc,cAG3DC,EAAoBC,IAAkBF,EAA4BG,SAASD,EAAcE,YAAY,MAGrGC,EAAgBH,KAAmBA,EAGnCI,EAAmBC,IAC5B,MAAMC,EAA6BD,EAASE,KAAIC,IAC5C,MAAMC,QAAEA,GAAYC,EAAe,IAAMF,EAAQG,cAAe,CAAA,GAChE,OAAOF,CAAAA,IAGX,OAAOG,QAAQC,WAAWP,GAA4BQ,MAAKC,GAChDV,EAASW,QAAO,CAACR,EAASS,IAAmC,cAA7BF,EAAeE,GAAGC,UAC7D"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/EcontextInput/EcontextInput.js";import s from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class i extends e{static type=r.econtext;static txVariants=[r.econtext,r.econtext_atm,r.econtext_online,r.econtext_seven_eleven,r.econtext_stores];static defaultProps={personalDetailsRequired:!0,showFormInstruction:!0};get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(s,{ref:t=>{this.componentRef=t},...this.props}):t(o,{setComponentRef:this.setComponentRef,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as EcontextElement,i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{UIElement as e}from"../internal/UIElement/UIElement.js";import o from"./components/EcontextInput/EcontextInput.js";import s from"./components/EcontextVoucherResult/EcontextVoucherResult.js";import{CoreProvider as n}from"../../core/Context/CoreProvider.js";import{TxVariants as r}from"../tx-variants.js";class i extends e{static type=r.econtext;static txVariants=[r.econtext,r.econtext_atm,r.econtext_online,r.econtext_seven_eleven,r.econtext_stores];static defaultProps={personalDetailsRequired:!0};get isValid(){return!this.props.personalDetailsRequired||!!this.state.isValid}formatData(){return{...this.state.data,paymentMethod:{type:this.type}}}render(){return t(n,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},this.props.reference?t(s,{ref:t=>{this.componentRef=t},...this.props}):t(o,{setComponentRef:this.setComponentRef,...this.props,showPayButton:this.props.showPayButton,onChange:this.setState,onSubmit:this.submit,payButton:this.payButton}))}}export{i as EcontextElement,i as default};
2
2
  //# sourceMappingURL=Econtext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true,\n showFormInstruction: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","static","TxVariants","econtext","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","personalDetailsRequired","showFormInstruction","isValid","this","props","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","loadingContext","resources","reference","EcontextVoucherResult","ref","componentRef","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"2XAQO,MAAMA,UAAwBC,EACjCC,YAAqBC,EAAWC,SAChCF,kBAA2B,CACvBC,EAAWC,SACXD,EAAWE,aACXF,EAAWG,gBACXH,EAAWI,sBACXJ,EAAWK,iBAGfN,oBAAgC,CAC5BO,yBAAyB,EACzBC,qBAAqB,GAGzB,WAAIC,GACA,OAAKC,KAAKC,MAAMJ,2BAGPG,KAAKE,MAAMH,OACxB,CAKAI,UAAAA,GACI,MAAO,IACAH,KAAKE,MAAME,KACdC,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMV,KAAKC,MAAMS,KAAMC,eAAgBX,KAAKC,MAAMU,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKC,MAAMY,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKC,QAGbO,EAACS,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKC,MACTkB,cAAenB,KAAKC,MAAMkB,cAC1BC,SAAUpB,KAAKqB,SACfC,SAAUtB,KAAKuB,OACfC,UAAWxB,KAAKwB,YAKpC"}
1
+ {"version":3,"file":"Econtext.js","sources":["../../../../src/components/Econtext/Econtext.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport EcontextInput from './components/EcontextInput';\nimport EcontextVoucherResult from './components/EcontextVoucherResult';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport { TxVariants } from '../tx-variants';\nimport { EcontextConfiguration } from './types';\n\nexport class EcontextElement extends UIElement<EcontextConfiguration> {\n public static type = TxVariants.econtext;\n public static txVariants = [\n TxVariants.econtext,\n TxVariants.econtext_atm,\n TxVariants.econtext_online,\n TxVariants.econtext_seven_eleven,\n TxVariants.econtext_stores\n ];\n\n protected static defaultProps = {\n personalDetailsRequired: true\n };\n\n get isValid() {\n if (!this.props.personalDetailsRequired) {\n return true;\n }\n return !!this.state.isValid;\n }\n\n /**\n * Formats the component data output\n */\n formatData() {\n return {\n ...this.state.data,\n paymentMethod: {\n type: this.type\n }\n };\n }\n\n render() {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.reference ? (\n <EcontextVoucherResult\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n />\n ) : (\n <EcontextInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n showPayButton={this.props.showPayButton}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default EcontextElement;\n"],"names":["EcontextElement","UIElement","static","TxVariants","econtext","econtext_atm","econtext_online","econtext_seven_eleven","econtext_stores","personalDetailsRequired","isValid","this","props","state","formatData","data","paymentMethod","type","render","h","CoreProvider","i18n","loadingContext","resources","reference","EcontextVoucherResult","ref","componentRef","EcontextInput","setComponentRef","showPayButton","onChange","setState","onSubmit","submit","payButton"],"mappings":"2XAQO,MAAMA,UAAwBC,EACjCC,YAAqBC,EAAWC,SAChCF,kBAA2B,CACvBC,EAAWC,SACXD,EAAWE,aACXF,EAAWG,gBACXH,EAAWI,sBACXJ,EAAWK,iBAGfN,oBAAgC,CAC5BO,yBAAyB,GAG7B,WAAIC,GACA,OAAKC,KAAKC,MAAMH,2BAGPE,KAAKE,MAAMH,OACxB,CAKAI,UAAAA,GACI,MAAO,IACAH,KAAKE,MAAME,KACdC,cAAe,CACXC,KAAMN,KAAKM,MAGvB,CAEAC,MAAAA,GACI,OACIC,EAACC,EAAAA,CAAaC,KAAMV,KAAKC,MAAMS,KAAMC,eAAgBX,KAAKC,MAAMU,eAAgBC,UAAWZ,KAAKY,WAC3FZ,KAAKC,MAAMY,UACRL,EAACM,EAAAA,CACGC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAEpBf,KAAKC,QAGbO,EAACS,EAAAA,CACGC,gBAAiBlB,KAAKkB,mBAClBlB,KAAKC,MACTkB,cAAenB,KAAKC,MAAMkB,cAC1BC,SAAUpB,KAAKqB,SACfC,SAAUtB,KAAKuB,OACfC,UAAWxB,KAAKwB,YAKpC"}
@@ -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 o from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as n}from"../../../../core/Context/CoreProvider.js";import{econtextValidationRules as a}from"../../validate.js";import s from"../../../internal/FormInstruction/FormInstruction.js";function i({personalDetailsRequired:i=!0,data:l,onChange:u,showPayButton:c,payButton:m,...p}){const d=t(null),{i18n:f}=n(),[h,j]=r("ready"),x=t({});Object.keys(x.current).length||p.setComponentRef?.(x.current),x.current.showValidation=()=>{d.current?.showValidation()},x.current.setStatus=j;const C=i&&p.showFormInstruction;return e("div",{className:"adyen-checkout__econtext-input__field"},C&&e(s,null),i&&e(o,{data:l,requiredFields:["firstName","lastName","telephoneNumber","shopperEmail"],onChange:u,namePrefix:"econtext",setComponentRef:e=>{d.current=e},validationRules:a}),c&&m({status:h,label:f.get("confirmPurchase")}))}export{i as default};
1
+ import{createElement as e,Fragment as t}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as a}from"../../../../external/preact/hooks/dist/hooks.js";import n from"../../../internal/PersonalDetails/PersonalDetails.js";import{useCoreContext as o}from"../../../../core/Context/CoreProvider.js";import{econtextValidationRules as s}from"../../validate.js";import i from"../../../internal/FormInstruction/FormInstruction.js";function l({personalDetailsRequired:l=!0,data:u,onChange:m,showPayButton:c,payButton:p,...d}){const f=r(null),{i18n:h}=o(),[j,x]=a("ready"),C=r({});return Object.keys(C.current).length||d.setComponentRef?.(C.current),C.current.showValidation=()=>{f.current?.showValidation()},C.current.setStatus=x,e("div",{className:"adyen-checkout__econtext-input__field"},l&&e(t,null,e(i,null),e(n,{data:u,requiredFields:["firstName","lastName","telephoneNumber","shopperEmail"],onChange:m,namePrefix:"econtext",setComponentRef:e=>{f.current=e},validationRules:s})),c&&p({status:j,label:h.get("confirmPurchase")}))}export{l as default};
2
2
  //# sourceMappingURL=EcontextInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n showFormInstruction?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n const showFormInstruction = personalDetailsRequired && props.showFormInstruction;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {showFormInstruction && <FormInstruction />}\n {personalDetailsRequired && (\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","personalDetailsRequired","data","onChange","showPayButton","payButton","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","showFormInstruction","h","div","className","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"gbAqBe,SAASA,GAAcC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,KAAcC,IACjH,MAAMC,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,CAAA,GAE3CO,OAAOC,KAAKF,EAAYG,SAASC,QAClCZ,EAAMa,kBAAkBL,EAAYG,SAGxCH,EAAYG,QAAQG,eAAiB,KACjCb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAYG,QAAQL,UAAYA,EAEhC,MAAMS,EAAsBpB,GAA2BK,EAAMe,oBAE7D,OACIC,EAACC,MAAAA,CAAIC,UAAU,yCACVH,GAAuBC,EAACG,EACxBxB,MAAAA,GACGqB,EAACI,EAAAA,CACGxB,KAAMA,EACNyB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DxB,SAAUA,EACVyB,WAAW,WACXT,gBA/BcU,IAC1BtB,EAAmBU,QAAUY,CAAAA,EA+BjBC,gBAAiBC,IAGxB3B,GAAiBC,EAAU,CAAEM,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
1
+ {"version":3,"file":"EcontextInput.js","sources":["../../../../../../src/components/Econtext/components/EcontextInput/EcontextInput.tsx"],"sourcesContent":["import { Fragment, h, VNode } from 'preact';\nimport { useRef, useState } from 'preact/hooks';\nimport PersonalDetails from '../../../internal/PersonalDetails/PersonalDetails';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { econtextValidationRules } from '../../validate';\nimport { PersonalDetailsSchema } from '../../../../types/global-types';\nimport './EcontextInput.scss';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface EcontextInputProps {\n personalDetailsRequired?: boolean;\n data?: PersonalDetailsSchema;\n showPayButton: boolean;\n payButton(config: any): VNode;\n onChange?(data: any): void;\n onSubmit?(state: any, component: any): void;\n [key: string]: any;\n}\n\nexport default function EcontextInput({ personalDetailsRequired = true, data, onChange, showPayButton, payButton, ...props }: EcontextInputProps) {\n const personalDetailsRef = useRef(null);\n const setPersonalDetailsRef = ref => {\n personalDetailsRef.current = ref;\n };\n const { i18n } = useCoreContext();\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const econtextRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(econtextRef.current).length) {\n props.setComponentRef?.(econtextRef.current);\n }\n\n econtextRef.current.showValidation = () => {\n personalDetailsRef.current?.showValidation();\n };\n\n econtextRef.current.setStatus = setStatus;\n\n return (\n <div className=\"adyen-checkout__econtext-input__field\">\n {personalDetailsRequired && (\n <Fragment>\n <FormInstruction />\n <PersonalDetails\n data={data}\n requiredFields={['firstName', 'lastName', 'telephoneNumber', 'shopperEmail']}\n onChange={onChange}\n namePrefix=\"econtext\"\n setComponentRef={setPersonalDetailsRef}\n validationRules={econtextValidationRules}\n />\n </Fragment>\n )}\n {showPayButton && payButton({ status, label: i18n.get('confirmPurchase') })}\n </div>\n );\n}\n"],"names":["EcontextInput","personalDetailsRequired","data","onChange","showPayButton","payButton","props","personalDetailsRef","useRef","i18n","useCoreContext","status","setStatus","useState","econtextRef","Object","keys","current","length","setComponentRef","showValidation","h","div","className","Fragment","FormInstruction","PersonalDetails","requiredFields","namePrefix","ref","validationRules","econtextValidationRules","label","get"],"mappings":"8bAoBe,SAASA,GAAcC,wBAAEA,GAA0B,EAAIC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,UAAEA,KAAcC,IACjH,MAAMC,EAAqBC,EAAO,OAI5BC,KAAEA,GAASC,KAEVC,EAAQC,GAAaC,EAAS,SAG/BC,EAAcN,EAA4B,CAAA,GAYhD,OAVKO,OAAOC,KAAKF,EAAYG,SAASC,QAClCZ,EAAMa,kBAAkBL,EAAYG,SAGxCH,EAAYG,QAAQG,eAAiB,KACjCb,EAAmBU,SAASG,gBAAAA,EAGhCN,EAAYG,QAAQL,UAAYA,EAG5BS,EAACC,MAAAA,CAAIC,UAAU,yCACVtB,GACGoB,EAACG,EAAAA,KACGH,EAACI,EAAAA,MACDJ,EAACK,EAAAA,CACGxB,KAAMA,EACNyB,eAAgB,CAAC,YAAa,WAAY,kBAAmB,gBAC7DxB,SAAUA,EACVyB,WAAW,WACXT,gBA9BUU,IAC1BtB,EAAmBU,QAAUY,CAAAA,EA8BbC,gBAAiBC,KAI5B3B,GAAiBC,EAAU,CAAEM,SAAQqB,MAAOvB,EAAKwB,IAAI,qBAGlE"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends r{static type=s.giropay;get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{i as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import r from"../Redirect/Redirect.js";import o from"../internal/RedirectButton/RedirectButton.js";import{TxVariants as s}from"../tx-variants.js";class i extends r{static type=s.giropay;get displayName(){return this.props.name||this.constructor.type}render(){return this.props.showPayButton?t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(o,{...this.props,showPayButton:this.props.showPayButton,name:this.displayName,onSubmit:this.submit,payButton:this.payButton,ref:t=>{this.componentRef=t}})):null}}export{i as default};
2
2
  //# sourceMappingURL=Giropay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","static","TxVariants","giropay","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef"],"mappings":"yRAMA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,QAEhC,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,IACOX,KAAKC,MACTC,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX"}
1
+ {"version":3,"file":"Giropay.js","sources":["../../../../src/components/Giropay/Giropay.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport RedirectElement from '../Redirect';\nimport RedirectButton from '../internal/RedirectButton';\nimport { TxVariants } from '../tx-variants';\n\nclass GiropayElement extends RedirectElement {\n public static type = TxVariants.giropay;\n\n get displayName() {\n return this.props.name || this.constructor['type'];\n }\n\n render() {\n if (this.props.showPayButton) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <RedirectButton\n {...this.props}\n showPayButton={this.props.showPayButton}\n name={this.displayName}\n onSubmit={this.submit}\n payButton={this.payButton}\n ref={ref => {\n this.componentRef = ref;\n }}\n />\n </CoreProvider>\n );\n }\n\n return null;\n }\n}\n\nexport default GiropayElement;\n"],"names":["GiropayElement","RedirectElement","static","TxVariants","giropay","displayName","this","props","name","constructor","render","showPayButton","h","CoreProvider","i18n","loadingContext","resources","RedirectButton","onSubmit","submit","payButton","ref","componentRef"],"mappings":"yRAMA,MAAMA,UAAuBC,EACzBC,YAAqBC,EAAWC,QAEhC,eAAIC,GACA,OAAOC,KAAKC,MAAMC,MAAQF,KAAKG,YAAmB,IACtD,CAEAC,MAAAA,GACI,OAAIJ,KAAKC,MAAMI,cAEPC,EAACC,EAAAA,CAAaC,KAAMR,KAAKC,MAAMO,KAAMC,eAAgBT,KAAKC,MAAMQ,eAAgBC,UAAWV,KAAKU,WAC5FJ,EAACK,EAAAA,IACOX,KAAKC,MACTI,cAAeL,KAAKC,MAAMI,cAC1BH,KAAMF,KAAKD,YACXa,SAAUZ,KAAKa,OACfC,UAAWd,KAAKc,UAChBC,IAAKA,IACDf,KAAKgB,aAAeD,CAAAA,KAOjC,IACX"}