@internetarchive/donation-form 0.5.17-a3 → 0.5.18-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/LICENSE +661 -661
  2. package/README.md +115 -115
  3. package/dist/demo/braintree-endpoint-manager.d.ts +9 -9
  4. package/dist/demo/braintree-endpoint-manager.js +45 -45
  5. package/dist/demo/braintree-endpoint-manager.js.map +1 -1
  6. package/dist/demo/demo-analytics-handler.d.ts +17 -17
  7. package/dist/demo/demo-analytics-handler.js +13 -13
  8. package/dist/demo/demo-analytics-handler.js.map +1 -1
  9. package/dist/demo/submit-form-with.d.ts +7 -7
  10. package/dist/demo/submit-form-with.js +21 -21
  11. package/dist/demo/submit-form-with.js.map +1 -1
  12. package/dist/index.d.ts +7 -7
  13. package/dist/index.js +7 -7
  14. package/dist/index.js.map +1 -1
  15. package/dist/src/braintree-manager/braintree-interfaces.d.ts +147 -147
  16. package/dist/src/braintree-manager/braintree-interfaces.js +5 -5
  17. package/dist/src/braintree-manager/braintree-interfaces.js.map +1 -1
  18. package/dist/src/braintree-manager/braintree-manager.d.ts +124 -124
  19. package/dist/src/braintree-manager/braintree-manager.js +149 -149
  20. package/dist/src/braintree-manager/braintree-manager.js.map +1 -1
  21. package/dist/src/braintree-manager/payment-clients.d.ts +47 -47
  22. package/dist/src/braintree-manager/payment-clients.js +116 -116
  23. package/dist/src/braintree-manager/payment-clients.js.map +1 -1
  24. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.d.ts +8 -8
  25. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.js.map +1 -1
  26. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.d.ts +6 -6
  27. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.js.map +1 -1
  28. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +10 -10
  29. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -1
  30. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -21
  31. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js +99 -99
  32. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -1
  33. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.d.ts +10 -10
  34. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js +12 -12
  35. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -1
  36. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.d.ts +20 -20
  37. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js +71 -71
  38. package/dist/src/braintree-manager/payment-providers/apple-pay/apple-pay.js.map +1 -1
  39. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.d.ts +16 -16
  40. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card-interface.js.map +1 -1
  41. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.d.ts +29 -29
  42. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js +99 -99
  43. package/dist/src/braintree-manager/payment-providers/credit-card/credit-card.js.map +1 -1
  44. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.d.ts +11 -11
  45. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js +7 -7
  46. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.js.map +1 -1
  47. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.d.ts +34 -34
  48. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js +52 -52
  49. package/dist/src/braintree-manager/payment-providers/credit-card/hosted-field-container.js.map +1 -1
  50. package/dist/src/braintree-manager/payment-providers/google-pay-interface.d.ts +7 -7
  51. package/dist/src/braintree-manager/payment-providers/google-pay-interface.js.map +1 -1
  52. package/dist/src/braintree-manager/payment-providers/google-pay.d.ts +18 -18
  53. package/dist/src/braintree-manager/payment-providers/google-pay.js +40 -40
  54. package/dist/src/braintree-manager/payment-providers/google-pay.js.map +1 -1
  55. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.d.ts +145 -145
  56. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js +60 -60
  57. package/dist/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.js.map +1 -1
  58. package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.d.ts +11 -11
  59. package/dist/src/braintree-manager/payment-providers/paypal/paypal-interface.js.map +1 -1
  60. package/dist/src/braintree-manager/payment-providers/paypal/paypal.d.ts +23 -23
  61. package/dist/src/braintree-manager/payment-providers/paypal/paypal.js +46 -46
  62. package/dist/src/braintree-manager/payment-providers/paypal/paypal.js.map +1 -1
  63. package/dist/src/braintree-manager/payment-providers/venmo-interface.d.ts +6 -6
  64. package/dist/src/braintree-manager/payment-providers/venmo-interface.js.map +1 -1
  65. package/dist/src/braintree-manager/payment-providers/venmo.d.ts +28 -28
  66. package/dist/src/braintree-manager/payment-providers/venmo.js +50 -50
  67. package/dist/src/braintree-manager/payment-providers/venmo.js.map +1 -1
  68. package/dist/src/braintree-manager/payment-providers-interface.d.ts +16 -16
  69. package/dist/src/braintree-manager/payment-providers-interface.js.map +1 -1
  70. package/dist/src/braintree-manager/payment-providers.d.ts +45 -45
  71. package/dist/src/braintree-manager/payment-providers.js +105 -105
  72. package/dist/src/braintree-manager/payment-providers.js.map +1 -1
  73. package/dist/src/donation-form-controller.d.ts +116 -116
  74. package/dist/src/donation-form-controller.js +562 -562
  75. package/dist/src/donation-form-controller.js.map +1 -1
  76. package/dist/src/donation-form-error.d.ts +3 -3
  77. package/dist/src/donation-form-error.js +6 -6
  78. package/dist/src/donation-form-error.js.map +1 -1
  79. package/dist/src/donation-form.d.ts +120 -120
  80. package/dist/src/donation-form.js +530 -530
  81. package/dist/src/donation-form.js.map +1 -1
  82. package/dist/src/form-elements/badged-input.d.ts +32 -32
  83. package/dist/src/form-elements/badged-input.js +124 -124
  84. package/dist/src/form-elements/badged-input.js.map +1 -1
  85. package/dist/src/form-elements/contact-form/autocomplete-field-options.d.ts +1 -1
  86. package/dist/src/form-elements/contact-form/autocomplete-field-options.js.map +1 -1
  87. package/dist/src/form-elements/contact-form/contact-form.d.ts +53 -53
  88. package/dist/src/form-elements/contact-form/contact-form.js +428 -428
  89. package/dist/src/form-elements/contact-form/contact-form.js.map +1 -1
  90. package/dist/src/form-elements/contact-form/countries.d.ts +3 -3
  91. package/dist/src/form-elements/contact-form/countries.js +252 -252
  92. package/dist/src/form-elements/contact-form/countries.js.map +1 -1
  93. package/dist/src/form-elements/header/donation-form-header.d.ts +27 -27
  94. package/dist/src/form-elements/header/donation-form-header.js +97 -97
  95. package/dist/src/form-elements/header/donation-form-header.js.map +1 -1
  96. package/dist/src/form-elements/header/donation-summary.d.ts +11 -11
  97. package/dist/src/form-elements/header/donation-summary.js +57 -57
  98. package/dist/src/form-elements/header/donation-summary.js.map +1 -1
  99. package/dist/src/form-elements/payment-selector.d.ts +25 -25
  100. package/dist/src/form-elements/payment-selector.js +286 -286
  101. package/dist/src/form-elements/payment-selector.js.map +1 -1
  102. package/dist/src/form-elements/total-amount.d.ts +8 -8
  103. package/dist/src/form-elements/total-amount.js +47 -47
  104. package/dist/src/form-elements/total-amount.js.map +1 -1
  105. package/dist/src/modals/confirm-donation-modal-content.d.ts +31 -31
  106. package/dist/src/modals/confirm-donation-modal-content.js +168 -168
  107. package/dist/src/modals/confirm-donation-modal-content.js.map +1 -1
  108. package/dist/src/modals/error-modal-content.d.ts +14 -14
  109. package/dist/src/modals/error-modal-content.js +49 -49
  110. package/dist/src/modals/error-modal-content.js.map +1 -1
  111. package/dist/src/modals/upsell-modal-content.d.ts +32 -32
  112. package/dist/src/modals/upsell-modal-content.js +294 -294
  113. package/dist/src/modals/upsell-modal-content.js.map +1 -1
  114. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.d.ts +181 -181
  115. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js +252 -252
  116. package/dist/src/payment-flow-handlers/donation-flow-modal-manager.js.map +1 -1
  117. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.d.ts +21 -21
  118. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js +76 -76
  119. package/dist/src/payment-flow-handlers/handlers/applepay-flow-handler.js.map +1 -1
  120. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.d.ts +70 -70
  121. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js +140 -140
  122. package/dist/src/payment-flow-handlers/handlers/creditcard-flow-handler.js.map +1 -1
  123. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.d.ts +22 -22
  124. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js +74 -74
  125. package/dist/src/payment-flow-handlers/handlers/googlepay-flow-handler.js.map +1 -1
  126. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.d.ts +52 -52
  127. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js +239 -239
  128. package/dist/src/payment-flow-handlers/handlers/paypal-flow-handler.js.map +1 -1
  129. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.d.ts +30 -30
  130. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js +89 -89
  131. package/dist/src/payment-flow-handlers/handlers/venmo-flow-handler.js.map +1 -1
  132. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.d.ts +75 -75
  133. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js +94 -94
  134. package/dist/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.js.map +1 -1
  135. package/dist/src/payment-flow-handlers/payment-flow-handlers.d.ts +111 -111
  136. package/dist/src/payment-flow-handlers/payment-flow-handlers.js +107 -107
  137. package/dist/src/payment-flow-handlers/payment-flow-handlers.js.map +1 -1
  138. package/dist/src/recaptcha-manager/recaptcha-manager.d.ts +48 -48
  139. package/dist/src/recaptcha-manager/recaptcha-manager.js +88 -88
  140. package/dist/src/recaptcha-manager/recaptcha-manager.js.map +1 -1
  141. package/dist/src/util/promisedSleep.d.ts +1 -1
  142. package/dist/src/util/promisedSleep.js +3 -3
  143. package/dist/src/util/promisedSleep.js.map +1 -1
  144. package/dist/test/helpers/fillInContactForm.d.ts +2 -2
  145. package/dist/test/helpers/fillInContactForm.js +19 -19
  146. package/dist/test/helpers/fillInContactForm.js.map +1 -1
  147. package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.d.ts +7 -7
  148. package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js +9 -9
  149. package/dist/test/mocks/flow-handlers/individual-handlers/mock-applepay-flow-handler.js.map +1 -1
  150. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.d.ts +15 -15
  151. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js +32 -32
  152. package/dist/test/mocks/flow-handlers/individual-handlers/mock-creditcard-flow-handler.js.map +1 -1
  153. package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.d.ts +9 -9
  154. package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js +15 -15
  155. package/dist/test/mocks/flow-handlers/individual-handlers/mock-googlepay-flow-handler.js.map +1 -1
  156. package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.d.ts +15 -15
  157. package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js +30 -30
  158. package/dist/test/mocks/flow-handlers/individual-handlers/mock-paypal-flow-handler.js.map +1 -1
  159. package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.d.ts +9 -9
  160. package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js +17 -17
  161. package/dist/test/mocks/flow-handlers/individual-handlers/mock-venmo-flow-handler.js.map +1 -1
  162. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.d.ts +30 -30
  163. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js +29 -29
  164. package/dist/test/mocks/flow-handlers/mock-payment-flow-handlers.js.map +1 -1
  165. package/dist/test/mocks/mock-braintree-manager.d.ts +45 -45
  166. package/dist/test/mocks/mock-braintree-manager.js +71 -71
  167. package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
  168. package/dist/test/mocks/mock-donation-info.d.ts +4 -4
  169. package/dist/test/mocks/mock-donation-info.js +10 -10
  170. package/dist/test/mocks/mock-donation-info.js.map +1 -1
  171. package/dist/test/mocks/mock-endpoint-manager.d.ts +12 -12
  172. package/dist/test/mocks/mock-endpoint-manager.js +19 -19
  173. package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
  174. package/dist/test/mocks/mock-hosted-fields-config.d.ts +4 -4
  175. package/dist/test/mocks/mock-hosted-fields-config.js +37 -37
  176. package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
  177. package/dist/test/mocks/mock-hosted-fields-container.d.ts +13 -13
  178. package/dist/test/mocks/mock-hosted-fields-container.js +27 -27
  179. package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
  180. package/dist/test/mocks/mock-lazy-loader.d.ts +15 -15
  181. package/dist/test/mocks/mock-lazy-loader.js +20 -20
  182. package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
  183. package/dist/test/mocks/mock-modal-manager.d.ts +17 -17
  184. package/dist/test/mocks/mock-modal-manager.js +26 -26
  185. package/dist/test/mocks/mock-modal-manager.js.map +1 -1
  186. package/dist/test/mocks/mock-payment-clients.d.ts +29 -29
  187. package/dist/test/mocks/mock-payment-clients.js +78 -78
  188. package/dist/test/mocks/mock-payment-clients.js.map +1 -1
  189. package/dist/test/mocks/mock-paypal-button-renderer.d.ts +5 -5
  190. package/dist/test/mocks/mock-paypal-button-renderer.js +6 -6
  191. package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
  192. package/dist/test/mocks/mock-recaptcha-manager.d.ts +7 -7
  193. package/dist/test/mocks/mock-recaptcha-manager.js +14 -14
  194. package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
  195. package/dist/test/mocks/models/mock-billing-info.d.ts +2 -2
  196. package/dist/test/mocks/models/mock-billing-info.js +9 -9
  197. package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
  198. package/dist/test/mocks/models/mock-custom-fields.d.ts +2 -2
  199. package/dist/test/mocks/models/mock-custom-fields.js +7 -7
  200. package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
  201. package/dist/test/mocks/models/mock-customer-info.d.ts +2 -2
  202. package/dist/test/mocks/models/mock-customer-info.js +6 -6
  203. package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
  204. package/dist/test/mocks/models/mock-donation-request.d.ts +2 -2
  205. package/dist/test/mocks/models/mock-donation-request.js +18 -18
  206. package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
  207. package/dist/test/mocks/models/mock-success-response.d.ts +2 -2
  208. package/dist/test/mocks/models/mock-success-response.js +14 -14
  209. package/dist/test/mocks/models/mock-success-response.js.map +1 -1
  210. package/dist/test/mocks/payment-clients/mock-applepay-client.d.ts +21 -21
  211. package/dist/test/mocks/payment-clients/mock-applepay-client.js +72 -72
  212. package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
  213. package/dist/test/mocks/payment-clients/mock-applepay-payment.d.ts +6 -6
  214. package/dist/test/mocks/payment-clients/mock-applepay-payment.js +42 -42
  215. package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
  216. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.d.ts +22 -22
  217. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js +35 -35
  218. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
  219. package/dist/test/mocks/payment-clients/mock-applepay-session.d.ts +30 -30
  220. package/dist/test/mocks/payment-clients/mock-applepay-session.js +52 -52
  221. package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
  222. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.d.ts +10 -10
  223. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js +12 -12
  224. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
  225. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.d.ts +22 -22
  226. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js +34 -34
  227. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
  228. package/dist/test/mocks/payment-clients/mock-braintree-client.d.ts +14 -14
  229. package/dist/test/mocks/payment-clients/mock-braintree-client.js +19 -19
  230. package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
  231. package/dist/test/mocks/payment-clients/mock-data-collector.d.ts +11 -11
  232. package/dist/test/mocks/payment-clients/mock-data-collector.js +17 -17
  233. package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
  234. package/dist/test/mocks/payment-clients/mock-googlepay-client.d.ts +22 -22
  235. package/dist/test/mocks/payment-clients/mock-googlepay-client.js +42 -42
  236. package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
  237. package/dist/test/mocks/payment-clients/mock-googlepay-library.d.ts +10 -10
  238. package/dist/test/mocks/payment-clients/mock-googlepay-library.js +22 -22
  239. package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
  240. package/dist/test/mocks/payment-clients/mock-grecaptcha.d.ts +23 -23
  241. package/dist/test/mocks/payment-clients/mock-grecaptcha.js +62 -62
  242. package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
  243. package/dist/test/mocks/payment-clients/mock-hostedfields-client.d.ts +33 -33
  244. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js +54 -54
  245. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
  246. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.d.ts +1 -1
  247. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js +50 -50
  248. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
  249. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.d.ts +1 -1
  250. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js +13 -13
  251. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
  252. package/dist/test/mocks/payment-clients/mock-paypal-client.d.ts +23 -23
  253. package/dist/test/mocks/payment-clients/mock-paypal-client.js +62 -62
  254. package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
  255. package/dist/test/mocks/payment-clients/mock-paypal-library.d.ts +4 -4
  256. package/dist/test/mocks/payment-clients/mock-paypal-library.js +9 -9
  257. package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
  258. package/dist/test/mocks/payment-clients/mock-venmo-client.d.ts +22 -22
  259. package/dist/test/mocks/payment-clients/mock-venmo-client.js +36 -36
  260. package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
  261. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.d.ts +10 -10
  262. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js +14 -14
  263. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
  264. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.d.ts +9 -9
  265. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js +19 -19
  266. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
  267. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.d.ts +18 -18
  268. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js +41 -41
  269. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
  270. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.d.ts +8 -8
  271. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js +16 -16
  272. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
  273. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.d.ts +28 -28
  274. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js +52 -52
  275. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
  276. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.d.ts +11 -11
  277. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js +37 -37
  278. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
  279. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.d.ts +12 -12
  280. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js +15 -15
  281. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
  282. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.d.ts +7 -7
  283. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js +22 -22
  284. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
  285. package/dist/test/mocks/payment-providers/mock-payment-providers.d.ts +21 -21
  286. package/dist/test/mocks/payment-providers/mock-payment-providers.js +45 -45
  287. package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
  288. package/dist/test/tests/braintree-manager.test.d.ts +1 -1
  289. package/dist/test/tests/braintree-manager.test.js +166 -166
  290. package/dist/test/tests/braintree-manager.test.js.map +1 -1
  291. package/dist/test/tests/donation-form-controller.test.d.ts +1 -1
  292. package/dist/test/tests/donation-form-controller.test.js +188 -199
  293. package/dist/test/tests/donation-form-controller.test.js.map +1 -1
  294. package/dist/test/tests/donation-form.test.d.ts +1 -1
  295. package/dist/test/tests/donation-form.test.js +109 -109
  296. package/dist/test/tests/donation-form.test.js.map +1 -1
  297. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.d.ts +1 -1
  298. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +216 -216
  299. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
  300. package/dist/test/tests/form-elements/donation-summary.test.d.ts +1 -1
  301. package/dist/test/tests/form-elements/donation-summary.test.js +36 -36
  302. package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
  303. package/dist/test/tests/form-elements/payment-selector.test.d.ts +1 -1
  304. package/dist/test/tests/form-elements/payment-selector.test.js +69 -69
  305. package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
  306. package/dist/test/tests/modals/error-modal-content.test.d.ts +1 -1
  307. package/dist/test/tests/modals/error-modal-content.test.js +14 -14
  308. package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
  309. package/dist/test/tests/modals/upsell-modal-content.test.d.ts +1 -1
  310. package/dist/test/tests/modals/upsell-modal-content.test.js +163 -163
  311. package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
  312. package/dist/test/tests/models/donation-payment-info.test.d.ts +1 -1
  313. package/dist/test/tests/models/donation-payment-info.test.js +74 -74
  314. package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
  315. package/dist/test/tests/payment-clients.test.d.ts +1 -1
  316. package/dist/test/tests/payment-clients.test.js +130 -130
  317. package/dist/test/tests/payment-clients.test.js.map +1 -1
  318. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.d.ts +1 -1
  319. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js +160 -160
  320. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
  321. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.d.ts +1 -1
  322. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js +36 -36
  323. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
  324. package/dist/test/tests/payment-providers/applepay.test.d.ts +1 -1
  325. package/dist/test/tests/payment-providers/applepay.test.js +78 -78
  326. package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
  327. package/dist/test/tests/payment-providers/creditcard.test.d.ts +1 -1
  328. package/dist/test/tests/payment-providers/creditcard.test.js +190 -190
  329. package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
  330. package/dist/test/tests/payment-providers/googlepay.test.d.ts +1 -1
  331. package/dist/test/tests/payment-providers/googlepay.test.js +48 -48
  332. package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
  333. package/dist/test/tests/payment-providers/payment-providers.test.d.ts +1 -1
  334. package/dist/test/tests/payment-providers/payment-providers.test.js +38 -38
  335. package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
  336. package/dist/test/tests/payment-providers/paypal-button-datasource.test.d.ts +1 -1
  337. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js +162 -162
  338. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
  339. package/dist/test/tests/payment-providers/paypal.test.d.ts +1 -1
  340. package/dist/test/tests/payment-providers/paypal.test.js +38 -38
  341. package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
  342. package/dist/test/tests/payment-providers/venmo.test.d.ts +1 -1
  343. package/dist/test/tests/payment-providers/venmo.test.js +77 -77
  344. package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
  345. package/dist/test/tests/recaptcha-manager.test.d.ts +1 -1
  346. package/dist/test/tests/recaptcha-manager.test.js +70 -70
  347. package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
  348. package/package.json +101 -101
  349. package/src/@types/analytics-handler/index.d.ts +8 -8
  350. package/src/@types/braintree-web/LICENSE +21 -21
  351. package/src/@types/braintree-web/index.d.ts +93 -93
  352. package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
  353. package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
  354. package/src/@types/braintree-web/modules/client.d.ts +103 -103
  355. package/src/@types/braintree-web/modules/core.d.ts +34 -34
  356. package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
  357. package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
  358. package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
  359. package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
  360. package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
  361. package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
  362. package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
  363. package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
  364. package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
  365. package/src/@types/braintree-web/package.json +64 -64
  366. package/src/@types/paypal-checkout-components/LICENSE +21 -21
  367. package/src/@types/paypal-checkout-components/index.d.ts +67 -67
  368. package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
  369. package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
  370. package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
  371. package/src/@types/paypal-checkout-components/package.json +58 -58
  372. package/src/braintree-manager/braintree-interfaces.ts +172 -172
  373. package/src/braintree-manager/braintree-manager.ts +283 -283
  374. package/src/braintree-manager/payment-clients.ts +148 -148
  375. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
  376. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
  377. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
  378. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
  379. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
  380. package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +98 -98
  381. package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
  382. package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
  383. package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
  384. package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
  385. package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
  386. package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
  387. package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
  388. package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
  389. package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
  390. package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
  391. package/src/braintree-manager/payment-providers/venmo.ts +67 -67
  392. package/src/braintree-manager/payment-providers-interface.ts +25 -25
  393. package/src/braintree-manager/payment-providers.ts +147 -147
  394. package/src/donation-form-controller.ts +619 -619
  395. package/src/donation-form-error.ts +6 -6
  396. package/src/donation-form.ts +566 -566
  397. package/src/form-elements/badged-input.ts +113 -113
  398. package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
  399. package/src/form-elements/contact-form/contact-form.ts +427 -427
  400. package/src/form-elements/contact-form/countries.ts +252 -252
  401. package/src/form-elements/header/donation-form-header.ts +100 -100
  402. package/src/form-elements/header/donation-summary.ts +61 -61
  403. package/src/form-elements/payment-selector.ts +293 -293
  404. package/src/form-elements/total-amount.ts +46 -46
  405. package/src/modals/confirm-donation-modal-content.ts +160 -160
  406. package/src/modals/error-modal-content.ts +48 -48
  407. package/src/modals/upsell-modal-content.ts +294 -294
  408. package/src/payment-flow-handlers/donation-flow-modal-manager.ts +450 -450
  409. package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +108 -108
  410. package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +231 -231
  411. package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +113 -113
  412. package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +332 -332
  413. package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +118 -118
  414. package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
  415. package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
  416. package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
  417. package/src/util/promisedSleep.ts +3 -3
  418. package/dist/test/mocks/mock-analytics-handler.d.ts +0 -8
  419. package/dist/test/mocks/mock-analytics-handler.js +0 -10
  420. package/dist/test/mocks/mock-analytics-handler.js.map +0 -1
