@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 +1 @@
1
- {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport Await from '../internal/Await';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.props.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\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 <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","_this_state_data","_this_state","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","_object_spread","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","amount","payButton","onSubmit","submit","BlikInput","onChange","setState","_define_property","TxVariants","blik"],"mappings":"owCAkBA,MAAMA,UAAoBC,EAGtBC,UAAAA,OAMiDC,EAAAC,EAL7C,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMX,EAAYW,OACbN,GAAoB,CAAEO,SAAoB,QAAVR,EAAAE,KAAKO,aAAL,IAAAT,GAAA,QAAAD,EAAAC,EAAYU,YAAZ,IAAAX,OAAA,EAAAA,EAAkBS,UACnDP,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIO,GACA,QAAIT,KAAKC,MAAMC,yBAINF,KAAKO,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIV,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMU,MAEfX,KAAKC,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAIb,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMW,KAEf,IACX,CAOAE,MAAAA,GACI,OAAId,KAAKC,MAAMc,YAEPC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStB,KAAKC,MAAMsB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,EAExBE,UAAW3B,KAAKC,MAAM0B,UACtBZ,YAAaf,KAAKC,MAAMc,YACxBa,QAAS5B,KAAK6B,YACdC,WAAY9B,KAAK8B,WACjBC,UAAW/B,KAAKgC,KAChB3B,KAAM4B,EAAO5B,KACb6B,YAAalC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOG,eACxCC,UAAWrC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBhD,KAAKC,MAAM+C,oBAQ5ChC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC3FpB,KAAKC,MAAMC,sBACRc,EAACiC,EAAAA,CACGrC,KAAMZ,KAAKU,YACXwC,OAAQlD,KAAKC,MAAMiD,OACnBC,UAAWnD,KAAKmD,UAChBC,SAAUpD,KAAKqD,OACf5B,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,IAI5BT,EAACsC,EAAAA,EAAAA,EAAAA,CAEG7B,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,GAEpBzB,KAAKC,OAAK,CACdsD,SAAUvD,KAAKwD,SACfJ,SAAUpD,KAAKqD,OACfF,UAAWnD,KAAKmD,aAKpC,EAhGAM,EADE/D,EACYW,OAAOqD,EAAWC"}
1
+ {"version":3,"file":"Blik.js","sources":["../../../../src/components/Blik/Blik.tsx"],"sourcesContent":["import { h } from 'preact';\nimport UIElement from '../internal/UIElement/UIElement';\nimport BlikInput from '../../components/Blik/components/BlikInput';\nimport Await from '../internal/Await';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport config from './config';\nimport RedirectButton from '../../components/internal/RedirectButton';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { AwaitConfiguration } from '../internal/Await/types';\n\ninterface BlikElementData {\n paymentMethod: {\n type: string;\n blikCode: string;\n };\n}\n\nclass BlikElement extends UIElement<AwaitConfiguration> {\n public static type = TxVariants.blik;\n\n formatData(): BlikElementData {\n const recurringPayment = !!this.props.storedPaymentMethodId;\n\n return {\n paymentMethod: {\n type: BlikElement.type,\n ...(!recurringPayment && { blikCode: this.state?.data?.blikCode }),\n ...(recurringPayment && { storedPaymentMethodId: this.props.storedPaymentMethodId })\n }\n };\n }\n\n get isValid(): boolean {\n if (this.props.storedPaymentMethodId) {\n return true;\n }\n\n return !!this.state.isValid;\n }\n\n get displayName() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.label;\n }\n return this.props.name;\n }\n\n get additionalInfo() {\n if (this.props.storedPaymentMethodId && this.props.label) {\n return this.props.name;\n }\n return null;\n }\n\n /**\n * NOTE: for future reference:\n * this.props.onComplete (which is called from this.onComplete) equates to the merchant defined onAdditionalDetails callback\n * (the initial /payments response defines an \"await\" action, actionTypes.ts translates this to \"onComplete: props.onAdditionalDetails\")\n */\n render() {\n if (this.props.paymentData) {\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n <SRPanelProvider srPanel={this.props.modules.srPanel}>\n <Await\n ref={ref => {\n this.componentRef = ref;\n }}\n clientKey={this.props.clientKey}\n paymentData={this.props.paymentData}\n onError={this.handleError}\n onComplete={this.onComplete}\n brandLogo={this.icon}\n type={config.type}\n messageText={this.props.i18n.get(config.messageTextId)}\n awaitText={this.props.i18n.get(config.awaitTextId)}\n showCountdownTimer={config.showCountdownTimer}\n delay={config.STATUS_INTERVAL}\n countdownTime={config.COUNTDOWN_MINUTES}\n throttleTime={config.THROTTLE_TIME}\n throttleInterval={config.THROTTLE_INTERVAL}\n onActionHandled={this.props.onActionHandled}\n />\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n\n return (\n <CoreProvider i18n={this.props.i18n} loadingContext={this.props.loadingContext} resources={this.resources}>\n {this.props.storedPaymentMethodId ? (\n <RedirectButton\n showPayButton={this.props.showPayButton}\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 <BlikInput\n // @ts-ignore Ref is used by preact component\n ref={ref => {\n this.componentRef = ref;\n }}\n {...this.props}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n />\n )}\n </CoreProvider>\n );\n }\n}\n\nexport default BlikElement;\n"],"names":["BlikElement","UIElement","formatData","_this_state_data","_this_state","recurringPayment","this","props","storedPaymentMethodId","paymentMethod","_object_spread","type","blikCode","state","data","isValid","displayName","label","name","additionalInfo","render","paymentData","h","CoreProvider","i18n","loadingContext","resources","SRPanelProvider","srPanel","modules","Await","ref","componentRef","clientKey","onError","handleError","onComplete","brandLogo","icon","config","messageText","get","messageTextId","awaitText","awaitTextId","showCountdownTimer","delay","STATUS_INTERVAL","countdownTime","COUNTDOWN_MINUTES","throttleTime","THROTTLE_TIME","throttleInterval","THROTTLE_INTERVAL","onActionHandled","RedirectButton","showPayButton","amount","payButton","onSubmit","submit","BlikInput","onChange","setState","_define_property","TxVariants","blik"],"mappings":"owCAkBA,MAAMA,UAAoBC,EAGtBC,UAAAA,OAMiDC,EAAAC,EAL7C,MAAMC,IAAqBC,KAAKC,MAAMC,sBAEtC,MAAO,CACHC,cAAeC,EAAA,CACXC,KAAMX,EAAYW,OACbN,GAAoB,CAAEO,SAAoB,QAAVR,EAAAE,KAAKO,aAAL,IAAAT,GAAA,QAAAD,EAAAC,EAAYU,YAAZ,IAAAX,OAAA,EAAAA,EAAkBS,UACnDP,GAAoB,CAAEG,sBAAuBF,KAAKC,MAAMC,wBAGxE,CAEA,WAAIO,GACA,QAAIT,KAAKC,MAAMC,yBAINF,KAAKO,MAAME,OACxB,CAEA,eAAIC,GACA,OAAIV,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMU,MAEfX,KAAKC,MAAMW,IACtB,CAEA,kBAAIC,GACA,OAAIb,KAAKC,MAAMC,uBAAyBF,KAAKC,MAAMU,MACxCX,KAAKC,MAAMW,KAEf,IACX,CAOAE,MAAAA,GACI,OAAId,KAAKC,MAAMc,YAEPC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC5FJ,EAACK,EAAAA,CAAgBC,QAAStB,KAAKC,MAAMsB,QAAQD,SACzCN,EAACQ,EAAAA,CACGC,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,EAExBE,UAAW3B,KAAKC,MAAM0B,UACtBZ,YAAaf,KAAKC,MAAMc,YACxBa,QAAS5B,KAAK6B,YACdC,WAAY9B,KAAK8B,WACjBC,UAAW/B,KAAKgC,KAChB3B,KAAM4B,EAAO5B,KACb6B,YAAalC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOG,eACxCC,UAAWrC,KAAKC,MAAMiB,KAAKiB,IAAIF,EAAOK,aACtCC,mBAAoBN,EAAOM,mBAC3BC,MAAOP,EAAOQ,gBACdC,cAAeT,EAAOU,kBACtBC,aAAcX,EAAOY,cACrBC,iBAAkBb,EAAOc,kBACzBC,gBAAiBhD,KAAKC,MAAM+C,oBAQ5ChC,EAACC,EAAAA,CAAaC,KAAMlB,KAAKC,MAAMiB,KAAMC,eAAgBnB,KAAKC,MAAMkB,eAAgBC,UAAWpB,KAAKoB,WAC3FpB,KAAKC,MAAMC,sBACRc,EAACiC,EAAAA,CACGC,cAAelD,KAAKC,MAAMiD,cAC1BtC,KAAMZ,KAAKU,YACXyC,OAAQnD,KAAKC,MAAMkD,OACnBC,UAAWpD,KAAKoD,UAChBC,SAAUrD,KAAKsD,OACf7B,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,IAI5BT,EAACuC,EAAAA,EAAAA,EAAAA,CAEG9B,IAAKA,IACDzB,KAAK0B,aAAeD,CAAAA,GAEpBzB,KAAKC,OAAK,CACduD,SAAUxD,KAAKyD,SACfJ,SAAUrD,KAAKsD,OACfF,UAAWpD,KAAKoD,aAKpC,EAjGAM,EADEhE,EACYW,OAAOsD,EAAWC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: BlikInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,GA6CcA,IAAAA,EA5C7B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,YACTC,MAAO,CACHC,SAAU,CACNC,SAAUC,GAAyB,KAAjBA,aAAAA,EAAAA,EAAMC,QACxBC,aAAc,eACdC,MAAO,CAAC,UAGhBC,WAAY,CACRN,SAAUO,KAIlBC,GAAU,KACNtB,EAAMuB,SAAS,CAAEhB,OAAME,SAAQD,QAAOE,WAAWc,KAAI,GACtD,CAACjB,EAAMC,EAAOC,EAAQC,IAEzB,MAAOe,EAAQC,GAAaC,EAAS,SAIrC,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBtB,EAGlBuB,EAACC,MAAAA,CAAIC,UAAU,wBACXF,EAACG,IAAAA,CAAED,UAAU,gCAAgC9B,EAAKgC,IAAI,cACtDJ,EAACK,EAAAA,CACGhB,eAAgBT,EAAOK,UAAYb,EAAKgC,IAAIxB,EAAOK,SAASI,cAC5DiB,MAAOlC,EAAKgC,IAAI,aAChBG,mBAAoB,CAAC,WAAY,MACjC1B,QAASF,EAAMM,SACfuB,IAAK,MACLC,KAAM,YAENT,EAACU,EAAAA,CACGC,MAAOjC,EAAKO,SACZwB,KAAM,WACNG,YAAY,EACZC,UAAU,EACVC,YAAa,MACbC,aAAc,MACdC,QAASxC,EAAgB,WAAY,SACrCyC,OAAQzC,EAAgB,WAAY,QACpC0C,YAAa/C,SAAmB,QAAnBA,EAAAA,EAAOgD,oBAAPhD,IAAAA,OAAAA,EAAAA,EAAqBc,SAClCmC,UAAW,UACXC,UAAW,KAIlBlD,EAAMmD,eACHnD,EAAMoD,UAAU,CACZ3B,SACA4B,KAAMlD,EAAS,CAAEmD,YAAa,eAAxBnD,CAAyC,GAAGoD,WAItE,CAEAxD,EAAUyD,aAAe,CAAEjD,KAAM,CAAEO,SAAU"}
1
+ {"version":3,"file":"BlikInput.js","sources":["../../../../../src/components/Blik/components/BlikInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect } from 'preact/hooks';\nimport { useCoreContext } from '../../../core/Context/CoreProvider';\nimport Field from '../../internal/FormFields/Field';\nimport './BlikInput.scss';\nimport useForm from '../../../utils/useForm';\nimport { digitsOnlyFormatter } from '../../../utils/Formatters/formatters';\nimport useImage from '../../../core/Context/useImage';\nimport InputText from '../../internal/FormFields/InputText';\nimport { UIElementProps } from '../../internal/UIElement/types';\nimport { PREFIX } from '../../internal/Icon/constants';\n\ninterface BlikInputProps extends UIElementProps {\n data?: BlikInputDataState;\n placeholders?: BlikInputDataState;\n}\n\ninterface BlikInputDataState {\n blikCode: string;\n}\n\nfunction BlikInput(props: BlikInputProps) {\n const { i18n } = useCoreContext();\n const getImage = useImage();\n const { handleChangeFor, triggerValidation, data, valid, errors, isValid } = useForm<BlikInputDataState>({\n schema: ['blikCode'],\n rules: {\n blikCode: {\n validate: code => code?.length === 6,\n errorMessage: 'blik.invalid',\n modes: ['blur']\n }\n },\n formatters: {\n blikCode: digitsOnlyFormatter\n }\n });\n\n useEffect(() => {\n // @ts-ignore TODO: Fix this. Preact component types should not inherit from UIElementProps.\n props.onChange({ data, errors, valid, isValid }, this);\n }, [data, valid, errors, isValid]);\n\n const [status, setStatus] = useState('ready');\n this.setStatus = setStatus;\n this.showValidation = triggerValidation;\n\n return (\n <div className=\"adyen-checkout__blik\">\n <p className=\"adyen-checkout__blik__helper\">{i18n.get('blik.help')}</p>\n <Field\n errorMessage={!!errors.blikCode && i18n.get(errors.blikCode.errorMessage)}\n label={i18n.get('blik.code')}\n classNameModifiers={['blikCode', '50']}\n isValid={valid.blikCode}\n dir={'ltr'}\n name={'blikCode'}\n >\n <InputText\n value={data.blikCode}\n name={'blikCode'}\n spellcheck={false}\n required={true}\n autocorrect={'off'}\n autocomplete={'off'}\n onInput={handleChangeFor('blikCode', 'input')}\n onBlur={handleChangeFor('blikCode', 'blur')}\n placeholder={props?.placeholders?.blikCode}\n inputMode={'numeric'}\n maxLength={6}\n />\n </Field>\n\n {props.showPayButton &&\n props.payButton({\n status,\n icon: getImage({ imageFolder: 'components/' })(`${PREFIX}lock`)\n })}\n </div>\n );\n}\n\nBlikInput.defaultProps = { data: { blikCode: '' } };\n\nexport default BlikInput;\n"],"names":["BlikInput","props","i18n","useCoreContext","getImage","useImage","handleChangeFor","triggerValidation","data","valid","errors","isValid","useForm","schema","rules","blikCode","validate","code","length","errorMessage","modes","formatters","digitsOnlyFormatter","useEffect","onChange","this","status","setStatus","useState","showValidation","h","div","className","p","get","Field","label","classNameModifiers","dir","name","InputText","value","spellcheck","required","autocorrect","autocomplete","onInput","onBlur","placeholder","placeholders","inputMode","maxLength","showPayButton","payButton","icon","imageFolder","PREFIX","defaultProps"],"mappings":"8jBAqBA,SAASA,EAAUC,GA8CcA,IAAAA,EA7C7B,MAAMC,KAAEA,GAASC,IACXC,EAAWC,KACXC,gBAAEA,EAAeC,kBAAEA,EAAiBC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GAAYC,EAA4B,CACrGC,OAAQ,CAAC,YACTC,MAAO,CACHC,SAAU,CACNC,SAAUC,GAAyB,KAAjBA,aAAAA,EAAAA,EAAMC,QACxBC,aAAc,eACdC,MAAO,CAAC,UAGhBC,WAAY,CACRN,SAAUO,KAIlBC,GAAU,KAENtB,EAAMuB,SAAS,CAAEhB,OAAME,SAAQD,QAAOE,WAAWc,KAAI,GACtD,CAACjB,EAAMC,EAAOC,EAAQC,IAEzB,MAAOe,EAAQC,GAAaC,EAAS,SAIrC,OAHAH,KAAKE,UAAYA,EACjBF,KAAKI,eAAiBtB,EAGlBuB,EAACC,MAAAA,CAAIC,UAAU,wBACXF,EAACG,IAAAA,CAAED,UAAU,gCAAgC9B,EAAKgC,IAAI,cACtDJ,EAACK,EAAAA,CACGhB,eAAgBT,EAAOK,UAAYb,EAAKgC,IAAIxB,EAAOK,SAASI,cAC5DiB,MAAOlC,EAAKgC,IAAI,aAChBG,mBAAoB,CAAC,WAAY,MACjC1B,QAASF,EAAMM,SACfuB,IAAK,MACLC,KAAM,YAENT,EAACU,EAAAA,CACGC,MAAOjC,EAAKO,SACZwB,KAAM,WACNG,YAAY,EACZC,UAAU,EACVC,YAAa,MACbC,aAAc,MACdC,QAASxC,EAAgB,WAAY,SACrCyC,OAAQzC,EAAgB,WAAY,QACpC0C,YAAa/C,SAAmB,QAAnBA,EAAAA,EAAOgD,oBAAPhD,IAAAA,OAAAA,EAAAA,EAAqBc,SAClCmC,UAAW,UACXC,UAAW,KAIlBlD,EAAMmD,eACHnD,EAAMoD,UAAU,CACZ3B,SACA4B,KAAMlD,EAAS,CAAEmD,YAAa,eAAxBnD,CAAyC,GAAGoD,WAItE,CAEAxD,EAAUyD,aAAe,CAAEjD,KAAM,CAAEO,SAAU"}
@@ -1,2 +1,2 @@
1
- import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as t,useEffect as s}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/Address/Address.js";import{boletoValidationRules as o}from"./validate.js";import{boletoFormatters as n}from"./utils.js";import a from"../../../internal/SendCopyToEmail/SendCopyToEmail.js";import{useCoreContext as l}from"../../../../core/Context/CoreProvider.js";import d from"../../../../utils/useForm/useForm.js";import{BrazilPersonalDetail as u}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";import c from"../../../internal/FormInstruction/FormInstruction.js";function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function m(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},s=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),s.forEach((function(r){p(e,r,t[r])}))}return e}function b(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t.push.apply(t,s)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function f(p){const{i18n:f}=l(),g=r(null),{handleChangeFor:h,triggerValidation:y,setSchema:j,setData:O,setValid:A,setErrors:R,data:w,valid:E,errors:P,isValid:q}=d({schema:["firstName","lastName","socialSecurityNumber","billingAddress","shopperEmail"],defaultData:p.data,rules:o,formatters:n}),[v,D]=t(!1);s((()=>{const e=[...p.personalDetailsRequired?["firstName","lastName","socialSecurityNumber"]:[],...p.billingAddressRequired?["billingAddress"]:[],...v?["shopperEmail"]:[]];j(e)}),[v,p.personalDetailsRequired,p.billingAddressRequired]);const[S,C]=t("ready"),N=r({});var F;Object.keys(N.current).length||(null===(F=p.setComponentRef)||void 0===F||F.call(p,N.current));N.current.showValidation=()=>{y(),p.billingAddressRequired&&g.current.showValidation()},N.current.setStatus=C,s((()=>{const e=!p.billingAddressRequired||Boolean(E.billingAddress);p.onChange({data:w,valid:E,errors:P,isValid:q&&e})}),[w,E,P]);const B=[...p.personalDetailsRequired||p.billingAddressRequired||p.showEmailAddress?[]:["standalone"]],V=p.showFormInstruction&&(p.personalDetailsRequired||p.billingAddressRequired);return e("div",{className:"adyen-checkout__boleto-input__field"},V&&e(c,null),p.personalDetailsRequired&&e(u,{i18n:f,data:w,handleChangeFor:h,errors:P,valid:E}),p.billingAddressRequired&&e(i,{allowedCountries:["BR"],label:"billingAddress",data:b(m({},p.data.billingAddress),{country:"BR"}),onChange:e=>{O("billingAddress",e.data),A("billingAddress",e.isValid),R("billingAddress",e.errors)},requiredFields:["country","street","houseNumberOrName","postalCode","city","stateOrProvince"],setComponentRef:e=>{g.current=e}}),p.showEmailAddress&&e(a,{value:w.shopperEmail,errors:P.shopperEmail,onToggle:()=>D(!v),onInput:h("shopperEmail","input"),onBlur:h("shopperEmail","blur")}),p.showPayButton&&p.payButton({status:S,label:f.get("boletobancario.btnLabel"),classNameModifiers:B}))}f.defaultProps={data:{},showEmailAddress:!0,personalDetailsRequired:!0,billingAddressRequired:!0,showFormInstruction:!0};export{f as default};
1
+ import{createElement as e}from"../../../../external/preact/dist/preact.js";import{useRef as r,useState as t,useEffect as s}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/Address/Address.js";import{boletoValidationRules as o}from"./validate.js";import{boletoFormatters as a}from"./utils.js";import l from"../../../internal/SendCopyToEmail/SendCopyToEmail.js";import{useCoreContext as n}from"../../../../core/Context/CoreProvider.js";import d from"../../../../utils/useForm/useForm.js";import{BrazilPersonalDetail as u}from"../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail.js";import c from"../../../internal/FormInstruction/FormInstruction.js";function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function m(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},s=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(s=s.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),s.forEach((function(r){p(e,r,t[r])}))}return e}function b(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t.push.apply(t,s)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function f(p){const{i18n:f}=n(),g=r(null),{handleChangeFor:y,triggerValidation:h,setSchema:j,setData:O,setValid:A,setErrors:R,data:w,valid:E,errors:P,isValid:q}=d({schema:["firstName","lastName","socialSecurityNumber","billingAddress","shopperEmail"],defaultData:p.data,rules:o,formatters:a}),[v,D]=t(!1);s((()=>{const e=[...p.personalDetailsRequired?["firstName","lastName","socialSecurityNumber"]:[],...p.billingAddressRequired?["billingAddress"]:[],...v?["shopperEmail"]:[]];j(e)}),[v,p.personalDetailsRequired,p.billingAddressRequired]);const[S,C]=t("ready"),N=r({});var B;Object.keys(N.current).length||(null===(B=p.setComponentRef)||void 0===B||B.call(p,N.current));N.current.showValidation=()=>{h(),p.billingAddressRequired&&g.current.showValidation()},N.current.setStatus=C,s((()=>{const e=!p.billingAddressRequired||Boolean(E.billingAddress);p.onChange({data:w,valid:E,errors:P,isValid:q&&e})}),[w,E,P]);const F=[...p.personalDetailsRequired||p.billingAddressRequired||p.showEmailAddress?[]:["standalone"]],V=p.personalDetailsRequired||p.billingAddressRequired;return e("div",{className:"adyen-checkout__boleto-input__field"},V&&e(c,null),p.personalDetailsRequired&&e(u,{i18n:f,data:w,handleChangeFor:y,errors:P,valid:E}),p.billingAddressRequired&&e(i,{allowedCountries:["BR"],label:"billingAddress",data:b(m({},p.data.billingAddress),{country:"BR"}),onChange:e=>{O("billingAddress",e.data),A("billingAddress",e.isValid),R("billingAddress",e.errors)},requiredFields:["country","street","houseNumberOrName","postalCode","city","stateOrProvince"],setComponentRef:e=>{g.current=e}}),p.showEmailAddress&&e(l,{value:w.shopperEmail,errors:P.shopperEmail,onToggle:()=>D(!v),onInput:y("shopperEmail","input"),onBlur:y("shopperEmail","blur")}),p.showPayButton&&p.payButton({status:S,label:f.get("boletobancario.btnLabel"),classNameModifiers:F}))}f.defaultProps={data:{},showEmailAddress:!0,personalDetailsRequired:!0,billingAddressRequired:!0};export{f as default};
2
2
  //# sourceMappingURL=BoletoInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n // TODO\n [key: string]: any;\n}\n\nfunction BoletoInput(props: BoletoInputProps) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.showFormInstruction && (props.personalDetailsRequired || props.billingAddressRequired);\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true,\n showFormInstruction: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"4+CAmBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,GAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,EAAAA,GACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,CAAA,GAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,gBACvB,EAGJN,EAAUG,QAAQJ,UAAYA,EAE9BL,GAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,GAAoB,GAC/E,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM4C,sBAAwB5C,EAAM2B,yBAA2B3B,EAAM4B,wBAEjG,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAKrD,EAAAA,CAAAA,EAAAA,EAAMW,KAAK6B,gBAAc,CAAEc,QAAS,OAC/Cb,SA9CMc,IAClB/C,EAAQ,iBAAkB+C,EAAQ5C,MAClCF,EAAS,iBAAkB8C,EAAQzC,SACnCJ,EAAU,iBAAkB6C,EAAQ1C,OAAM,EA4C9B2C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFpB,gBAzEMqB,IAClBtD,EAAW+B,QAAUuB,CAAAA,IA4EhBzD,EAAM2C,kBACHE,EAACa,EAAAA,CACGC,MAAOhD,EAAKiD,aACZ/C,OAAQA,EAAO+C,aACfC,SApES,IAAMtC,GAAiBD,GAqEhCwC,QAASzD,EAAgB,eAAgB,SACzC0D,OAAQ1D,EAAgB,eAAgB,UAI/CL,EAAMgE,eACHhE,EAAMiE,UAAU,CACZpC,SACAuB,MAAOnD,EAAKiE,IAAI,2BAChBC,mBAAoBzB,IAIxC,CAEA3C,EAAYqE,aAAe,CACvBzD,KAAM,CAAC,EACPgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB,EACxBgB,qBAAqB"}
1
+ {"version":3,"file":"BoletoInput.js","sources":["../../../../../../src/components/Boleto/components/BoletoInput/BoletoInput.tsx"],"sourcesContent":["import { h } from 'preact';\nimport { useState, useEffect, useRef } from 'preact/hooks';\nimport Address from '../../../internal/Address';\nimport { boletoValidationRules } from './validate';\nimport { boletoFormatters } from './utils';\nimport SendCopyToEmail from '../../../internal/SendCopyToEmail/SendCopyToEmail';\nimport { useCoreContext } from '../../../../core/Context/CoreProvider';\nimport { BoletoInputDataState } from '../../types';\nimport useForm from '../../../../utils/useForm';\nimport { BrazilPersonalDetail } from '../../../internal/SocialSecurityNumberBrazil/BrazilPersonalDetail';\nimport FormInstruction from '../../../internal/FormInstruction';\nimport { ComponentMethodsRef } from '../../../internal/UIElement/types';\n\ninterface BoletoInputProps {\n onChange(data: any): void;\n // TODO\n [key: string]: any;\n}\n\nfunction BoletoInput(props: BoletoInputProps) {\n const { i18n } = useCoreContext();\n const addressRef = useRef(null);\n const setAddressRef = ref => {\n addressRef.current = ref;\n };\n const { handleChangeFor, triggerValidation, setSchema, setData, setValid, setErrors, data, valid, errors, isValid } =\n useForm<BoletoInputDataState>({\n schema: ['firstName', 'lastName', 'socialSecurityNumber', 'billingAddress', 'shopperEmail'],\n defaultData: props.data,\n rules: boletoValidationRules,\n formatters: boletoFormatters\n });\n\n // Email field toggle\n const [showingEmail, setShowingEmail] = useState<boolean>(false);\n const toggleEmailField = () => setShowingEmail(!showingEmail);\n\n // Handle form schema updates\n useEffect(() => {\n const newSchema = [\n ...(props.personalDetailsRequired ? ['firstName', 'lastName', 'socialSecurityNumber'] : []),\n ...(props.billingAddressRequired ? ['billingAddress'] : []),\n ...(showingEmail ? ['shopperEmail'] : [])\n ];\n setSchema(newSchema);\n }, [showingEmail, props.personalDetailsRequired, props.billingAddressRequired]);\n\n const handleAddress = address => {\n setData('billingAddress', address.data);\n setValid('billingAddress', address.isValid);\n setErrors('billingAddress', address.errors);\n };\n\n const [status, setStatus] = useState('ready');\n\n /** An object by which to expose 'public' members to the parent UIElement */\n const boletoRef = useRef<ComponentMethodsRef>({});\n // Just call once\n if (!Object.keys(boletoRef.current).length) {\n props.setComponentRef?.(boletoRef.current);\n }\n\n boletoRef.current.showValidation = () => {\n triggerValidation();\n if (props.billingAddressRequired) {\n addressRef.current.showValidation();\n }\n };\n\n boletoRef.current.setStatus = setStatus;\n\n useEffect(() => {\n const billingAddressValid = props.billingAddressRequired ? Boolean(valid.billingAddress) : true;\n props.onChange({ data, valid, errors, isValid: isValid && billingAddressValid });\n }, [data, valid, errors]);\n\n const buttonModifiers = [...(!props.personalDetailsRequired && !props.billingAddressRequired && !props.showEmailAddress ? ['standalone'] : [])];\n\n const showFormInstruction = props.personalDetailsRequired || props.billingAddressRequired;\n\n return (\n <div className=\"adyen-checkout__boleto-input__field\">\n {showFormInstruction && <FormInstruction />}\n\n {props.personalDetailsRequired && (\n <BrazilPersonalDetail i18n={i18n} data={data} handleChangeFor={handleChangeFor} errors={errors} valid={valid} />\n )}\n\n {props.billingAddressRequired && (\n <Address\n allowedCountries={['BR']}\n label=\"billingAddress\"\n data={{ ...props.data.billingAddress, country: 'BR' }}\n onChange={handleAddress}\n requiredFields={['country', 'street', 'houseNumberOrName', 'postalCode', 'city', 'stateOrProvince']}\n setComponentRef={setAddressRef}\n />\n )}\n\n {props.showEmailAddress && (\n <SendCopyToEmail\n value={data.shopperEmail}\n errors={errors.shopperEmail}\n onToggle={toggleEmailField}\n onInput={handleChangeFor('shopperEmail', 'input')}\n onBlur={handleChangeFor('shopperEmail', 'blur')}\n />\n )}\n\n {props.showPayButton &&\n props.payButton({\n status,\n label: i18n.get('boletobancario.btnLabel'),\n classNameModifiers: buttonModifiers\n })}\n </div>\n );\n}\n\nBoletoInput.defaultProps = {\n data: {},\n showEmailAddress: true,\n personalDetailsRequired: true,\n billingAddressRequired: true\n};\n\nexport default BoletoInput;\n"],"names":["BoletoInput","props","i18n","useCoreContext","addressRef","useRef","handleChangeFor","triggerValidation","setSchema","setData","setValid","setErrors","data","valid","errors","isValid","useForm","schema","defaultData","rules","boletoValidationRules","formatters","boletoFormatters","showingEmail","setShowingEmail","useState","useEffect","newSchema","personalDetailsRequired","billingAddressRequired","status","setStatus","boletoRef","Object","keys","current","length","setComponentRef","showValidation","billingAddressValid","Boolean","billingAddress","onChange","buttonModifiers","showEmailAddress","showFormInstruction","h","div","className","FormInstruction","BrazilPersonalDetail","Address","allowedCountries","label","_object_spread_props","country","address","requiredFields","ref","SendCopyToEmail","value","shopperEmail","onToggle","onInput","onBlur","showPayButton","payButton","get","classNameModifiers","defaultProps"],"mappings":"4+CAmBA,SAASA,EAAYC,GACjB,MAAMC,KAAEA,GAASC,IACXC,EAAaC,EAAO,OAIpBC,gBAAEA,EAAeC,kBAAEA,EAAiBC,UAAEA,EAASC,QAAEA,EAAOC,SAAEA,EAAQC,UAAEA,EAASC,KAAEA,EAAIC,MAAEA,EAAKC,OAAEA,EAAMC,QAAEA,GACtGC,EAA8B,CAC1BC,OAAQ,CAAC,YAAa,WAAY,uBAAwB,iBAAkB,gBAC5EC,YAAajB,EAAMW,KACnBO,MAAOC,EACPC,WAAYC,KAIbC,EAAcC,GAAmBC,GAAkB,GAI1DC,GAAU,KACN,MAAMC,EAAY,IACV1B,EAAM2B,wBAA0B,CAAC,YAAa,WAAY,wBAA0B,MACpF3B,EAAM4B,uBAAyB,CAAC,kBAAoB,MACpDN,EAAe,CAAC,gBAAkB,IAE1Cf,EAAUmB,EAAAA,GACX,CAACJ,EAActB,EAAM2B,wBAAyB3B,EAAM4B,yBAEvD,MAMOC,EAAQC,GAAaN,EAAS,SAG/BO,EAAY3B,EAA4B,CAAA,GAG1CJ,IAAAA,EADCgC,OAAOC,KAAKF,EAAUG,SAASC,SACX,QAArBnC,EAAAA,EAAMoC,2BAANpC,GAAAA,EAAAA,KAAAA,EAAwB+B,EAAUG,UAGtCH,EAAUG,QAAQG,eAAiB,KAC/B/B,IACIN,EAAM4B,wBACNzB,EAAW+B,QAAQG,gBACvB,EAGJN,EAAUG,QAAQJ,UAAYA,EAE9BL,GAAU,KACN,MAAMa,GAAsBtC,EAAM4B,wBAAyBW,QAAQ3B,EAAM4B,gBACzExC,EAAMyC,SAAS,CAAE9B,OAAMC,QAAOC,SAAQC,QAASA,GAAWwB,GAAoB,GAC/E,CAAC3B,EAAMC,EAAOC,IAEjB,MAAM6B,EAAkB,IAAM1C,EAAM2B,yBAA4B3B,EAAM4B,wBAA2B5B,EAAM2C,iBAAoC,GAAjB,CAAC,eAErHC,EAAsB5C,EAAM2B,yBAA2B3B,EAAM4B,uBAEnE,OACIiB,EAACC,MAAAA,CAAIC,UAAU,uCACVH,GAAuBC,EAACG,EAAAA,MAExBhD,EAAM2B,yBACHkB,EAACI,EAAAA,CAAqBhD,KAAMA,EAAMU,KAAMA,EAAMN,gBAAiBA,EAAiBQ,OAAQA,EAAQD,MAAOA,IAG1GZ,EAAM4B,wBACHiB,EAACK,EAAAA,CACGC,iBAAkB,CAAC,MACnBC,MAAM,iBACNzC,KAAM0C,EAAKrD,EAAAA,CAAAA,EAAAA,EAAMW,KAAK6B,gBAAc,CAAEc,QAAS,OAC/Cb,SA9CMc,IAClB/C,EAAQ,iBAAkB+C,EAAQ5C,MAClCF,EAAS,iBAAkB8C,EAAQzC,SACnCJ,EAAU,iBAAkB6C,EAAQ1C,OAAM,EA4C9B2C,eAAgB,CAAC,UAAW,SAAU,oBAAqB,aAAc,OAAQ,mBACjFpB,gBAzEMqB,IAClBtD,EAAW+B,QAAUuB,CAAAA,IA4EhBzD,EAAM2C,kBACHE,EAACa,EAAAA,CACGC,MAAOhD,EAAKiD,aACZ/C,OAAQA,EAAO+C,aACfC,SApES,IAAMtC,GAAiBD,GAqEhCwC,QAASzD,EAAgB,eAAgB,SACzC0D,OAAQ1D,EAAgB,eAAgB,UAI/CL,EAAMgE,eACHhE,EAAMiE,UAAU,CACZpC,SACAuB,MAAOnD,EAAKiE,IAAI,2BAChBC,mBAAoBzB,IAIxC,CAEA3C,EAAYqE,aAAe,CACvBzD,KAAM,CAAC,EACPgC,kBAAkB,EAClBhB,yBAAyB,EACzBC,wBAAwB"}
@@ -1,2 +1,2 @@
1
- import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as s,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as p}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as f,ANALYTICS_VALIDATION_ERROR_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import{getErrorMessageFromCode as k}from"../../core/Errors/utils.js";import{SF_ErrorCodes as j}from"../../core/Errors/constants.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function T(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),i.forEach((function(o){O(t,o,e[o])}))}return t}function B(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e.push.apply(e,i)}return e}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}class R extends p{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,r,s,n,a,l,d,u,p,h,m,y,v,f,b,g,P,k;const j=null!==(k=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==k?k:t.enableStoreDetails,O=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&j,R=t.storedPaymentMethodId||t.id,I=R&&(null==t||null===(r=t.supportedShopperInteractions)||void 0===r?void 0:r.includes("Ecommerce"));if(R&&!I)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var w,E;return T(B(T({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:null!==(w=t.brand)&&void 0!==w?w:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:B(T({},t.configuration),{socialSecurityNumberMode:null!==(E=null===(s=t.configuration)||void 0===s?void 0:s.socialSecurityNumberMode)&&void 0!==E?E:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(n=t.configuration)||void 0===n?void 0:n.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:O,clickToPayConfiguration:B(T({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(f=this.core.options)||void 0===f||null===(v=f.session)||void 0===v?void 0:v.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),R&&{storedPaymentMethodId:R})}formatData(){const t=this.state.selectedBrandValue;return B(T({paymentMethod:T({type:R.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const o=s("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||R.type}get accessibleName(){return(this.props.name||R.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,B(T({setComponentRef:this.setComponentRef},this.props,this.state),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onValidationErrorAnalytics:this.onValidationErrorAnalytics,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(d,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},(t=>this.renderCardInput(t)))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",(t=>{this.clickToPayRef=t})),O(this,"onBrand",(t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)})),O(this,"handleClickToPaySubmit",(t=>{this.setState({data:T({},t),valid:{},errors:{},isValid:!0}),this.submit()})),O(this,"onConfigSuccess",(t=>{var o,e;this.submitAnalytics({type:y}),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)})),O(this,"onFocus",(t=>{var o,e,i,r;(this.submitAnalytics({type:v,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onFocus)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onFocus)||void 0===i||i.call(r,t)})),O(this,"onBlur",(t=>{var o,e,i,r;(this.submitAnalytics({type:f,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onBlur)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onBlur)||void 0===i||i.call(r,t)})),O(this,"onValidationErrorAnalytics",(t=>{this.submitAnalytics({type:b,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:k(t.errorCode,j)})})),O(this,"onBinValue",r(this)),O(this,"payButton",(o=>{var e,i;const r=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(h,B(T({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:r&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))})),e&&!e._disableClickToPay)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(R,"type",c.scheme),O(R,"defaultProps",{onBinLookup:()=>{},showFormInstruction:!0,_disableClickToPay:!1});export{R as CardElement,R as default};
1
+ import{createElement as t}from"../../external/preact/dist/preact.js";import o from"./components/CardInput/CardInput.js";import{CoreProvider as e}from"../../core/Context/CoreProvider.js";import i from"../../utils/browserInfo.js";import r from"../internal/SecuredFields/binLookup/triggerBinLookUp.js";import{reject as s,fieldTypeToSnakeCase as n}from"../internal/SecuredFields/utils.js";import{hasValidInstallmentsObject as a}from"./components/CardInput/utils.js";import l from"../internal/ClickToPay/services/create-clicktopay-service.js";import d from"./components/ClickToPayWrapper.js";import u from"../../core/Errors/SRPanelProvider.js";import{TxVariants as c}from"../tx-variants.js";import{UIElement as p}from"../internal/UIElement/UIElement.js";import h from"../internal/PayButton/PayButton.js";import{ANALYTICS_RENDERED_STR as m,ANALYTICS_CONFIGURED_STR as y,ANALYTICS_FOCUS_STR as v,ANALYTICS_UNFOCUS_STR as f,ANALYTICS_VALIDATION_ERROR_STR as b}from"../../core/Analytics/constants.js";import{ALL_SECURED_FIELDS as g}from"../internal/SecuredFields/lib/constants.js";import{hasOwnProperty as P}from"../../utils/hasOwnProperty.js";import C,{IMPLEMENTATION_ERROR as S}from"../../core/Errors/AdyenCheckoutError.js";import{getErrorMessageFromCode as k}from"../../core/Errors/utils.js";import{SF_ErrorCodes as j}from"../../core/Errors/constants.js";function O(t,o,e){return o in t?Object.defineProperty(t,o,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[o]=e,t}function T(t){for(var o=1;o<arguments.length;o++){var e=null!=arguments[o]?arguments[o]:{},i=Object.keys(e);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(e).filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})))),i.forEach((function(o){O(t,o,e[o])}))}return t}function B(t,o){return o=null!=o?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):function(t,o){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e.push.apply(e,i)}return e}(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))})),t}class R extends p{setStatus(t,o){var e,i;return(null===(e=this.componentRef)||void 0===e?void 0:e.setStatus)&&this.componentRef.setStatus(t,o),(null===(i=this.clickToPayRef)||void 0===i?void 0:i.setStatus)&&this.clickToPayRef.setStatus(t,o),this}formatProps(t){var o,e,i,r,s,n,a,l,d,u,p,h,m,y,v,f,b,g,P,k;const j=null!==(k=null===(e=t.session)||void 0===e||null===(o=e.configuration)||void 0===o?void 0:o.enableStoreDetails)&&void 0!==k?k:t.enableStoreDetails,O=!(0===(null===(i=t.amount)||void 0===i?void 0:i.value))&&j,R=t.storedPaymentMethodId||t.id,I=R&&(null==t||null===(r=t.supportedShopperInteractions)||void 0===r?void 0:r.includes("Ecommerce"));if(R&&!I)throw new C(S,"You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions");var w,E;return T(B(T({},t),{holderNameRequired:!!t.hasHolderName&&t.holderNameRequired,hasCVC:!(t.brand&&"bcmc"===t.brand||t.hideCVC),billingAddressRequired:!t.storedPaymentMethodId&&t.billingAddressRequired,brand:null!==(w=t.brand)&&void 0!==w?w:c.card,countryCode:t.countryCode?t.countryCode.toLowerCase():null,configuration:B(T({},t.configuration),{socialSecurityNumberMode:null!==(E=null===(s=t.configuration)||void 0===s?void 0:s.socialSecurityNumberMode)&&void 0!==E?E:"auto"}),brandsConfiguration:t.brandsConfiguration||(null===(n=t.configuration)||void 0===n?void 0:n.brandsConfiguration)||{},icon:t.icon||(null===(a=t.configuration)||void 0===a?void 0:a.icon),installmentOptions:(null===(d=t.session)||void 0===d||null===(l=d.configuration)||void 0===l?void 0:l.installmentOptions)||t.installmentOptions,enableStoreDetails:j,showStoreDetailsCheckbox:O,clickToPayConfiguration:B(T({},t.clickToPayConfiguration),{disableOtpAutoFocus:(null===(u=t.clickToPayConfiguration)||void 0===u?void 0:u.disableOtpAutoFocus)||!1,shopperEmail:(null===(p=t.clickToPayConfiguration)||void 0===p?void 0:p.shopperEmail)||(null===(m=this.core.options)||void 0===m||null===(h=m.session)||void 0===h?void 0:h.shopperEmail),telephoneNumber:(null===(y=t.clickToPayConfiguration)||void 0===y?void 0:y.telephoneNumber)||(null===(f=this.core.options)||void 0===f||null===(v=f.session)||void 0===v?void 0:v.telephoneNumber),locale:(null===(b=t.clickToPayConfiguration)||void 0===b?void 0:b.locale)||(null===(P=t.i18n)||void 0===P||null===(g=P.locale)||void 0===g?void 0:g.replace("-","_"))})}),R&&{storedPaymentMethodId:R})}formatData(){const t=this.state.selectedBrandValue;return B(T({paymentMethod:T({type:R.type},this.state.data,this.props.storedPaymentMethodId&&{storedPaymentMethodId:this.props.storedPaymentMethodId},t&&{brand:t},this.props.fundingSource&&{fundingSource:this.props.fundingSource})},this.state.billingAddress&&{billingAddress:this.state.billingAddress},this.state.socialSecurityNumber&&{socialSecurityNumber:this.state.socialSecurityNumber},this.storePaymentMethodPayload,a(this.state.installments)&&{installments:this.state.installments}),{browserInfo:this.browserInfo,origin:!!window&&window.location.origin})}updateStyles(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.updateStyles)&&this.componentRef.updateStyles(t),this}setFocusOn(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.setFocusOn)&&this.componentRef.setFocusOn(t),this}processBinLookupResponse(t,o=!1){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.processBinLookupResponse)&&this.componentRef.processBinLookupResponse(t,o),this}handleUnsupportedCard(t){var o;return(null===(o=this.componentRef)||void 0===o?void 0:o.handleUnsupportedCard)&&this.componentRef.handleUnsupportedCard(t),this}onBinLookup(t){if(!t.isReset){const o=s("supportedBrandsRaw").from(t);this.props.onBinLookup(o)}}submitAnalytics(t){const{type:o}=t;o!==m&&o!==y||"scheme"===this.constructor.type&&P(this.props,"supportedShopperInteractions")&&(t.isStoredPaymentMethod=!0,t.brand=this.props.brand),super.submitAnalytics(t)}get storePaymentMethodPayload(){var t,o;if((null===(t=this.props.storedPaymentMethodId)||void 0===t?void 0:t.length)>0)return{};if(0===(null===(o=this.props.amount)||void 0===o?void 0:o.value))return this.props.enableStoreDetails?{storePaymentMethod:!0}:{};return this.props.showStoreDetailsCheckbox&&void 0!==this.state.storePaymentMethod?{storePaymentMethod:Boolean(this.state.storePaymentMethod)}:{}}get isValid(){return!!this.state.isValid}get icon(){var t;return null!==(t=this.props.icon)&&void 0!==t?t:this.resources.getImage()(this.props.brand)}get brands(){const{brands:t,brandsConfiguration:o}=this.props;return t?t.map((t=>{var e,i;return{icon:null!==(i=null===(e=o[t])||void 0===e?void 0:e.icon)&&void 0!==i?i:this.props.modules.resources.getImage()(t),name:t}})):[]}get displayName(){return this.props.storedPaymentMethodId?`•••• ${this.props.lastFour}`:this.props.name||R.type}get accessibleName(){return(this.props.name||R.type)+(this.props.storedPaymentMethodId?" "+this.props.i18n.get("creditCard.storedCard.description.ariaLabel").replace("%@",this.props.lastFour):"")}get browserInfo(){return i()}renderCardInput(e=!0){return t(o,B(T({setComponentRef:this.setComponentRef},this.props,this.state),{onChange:this.setState,onSubmit:this.submit,payButton:this.payButton,onBrand:this.onBrand,onBinValue:this.onBinValue,brand:this.props.brand,brandsIcons:this.brands,isPayButtonPrimaryVariant:e,resources:this.resources,onFocus:this.onFocus,onBlur:this.onBlur,onValidationErrorAnalytics:this.onValidationErrorAnalytics,onConfigSuccess:this.onConfigSuccess}))}render(){return t(e,{i18n:this.props.i18n,loadingContext:this.props.loadingContext,resources:this.resources},t(u,{srPanel:this.props.modules.srPanel},t(d,{amount:this.props.amount,configuration:this.props.clickToPayConfiguration,clickToPayService:this.clickToPayService,isStandaloneComponent:!1,setClickToPayRef:this.setClickToPayRef,onSetStatus:this.setElementStatus,onSubmit:this.handleClickToPaySubmit,onError:this.handleError},(t=>this.renderCardInput(t)))))}constructor(o,e){var i;(super(o,e),O(this,"clickToPayService",void 0),O(this,"clickToPayRef",null),O(this,"setClickToPayRef",(t=>{this.clickToPayRef=t})),O(this,"onBrand",(t=>{var o,e;null===(o=(e=this.props).onBrand)||void 0===o||o.call(e,t)})),O(this,"handleClickToPaySubmit",(t=>{this.setState({data:T({},t),valid:{},errors:{},isValid:!0}),this.submit()})),O(this,"onConfigSuccess",(t=>{var o,e;this.submitAnalytics({type:y}),null===(o=(e=this.props).onConfigSuccess)||void 0===o||o.call(e,t)})),O(this,"onFocus",(t=>{var o,e,i,r;(this.submitAnalytics({type:v,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onFocus)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onFocus)||void 0===i||i.call(r,t)})),O(this,"onBlur",(t=>{var o,e,i,r;(this.submitAnalytics({type:f,target:n(t.fieldType)}),g.includes(t.fieldType))?null===(o=(e=this.props).onBlur)||void 0===o||o.call(e,t.event):null===(i=(r=this.props).onBlur)||void 0===i||i.call(r,t)})),O(this,"onValidationErrorAnalytics",(t=>{this.submitAnalytics({type:b,target:n(t.fieldType),validationErrorCode:t.errorCode,validationErrorMessage:k(t.errorCode,j)})})),O(this,"onBinValue",r(this)),O(this,"payButton",(o=>{var e,i;const r=0===(null===(e=this.props.amount)||void 0===e?void 0:e.value),s=(null===(i=this.props.storedPaymentMethodId)||void 0===i?void 0:i.length)>0;return t(h,B(T({},o),{amount:this.props.amount,secondaryAmount:this.props.secondaryAmount,label:r&&!s?this.props.i18n.get("payButton.saveDetails"):"",onClick:this.submit}))})),e&&!e._disableClickToPay)&&(this.clickToPayService=l(this.props.configuration,this.props.clickToPayConfiguration,this.props.environment),null===(i=this.clickToPayService)||void 0===i||i.initialize())}}O(R,"type",c.scheme),O(R,"defaultProps",{onBinLookup:()=>{},_disableClickToPay:!1});export{R as CardElement,R as default};
2
2
  //# sourceMappingURL=Card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, reject } from '../internal/SecuredFields/utils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { getErrorMessageFromCode } from '../../core/Errors/utils';\nimport { SF_ErrorCodes } from '../../core/Errors/constants';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n onBinLookup: () => {},\n showFormInstruction: true,\n _disableClickToPay: false\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration) {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // ...(props.brands && !props.groupTypes && { groupTypes: props.brands }),\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && { storedPaymentMethodId: this.props.storedPaymentMethodId }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onValidationErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: getErrorMessageFromCode(obj.errorCode, SF_ErrorCodes)\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n // const includeStorePaymentMethod = this.props.enableStoreDetails && typeof this.state.storePaymentMethod !== 'undefined';\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n // Override\n protected payButton = (props: PayButtonProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onValidationErrorAnalytics={this.onValidationErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\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 <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","TxVariants","card","countryCode","toLowerCase","_object_spread_props","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","fundingSource","billingAddress","socialSecurityNumber","storePaymentMethodPayload","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","reject","from","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","constructor","hasOwnProperty","isStoredPaymentMethod","super","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onValidationErrorAnalytics","onConfigSuccess","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","checkout","_this_clickToPayService","_define_property","ref","event","_this_props_onBrand","_this_props","call","payload","valid","errors","_this_props_onConfigSuccess","_this_props_onFocus","_this_props_onFocus1","_this_props1","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","_this_props_onBlur","_this_props_onBlur1","ANALYTICS_UNFOCUS_STR","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","getErrorMessageFromCode","SF_ErrorCodes","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","secondaryAmount","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps","showFormInstruction"],"mappings":"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"}