@@ -1,262 +1,262 @@
1
- import { callback } from './core';
2
- import { Client } from './client';
3
-
4
- export interface PayPalCheckoutCreatePaymentOptions {
5
- flow: paypal.FlowType;
6
- intent?: paypal.Intent;
7
- offerCredit?: boolean;
8
- amount?: string | number;
9
- currency?: string;
10
- displayName?: string;
11
- locale?: string;
12
- vaultInitiatedCheckoutPaymentMethodToken?: string;
13
- shippingOptions?: paypal.ShippingOption[];
14
- enableShippingAddress?: boolean;
15
- shippingAddressOverride?: paypal.Address;
16
- shippingAddressEditable?: boolean;
17
- billingAgreementDescription?: string;
18
- landingPageType?: string;
19
- lineItems?: paypal.LineItem[];
20
- }
21
-
22
- export interface PayPalCheckoutTokenizationOptions {
23
- payerId: string;
24
- paymentId?: string;
25
- billingToken?: string;
26
- vault?: boolean;
27
- }
28
-
29
- export interface PayPalCheckout {
30
- /**
31
- * @description There are two ways to integrate the PayPal Checkout component.
32
- * See the [PayPal Checkout constructor documentation](PayPalCheckout.html#PayPalCheckout) for more information and examples.
33
- * @example
34
- * braintree.client.create({
35
- * authorization: 'authorization'
36
- * }).then(function (clientInstance) {
37
- * return braintree.paypalCheckout.create({
38
- * client: clientInstance
39
- * });
40
- * }).then(function (paypalCheckoutInstance) {
41
- * // set up checkout.js
42
- * }).catch(function (err) {
43
- * console.error('Error!', err);
44
- * });
45
- */
46
- create(options: {
47
- client?: Client;
48
- authorization?: string;
49
- merchantAccountId?: string;
50
- }): Promise<PayPalCheckout>;
51
- create(
52
- options: { client?: Client; authorization?: string; merchantAccountId?: string },
53
- callback?: callback,
54
- ): void;
55
-
56
- /**
57
- * @description The current version of the SDK, i.e. `3.0.2`.
58
- */
59
- VERSION: string;
60
-
61
- /**
62
- * Creates a PayPal payment ID or billing token using the given options. This is meant to be passed to PayPal's checkout.js library.
63
- * When a {@link callback} is defined, the function returns undefined and invokes the callback with the id to be used with the checkout.js
64
- * library. Otherwise, it returns a Promise that resolves with the id.
65
- * `authorize` - Submits the transaction for authorization but not settlement.
66
- * `order` - Validates the transaction without an authorization (i.e. without holding funds).
67
- * Useful for authorizing and capturing funds up to 90 days after the order has been placed. Only available for Checkout flow.
68
- * `capture` - Payment will be immediately submitted for settlement upon creating a transaction.
69
- * `sale` can be used as an alias for this value.
70
- * Supported locales are:
71
- * `da_DK`,
72
- * `de_DE`,
73
- * `en_AU`,
74
- * `en_GB`,
75
- * `en_US`,
76
- * `es_ES`,
77
- * `fr_CA`,
78
- * `fr_FR`,
79
- * `id_ID`,
80
- * `it_IT`,
81
- * `ja_JP`,
82
- * `ko_KR`,
83
- * `nl_NL`,
84
- * `no_NO`,
85
- * `pl_PL`,
86
- * `pt_BR`,
87
- * `pt_PT`,
88
- * `ru_RU`,
89
- * `sv_SE`,
90
- * `th_TH`,
91
- * `zh_CN`,
92
- * `zh_HK`,
93
- * and `zh_TW`.
94
- * * * `login` - A PayPal account login page is used.
95
- * * `billing` - A non-PayPal account landing page is used.
96
- * // this paypal object is created by checkout.js
97
- * // see https://github.com/paypal/paypal-checkout
98
- * paypal.Buttons({
99
- * createOrder: function () {
100
- * // when createPayment resolves, it is automatically passed to checkout.js
101
- * return paypalCheckoutInstance.createPayment({
102
- * flow: 'checkout',
103
- * amount: '10.00',
104
- * currency: 'USD',
105
- * intent: 'capture' // this value must either be `capture` or match the intent passed into the PayPal SDK intent query parameter
106
- * });
107
- * },
108
- * // Add other options, e.g. onApproved, onCancel, onError
109
- * }).render('#paypal-button');
110
- *
111
- * @example
112
- * // shippingOptions are passed to createPayment. You can review the result from onAuthorize to determine which shipping option id was selected.
113
- * ```javascript
114
- * braintree.client.create({
115
- * authorization: 'authorization'
116
- * }).then(function (clientInstance) {
117
- * return braintree.paypalCheckout.create({
118
- * client: clientInstance
119
- * });
120
- * }).then(function (paypalCheckoutInstance) {
121
- * return paypal.Button.render({
122
- * env: 'production'
123
- *
124
- * payment: function () {
125
- * return paypalCheckoutInstance.createPayment({
126
- * flow: 'checkout',
127
- * amount: '10.00',
128
- * currency: 'USD',
129
- * shippingOptions: [
130
- * {
131
- * id: 'UUID-9',
132
- * type: 'PICKUP',
133
- * label: 'Store Location Five',
134
- * selected: true,
135
- * amount: {
136
- * value: '1.00',
137
- * currency: 'USD'
138
- * }
139
- * },
140
- * {
141
- * id: 'shipping-speed-fast',
142
- * type: 'SHIPPING',
143
- * label: 'Fast Shipping',
144
- * selected: false,
145
- * amount: {
146
- * value: '1.00',
147
- * currency: 'USD'
148
- * }
149
- * },
150
- * {
151
- * id: 'shipping-speed-slow',
152
- * type: 'SHIPPING',
153
- * label: 'Slow Shipping',
154
- * selected: false,
155
- * amount: {
156
- * value: '1.00',
157
- * currency: 'USD'
158
- * }
159
- * }
160
- * ]
161
- * });
162
- * },
163
- *
164
- * onAuthorize: function (data, actions) {
165
- * return paypalCheckoutInstance.tokenizePayment(data).then(function (payload) {
166
- * // Submit payload.nonce to your server
167
- * });
168
- * }
169
- * }, '#paypal-button');
170
- * }).catch(function (err) {
171
- * console.error('Error!', err);
172
- * });
173
- * ```
174
- *
175
- */
176
- createPayment(options: PayPalCheckoutCreatePaymentOptions, callback?: callback): Promise<string>;
177
-
178
- /**
179
- * Tokenizes the authorize data from PayPal's checkout.js library when completing a buyer approval flow.
180
- * When a {@link callback} is defined, invokes the callback with {@link PayPalCheckout~tokenizePayload|tokenizePayload} and returns undefined.
181
- * Otherwise, returns a Promise that resolves with a {@link PayPalCheckout~tokenizePayload|tokenizePayload}.
182
- * @example <caption>Opt out of auto-vaulting behavior</caption>
183
- * // create the paypalCheckoutInstance with a client token generated with a customer id
184
- * paypal.Buttons({
185
- * createBillingAgreement: function () {
186
- * return paypalCheckoutInstance.createPayment({
187
- * flow: 'vault'
188
- * // your other createPayment options here
189
- * });
190
- * },
191
- * onApproved: function (data) {
192
- * data.vault = false;
193
- *
194
- * return paypalCheckoutInstance.tokenizePayment(data);
195
- * },
196
- * // Add other options, e.g. onCancel, onError
197
- * }).render('#paypal-button');
198
- *
199
- */
200
- tokenizePayment(
201
- tokenizeOptions: PayPalCheckoutTokenizationOptions,
202
- ): Promise<paypal.TokenizePayload>;
203
- tokenizePayment(tokenizeOptions: PayPalCheckoutTokenizationOptions, callback?: callback): void;
204
-
205
- /**
206
- * Resolves with the PayPal client id to be used when loading the PayPal SDK. * @example
207
- * paypalCheckoutInstance.getClientId().then(function (id) {
208
- * var script = document.createElement('script');
209
- *
210
- * script.src = 'https://www.paypal.com/sdk/js?client-id=' + id;
211
- * script.onload = function () {
212
- * // setup the PayPal SDK
213
- * };
214
- *
215
- * document.body.appendChild(script);
216
- * });
217
- */
218
- getClientId(): Promise<string>;
219
- getClientId(callback: (id: string) => void): void;
220
-
221
- /**
222
- * Initializes the PayPal checkout flow with a payment method nonce that represents a vaulted PayPal account.
223
- * When a {@link callback} is defined, the function returns undefined and invokes the callback with the id to be used with the checkout.js library.
224
- * Otherwise, it returns a Promise that resolves with the id.
225
- * `flow` cannot be set (will always be `'checkout'`)
226
- * `amount`, `currency`, and `vaultInitiatedCheckoutPaymentMethodToken` are required instead of optional
227
- * * Additional configuration is available (listed below)
228
- * @example
229
- * paypalCheckoutInstance.startVaultInitiatedCheckout({
230
- * vaultInitiatedCheckoutPaymentMethodToken: 'nonce-that-represents-a-vaulted-paypal-account',
231
- * amount: '10.00',
232
- * currency: 'USD'
233
- * }).then(function (payload) {
234
- * // send payload.nonce to your server
235
- * }).catch(function (err) {
236
- * if (err.code === 'PAYPAL_POPUP_CLOSED') {
237
- * // indicates that customer canceled by
238
- * // manually closing the PayPal popup
239
- * }
240
- *
241
- * // handle other errors
242
- * });
243
- *
244
- */
245
- startVaultInitiatedCheckout(options: { optOutOfModalBackdrop: boolean }): Promise<void>;
246
- startVaultInitiatedCheckout(
247
- options: { optOutOfModalBackdrop: boolean },
248
- callback: callback,
249
- ): void;
250
-
251
- /**
252
- * Cleanly tear down anything set up by {@link module:braintree-web/paypal-checkout.create|create}.
253
- * @example
254
- * paypalCheckoutInstance.teardown();
255
- * @example <caption>With callback</caption>
256
- * paypalCheckoutInstance.teardown(function () {
257
- * // teardown is complete
258
- * });
259
- */
260
- teardown(callback: () => void): void;
261
- teardown(): Promise<void>;
262
- }
1
+ import { callback } from './core';
2
+ import { Client } from './client';
3
+
4
+ export interface PayPalCheckoutCreatePaymentOptions {
5
+ flow: paypal.FlowType;
6
+ intent?: paypal.Intent;
7
+ offerCredit?: boolean;
8
+ amount?: string | number;
9
+ currency?: string;
10
+ displayName?: string;
11
+ locale?: string;
12
+ vaultInitiatedCheckoutPaymentMethodToken?: string;
13
+ shippingOptions?: paypal.ShippingOption[];
14
+ enableShippingAddress?: boolean;
15
+ shippingAddressOverride?: paypal.Address;
16
+ shippingAddressEditable?: boolean;
17
+ billingAgreementDescription?: string;
18
+ landingPageType?: string;
19
+ lineItems?: paypal.LineItem[];
20
+ }
21
+
22
+ export interface PayPalCheckoutTokenizationOptions {
23
+ payerId: string;
24
+ paymentId?: string;
25
+ billingToken?: string;
26
+ vault?: boolean;
27
+ }
28
+
29
+ export interface PayPalCheckout {
30
+ /**
31
+ * @description There are two ways to integrate the PayPal Checkout component.
32
+ * See the [PayPal Checkout constructor documentation](PayPalCheckout.html#PayPalCheckout) for more information and examples.
33
+ * @example
34
+ * braintree.client.create({
35
+ * authorization: 'authorization'
36
+ * }).then(function (clientInstance) {
37
+ * return braintree.paypalCheckout.create({
38
+ * client: clientInstance
39
+ * });
40
+ * }).then(function (paypalCheckoutInstance) {
41
+ * // set up checkout.js
42
+ * }).catch(function (err) {
43
+ * console.error('Error!', err);
44
+ * });
45
+ */
46
+ create(options: {
47
+ client?: Client;
48
+ authorization?: string;
49
+ merchantAccountId?: string;
50
+ }): Promise<PayPalCheckout>;
51
+ create(
52
+ options: { client?: Client; authorization?: string; merchantAccountId?: string },
53
+ callback?: callback,
54
+ ): void;
55
+
56
+ /**
57
+ * @description The current version of the SDK, i.e. `3.0.2`.
58
+ */
59
+ VERSION: string;
60
+
61
+ /**
62
+ * Creates a PayPal payment ID or billing token using the given options. This is meant to be passed to PayPal's checkout.js library.
63
+ * When a {@link callback} is defined, the function returns undefined and invokes the callback with the id to be used with the checkout.js
64
+ * library. Otherwise, it returns a Promise that resolves with the id.
65
+ * `authorize` - Submits the transaction for authorization but not settlement.
66
+ * `order` - Validates the transaction without an authorization (i.e. without holding funds).
67
+ * Useful for authorizing and capturing funds up to 90 days after the order has been placed. Only available for Checkout flow.
68
+ * `capture` - Payment will be immediately submitted for settlement upon creating a transaction.
69
+ * `sale` can be used as an alias for this value.
70
+ * Supported locales are:
71
+ * `da_DK`,
72
+ * `de_DE`,
73
+ * `en_AU`,
74
+ * `en_GB`,
75
+ * `en_US`,
76
+ * `es_ES`,
77
+ * `fr_CA`,
78
+ * `fr_FR`,
79
+ * `id_ID`,
80
+ * `it_IT`,
81
+ * `ja_JP`,
82
+ * `ko_KR`,
83
+ * `nl_NL`,
84
+ * `no_NO`,
85
+ * `pl_PL`,
86
+ * `pt_BR`,
87
+ * `pt_PT`,
88
+ * `ru_RU`,
89
+ * `sv_SE`,
90
+ * `th_TH`,
91
+ * `zh_CN`,
92
+ * `zh_HK`,
93
+ * and `zh_TW`.
94
+ * * * `login` - A PayPal account login page is used.
95
+ * * `billing` - A non-PayPal account landing page is used.
96
+ * // this paypal object is created by checkout.js
97
+ * // see https://github.com/paypal/paypal-checkout
98
+ * paypal.Buttons({
99
+ * createOrder: function () {
100
+ * // when createPayment resolves, it is automatically passed to checkout.js
101
+ * return paypalCheckoutInstance.createPayment({
102
+ * flow: 'checkout',
103
+ * amount: '10.00',
104
+ * currency: 'USD',
105
+ * intent: 'capture' // this value must either be `capture` or match the intent passed into the PayPal SDK intent query parameter
106
+ * });
107
+ * },
108
+ * // Add other options, e.g. onApproved, onCancel, onError
109
+ * }).render('#paypal-button');
110
+ *
111
+ * @example
112
+ * // shippingOptions are passed to createPayment. You can review the result from onAuthorize to determine which shipping option id was selected.
113
+ * ```javascript
114
+ * braintree.client.create({
115
+ * authorization: 'authorization'
116
+ * }).then(function (clientInstance) {
117
+ * return braintree.paypalCheckout.create({
118
+ * client: clientInstance
119
+ * });
120
+ * }).then(function (paypalCheckoutInstance) {
121
+ * return paypal.Button.render({
122
+ * env: 'production'
123
+ *
124
+ * payment: function () {
125
+ * return paypalCheckoutInstance.createPayment({
126
+ * flow: 'checkout',
127
+ * amount: '10.00',
128
+ * currency: 'USD',
129
+ * shippingOptions: [
130
+ * {
131
+ * id: 'UUID-9',
132
+ * type: 'PICKUP',
133
+ * label: 'Store Location Five',
134
+ * selected: true,
135
+ * amount: {
136
+ * value: '1.00',
137
+ * currency: 'USD'
138
+ * }
139
+ * },
140
+ * {
141
+ * id: 'shipping-speed-fast',
142
+ * type: 'SHIPPING',
143
+ * label: 'Fast Shipping',
144
+ * selected: false,
145
+ * amount: {
146
+ * value: '1.00',
147
+ * currency: 'USD'
148
+ * }
149
+ * },
150
+ * {
151
+ * id: 'shipping-speed-slow',
152
+ * type: 'SHIPPING',
153
+ * label: 'Slow Shipping',
154
+ * selected: false,
155
+ * amount: {
156
+ * value: '1.00',
157
+ * currency: 'USD'
158
+ * }
159
+ * }
160
+ * ]
161
+ * });
162
+ * },
163
+ *
164
+ * onAuthorize: function (data, actions) {
165
+ * return paypalCheckoutInstance.tokenizePayment(data).then(function (payload) {
166
+ * // Submit payload.nonce to your server
167
+ * });
168
+ * }
169
+ * }, '#paypal-button');
170
+ * }).catch(function (err) {
171
+ * console.error('Error!', err);
172
+ * });
173
+ * ```
174
+ *
175
+ */
176
+ createPayment(options: PayPalCheckoutCreatePaymentOptions, callback?: callback): Promise<string>;
177
+
178
+ /**
179
+ * Tokenizes the authorize data from PayPal's checkout.js library when completing a buyer approval flow.
180
+ * When a {@link callback} is defined, invokes the callback with {@link PayPalCheckout~tokenizePayload|tokenizePayload} and returns undefined.
181
+ * Otherwise, returns a Promise that resolves with a {@link PayPalCheckout~tokenizePayload|tokenizePayload}.
182
+ * @example <caption>Opt out of auto-vaulting behavior</caption>
183
+ * // create the paypalCheckoutInstance with a client token generated with a customer id
184
+ * paypal.Buttons({
185
+ * createBillingAgreement: function () {
186
+ * return paypalCheckoutInstance.createPayment({
187
+ * flow: 'vault'
188
+ * // your other createPayment options here
189
+ * });
190
+ * },
191
+ * onApproved: function (data) {
192
+ * data.vault = false;
193
+ *
194
+ * return paypalCheckoutInstance.tokenizePayment(data);
195
+ * },
196
+ * // Add other options, e.g. onCancel, onError
197
+ * }).render('#paypal-button');
198
+ *
199
+ */
200
+ tokenizePayment(
201
+ tokenizeOptions: PayPalCheckoutTokenizationOptions,
202
+ ): Promise<paypal.TokenizePayload>;
203
+ tokenizePayment(tokenizeOptions: PayPalCheckoutTokenizationOptions, callback?: callback): void;
204
+
205
+ /**
206
+ * Resolves with the PayPal client id to be used when loading the PayPal SDK. * @example
207
+ * paypalCheckoutInstance.getClientId().then(function (id) {
208
+ * var script = document.createElement('script');
209
+ *
210
+ * script.src = 'https://www.paypal.com/sdk/js?client-id=' + id;
211
+ * script.onload = function () {
212
+ * // setup the PayPal SDK
213
+ * };
214
+ *
215
+ * document.body.appendChild(script);
216
+ * });
217
+ */
218
+ getClientId(): Promise<string>;
219
+ getClientId(callback: (id: string) => void): void;
220
+
221
+ /**
222
+ * Initializes the PayPal checkout flow with a payment method nonce that represents a vaulted PayPal account.
223
+ * When a {@link callback} is defined, the function returns undefined and invokes the callback with the id to be used with the checkout.js library.
224
+ * Otherwise, it returns a Promise that resolves with the id.
225
+ * `flow` cannot be set (will always be `'checkout'`)
226
+ * `amount`, `currency`, and `vaultInitiatedCheckoutPaymentMethodToken` are required instead of optional
227
+ * * Additional configuration is available (listed below)
228
+ * @example
229
+ * paypalCheckoutInstance.startVaultInitiatedCheckout({
230
+ * vaultInitiatedCheckoutPaymentMethodToken: 'nonce-that-represents-a-vaulted-paypal-account',
231
+ * amount: '10.00',
232
+ * currency: 'USD'
233
+ * }).then(function (payload) {
234
+ * // send payload.nonce to your server
235
+ * }).catch(function (err) {
236
+ * if (err.code === 'PAYPAL_POPUP_CLOSED') {
237
+ * // indicates that customer canceled by
238
+ * // manually closing the PayPal popup
239
+ * }
240
+ *
241
+ * // handle other errors
242
+ * });
243
+ *
244
+ */
245
+ startVaultInitiatedCheckout(options: { optOutOfModalBackdrop: boolean }): Promise<void>;
246
+ startVaultInitiatedCheckout(
247
+ options: { optOutOfModalBackdrop: boolean },
248
+ callback: callback,
249
+ ): void;
250
+
251
+ /**
252
+ * Cleanly tear down anything set up by {@link module:braintree-web/paypal-checkout.create|create}.
253
+ * @example
254
+ * paypalCheckoutInstance.teardown();
255
+ * @example <caption>With callback</caption>
256
+ * paypalCheckoutInstance.teardown(function () {
257
+ * // teardown is complete
258
+ * });
259
+ */
260
+ teardown(callback: () => void): void;
261
+ teardown(): Promise<void>;
262
+ }