1
+ {"version":3,"file":"Card.js","sources":["../../../../src/components/Card/Card.tsx"],"sourcesContent":["import { h } from 'preact';\nimport CardInput from './components/CardInput';\nimport { CoreProvider } from '../../core/Context/CoreProvider';\nimport collectBrowserInfo from '../../utils/browserInfo';\nimport { BinLookupResponse, CardElementData, CardConfiguration } from './types';\nimport triggerBinLookUp from '../internal/SecuredFields/binLookup/triggerBinLookUp';\nimport { CbObjOnBinLookup, CbObjOnConfigSuccess, CbObjOnFocus } from '../internal/SecuredFields/lib/types';\nimport { fieldTypeToSnakeCase, reject } from '../internal/SecuredFields/utils';\nimport { hasValidInstallmentsObject } from './components/CardInput/utils';\nimport createClickToPayService from '../internal/ClickToPay/services/create-clicktopay-service';\nimport { ClickToPayCheckoutPayload, IClickToPayService } from '../internal/ClickToPay/services/types';\nimport ClickToPayWrapper from './components/ClickToPayWrapper';\nimport { ComponentFocusObject } from '../../types/global-types';\nimport SRPanelProvider from '../../core/Errors/SRPanelProvider';\nimport { TxVariants } from '../tx-variants';\nimport { UIElementStatus } from '../internal/UIElement/types';\nimport UIElement from '../internal/UIElement';\nimport PayButton from '../internal/PayButton';\nimport { PayButtonProps } from '../internal/PayButton/PayButton';\nimport type { ICore } from '../../core/types';\nimport {\n ANALYTICS_FOCUS_STR,\n ANALYTICS_CONFIGURED_STR,\n ANALYTICS_UNFOCUS_STR,\n ANALYTICS_VALIDATION_ERROR_STR,\n ANALYTICS_RENDERED_STR\n} from '../../core/Analytics/constants';\nimport { ALL_SECURED_FIELDS } from '../internal/SecuredFields/lib/constants';\nimport { FieldErrorAnalyticsObject, SendAnalyticsObject } from '../../core/Analytics/types';\nimport { hasOwnProperty } from '../../utils/hasOwnProperty';\nimport AdyenCheckoutError, { IMPLEMENTATION_ERROR } from '../../core/Errors/AdyenCheckoutError';\nimport { getErrorMessageFromCode } from '../../core/Errors/utils';\nimport { SF_ErrorCodes } from '../../core/Errors/constants';\n\nexport class CardElement extends UIElement<CardConfiguration> {\n public static type = TxVariants.scheme;\n\n private readonly clickToPayService: IClickToPayService | null;\n\n /**\n * Reference to the 'ClickToPayComponent'\n */\n private clickToPayRef = null;\n\n constructor(checkout: ICore, props?: CardConfiguration) {\n super(checkout, props);\n\n if (props && !props._disableClickToPay) {\n this.clickToPayService = createClickToPayService(this.props.configuration, this.props.clickToPayConfiguration, this.props.environment);\n this.clickToPayService?.initialize();\n }\n }\n\n protected static defaultProps = {\n onBinLookup: () => {},\n _disableClickToPay: false\n };\n\n public setStatus(status: UIElementStatus, props?): this {\n if (this.componentRef?.setStatus) {\n this.componentRef.setStatus(status, props);\n }\n if (this.clickToPayRef?.setStatus) {\n this.clickToPayRef.setStatus(status, props);\n }\n return this;\n }\n\n private setClickToPayRef = ref => {\n this.clickToPayRef = ref;\n };\n\n formatProps(props: CardConfiguration) {\n // The value from a session should be used, before falling back to the merchant configuration\n const enableStoreDetails = props.session?.configuration?.enableStoreDetails ?? props.enableStoreDetails;\n\n const isZeroAuth = props.amount?.value === 0;\n const showStoreDetailsCheckbox = isZeroAuth ? false : enableStoreDetails;\n\n const storedCardID = props.storedPaymentMethodId || props.id; // check if we've been passed a (checkout) processed storedCard or one that merchant has pulled from the PMs response\n const isEcommerceStoredCard = storedCardID && props?.supportedShopperInteractions?.includes('Ecommerce'); // If we have a storedCard does it support Ecommerce (it might not if the merchant has pulled it from the PMs response)\n\n // If we have a storedPM but it doesn't support Ecommerce - we can't make a storedCard component from it\n if (storedCardID && !isEcommerceStoredCard) {\n // TODO - Decide if an error is too severe? Would a console.warning suffice?\n throw new AdyenCheckoutError(\n IMPLEMENTATION_ERROR,\n 'You are trying to create a storedCard from a stored PM that does not support Ecommerce interactions'\n );\n }\n\n return {\n ...props,\n // Mismatch between hasHolderName & holderNameRequired which can mean card can never be valid\n holderNameRequired: !props.hasHolderName ? false : props.holderNameRequired,\n // False for *stored* BCMC cards & if merchant explicitly wants to hide the CVC field\n hasCVC: !((props.brand && props.brand === 'bcmc') || props.hideCVC),\n // billingAddressRequired only available for non-stored cards\n billingAddressRequired: props.storedPaymentMethodId ? false : props.billingAddressRequired,\n // ...(props.brands && !props.groupTypes && { groupTypes: props.brands }),\n /** props.brand will be specified in the case of a StoredCard or a Bancontact component, for a regular Card we default it to 'card' */\n brand: props.brand ?? TxVariants.card,\n countryCode: props.countryCode ? props.countryCode.toLowerCase() : null,\n // Required for transition period (until configuration object becomes the norm)\n // - if merchant has defined value directly in props, use this instead\n configuration: {\n ...props.configuration,\n socialSecurityNumberMode: props.configuration?.socialSecurityNumberMode ?? 'auto'\n },\n brandsConfiguration: props.brandsConfiguration || props.configuration?.brandsConfiguration || {},\n icon: props.icon || props.configuration?.icon,\n // installmentOptions of a session should be used before falling back to the merchant configuration\n installmentOptions: props.session?.configuration?.installmentOptions || props.installmentOptions,\n enableStoreDetails,\n showStoreDetailsCheckbox,\n /**\n * Click to Pay configuration\n * - If email is set explicitly in the configuration, then it can override the one used in the session creation\n */\n clickToPayConfiguration: {\n ...props.clickToPayConfiguration,\n disableOtpAutoFocus: props.clickToPayConfiguration?.disableOtpAutoFocus || false,\n shopperEmail: props.clickToPayConfiguration?.shopperEmail || this.core.options?.session?.shopperEmail,\n telephoneNumber: props.clickToPayConfiguration?.telephoneNumber || this.core.options?.session?.telephoneNumber,\n locale: props.clickToPayConfiguration?.locale || props.i18n?.locale?.replace('-', '_')\n },\n ...(storedCardID && { storedPaymentMethodId: storedCardID })\n };\n }\n\n /**\n * Formats the component data output\n */\n formatData(): CardElementData {\n /**\n * this.state.selectedBrandValue will be set when:\n * - /binLookup detects a single brand,\n * - when /binLookup detects a dual-branded card and the shopper makes a brand selection\n * - or, in the case of a storedCard\n */\n const cardBrand = this.state.selectedBrandValue;\n\n return {\n paymentMethod: {\n type: CardElement.type,\n ...this.state.data,\n ...(this.props.storedPaymentMethodId && { storedPaymentMethodId: this.props.storedPaymentMethodId }),\n ...(cardBrand && { brand: cardBrand }),\n ...(this.props.fundingSource && { fundingSource: this.props.fundingSource })\n },\n ...(this.state.billingAddress && { billingAddress: this.state.billingAddress }),\n ...(this.state.socialSecurityNumber && { socialSecurityNumber: this.state.socialSecurityNumber }),\n ...this.storePaymentMethodPayload,\n ...(hasValidInstallmentsObject(this.state.installments) && { installments: this.state.installments }),\n browserInfo: this.browserInfo,\n origin: !!window && window.location.origin\n };\n }\n\n updateStyles(stylesObj) {\n if (this.componentRef?.updateStyles) this.componentRef.updateStyles(stylesObj);\n return this;\n }\n\n setFocusOn(fieldName) {\n if (this.componentRef?.setFocusOn) this.componentRef.setFocusOn(fieldName);\n return this;\n }\n\n public onBrand = event => {\n this.props.onBrand?.(event);\n };\n\n processBinLookupResponse(binLookupResponse: BinLookupResponse, isReset = false) {\n if (this.componentRef?.processBinLookupResponse) this.componentRef.processBinLookupResponse(binLookupResponse, isReset);\n return this;\n }\n\n handleUnsupportedCard(errObj) {\n if (this.componentRef?.handleUnsupportedCard) this.componentRef.handleUnsupportedCard(errObj);\n return this;\n }\n\n private handleClickToPaySubmit = (payload: ClickToPayCheckoutPayload) => {\n this.setState({ data: { ...payload }, valid: {}, errors: {}, isValid: true });\n this.submit();\n };\n\n onBinLookup(obj: CbObjOnBinLookup) {\n // Handler for regular card comp doesn't need this 'raw' data or to know about 'resets'\n if (!obj.isReset) {\n const nuObj = reject('supportedBrandsRaw').from(obj);\n this.props.onBinLookup(nuObj);\n }\n }\n\n protected submitAnalytics(analyticsObj: SendAnalyticsObject) {\n const { type } = analyticsObj;\n\n if (type === ANALYTICS_RENDERED_STR || type === ANALYTICS_CONFIGURED_STR) {\n // Check if it's a storedCard\n if (this.constructor['type'] === 'scheme') {\n if (hasOwnProperty(this.props, 'supportedShopperInteractions')) {\n analyticsObj.isStoredPaymentMethod = true;\n analyticsObj.brand = this.props.brand;\n }\n }\n }\n\n super.submitAnalytics(analyticsObj);\n }\n\n private onConfigSuccess = (obj: CbObjOnConfigSuccess) => {\n this.submitAnalytics({\n type: ANALYTICS_CONFIGURED_STR\n });\n\n this.props.onConfigSuccess?.(obj);\n };\n\n private onFocus = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_FOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onFocus?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onFocus?.(obj);\n }\n };\n\n private onBlur = (obj: ComponentFocusObject) => {\n this.submitAnalytics({\n type: ANALYTICS_UNFOCUS_STR,\n target: fieldTypeToSnakeCase(obj.fieldType)\n });\n\n // Call merchant defined callback\n if (ALL_SECURED_FIELDS.includes(obj.fieldType)) {\n this.props.onBlur?.(obj.event as CbObjOnFocus);\n } else {\n this.props.onBlur?.(obj);\n }\n };\n\n private onValidationErrorAnalytics = (obj: FieldErrorAnalyticsObject) => {\n this.submitAnalytics({\n type: ANALYTICS_VALIDATION_ERROR_STR,\n target: fieldTypeToSnakeCase(obj.fieldType),\n validationErrorCode: obj.errorCode,\n validationErrorMessage: getErrorMessageFromCode(obj.errorCode, SF_ErrorCodes)\n });\n };\n\n public onBinValue = triggerBinLookUp(this);\n\n get storePaymentMethodPayload() {\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n if (isStoredCard) {\n return {};\n }\n\n /**\n * For regular card, zero auth payments, we store the payment method, *if* the configuration says we should:\n * - For sessions, this means if the session has been created with storePaymentMethodMode: 'askForConsent'\n * - For the advanced flow, this means if the merchant has still set enableStoreDetails: true\n *\n * What we are doing is.. if for a normal payment we would show the \"Save for my next payment\" checkbox,\n * for a zero-auth payment we effectively click the checkbox on behalf of the shopper.\n */\n const isZeroAuth = this.props.amount?.value === 0;\n if (isZeroAuth) {\n return this.props.enableStoreDetails ? { storePaymentMethod: true } : {};\n }\n\n // For regular card, non-zero auth payments, we store the payment method based on the checkbox value.\n // const includeStorePaymentMethod = this.props.enableStoreDetails && typeof this.state.storePaymentMethod !== 'undefined';\n const includeStorePaymentMethod = this.props.showStoreDetailsCheckbox && typeof this.state.storePaymentMethod !== 'undefined';\n return includeStorePaymentMethod ? { storePaymentMethod: Boolean(this.state.storePaymentMethod) } : {};\n }\n\n get isValid() {\n return !!this.state.isValid;\n }\n\n get icon() {\n return this.props.icon ?? this.resources.getImage()(this.props.brand);\n }\n\n get brands(): { icon: any; name: string }[] {\n const { brands, brandsConfiguration } = this.props;\n if (brands) {\n return brands.map(brand => {\n const brandIcon = brandsConfiguration[brand]?.icon ?? this.props.modules.resources.getImage()(brand);\n return { icon: brandIcon, name: brand };\n });\n }\n\n return [];\n }\n\n get displayName(): string {\n if (this.props.storedPaymentMethodId) {\n return `•••• ${this.props.lastFour}`;\n }\n\n return this.props.name || CardElement.type;\n }\n\n get accessibleName(): string {\n // Use display name, unless it's a stored payment method, there inform user\n return (\n (this.props.name || CardElement.type) +\n (this.props.storedPaymentMethodId\n ? ' ' + this.props.i18n.get('creditCard.storedCard.description.ariaLabel').replace('%@', this.props.lastFour)\n : '')\n );\n }\n\n get browserInfo() {\n return collectBrowserInfo();\n }\n // Override\n protected payButton = (props: PayButtonProps) => {\n const isZeroAuth = this.props.amount?.value === 0;\n const isStoredCard = this.props.storedPaymentMethodId?.length > 0;\n return (\n <PayButton\n {...props}\n amount={this.props.amount}\n secondaryAmount={this.props.secondaryAmount}\n label={isZeroAuth && !isStoredCard ? this.props.i18n.get('payButton.saveDetails') : ''}\n onClick={this.submit}\n />\n );\n };\n\n private renderCardInput(isCardPrimaryInput = true): h.JSX.Element {\n return (\n <CardInput\n setComponentRef={this.setComponentRef}\n {...this.props}\n {...this.state}\n onChange={this.setState}\n onSubmit={this.submit}\n payButton={this.payButton}\n onBrand={this.onBrand}\n onBinValue={this.onBinValue}\n brand={this.props.brand}\n brandsIcons={this.brands}\n isPayButtonPrimaryVariant={isCardPrimaryInput}\n resources={this.resources}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onValidationErrorAnalytics={this.onValidationErrorAnalytics}\n onConfigSuccess={this.onConfigSuccess}\n />\n );\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 <ClickToPayWrapper\n amount={this.props.amount}\n configuration={this.props.clickToPayConfiguration}\n clickToPayService={this.clickToPayService}\n isStandaloneComponent={false}\n setClickToPayRef={this.setClickToPayRef}\n onSetStatus={this.setElementStatus}\n onSubmit={this.handleClickToPaySubmit}\n onError={this.handleError}\n >\n {isCardPrimaryInput => this.renderCardInput(isCardPrimaryInput)}\n </ClickToPayWrapper>\n </SRPanelProvider>\n </CoreProvider>\n );\n }\n}\n\nexport default CardElement;\n"],"names":["CardElement","UIElement","setStatus","status","props","_this_componentRef","_this_clickToPayRef","this","componentRef","clickToPayRef","formatProps","_this_core_options_session","_this_core_options","_this_core_options_session1","_this_core_options1","enableStoreDetails","session","configuration","showStoreDetailsCheckbox","amount","value","storedCardID","storedPaymentMethodId","id","isEcommerceStoredCard","supportedShopperInteractions","includes","AdyenCheckoutError","IMPLEMENTATION_ERROR","_object_spread","holderNameRequired","hasHolderName","hasCVC","brand","hideCVC","billingAddressRequired","TxVariants","card","countryCode","toLowerCase","_object_spread_props","socialSecurityNumberMode","brandsConfiguration","icon","installmentOptions","clickToPayConfiguration","disableOtpAutoFocus","shopperEmail","core","options","telephoneNumber","locale","i18n","replace","formatData","cardBrand","state","selectedBrandValue","paymentMethod","type","data","fundingSource","billingAddress","socialSecurityNumber","storePaymentMethodPayload","hasValidInstallmentsObject","installments","browserInfo","origin","window","location","updateStyles","stylesObj","setFocusOn","fieldName","processBinLookupResponse","binLookupResponse","isReset","handleUnsupportedCard","errObj","onBinLookup","obj","nuObj","reject","from","submitAnalytics","analyticsObj","ANALYTICS_RENDERED_STR","ANALYTICS_CONFIGURED_STR","constructor","hasOwnProperty","isStoredPaymentMethod","super","_this_props_storedPaymentMethodId","_this_props_amount","length","storePaymentMethod","Boolean","isValid","_this_props_icon","resources","getImage","brands","map","modules","name","displayName","lastFour","accessibleName","get","collectBrowserInfo","renderCardInput","isCardPrimaryInput","h","CardInput","setComponentRef","onChange","setState","onSubmit","submit","payButton","onBrand","onBinValue","brandsIcons","isPayButtonPrimaryVariant","onFocus","onBlur","onValidationErrorAnalytics","onConfigSuccess","render","CoreProvider","loadingContext","SRPanelProvider","srPanel","ClickToPayWrapper","clickToPayService","isStandaloneComponent","setClickToPayRef","onSetStatus","setElementStatus","handleClickToPaySubmit","onError","handleError","checkout","_this_clickToPayService","_define_property","ref","event","_this_props_onBrand","_this_props","call","payload","valid","errors","_this_props_onConfigSuccess","_this_props_onFocus","_this_props_onFocus1","_this_props1","ANALYTICS_FOCUS_STR","target","fieldTypeToSnakeCase","fieldType","ALL_SECURED_FIELDS","_this_props_onBlur","_this_props_onBlur1","ANALYTICS_UNFOCUS_STR","ANALYTICS_VALIDATION_ERROR_STR","validationErrorCode","errorCode","validationErrorMessage","getErrorMessageFromCode","SF_ErrorCodes","triggerBinLookUp","isZeroAuth","isStoredCard","PayButton","secondaryAmount","label","onClick","_disableClickToPay","createClickToPayService","environment","initialize","scheme","defaultProps"],"mappings":"snEAkCO,MAAMA,UAAoBC,EAwBtBC,SAAAA,CAAUC,EAAyBC,OAClCC,EAGAC,EAGJ,eANID,EAAAE,KAAKC,oBAAL,IAAAH,OAAA,EAAAA,EAAmBH,YACnBK,KAAKC,aAAaN,UAAUC,EAAQC,YAEpCE,EAAAC,KAAKE,qBAAL,IAAAH,OAAA,EAAAA,EAAoBJ,YACpBK,KAAKE,cAAcP,UAAUC,EAAQC,GAElCG,IACX,CAMAG,WAAAA,CAAYN,GAEmBA,IAAAA,EAAAA,EAERA,EAI2BA,EA2BZA,EAEoBA,EAC9BA,EAEAA,EAAAA,EASKA,EACPA,EAA+CO,EAAAC,EAC5CR,EAAkDS,EAAAC,EAC3DV,EAAyCA,EAAAA,EAlD9BA,EAA3B,MAAMW,UAAqBX,UAAAA,EAAAA,EAAMY,eAANZ,IAAAA,GAA4B,QAA5BA,EAAAA,EAAea,yBAAfb,OAAAA,EAAAA,EAA8BW,0BAA9BX,IAAAA,EAAAA,EAAoDA,EAAMW,mBAG/EG,IADqC,KAAxBd,QAAAA,EAAAA,EAAMe,cAANf,IAAAA,OAAAA,EAAAA,EAAcgB,SACqBL,EAEhDM,EAAejB,EAAMkB,uBAAyBlB,EAAMmB,GACpDC,EAAwBH,IAAgBjB,SAAmC,QAAnCA,EAAAA,EAAOqB,oCAAPrB,IAAAA,OAAAA,EAAAA,EAAqCsB,SAAS,cAG5F,GAAIL,IAAiBG,EAEjB,MAAM,IAAIG,EACNC,EACA,2GAcGxB,EAMuBA,EAhBlC,OAAOyB,EACAzB,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CAEH0B,qBAAqB1B,EAAM2B,eAAwB3B,EAAM0B,mBAEzDE,SAAU5B,EAAO6B,OAAyB,SAAhB7B,EAAM6B,OAAqB7B,EAAM8B,SAE3DC,wBAAwB/B,EAAMkB,uBAAgClB,EAAM+B,uBAGpEF,MAAO7B,QAAAA,EAAAA,EAAM6B,aAAN7B,IAAAA,EAAAA,EAAegC,EAAWC,KACjCC,YAAalC,EAAMkC,YAAclC,EAAMkC,YAAYC,cAAgB,KAGnEtB,cAAeuB,EAAAX,EAAA,CAAA,EACRzB,EAAMa,eAAa,CACtBwB,yBAA0BrC,QAAAA,EAAAA,QAAAA,EAAAA,EAAMa,qBAANb,IAAAA,OAAAA,EAAAA,EAAqBqC,gCAArBrC,IAAAA,EAAAA,EAAiD,SAE/EsC,oBAAqBtC,EAAMsC,sBAA0C,QAAnBtC,EAAAA,EAAMa,qBAANb,IAAAA,OAAAA,EAAAA,EAAqBsC,sBAAuB,CAAC,EAC/FC,KAAMvC,EAAMuC,OAA2B,QAAnBvC,EAAAA,EAAMa,qBAANb,IAAAA,OAAAA,EAAAA,EAAqBuC,MAEzCC,4BAAoBxC,EAAAA,EAAMY,eAANZ,IAAAA,WAAAA,EAAAA,EAAea,qBAAfb,IAAAA,OAAAA,EAAAA,EAA8BwC,qBAAsBxC,EAAMwC,mBAC9E7B,qBACAG,2BAKA2B,wBAAyBL,EAClBpC,EAAAA,CAAAA,EAAAA,EAAMyC,yBAAuB,CAChCC,6BAAqB1C,EAAAA,EAAMyC,+BAANzC,IAAAA,OAAAA,EAAAA,EAA+B0C,uBAAuB,EAC3EC,sBAAc3C,EAAAA,EAAMyC,+BAANzC,IAAAA,OAAAA,EAAAA,EAA+B2C,gBAAiC,QAAjBnC,EAAAL,KAAKyC,KAAKC,eAAV,IAAArC,GAA0B,QAA1BD,EAAAC,EAAmBI,eAAnB,IAAAL,OAAA,EAAAA,EAA4BoC,cACzFG,yBAAiB9C,EAAAA,EAAMyC,+BAANzC,IAAAA,OAAAA,EAAAA,EAA+B8C,mBAAoC,QAAjBpC,EAAAP,KAAKyC,KAAKC,eAAV,IAAAnC,GAA0B,QAA1BD,EAAAC,EAAmBE,eAAnB,IAAAH,OAAA,EAAAA,EAA4BqC,iBAC/FC,gBAAQ/C,EAAAA,EAAMyC,+BAANzC,IAAAA,OAAAA,EAAAA,EAA+B+C,UAAU/C,QAAAA,EAAAA,EAAMgD,YAANhD,IAAAA,WAAAA,EAAAA,EAAY+C,cAAZ/C,IAAAA,OAAAA,EAAAA,EAAoBiD,QAAQ,IAAK,UAElFhC,GAAgB,CAAEC,sBAAuBD,GAErD,CAKAiC,UAAAA,GAOI,MAAMC,EAAYhD,KAAKiD,MAAMC,mBAE7B,OAAOjB,EAAAX,EAAA,CACH6B,cAAe7B,EAAA,CACX8B,KAAM3D,EAAY2D,MACfpD,KAAKiD,MAAMI,KACVrD,KAAKH,MAAMkB,uBAAyB,CAAEA,sBAAuBf,KAAKH,MAAMkB,uBACxEiC,GAAa,CAAEtB,MAAOsB,GACtBhD,KAAKH,MAAMyD,eAAiB,CAAEA,cAAetD,KAAKH,MAAMyD,iBAE5DtD,KAAKiD,MAAMM,gBAAkB,CAAEA,eAAgBvD,KAAKiD,MAAMM,gBAC1DvD,KAAKiD,MAAMO,sBAAwB,CAAEA,qBAAsBxD,KAAKiD,MAAMO,sBACvExD,KAAKyD,0BACJC,EAA2B1D,KAAKiD,MAAMU,eAAiB,CAAEA,aAAc3D,KAAKiD,MAAMU,eAAa,CACnGC,YAAa5D,KAAK4D,YAClBC,SAAUC,QAAUA,OAAOC,SAASF,QAE5C,CAEAG,YAAAA,CAAaC,GACL,IAAAnE,EACJ,eADIA,EAAAE,KAAKC,oBAAL,IAAAH,OAAA,EAAAA,EAAmBkE,eAAchE,KAAKC,aAAa+D,aAAaC,GAC7DjE,IACX,CAEAkE,UAAAA,CAAWC,GACH,IAAArE,EACJ,eADIA,EAAAE,KAAKC,oBAAL,IAAAH,OAAA,EAAAA,EAAmBoE,aAAYlE,KAAKC,aAAaiE,WAAWC,GACzDnE,IACX,CAMAoE,wBAAAA,CAAyBC,EAAsCC,GAAU,GACjE,IAAAxE,EACJ,eADIA,EAAAE,KAAKC,oBAAL,IAAAH,OAAA,EAAAA,EAAmBsE,2BAA0BpE,KAAKC,aAAamE,yBAAyBC,EAAmBC,GACxGtE,IACX,CAEAuE,qBAAAA,CAAsBC,GACd,IAAA1E,EACJ,eADIA,EAAAE,KAAKC,oBAAL,IAAAH,OAAA,EAAAA,EAAmByE,wBAAuBvE,KAAKC,aAAasE,sBAAsBC,GAC/ExE,IACX,CAOAyE,WAAAA,CAAYC,GAER,IAAKA,EAAIJ,QAAS,CACd,MAAMK,EAAQC,EAAO,sBAAsBC,KAAKH,GAChD1E,KAAKH,MAAM4E,YAAYE,EAC3B,CACJ,CAEUG,eAAAA,CAAgBC,GACtB,MAAM3B,KAAEA,GAAS2B,EAEb3B,IAAS4B,GAA0B5B,IAAS6B,GAEX,WAA7BjF,KAAKkF,YAAY,MACbC,EAAenF,KAAKH,MAAO,kCAC3BkF,EAAaK,uBAAwB,EACrCL,EAAarD,MAAQ1B,KAAKH,MAAM6B,OAK5C2D,MAAMP,gBAAgBC,EAC1B,CAiDA,6BAAItB,OACqB6B,EAaFC,EAZnB,IADqB,QAAAD,EAAAtF,KAAKH,MAAMkB,6BAAX,IAAAuE,OAAA,EAAAA,EAAkCE,QAAS,EAE5D,MAAO,GAYX,GADgD,KAAZ,QAAjBD,EAAAvF,KAAKH,MAAMe,cAAX,IAAA2E,OAAA,EAAAA,EAAmB1E,OAElC,OAAOb,KAAKH,MAAMW,mBAAqB,CAAEiF,oBAAoB,GAAS,GAM1E,OADkCzF,KAAKH,MAAMc,+BAAqE,IAAlCX,KAAKiD,MAAMwC,mBACxD,CAAEA,mBAAoBC,QAAQ1F,KAAKiD,MAAMwC,qBAAwB,EACxG,CAEA,WAAIE,GACA,QAAS3F,KAAKiD,MAAM0C,OACxB,CAEA,QAAIvD,GACO,IAAAwD,EAAP,eAAOA,EAAA5F,KAAKH,MAAMuC,YAAX,IAAAwD,EAAAA,EAAmB5F,KAAK6F,UAAUC,UAAf9F,CAA0BA,KAAKH,MAAM6B,MACnE,CAEA,UAAIqE,GACA,MAAMA,OAAEA,EAAM5D,oBAAEA,GAAwBnC,KAAKH,MAC7C,OAAIkG,EACOA,EAAOC,KAAItE,IACIS,IAAAA,EAAAA,EAClB,MAAO,CAAEC,aADSD,EAAAA,QAAAA,EAAAA,EAAoBT,UAApBS,IAAAA,OAAAA,EAAAA,EAA4BC,YAA5BD,IAAAA,EAAAA,EAAoCnC,KAAKH,MAAMoG,QAAQJ,UAAUC,UAA7B9F,CAAwC0B,GACpEwE,KAAMxE,EAAM,IAIvC,EACX,CAEA,eAAIyE,GACA,OAAInG,KAAKH,MAAMkB,sBACJ,QAAQf,KAAKH,MAAMuG,WAGvBpG,KAAKH,MAAMqG,MAAQzG,EAAY2D,IAC1C,CAEA,kBAAIiD,GAEA,OACKrG,KAAKH,MAAMqG,MAAQzG,EAAY2D,OAC/BpD,KAAKH,MAAMkB,sBACN,IAAMf,KAAKH,MAAMgD,KAAKyD,IAAI,+CAA+CxD,QAAQ,KAAM9C,KAAKH,MAAMuG,UAClG,GAEd,CAEA,eAAIxC,GACA,OAAO2C,GACX,CAgBQC,eAAAA,CAAgBC,GAAqB,GACzC,OACIC,EAACC,EAAAA,EAAAA,EAAAA,CACGC,gBAAiB5G,KAAK4G,iBAClB5G,KAAKH,MACLG,KAAKiD,OAAK,CACd4D,SAAU7G,KAAK8G,SACfC,SAAU/G,KAAKgH,OACfC,UAAWjH,KAAKiH,UAChBC,QAASlH,KAAKkH,QACdC,WAAYnH,KAAKmH,WACjBzF,MAAO1B,KAAKH,MAAM6B,MAClB0F,YAAapH,KAAK+F,OAClBsB,0BAA2BZ,EAC3BZ,UAAW7F,KAAK6F,UAChByB,QAAStH,KAAKsH,QACdC,OAAQvH,KAAKuH,OACbC,2BAA4BxH,KAAKwH,2BACjCC,gBAAiBzH,KAAKyH,kBAGlC,CAEAC,MAAAA,GACI,OACIhB,EAACiB,EAAAA,CAAa9E,KAAM7C,KAAKH,MAAMgD,KAAM+E,eAAgB5H,KAAKH,MAAM+H,eAAgB/B,UAAW7F,KAAK6F,WAC5Fa,EAACmB,EAAAA,CAAgBC,QAAS9H,KAAKH,MAAMoG,QAAQ6B,SACzCpB,EAACqB,EAAAA,CACGnH,OAAQZ,KAAKH,MAAMe,OACnBF,cAAeV,KAAKH,MAAMyC,wBAC1B0F,kBAAmBhI,KAAKgI,kBACxBC,uBAAuB,EACvBC,iBAAkBlI,KAAKkI,iBACvBC,YAAanI,KAAKoI,iBAClBrB,SAAU/G,KAAKqI,uBACfC,QAAStI,KAAKuI,cAEb9B,GAAsBzG,KAAKwG,gBAAgBC,MAKhE,CAlVAvB,WAAAA,CAAYsD,EAAiB3I,GAKrB,IAAA4I,GAJJpD,MAAMmD,EAAU3I,GARpB6I,EAAA1I,KAAiBgI,yBAAjB,GAKAU,OAAQxI,gBAAgB,MA0BxBwI,EAAA1I,KAAQkI,oBAAmBS,IACvB3I,KAAKE,cAAgByI,CAAAA,IAoGzBD,EAAA1I,KAAOkH,WAAU0B,QACbC,EAAAC,EAAkB,QAAlBD,GAAAC,EAAA9I,KAAKH,OAAMqH,eAAX,IAAA2B,GAAAA,EAAAE,KAAAD,EAAqBF,EAAAA,IAazBF,EAAA1I,KAAQqI,0BAA0BW,IAC9BhJ,KAAK8G,SAAS,CAAEzD,KAAM/B,EAAK0H,CAAAA,EAAAA,GAAWC,MAAO,CAAC,EAAGC,OAAQ,CAAC,EAAGvD,SAAS,IACtE3F,KAAKgH,QAAM,IA2Bf0B,EAAA1I,KAAQyH,mBAAmB/C,QAKvByE,EAAAL,EAJA9I,KAAK8E,gBAAgB,CACjB1B,KAAM6B,IAGgB,QAA1BkE,GAAAL,EAAA9I,KAAKH,OAAM4H,uBAAX,IAAA0B,GAAAA,EAAAJ,KAAAD,EAA6BpE,EAAAA,IAGjCgE,EAAA1I,KAAQsH,WAAW5C,QAQX0E,EAAAN,EAEAO,EAAAC,GATJtJ,KAAK8E,gBAAgB,CACjB1B,KAAMmG,EACNC,OAAQC,EAAqB/E,EAAIgF,aAIjCC,EAAmBxI,SAASuD,EAAIgF,YACd,QAAlBN,GAAAN,EAAA9I,KAAKH,OAAMyH,eAAX,IAAA8B,GAAAA,EAAAL,KAAAD,EAAqBpE,EAAIkE,OAEP,QAAlBS,GAAAC,EAAAtJ,KAAKH,OAAMyH,eAAX,IAAA+B,GAAAA,EAAAN,KAAAO,EAAqB5E,EACzB,IAGJgE,EAAA1I,KAAQuH,UAAU7C,QAQVkF,EAAAd,EAEAe,EAAAP,GATJtJ,KAAK8E,gBAAgB,CACjB1B,KAAM0G,EACNN,OAAQC,EAAqB/E,EAAIgF,aAIjCC,EAAmBxI,SAASuD,EAAIgF,YACf,QAAjBE,GAAAd,EAAA9I,KAAKH,OAAM0H,cAAX,IAAAqC,GAAAA,EAAAb,KAAAD,EAAoBpE,EAAIkE,OAEP,QAAjBiB,GAAAP,EAAAtJ,KAAKH,OAAM0H,cAAX,IAAAsC,GAAAA,EAAAd,KAAAO,EAAoB5E,EACxB,IAGJgE,EAAA1I,KAAQwH,8BAA8B9C,IAClC1E,KAAK8E,gBAAgB,CACjB1B,KAAM2G,EACNP,OAAQC,EAAqB/E,EAAIgF,WACjCM,oBAAqBtF,EAAIuF,UACzBC,uBAAwBC,EAAwBzF,EAAIuF,UAAWG,IACnE,IAGJ1B,EAAOvB,KAAAA,aAAakD,EAAiBrK,OAqErC0I,EAAA1I,KAAUiH,aAAapH,QACA0F,EACED,EADrB,MAAMgF,EAA0C,KAA7B,QAAA/E,EAAAvF,KAAKH,MAAMe,cAAX,IAAA2E,OAAA,EAAAA,EAAmB1E,OAChC0J,GAAe,QAAAjF,EAAAtF,KAAKH,MAAMkB,6BAAX,IAAAuE,OAAA,EAAAA,EAAkCE,QAAS,EAChE,OACIkB,EAAC8D,EACO3K,EAAAA,EAAAA,CAAAA,EAAAA,GAAAA,CACJe,OAAQZ,KAAKH,MAAMe,OACnB6J,gBAAiBzK,KAAKH,MAAM4K,gBAC5BC,MAAOJ,IAAeC,EAAevK,KAAKH,MAAMgD,KAAKyD,IAAI,yBAA2B,GACpFqE,QAAS3K,KAAKgH,aAhSlBnH,IAAUA,EAAM+K,sBAChB5K,KAAKgI,kBAAoB6C,EAAwB7K,KAAKH,MAAMa,cAAeV,KAAKH,MAAMyC,wBAAyBtC,KAAKH,MAAMiL,aAC1H,QAAArC,EAAAzI,KAAKgI,yBAAL,IAAAS,GAAAA,EAAwBsC,aAEhC,EAhBArC,EADSjJ,EACK2D,OAAOvB,EAAWmJ,QAkBhCtC,EAnBSjJ,EAmBQwL,eAAe,CAC5BxG,YAAa,OACbmG,oBAAoB"}
@@ -1,2 +1,2 @@
1
- import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as o,useState as n,useCallback as s,useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";import i from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import a from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{ENCRYPTED_CARD_NUMBER as u,DATE_POLICY_REQUIRED as c,CVC_POLICY_REQUIRED as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputFormatters as p,cardInputValidationRules as b,getRuleByNameAndMode as f}from"./validate.js";import y from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{mapFieldKey as g,handlePartialAddressMode as S,extractPropsForCardFields as N,extractPropsForSFP as v,getLayout as j,lookupBlurBasedErrors as A}from"./utils.js";import{usePrevious as O}from"../../../../utils/hookUtils.js";import F from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as P}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as w}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as C,setFocusOnFirstField as k,getFocusHandler as x,getAddressHandler as R}from"./handlers.js";import I from"../../../../external/classnames/index.js";import{getPartialAddressValidationRules as B}from"../../../internal/Address/validate.js";import{ERROR_ACTION_BLUR_SCENARIO as E,ERROR_ACTION_FOCUS_FIELD as V}from"../../../../core/Errors/constants.js";import M from"../../../../core/Errors/useSRPanelContext.js";import D from"../../../../core/Context/useImage.js";import{getArrayDifferences as q}from"../../../../utils/arrayUtils.js";import T from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as L}from"../../../internal/Icon/constants.js";function _(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function K(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){_(e,r,t[r])}))}return e}function H(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function U(e,r){if(null==e)return{};var t,o,n=function(e,r){if(null==e)return{};var t,o,n={},s=Object.keys(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)t=s[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}const z=a=>{var _,z;const W=t(null),$=t(!1),G=D(),{setSRMessagesFromObjects:J,setSRMessagesFromStrings:Q,clearSRPanel:X,shouldMoveFocusSR:Y}=M(),Z=null==J?void 0:J({fieldTypeMappingFn:g}),ee=t(null),re=e=>{ee.current=e},te=t({});Object.keys(te.current).length||a.setComponentRef(te.current);const oe=t(0),ne=t(!1),se=o((()=>new F(a.specifications)),[a.specifications]);te.current.sfp=W;const[le,ie]=n("ready"),[ae,de]=n({}),[ue,ce]=n(K({},a.holderNameRequired&&{holderName:!1}));var me;const[pe,be]=n(K({},a.hasHolderName&&{holderName:null!==(me=a.data.holderName)&&void 0!==me?me:""})),[fe,ye]=n(null),[he,ge]=n(""),[Se,Ne]=n(!1),[ve,je]=n(c),[Ae,Oe]=n(m),[Fe,Pe]=n(null),[we,Ce]=n([]),[ke,xe]=n(a.storedPaymentMethodId?a.brand:""),Re=a.billingAddressMode!==d.none&&a.billingAddressRequired,Ie=S(a.billingAddressMode),Be=t(Ie&&(null===(z=a.data)||void 0===z||null===(_=z.billingAddress)||void 0===_?void 0:_.country)),[Ee,Ve]=n(!1),[Me,De]=n(Re?a.data.billingAddress:null),[qe,Te]=n(!1),[Le,_e]=n(""),[Ke,He]=n({value:null}),[Ue,ze]=n(null),{handleChangeFor:We,triggerValidation:$e,data:Ge,valid:Je,errors:Qe,setSchema:Xe,setData:Ye,setValid:Ze,setErrors:er}=h({schema:[],defaultData:a.data,formatters:p,rules:b}),rr=!!Object.keys(a.installmentOptions).length&&"debit"!==a.fundingSource;var tr;const or=null===(tr=a.showInstallmentAmounts)||void 0===tr||tr,nr="kr"===(null!=Fe?Fe:a.countryCode),sr=a.configuration.koreanAuthenticationRequired&&nr,lr=qe&&"auto"===a.configuration.socialSecurityNumberMode||"show"===a.configuration.socialSecurityNumberMode,ir=(e,r)=>{a.onFocus({fieldType:e,event:r})},ar=(e,r)=>{a.onBlur({fieldType:e,event:r})},dr=x(ge,ir,ar),ur=()=>j(K({props:a,showKCP:sr,showBrazilianSSN:lr},a.billingAddressRequired&&{countrySpecificSchemas:se.getAddressSchemaForCountry(null==Me?void 0:Me.country),billingAddressRequiredFields:a.billingAddressRequiredFields})),cr=s((e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;ze(r)}),[]),mr=R(Ye,Ze,er),pr=C(ne,W,ur()),br=o((()=>y(a,{sfp:W},{dualBrandSelectElements:we,setDualBrandSelectElements:Ce,setSelectedBrandValue:xe,issuingCountryCode:Fe,setIssuingCountryCode:Pe},oe)),[we,Fe]);te.current.showValidation=()=>{$.current=!0,null==X||X(),W.current.showValidation(),$e(["holderName","socialSecurityNumber","taxNumber"]),(null==ee?void 0:ee.current)&&ee.current.showValidation()},te.current.processBinLookupResponse=(e,r)=>{br.processBinLookup(e,r)},te.current.setStatus=ie,l((()=>(te.current.setFocusOn=W.current.setFocusOn,te.current.updateStyles=W.current.updateStyles,te.current.handleUnsupportedCard=W.current.handleUnsupportedCard,()=>{W.current.destroy()})),[]),l((()=>{const e=[...a.hasHolderName?["holderName"]:[],...lr?["socialSecurityNumber"]:[],...sr?["taxNumber"]:[],...Re?["billingAddress"]:[]];Xe(e)}),[a.hasHolderName,lr,sr]),l((()=>{var e;be(H(K({},pe),{holderName:null!==(e=Ge.holderName)&&void 0!==e?e:"",taxNumber:Ge.taxNumber})),_e(Ge.socialSecurityNumber),Re&&De(K({},Ge.billingAddress)),ce(H(K({},ue),{holderName:!a.holderNameRequired||Je.holderName,socialSecurityNumber:!!Je.socialSecurityNumber&&Je.socialSecurityNumber,taxNumber:!!Je.taxNumber&&Je.taxNumber,billingAddress:!!Je.billingAddress&&Je.billingAddress}));const r=!!Qe.billingAddress&&Object.entries(Qe.billingAddress).reduce(((e,[,r])=>e||null!=r),!1);de(H(K({},ae),{holderName:a.holderNameRequired&&Qe.holderName?Qe.holderName:null,socialSecurityNumber:lr&&Qe.socialSecurityNumber?Qe.socialSecurityNumber:null,taxNumber:sr&&Qe.taxNumber?Qe.taxNumber:null,billingAddress:Re&&r?Qe.billingAddress:null}))}),[Ge,Je,Qe]);const fr=O(fe);l((()=>{var e;const r=ue.holderName,t=Se,o=!Re||ue.billingAddress,n=!sr||!!ue.taxNumber&&!!ue.encryptedPassword,s=!lr||!!ue.socialSecurityNumber,l=t&&r&&o&&n&&s,i=W.current.mapErrorsToValidationRuleResult(),d=K({},ae,i),{billingAddress:u}=d,c=K({},U(d,["billingAddress"]),u);var m;const p=null==Z?void 0:Z({errors:c,isValidating:$.current,layout:ur(),countrySpecificLabels:null!==(m=se.getAddressLabelsForCountry(null==Me?void 0:Me.country))&&void 0!==m?m:null==Ie||null===(e=Ie.default)||void 0===e?void 0:e.labels}),b=null==p?void 0:p.currentErrorsSortedByLayout;switch(ye(b),null==p?void 0:p.action){case V:Y&&k($.current,W,null==p?void 0:p.fieldToFocus),setTimeout((()=>{$.current=!1}),300);break;case E:{const e=q(b,fr,"field"),r=null==e?void 0:e[0];if(r){const e=A(r.errorCode)?r.errorMessage:null;Q(e)}else X();break}}if(b){const e=q(b,fr,"field");null==e||e.forEach((e=>{const r={fieldType:e.field,errorCode:e.errorCode};a.onValidationErrorAnalytics(r)}))}a.onChange({data:pe,valid:ue,errors:d,isValid:l,billingAddress:Me,selectedBrandValue:ke,storePaymentMethod:Ee,socialSecurityNumber:Le,installments:Ke})}),[pe,ue,ae,ke,Ee,Ke]);const yr=a.storedPaymentMethodId?P:w;return e(r,null,e(i,H(K({ref:W},v(a)),{styles:K({},a.styles),koreanAuthenticationRequired:a.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!a.configuration.koreanAuthenticationRequired||"kr"!==a.countryCode),onChange:(e,r)=>{if(e.autoCompleteName){if(!a.hasHolderName)return;const r=f("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;r&&(Ye("holderName",r),Ze("holderName",!0),er("holderName",null))}else a.autoFocus&&oe.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===u&&e.valid.encryptedCardNumber&&pr(),be(K({},pe,e.data)),de(K({},ae,e.errors)),ce(K({},ue,e.valid)),Ne(e.isSfpValid),Oe(e.cvcPolicy),Te(e.showSocialSecurityNumber),je(e.expiryDatePolicy)},onBrand:a.onBrand,onFocus:dr,type:a.brand,disableIOSArrowKeys:a.disableIOSArrowKeys?cr:null,render:({setRootNode:r,setFocusOn:t},o)=>{var n;return e("div",{ref:r,className:I({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(n=a.fundingSource)&&void 0!==n?n:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===le}),role:"form"},a.showFormInstruction&&e(T,null),e(yr,H(K({},N(a)),{data:pe,valid:ue,errors:ae,handleChangeFor:We,focusedElement:he,setFocusOn:t,sfpState:o,cvcPolicy:Ae,hasInstallments:rr,showAmountsInInstallments:or,handleInstallments:He,brandsIcons:a.brandsIcons,formData:Ge,formErrors:Qe,formValid:Je,expiryDatePolicy:ve,dualBrandSelectElements:we,extensions:br,selectedBrandValue:ke,showKCP:sr,showBrazilianSSN:lr,socialSecurityNumber:Le,handleOnStoreDetails:Ve,setAddressRef:re,billingAddress:Me,billingAddressValidationRules:Ie&&B(Be.current),partialAddressSchema:Ie,handleAddress:mr,onAddressLookup:a.onAddressLookup,onAddressSelected:a.onAddressSelected,addressSearchDebounceMs:a.addressSearchDebounceMs,iOSFocusedField:Ue,onFieldFocusAnalytics:ir,onFieldBlurAnalytics:ar})))}})),a.showPayButton&&a.payButton({status:le,variant:a.isPayButtonPrimaryVariant?"primary":"secondary",icon:G({imageFolder:"components/"})(`${L}lock`)}))};z.defaultProps=a;export{z as default};
1
+ import{createElement as e,Fragment as r}from"../../../../external/preact/dist/preact.js";import{useRef as t,useMemo as o,useState as n,useCallback as s,useEffect as l}from"../../../../external/preact/hooks/dist/hooks.js";import a from"../../../internal/SecuredFields/SFP/SecuredFieldsProvider.js";import i from"./defaultProps.js";import{AddressModeOptions as d}from"./types.js";import{ENCRYPTED_CARD_NUMBER as u,DATE_POLICY_REQUIRED as c,CVC_POLICY_REQUIRED as m}from"../../../internal/SecuredFields/lib/constants.js";import{cardInputFormatters as p,cardInputValidationRules as b,getRuleByNameAndMode as f}from"./validate.js";import y from"../../../internal/SecuredFields/binLookup/extensions.js";import h from"../../../../utils/useForm/useForm.js";import{handlePartialAddressMode as S,extractPropsForCardFields as N,extractPropsForSFP as g,getLayout as A}from"./utils.js";import v from"../../../internal/Address/Specifications.js";import{StoredCardFieldsWrapper as j}from"./components/StoredCardFieldsWrapper.js";import{CardFieldsWrapper as O}from"./components/CardFieldsWrapper.js";import{getAutoJumpHandler as F,getFocusHandler as P,getAddressHandler as w}from"./handlers.js";import C from"../../../../external/classnames/index.js";import{getPartialAddressValidationRules as k}from"../../../internal/Address/validate.js";import x from"../../../../core/Context/useImage.js";import{getArrayDifferences as R}from"../../../../utils/arrayUtils.js";import I from"../../../internal/FormInstruction/FormInstruction.js";import{PREFIX as B}from"../../../internal/Icon/constants.js";import E from"./useSRPanelForCardInputErrors.js";function V(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function D(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){V(e,r,t[r])}))}return e}function q(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t.push.apply(t,o)}return t}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}const M=i=>{var V,M;const _=t(null),L=t(!1),T=x(),K=t(null),H=e=>{K.current=e},U=t({});Object.keys(U.current).length||i.setComponentRef(U.current);const z=t(0),W=t(!1),$=o((()=>new v(i.specifications)),[i.specifications]);U.current.sfp=_;const[G,J]=n("ready"),[Q,X]=n({}),[Y,Z]=n(D({},i.holderNameRequired&&{holderName:!1}));var ee;const[re,te]=n(D({},i.hasHolderName&&{holderName:null!==(ee=i.data.holderName)&&void 0!==ee?ee:""})),[oe,ne]=n(""),[se,le]=n(!1),[ae,ie]=n(c),[de,ue]=n(m),[ce,me]=n(null),[pe,be]=n([]),[fe,ye]=n(i.storedPaymentMethodId?i.brand:""),he=i.billingAddressMode!==d.none&&i.billingAddressRequired,Se=S(i.billingAddressMode),Ne=t(Se&&(null===(M=i.data)||void 0===M||null===(V=M.billingAddress)||void 0===V?void 0:V.country)),[ge,Ae]=n(!1),[ve,je]=n(he?i.data.billingAddress:null),[Oe,Fe]=n(!1),[Pe,we]=n(""),[Ce,ke]=n({value:null}),[xe,Re]=n(null),{handleChangeFor:Ie,triggerValidation:Be,data:Ee,valid:Ve,errors:De,setSchema:qe,setData:Me,setValid:_e,setErrors:Le}=h({schema:[],defaultData:i.data,formatters:p,rules:b}),Te=!!Object.keys(i.installmentOptions).length&&"debit"!==i.fundingSource;var Ke;const He=null===(Ke=i.showInstallmentAmounts)||void 0===Ke||Ke,Ue="kr"===(null!=ce?ce:i.countryCode),ze=i.configuration.koreanAuthenticationRequired&&Ue,We=Oe&&"auto"===i.configuration.socialSecurityNumberMode||"show"===i.configuration.socialSecurityNumberMode,$e=(e,r)=>{i.onFocus({fieldType:e,event:r})},Ge=(e,r)=>{i.onBlur({fieldType:e,event:r})},Je=P(ne,$e,Ge),Qe=()=>A(D({props:i,showKCP:ze,showBrazilianSSN:We},i.billingAddressRequired&&{countrySpecificSchemas:$.getAddressSchemaForCountry(null==ve?void 0:ve.country),billingAddressRequiredFields:i.billingAddressRequiredFields})),Xe=s((e=>{const r="webInternalElement"!==e.fieldType?e.fieldType:e.name;Re(r)}),[]),Ye=w(Me,_e,Le),Ze=F(W,_,Qe()),er=o((()=>y(i,{sfp:_},{dualBrandSelectElements:pe,setDualBrandSelectElements:be,setSelectedBrandValue:ye,issuingCountryCode:ce,setIssuingCountryCode:me},z)),[pe,ce]);U.current.showValidation=()=>{L.current=!0,null==or||or(),_.current.showValidation(),Be(["holderName","socialSecurityNumber","taxNumber"]),(null==K?void 0:K.current)&&K.current.showValidation()},U.current.processBinLookupResponse=(e,r)=>{er.processBinLookup(e,r)},U.current.setStatus=J,l((()=>(U.current.setFocusOn=_.current.setFocusOn,U.current.updateStyles=_.current.updateStyles,U.current.handleUnsupportedCard=_.current.handleUnsupportedCard,()=>{_.current.destroy()})),[]),l((()=>{const e=[...i.hasHolderName?["holderName"]:[],...We?["socialSecurityNumber"]:[],...ze?["taxNumber"]:[],...he?["billingAddress"]:[]];qe(e)}),[i.hasHolderName,We,ze]),l((()=>{var e;te(q(D({},re),{holderName:null!==(e=Ee.holderName)&&void 0!==e?e:"",taxNumber:Ee.taxNumber})),we(Ee.socialSecurityNumber),he&&je(D({},Ee.billingAddress)),Z(q(D({},Y),{holderName:!i.holderNameRequired||Ve.holderName,socialSecurityNumber:!!Ve.socialSecurityNumber&&Ve.socialSecurityNumber,taxNumber:!!Ve.taxNumber&&Ve.taxNumber,billingAddress:!!Ve.billingAddress&&Ve.billingAddress}));const r=!!De.billingAddress&&Object.entries(De.billingAddress).reduce(((e,[,r])=>e||null!=r),!1);X(q(D({},Q),{holderName:i.holderNameRequired&&De.holderName?De.holderName:null,socialSecurityNumber:We&&De.socialSecurityNumber?De.socialSecurityNumber:null,taxNumber:ze&&De.taxNumber?De.taxNumber:null,billingAddress:he&&r?De.billingAddress:null}))}),[Ee,Ve,De]);const{sortedErrorList:rr,previousSortedErrors:tr,clearSRPanel:or}=E({errors:Q,props:i,isValidating:L,retrieveLayout:Qe,specifications:$,billingAddress:ve,sfp:_});l((()=>{const e=Y.holderName,r=se,t=!he||Y.billingAddress,o=!ze||!!Y.taxNumber&&!!Y.encryptedPassword,n=!We||!!Y.socialSecurityNumber,s=r&&e&&t&&o&&n,l=_.current.mapErrorsToValidationRuleResult(),a=D({},Q,l);if(rr){const e=R(rr,tr,"field");null==e||e.forEach((e=>{const r={fieldType:e.field,errorCode:e.errorCode};i.onValidationErrorAnalytics(r)}))}i.onChange({data:re,valid:Y,errors:a,isValid:s,billingAddress:ve,selectedBrandValue:fe,storePaymentMethod:ge,socialSecurityNumber:Pe,installments:Ce})}),[re,Y,Q,fe,ge,Ce]);const nr=i.storedPaymentMethodId?j:O;return e(r,null,e(a,q(D({ref:_},g(i)),{styles:D({},i.styles),koreanAuthenticationRequired:i.configuration.koreanAuthenticationRequired,hasKoreanFields:!(!i.configuration.koreanAuthenticationRequired||"kr"!==i.countryCode),onChange:(e,r)=>{if(e.autoCompleteName){if(!i.hasHolderName)return;const r=f("holderName","blur")(e.autoCompleteName)?e.autoCompleteName:null;r&&(Me("holderName",r),_e("holderName",!0),Le("holderName",null))}else i.autoFocus&&z.current>0&&"handleOnFieldValid"===(null==r?void 0:r.event)&&(null==r?void 0:r.fieldType)===u&&e.valid.encryptedCardNumber&&Ze(),te(D({},re,e.data)),X(D({},Q,e.errors)),Z(D({},Y,e.valid)),le(e.isSfpValid),ue(e.cvcPolicy),Fe(e.showSocialSecurityNumber),ie(e.expiryDatePolicy)},onBrand:i.onBrand,onFocus:Je,type:i.brand,disableIOSArrowKeys:i.disableIOSArrowKeys?Xe:null,render:({setRootNode:r,setFocusOn:t},o)=>{var n;return e("div",{ref:r,className:C({"adyen-checkout__card-input":!0,"adyen-checkout-card-input__wrapper":!0,[`adyen-checkout__card-input--${null!==(n=i.fundingSource)&&void 0!==n?n:"credit"}`]:!0,"adyen-checkout__card-input--loading":"loading"===G}),role:"form"},e(I,null),e(nr,q(D({},N(i)),{data:re,valid:Y,errors:Q,handleChangeFor:Ie,focusedElement:oe,setFocusOn:t,sfpState:o,cvcPolicy:de,hasInstallments:Te,showAmountsInInstallments:He,handleInstallments:ke,brandsIcons:i.brandsIcons,formData:Ee,formErrors:De,formValid:Ve,expiryDatePolicy:ae,dualBrandSelectElements:pe,extensions:er,selectedBrandValue:fe,showKCP:ze,showBrazilianSSN:We,socialSecurityNumber:Pe,handleOnStoreDetails:Ae,setAddressRef:H,billingAddress:ve,billingAddressValidationRules:Se&&k(Ne.current),partialAddressSchema:Se,handleAddress:Ye,onAddressLookup:i.onAddressLookup,onAddressSelected:i.onAddressSelected,addressSearchDebounceMs:i.addressSearchDebounceMs,iOSFocusedField:xe,onFieldFocusAnalytics:$e,onFieldBlurAnalytics:Ge})))}})),i.showPayButton&&i.payButton({status:G,variant:i.isPayButtonPrimaryVariant?"primary":"secondary",icon:T({imageFolder:"components/"})(`${B}lock`)}))};M.defaultProps=i;export{M as default};
2
2
  //# sourceMappingURL=CardInput.js.map