@internetarchive/donation-form 0.5.18-alpha.1 → 0.5.19

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-analytics-handler.d.ts +8 -0
  166. package/dist/test/mocks/mock-analytics-handler.js +10 -0
  167. package/dist/test/mocks/mock-analytics-handler.js.map +1 -0
  168. package/dist/test/mocks/mock-braintree-manager.d.ts +45 -45
  169. package/dist/test/mocks/mock-braintree-manager.js +71 -71
  170. package/dist/test/mocks/mock-braintree-manager.js.map +1 -1
  171. package/dist/test/mocks/mock-donation-info.d.ts +4 -4
  172. package/dist/test/mocks/mock-donation-info.js +10 -10
  173. package/dist/test/mocks/mock-donation-info.js.map +1 -1
  174. package/dist/test/mocks/mock-endpoint-manager.d.ts +12 -12
  175. package/dist/test/mocks/mock-endpoint-manager.js +19 -19
  176. package/dist/test/mocks/mock-endpoint-manager.js.map +1 -1
  177. package/dist/test/mocks/mock-hosted-fields-config.d.ts +4 -4
  178. package/dist/test/mocks/mock-hosted-fields-config.js +37 -37
  179. package/dist/test/mocks/mock-hosted-fields-config.js.map +1 -1
  180. package/dist/test/mocks/mock-hosted-fields-container.d.ts +13 -13
  181. package/dist/test/mocks/mock-hosted-fields-container.js +27 -27
  182. package/dist/test/mocks/mock-hosted-fields-container.js.map +1 -1
  183. package/dist/test/mocks/mock-lazy-loader.d.ts +15 -15
  184. package/dist/test/mocks/mock-lazy-loader.js +20 -20
  185. package/dist/test/mocks/mock-lazy-loader.js.map +1 -1
  186. package/dist/test/mocks/mock-modal-manager.d.ts +17 -17
  187. package/dist/test/mocks/mock-modal-manager.js +26 -26
  188. package/dist/test/mocks/mock-modal-manager.js.map +1 -1
  189. package/dist/test/mocks/mock-payment-clients.d.ts +29 -29
  190. package/dist/test/mocks/mock-payment-clients.js +78 -78
  191. package/dist/test/mocks/mock-payment-clients.js.map +1 -1
  192. package/dist/test/mocks/mock-paypal-button-renderer.d.ts +5 -5
  193. package/dist/test/mocks/mock-paypal-button-renderer.js +6 -6
  194. package/dist/test/mocks/mock-paypal-button-renderer.js.map +1 -1
  195. package/dist/test/mocks/mock-recaptcha-manager.d.ts +7 -7
  196. package/dist/test/mocks/mock-recaptcha-manager.js +14 -14
  197. package/dist/test/mocks/mock-recaptcha-manager.js.map +1 -1
  198. package/dist/test/mocks/models/mock-billing-info.d.ts +2 -2
  199. package/dist/test/mocks/models/mock-billing-info.js +9 -9
  200. package/dist/test/mocks/models/mock-billing-info.js.map +1 -1
  201. package/dist/test/mocks/models/mock-custom-fields.d.ts +2 -2
  202. package/dist/test/mocks/models/mock-custom-fields.js +7 -7
  203. package/dist/test/mocks/models/mock-custom-fields.js.map +1 -1
  204. package/dist/test/mocks/models/mock-customer-info.d.ts +2 -2
  205. package/dist/test/mocks/models/mock-customer-info.js +6 -6
  206. package/dist/test/mocks/models/mock-customer-info.js.map +1 -1
  207. package/dist/test/mocks/models/mock-donation-request.d.ts +2 -2
  208. package/dist/test/mocks/models/mock-donation-request.js +18 -18
  209. package/dist/test/mocks/models/mock-donation-request.js.map +1 -1
  210. package/dist/test/mocks/models/mock-success-response.d.ts +2 -2
  211. package/dist/test/mocks/models/mock-success-response.js +14 -14
  212. package/dist/test/mocks/models/mock-success-response.js.map +1 -1
  213. package/dist/test/mocks/payment-clients/mock-applepay-client.d.ts +21 -21
  214. package/dist/test/mocks/payment-clients/mock-applepay-client.js +72 -72
  215. package/dist/test/mocks/payment-clients/mock-applepay-client.js.map +1 -1
  216. package/dist/test/mocks/payment-clients/mock-applepay-payment.d.ts +6 -6
  217. package/dist/test/mocks/payment-clients/mock-applepay-payment.js +42 -42
  218. package/dist/test/mocks/payment-clients/mock-applepay-payment.js.map +1 -1
  219. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.d.ts +22 -22
  220. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js +35 -35
  221. package/dist/test/mocks/payment-clients/mock-applepay-paymentauthorizedevent.js.map +1 -1
  222. package/dist/test/mocks/payment-clients/mock-applepay-session.d.ts +30 -30
  223. package/dist/test/mocks/payment-clients/mock-applepay-session.js +52 -52
  224. package/dist/test/mocks/payment-clients/mock-applepay-session.js.map +1 -1
  225. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.d.ts +10 -10
  226. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js +12 -12
  227. package/dist/test/mocks/payment-clients/mock-applepay-sessionmanager.js.map +1 -1
  228. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.d.ts +22 -22
  229. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js +34 -34
  230. package/dist/test/mocks/payment-clients/mock-applepay-validatemerchantevent.js.map +1 -1
  231. package/dist/test/mocks/payment-clients/mock-braintree-client.d.ts +14 -14
  232. package/dist/test/mocks/payment-clients/mock-braintree-client.js +19 -19
  233. package/dist/test/mocks/payment-clients/mock-braintree-client.js.map +1 -1
  234. package/dist/test/mocks/payment-clients/mock-data-collector.d.ts +11 -11
  235. package/dist/test/mocks/payment-clients/mock-data-collector.js +17 -17
  236. package/dist/test/mocks/payment-clients/mock-data-collector.js.map +1 -1
  237. package/dist/test/mocks/payment-clients/mock-googlepay-client.d.ts +22 -22
  238. package/dist/test/mocks/payment-clients/mock-googlepay-client.js +42 -42
  239. package/dist/test/mocks/payment-clients/mock-googlepay-client.js.map +1 -1
  240. package/dist/test/mocks/payment-clients/mock-googlepay-library.d.ts +10 -10
  241. package/dist/test/mocks/payment-clients/mock-googlepay-library.js +22 -22
  242. package/dist/test/mocks/payment-clients/mock-googlepay-library.js.map +1 -1
  243. package/dist/test/mocks/payment-clients/mock-grecaptcha.d.ts +23 -23
  244. package/dist/test/mocks/payment-clients/mock-grecaptcha.js +62 -62
  245. package/dist/test/mocks/payment-clients/mock-grecaptcha.js.map +1 -1
  246. package/dist/test/mocks/payment-clients/mock-hostedfields-client.d.ts +33 -33
  247. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js +54 -54
  248. package/dist/test/mocks/payment-clients/mock-hostedfields-client.js.map +1 -1
  249. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.d.ts +1 -1
  250. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js +50 -50
  251. package/dist/test/mocks/payment-clients/mock-hostedfieldstateobject-generator.js.map +1 -1
  252. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.d.ts +1 -1
  253. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js +13 -13
  254. package/dist/test/mocks/payment-clients/mock-hostedfieldtokenizepayload.js.map +1 -1
  255. package/dist/test/mocks/payment-clients/mock-paypal-client.d.ts +23 -23
  256. package/dist/test/mocks/payment-clients/mock-paypal-client.js +62 -62
  257. package/dist/test/mocks/payment-clients/mock-paypal-client.js.map +1 -1
  258. package/dist/test/mocks/payment-clients/mock-paypal-library.d.ts +4 -4
  259. package/dist/test/mocks/payment-clients/mock-paypal-library.js +9 -9
  260. package/dist/test/mocks/payment-clients/mock-paypal-library.js.map +1 -1
  261. package/dist/test/mocks/payment-clients/mock-venmo-client.d.ts +22 -22
  262. package/dist/test/mocks/payment-clients/mock-venmo-client.js +36 -36
  263. package/dist/test/mocks/payment-clients/mock-venmo-client.js.map +1 -1
  264. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.d.ts +10 -10
  265. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js +14 -14
  266. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-datasource-delegate.js.map +1 -1
  267. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.d.ts +9 -9
  268. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js +19 -19
  269. package/dist/test/mocks/payment-providers/individual-providers/mock-applepay-handler.js.map +1 -1
  270. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.d.ts +18 -18
  271. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js +41 -41
  272. package/dist/test/mocks/payment-providers/individual-providers/mock-creditcard-handler.js.map +1 -1
  273. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.d.ts +8 -8
  274. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js +16 -16
  275. package/dist/test/mocks/payment-providers/individual-providers/mock-googlepay-handler.js.map +1 -1
  276. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.d.ts +28 -28
  277. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js +52 -52
  278. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource-delegate.js.map +1 -1
  279. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.d.ts +11 -11
  280. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js +37 -37
  281. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-button-datasource.js.map +1 -1
  282. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.d.ts +12 -12
  283. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js +15 -15
  284. package/dist/test/mocks/payment-providers/individual-providers/mock-paypal-handler.js.map +1 -1
  285. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.d.ts +7 -7
  286. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js +22 -22
  287. package/dist/test/mocks/payment-providers/individual-providers/mock-venmo-handler.js.map +1 -1
  288. package/dist/test/mocks/payment-providers/mock-payment-providers.d.ts +21 -21
  289. package/dist/test/mocks/payment-providers/mock-payment-providers.js +45 -45
  290. package/dist/test/mocks/payment-providers/mock-payment-providers.js.map +1 -1
  291. package/dist/test/tests/braintree-manager.test.d.ts +1 -1
  292. package/dist/test/tests/braintree-manager.test.js +166 -166
  293. package/dist/test/tests/braintree-manager.test.js.map +1 -1
  294. package/dist/test/tests/donation-form-controller.test.d.ts +1 -1
  295. package/dist/test/tests/donation-form-controller.test.js +188 -188
  296. package/dist/test/tests/donation-form-controller.test.js.map +1 -1
  297. package/dist/test/tests/donation-form.test.d.ts +1 -1
  298. package/dist/test/tests/donation-form.test.js +109 -109
  299. package/dist/test/tests/donation-form.test.js.map +1 -1
  300. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.d.ts +1 -1
  301. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js +216 -216
  302. package/dist/test/tests/flow-handlers/donation-flow-modal-manager.test.js.map +1 -1
  303. package/dist/test/tests/form-elements/donation-summary.test.d.ts +1 -1
  304. package/dist/test/tests/form-elements/donation-summary.test.js +36 -36
  305. package/dist/test/tests/form-elements/donation-summary.test.js.map +1 -1
  306. package/dist/test/tests/form-elements/payment-selector.test.d.ts +1 -1
  307. package/dist/test/tests/form-elements/payment-selector.test.js +69 -69
  308. package/dist/test/tests/form-elements/payment-selector.test.js.map +1 -1
  309. package/dist/test/tests/modals/error-modal-content.test.d.ts +1 -1
  310. package/dist/test/tests/modals/error-modal-content.test.js +14 -14
  311. package/dist/test/tests/modals/error-modal-content.test.js.map +1 -1
  312. package/dist/test/tests/modals/upsell-modal-content.test.d.ts +1 -1
  313. package/dist/test/tests/modals/upsell-modal-content.test.js +163 -163
  314. package/dist/test/tests/modals/upsell-modal-content.test.js.map +1 -1
  315. package/dist/test/tests/models/donation-payment-info.test.d.ts +1 -1
  316. package/dist/test/tests/models/donation-payment-info.test.js +74 -74
  317. package/dist/test/tests/models/donation-payment-info.test.js.map +1 -1
  318. package/dist/test/tests/payment-clients.test.d.ts +1 -1
  319. package/dist/test/tests/payment-clients.test.js +130 -130
  320. package/dist/test/tests/payment-clients.test.js.map +1 -1
  321. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.d.ts +1 -1
  322. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js +160 -160
  323. package/dist/test/tests/payment-providers/applepay-sessiondatasource.test.js.map +1 -1
  324. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.d.ts +1 -1
  325. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js +36 -36
  326. package/dist/test/tests/payment-providers/applepay-sessionmanager.test.js.map +1 -1
  327. package/dist/test/tests/payment-providers/applepay.test.d.ts +1 -1
  328. package/dist/test/tests/payment-providers/applepay.test.js +78 -78
  329. package/dist/test/tests/payment-providers/applepay.test.js.map +1 -1
  330. package/dist/test/tests/payment-providers/creditcard.test.d.ts +1 -1
  331. package/dist/test/tests/payment-providers/creditcard.test.js +190 -190
  332. package/dist/test/tests/payment-providers/creditcard.test.js.map +1 -1
  333. package/dist/test/tests/payment-providers/googlepay.test.d.ts +1 -1
  334. package/dist/test/tests/payment-providers/googlepay.test.js +48 -48
  335. package/dist/test/tests/payment-providers/googlepay.test.js.map +1 -1
  336. package/dist/test/tests/payment-providers/payment-providers.test.d.ts +1 -1
  337. package/dist/test/tests/payment-providers/payment-providers.test.js +38 -38
  338. package/dist/test/tests/payment-providers/payment-providers.test.js.map +1 -1
  339. package/dist/test/tests/payment-providers/paypal-button-datasource.test.d.ts +1 -1
  340. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js +162 -162
  341. package/dist/test/tests/payment-providers/paypal-button-datasource.test.js.map +1 -1
  342. package/dist/test/tests/payment-providers/paypal.test.d.ts +1 -1
  343. package/dist/test/tests/payment-providers/paypal.test.js +38 -38
  344. package/dist/test/tests/payment-providers/paypal.test.js.map +1 -1
  345. package/dist/test/tests/payment-providers/venmo.test.d.ts +1 -1
  346. package/dist/test/tests/payment-providers/venmo.test.js +77 -77
  347. package/dist/test/tests/payment-providers/venmo.test.js.map +1 -1
  348. package/dist/test/tests/recaptcha-manager.test.d.ts +1 -1
  349. package/dist/test/tests/recaptcha-manager.test.js +70 -70
  350. package/dist/test/tests/recaptcha-manager.test.js.map +1 -1
  351. package/package.json +101 -101
  352. package/src/@types/analytics-handler/index.d.ts +8 -8
  353. package/src/@types/braintree-web/LICENSE +21 -21
  354. package/src/@types/braintree-web/index.d.ts +93 -93
  355. package/src/@types/braintree-web/modules/american-express.d.ts +50 -50
  356. package/src/@types/braintree-web/modules/apple-pay.d.ts +213 -213
  357. package/src/@types/braintree-web/modules/client.d.ts +103 -103
  358. package/src/@types/braintree-web/modules/core.d.ts +34 -34
  359. package/src/@types/braintree-web/modules/data-collector.d.ts +13 -13
  360. package/src/@types/braintree-web/modules/google-payment.d.ts +269 -269
  361. package/src/@types/braintree-web/modules/hosted-fields.d.ts +366 -366
  362. package/src/@types/braintree-web/modules/paypal-checkout.d.ts +262 -262
  363. package/src/@types/braintree-web/modules/paypal.d.ts +177 -177
  364. package/src/@types/braintree-web/modules/three-d-secure.d.ts +141 -141
  365. package/src/@types/braintree-web/modules/unionpay.d.ts +224 -224
  366. package/src/@types/braintree-web/modules/us-bank-account.d.ts +81 -81
  367. package/src/@types/braintree-web/modules/venmo.d.ts +110 -110
  368. package/src/@types/braintree-web/package.json +64 -64
  369. package/src/@types/paypal-checkout-components/LICENSE +21 -21
  370. package/src/@types/paypal-checkout-components/index.d.ts +67 -67
  371. package/src/@types/paypal-checkout-components/modules/button.d.ts +50 -50
  372. package/src/@types/paypal-checkout-components/modules/callback-data.d.ts +244 -244
  373. package/src/@types/paypal-checkout-components/modules/configuration.d.ts +114 -114
  374. package/src/@types/paypal-checkout-components/package.json +58 -58
  375. package/src/braintree-manager/braintree-interfaces.ts +172 -172
  376. package/src/braintree-manager/braintree-manager.ts +283 -283
  377. package/src/braintree-manager/payment-clients.ts +148 -148
  378. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-interface.ts +13 -13
  379. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-delegate.ts +8 -8
  380. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource-interface.ts +10 -10
  381. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-datasource.ts +119 -119
  382. package/src/braintree-manager/payment-providers/apple-pay/apple-pay-session-manager.ts +21 -21
  383. package/src/braintree-manager/payment-providers/apple-pay/apple-pay.ts +98 -98
  384. package/src/braintree-manager/payment-providers/credit-card/credit-card-interface.ts +21 -21
  385. package/src/braintree-manager/payment-providers/credit-card/credit-card.ts +130 -130
  386. package/src/braintree-manager/payment-providers/credit-card/hosted-field-configuration.ts +19 -19
  387. package/src/braintree-manager/payment-providers/credit-card/hosted-field-container.ts +85 -85
  388. package/src/braintree-manager/payment-providers/google-pay-interface.ts +8 -8
  389. package/src/braintree-manager/payment-providers/google-pay.ts +59 -59
  390. package/src/braintree-manager/payment-providers/paypal/paypal-button-datasource.ts +218 -218
  391. package/src/braintree-manager/payment-providers/paypal/paypal-interface.ts +13 -13
  392. package/src/braintree-manager/payment-providers/paypal/paypal.ts +78 -78
  393. package/src/braintree-manager/payment-providers/venmo-interface.ts +8 -8
  394. package/src/braintree-manager/payment-providers/venmo.ts +67 -67
  395. package/src/braintree-manager/payment-providers-interface.ts +25 -25
  396. package/src/braintree-manager/payment-providers.ts +147 -147
  397. package/src/donation-form-controller.ts +619 -619
  398. package/src/donation-form-error.ts +6 -6
  399. package/src/donation-form.ts +566 -566
  400. package/src/form-elements/badged-input.ts +113 -113
  401. package/src/form-elements/contact-form/autocomplete-field-options.ts +63 -63
  402. package/src/form-elements/contact-form/contact-form.ts +427 -427
  403. package/src/form-elements/contact-form/countries.ts +252 -252
  404. package/src/form-elements/header/donation-form-header.ts +100 -100
  405. package/src/form-elements/header/donation-summary.ts +61 -61
  406. package/src/form-elements/payment-selector.ts +293 -293
  407. package/src/form-elements/total-amount.ts +46 -46
  408. package/src/modals/confirm-donation-modal-content.ts +160 -160
  409. package/src/modals/error-modal-content.ts +48 -48
  410. package/src/modals/upsell-modal-content.ts +294 -294
  411. package/src/payment-flow-handlers/donation-flow-modal-manager.ts +450 -450
  412. package/src/payment-flow-handlers/handlers/applepay-flow-handler.ts +108 -108
  413. package/src/payment-flow-handlers/handlers/creditcard-flow-handler.ts +231 -231
  414. package/src/payment-flow-handlers/handlers/googlepay-flow-handler.ts +113 -113
  415. package/src/payment-flow-handlers/handlers/paypal-flow-handler.ts +332 -332
  416. package/src/payment-flow-handlers/handlers/venmo-flow-handler.ts +118 -118
  417. package/src/payment-flow-handlers/handlers/venmo-restoration-state-handler.ts +127 -127
  418. package/src/payment-flow-handlers/payment-flow-handlers.ts +218 -218
  419. package/src/recaptcha-manager/recaptcha-manager.ts +123 -123
  420. package/src/util/promisedSleep.ts +3 -3
@@ -1,8 +1,8 @@
1
- import { DonationPaymentInfo } from '@internetarchive/donation-form-data-models';
2
- import { CSSResult, LitElement, TemplateResult } from 'lit';
3
- export declare class TotalAmount extends LitElement {
4
- donationInfo?: DonationPaymentInfo;
5
- render(): TemplateResult;
6
- private get totalAmount();
7
- static get styles(): CSSResult;
8
- }
1
+ import { DonationPaymentInfo } from '@internetarchive/donation-form-data-models';
2
+ import { CSSResult, LitElement, TemplateResult } from 'lit';
3
+ export declare class TotalAmount extends LitElement {
4
+ donationInfo?: DonationPaymentInfo;
5
+ render(): TemplateResult;
6
+ private get totalAmount();
7
+ static get styles(): CSSResult;
8
+ }
@@ -1,48 +1,48 @@
1
- import { __decorate } from "tslib";
2
- import { DonationType } from '@internetarchive/donation-form-data-models';
3
- import { css, html, LitElement } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import currency from 'currency.js';
6
- let TotalAmount = class TotalAmount extends LitElement {
7
- render() {
8
- return html `
9
- <div class="top-line"></div>
10
- <div class="total-line">Total: ${this.totalAmount}</div>
11
- `;
12
- }
13
- get totalAmount() {
14
- if (!this.donationInfo)
15
- return;
16
- const amount = currency(this.donationInfo.total, { symbol: '$' }).format();
17
- const monthly = this.donationInfo.donationType === DonationType.Monthly ? '/month' : '';
18
- return `${amount}${monthly}`;
19
- }
20
- static get styles() {
21
- const lineColor = css `var(--totalAmountLineColor, #333)`;
22
- const lineThickness = css `var(--totalAmountLineThickness, 2px)`;
23
- const totalAmountVerticalSpacing = css `var(--totalAmountVerticalSpacing, 0.5rem)`;
24
- const totalAmountFontSize = css `var(--totalAmountFontSize, 2.6rem)`;
25
- return css `
26
- .top-line {
27
- width: 100%;
28
- height: ${lineThickness};
29
- background-color: ${lineColor};
30
- }
31
-
32
- .total-line {
33
- font-size: ${totalAmountFontSize};
34
- font-weight: bold;
35
- text-align: center;
36
- margin-top: ${totalAmountVerticalSpacing};
37
- }
38
- `;
39
- }
40
- };
41
- __decorate([
42
- property({ type: Object })
43
- ], TotalAmount.prototype, "donationInfo", void 0);
44
- TotalAmount = __decorate([
45
- customElement('donation-form-total-amount')
46
- ], TotalAmount);
47
- export { TotalAmount };
1
+ import { __decorate } from "tslib";
2
+ import { DonationType } from '@internetarchive/donation-form-data-models';
3
+ import { css, html, LitElement } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import currency from 'currency.js';
6
+ let TotalAmount = class TotalAmount extends LitElement {
7
+ render() {
8
+ return html `
9
+ <div class="top-line"></div>
10
+ <div class="total-line">Total: ${this.totalAmount}</div>
11
+ `;
12
+ }
13
+ get totalAmount() {
14
+ if (!this.donationInfo)
15
+ return;
16
+ const amount = currency(this.donationInfo.total, { symbol: '$' }).format();
17
+ const monthly = this.donationInfo.donationType === DonationType.Monthly ? '/month' : '';
18
+ return `${amount}${monthly}`;
19
+ }
20
+ static get styles() {
21
+ const lineColor = css `var(--totalAmountLineColor, #333)`;
22
+ const lineThickness = css `var(--totalAmountLineThickness, 2px)`;
23
+ const totalAmountVerticalSpacing = css `var(--totalAmountVerticalSpacing, 0.5rem)`;
24
+ const totalAmountFontSize = css `var(--totalAmountFontSize, 2.6rem)`;
25
+ return css `
26
+ .top-line {
27
+ width: 100%;
28
+ height: ${lineThickness};
29
+ background-color: ${lineColor};
30
+ }
31
+
32
+ .total-line {
33
+ font-size: ${totalAmountFontSize};
34
+ font-weight: bold;
35
+ text-align: center;
36
+ margin-top: ${totalAmountVerticalSpacing};
37
+ }
38
+ `;
39
+ }
40
+ };
41
+ __decorate([
42
+ property({ type: Object })
43
+ ], TotalAmount.prototype, "donationInfo", void 0);
44
+ TotalAmount = __decorate([
45
+ customElement('donation-form-total-amount')
46
+ ], TotalAmount);
47
+ export { TotalAmount };
48
48
  //# sourceMappingURL=total-amount.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"total-amount.js","sourceRoot":"","sources":["../../../src/form-elements/total-amount.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAa,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAIzC,MAAM;QACJ,OAAO,IAAI,CAAA;;uCAEwB,IAAI,CAAC,WAAW;KAClD,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,MAAM;QACf,MAAM,SAAS,GAAG,GAAG,CAAA,mCAAmC,CAAC;QACzD,MAAM,aAAa,GAAG,GAAG,CAAA,sCAAsC,CAAC;QAChE,MAAM,0BAA0B,GAAG,GAAG,CAAA,2CAA2C,CAAC;QAClF,MAAM,mBAAmB,GAAG,GAAG,CAAA,oCAAoC,CAAC;QAEpE,OAAO,GAAG,CAAA;;;kBAGI,aAAa;4BACH,SAAS;;;;qBAIhB,mBAAmB;;;sBAGlB,0BAA0B;;KAE3C,CAAC;IACJ,CAAC;CACF,CAAA;AArCC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACQ;AAFxB,WAAW;IADvB,aAAa,CAAC,4BAA4B,CAAC;GAC/B,WAAW,CAuCvB;SAvCY,WAAW","sourcesContent":["import { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\r\nimport { css, CSSResult, html, LitElement, TemplateResult } from 'lit';\r\nimport { customElement, property } from 'lit/decorators.js';\r\nimport currency from 'currency.js';\r\n\r\n@customElement('donation-form-total-amount')\r\nexport class TotalAmount extends LitElement {\r\n @property({ type: Object })\r\n donationInfo?: DonationPaymentInfo;\r\n\r\n render(): TemplateResult {\r\n return html`\r\n <div class=\"top-line\"></div>\r\n <div class=\"total-line\">Total: ${this.totalAmount}</div>\r\n `;\r\n }\r\n\r\n private get totalAmount(): string | undefined {\r\n if (!this.donationInfo) return;\r\n const amount = currency(this.donationInfo.total, { symbol: '$' }).format();\r\n const monthly = this.donationInfo.donationType === DonationType.Monthly ? '/month' : '';\r\n return `${amount}${monthly}`;\r\n }\r\n\r\n static get styles(): CSSResult {\r\n const lineColor = css`var(--totalAmountLineColor, #333)`;\r\n const lineThickness = css`var(--totalAmountLineThickness, 2px)`;\r\n const totalAmountVerticalSpacing = css`var(--totalAmountVerticalSpacing, 0.5rem)`;\r\n const totalAmountFontSize = css`var(--totalAmountFontSize, 2.6rem)`;\r\n\r\n return css`\r\n .top-line {\r\n width: 100%;\r\n height: ${lineThickness};\r\n background-color: ${lineColor};\r\n }\r\n\r\n .total-line {\r\n font-size: ${totalAmountFontSize};\r\n font-weight: bold;\r\n text-align: center;\r\n margin-top: ${totalAmountVerticalSpacing};\r\n }\r\n `;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"total-amount.js","sourceRoot":"","sources":["../../../src/form-elements/total-amount.ts"],"names":[],"mappings":";AAAA,OAAO,EAAuB,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAa,IAAI,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,UAAU;IAIzC,MAAM;QACJ,OAAO,IAAI,CAAA;;uCAEwB,IAAI,CAAC,WAAW;KAClD,CAAC;IACJ,CAAC;IAED,IAAY,WAAW;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,KAAK,MAAM;QACf,MAAM,SAAS,GAAG,GAAG,CAAA,mCAAmC,CAAC;QACzD,MAAM,aAAa,GAAG,GAAG,CAAA,sCAAsC,CAAC;QAChE,MAAM,0BAA0B,GAAG,GAAG,CAAA,2CAA2C,CAAC;QAClF,MAAM,mBAAmB,GAAG,GAAG,CAAA,oCAAoC,CAAC;QAEpE,OAAO,GAAG,CAAA;;;kBAGI,aAAa;4BACH,SAAS;;;;qBAIhB,mBAAmB;;;sBAGlB,0BAA0B;;KAE3C,CAAC;IACJ,CAAC;CACF,CAAA;AArCC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACQ;AAFxB,WAAW;IADvB,aAAa,CAAC,4BAA4B,CAAC;GAC/B,WAAW,CAuCvB;SAvCY,WAAW","sourcesContent":["import { DonationPaymentInfo, DonationType } from '@internetarchive/donation-form-data-models';\nimport { css, CSSResult, html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport currency from 'currency.js';\n\n@customElement('donation-form-total-amount')\nexport class TotalAmount extends LitElement {\n @property({ type: Object })\n donationInfo?: DonationPaymentInfo;\n\n render(): TemplateResult {\n return html`\n <div class=\"top-line\"></div>\n <div class=\"total-line\">Total: ${this.totalAmount}</div>\n `;\n }\n\n private get totalAmount(): string | undefined {\n if (!this.donationInfo) return;\n const amount = currency(this.donationInfo.total, { symbol: '$' }).format();\n const monthly = this.donationInfo.donationType === DonationType.Monthly ? '/month' : '';\n return `${amount}${monthly}`;\n }\n\n static get styles(): CSSResult {\n const lineColor = css`var(--totalAmountLineColor, #333)`;\n const lineThickness = css`var(--totalAmountLineThickness, 2px)`;\n const totalAmountVerticalSpacing = css`var(--totalAmountVerticalSpacing, 0.5rem)`;\n const totalAmountFontSize = css`var(--totalAmountFontSize, 2.6rem)`;\n\n return css`\n .top-line {\n width: 100%;\n height: ${lineThickness};\n background-color: ${lineColor};\n }\n\n .total-line {\n font-size: ${totalAmountFontSize};\n font-weight: bold;\n text-align: center;\n margin-top: ${totalAmountVerticalSpacing};\n }\n `;\n }\n}\n"]}
@@ -1,31 +1,31 @@
1
- import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
- import { DonationType } from '@internetarchive/donation-form-data-models';
3
- /**
4
- * This is the content that we show in the upsell modal.
5
- *
6
- * It has an amount input, "Yes" and "No Thanks" options and a switch to optionally
7
- * show the PayPal upsell button.
8
- *
9
- * @export
10
- * @class ConfirmDonationContent
11
- * @extends {LitElement}
12
- */
13
- export declare class ConfirmDonationContent extends LitElement {
14
- amount: number;
15
- currencyType: string;
16
- donationType: DonationType;
17
- confirmDonation: Function;
18
- cancelDonation: Function;
19
- get confirmationText(): TemplateResult;
20
- get confirmUpsellText(): TemplateResult;
21
- confirm(): void;
22
- cancel(): void;
23
- get confirmCTA(): string;
24
- /** @inheritdoc */
25
- render(): TemplateResult;
26
- static get styles(): CSSResultGroup;
27
- /**
28
- * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/
29
- */
30
- get currencySymbol(): string;
31
- }
1
+ import { LitElement, TemplateResult, CSSResultGroup } from 'lit';
2
+ import { DonationType } from '@internetarchive/donation-form-data-models';
3
+ /**
4
+ * This is the content that we show in the upsell modal.
5
+ *
6
+ * It has an amount input, "Yes" and "No Thanks" options and a switch to optionally
7
+ * show the PayPal upsell button.
8
+ *
9
+ * @export
10
+ * @class ConfirmDonationContent
11
+ * @extends {LitElement}
12
+ */
13
+ export declare class ConfirmDonationContent extends LitElement {
14
+ amount: number;
15
+ currencyType: string;
16
+ donationType: DonationType;
17
+ confirmDonation: Function;
18
+ cancelDonation: Function;
19
+ get confirmationText(): TemplateResult;
20
+ get confirmUpsellText(): TemplateResult;
21
+ confirm(): void;
22
+ cancel(): void;
23
+ get confirmCTA(): string;
24
+ /** @inheritdoc */
25
+ render(): TemplateResult;
26
+ static get styles(): CSSResultGroup;
27
+ /**
28
+ * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/
29
+ */
30
+ get currencySymbol(): string;
31
+ }
@@ -1,169 +1,169 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable @typescript-eslint/no-empty-function */
3
- import { LitElement, html, css } from 'lit';
4
- import { customElement, property } from 'lit/decorators.js';
5
- import { DonationType } from '@internetarchive/donation-form-data-models';
6
- import currency from 'currency.js';
7
- /**
8
- * This is the content that we show in the upsell modal.
9
- *
10
- * It has an amount input, "Yes" and "No Thanks" options and a switch to optionally
11
- * show the PayPal upsell button.
12
- *
13
- * @export
14
- * @class ConfirmDonationContent
15
- * @extends {LitElement}
16
- */
17
- let ConfirmDonationContent = class ConfirmDonationContent extends LitElement {
18
- constructor() {
19
- super(...arguments);
20
- this.amount = 5;
21
- this.currencyType = '$';
22
- this.donationType = DonationType.OneTime;
23
- this.confirmDonation = () => { };
24
- this.cancelDonation = () => { };
25
- }
26
- get confirmationText() {
27
- const amount = currency(this.amount, { symbol: this.currencySymbol }).format();
28
- return html `
29
- <p>You are about to make a <b>${this.donationType}</b> donation of <b>${amount} ${this.currencyType}</b> to the Internet Archive.</p>
30
- `;
31
- }
32
- get confirmUpsellText() {
33
- const amount = currency(this.amount, { symbol: this.currencySymbol }).format();
34
- return html `<p>You are about to begin making <b>monthly</b> donations of <b>${amount} ${this.currencyType}</b> to the Internet Archive. (Your first recurring contribution will be next month.)</p>`;
35
- }
36
- confirm() {
37
- this === null || this === void 0 ? void 0 : this.confirmDonation();
38
- }
39
- cancel() {
40
- this === null || this === void 0 ? void 0 : this.cancelDonation();
41
- }
42
- get confirmCTA() {
43
- return this.donationType === DonationType.Upsell ? 'Start monthly donation' : 'Complete donation';
44
- }
45
- /** @inheritdoc */
46
- render() {
47
- return html `
48
- ${this.donationType === DonationType.Upsell ? this.confirmUpsellText : this.confirmationText}
49
-
50
- <div class="cta-group">
51
- <button id="confirm" @click=${() => this.confirm()}>${this.confirmCTA}</button>
52
- <button id="cancel" @click=${() => this.cancel()}>Cancel</button>
53
- </div>
54
- `;
55
- }
56
- static get styles() {
57
- const ctaButtonColor = css `var(--upsellCTAButtonColor, #194880)`;
58
- const ctaButtonDisabledColor = css `var(--upsellCTAButtonDisabledColor, rgba(109,148,201,0.5))`;
59
- return css `
60
- :host {
61
- display: block;
62
- }
63
-
64
- button {
65
- outline: none;
66
- cursor: pointer;
67
- }
68
-
69
- button#confirm {
70
- font-size: 2rem;
71
- display: block;
72
- width: 100%;
73
- margin-top: 0.5rem;
74
- padding: 1rem 2rem;
75
- background-color: ${ctaButtonColor};
76
- color: #fff;
77
- border-radius: 5px;
78
- border: 0;
79
- font-weight: bold;
80
- line-height: normal;
81
- }
82
-
83
- button#cancel {
84
- margin-top: 1rem;
85
- border: 0;
86
- text-decoration: underline;
87
- background-color: transparent;
88
- }
89
-
90
- button:disabled {
91
- background-color: ${ctaButtonDisabledColor};
92
- cursor: not-allowed;
93
- }
94
- }`;
95
- }
96
- /**
97
- * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/
98
- */
99
- get currencySymbol() {
100
- switch (this.currencyType) {
101
- case 'AUD':
102
- return 'AU$';
103
- case 'BRL':
104
- return 'R$';
105
- case 'CAD':
106
- return 'CA$';
107
- case 'CHF':
108
- return 'Fr';
109
- case 'CNY':
110
- return '¥';
111
- case 'CZK':
112
- return 'Kč';
113
- case 'DKK':
114
- return 'Kr';
115
- case 'EUR':
116
- return '€';
117
- case 'GBP':
118
- return '£';
119
- case 'HKD':
120
- return 'HK$';
121
- case 'HUF':
122
- return 'Ft';
123
- case 'ILS':
124
- return '₪';
125
- case 'JPY':
126
- return '¥';
127
- case 'MXN':
128
- return 'MX$';
129
- case 'MYR':
130
- return 'RM';
131
- case 'NOK':
132
- return 'kr';
133
- case 'PLN':
134
- return 'zł';
135
- case 'RUB':
136
- return '₽';
137
- case 'SEK':
138
- return 'kr';
139
- case 'SGD':
140
- return 'S$';
141
- case 'THB':
142
- return '฿';
143
- case 'TYD':
144
- return 'NT$';
145
- default:
146
- return '$'; // $ as default USD, NZD
147
- }
148
- }
149
- };
150
- __decorate([
151
- property({ type: Number })
152
- ], ConfirmDonationContent.prototype, "amount", void 0);
153
- __decorate([
154
- property({ type: String })
155
- ], ConfirmDonationContent.prototype, "currencyType", void 0);
156
- __decorate([
157
- property({ type: String })
158
- ], ConfirmDonationContent.prototype, "donationType", void 0);
159
- __decorate([
160
- property({ type: Function })
161
- ], ConfirmDonationContent.prototype, "confirmDonation", void 0);
162
- __decorate([
163
- property({ type: Function })
164
- ], ConfirmDonationContent.prototype, "cancelDonation", void 0);
165
- ConfirmDonationContent = __decorate([
166
- customElement('confirm-donation-modal')
167
- ], ConfirmDonationContent);
168
- export { ConfirmDonationContent };
1
+ import { __decorate } from "tslib";
2
+ /* eslint-disable @typescript-eslint/no-empty-function */
3
+ import { LitElement, html, css } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import { DonationType } from '@internetarchive/donation-form-data-models';
6
+ import currency from 'currency.js';
7
+ /**
8
+ * This is the content that we show in the upsell modal.
9
+ *
10
+ * It has an amount input, "Yes" and "No Thanks" options and a switch to optionally
11
+ * show the PayPal upsell button.
12
+ *
13
+ * @export
14
+ * @class ConfirmDonationContent
15
+ * @extends {LitElement}
16
+ */
17
+ let ConfirmDonationContent = class ConfirmDonationContent extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.amount = 5;
21
+ this.currencyType = '$';
22
+ this.donationType = DonationType.OneTime;
23
+ this.confirmDonation = () => { };
24
+ this.cancelDonation = () => { };
25
+ }
26
+ get confirmationText() {
27
+ const amount = currency(this.amount, { symbol: this.currencySymbol }).format();
28
+ return html `
29
+ <p>You are about to make a <b>${this.donationType}</b> donation of <b>${amount} ${this.currencyType}</b> to the Internet Archive.</p>
30
+ `;
31
+ }
32
+ get confirmUpsellText() {
33
+ const amount = currency(this.amount, { symbol: this.currencySymbol }).format();
34
+ return html `<p>You are about to begin making <b>monthly</b> donations of <b>${amount} ${this.currencyType}</b> to the Internet Archive. (Your first recurring contribution will be next month.)</p>`;
35
+ }
36
+ confirm() {
37
+ this === null || this === void 0 ? void 0 : this.confirmDonation();
38
+ }
39
+ cancel() {
40
+ this === null || this === void 0 ? void 0 : this.cancelDonation();
41
+ }
42
+ get confirmCTA() {
43
+ return this.donationType === DonationType.Upsell ? 'Start monthly donation' : 'Complete donation';
44
+ }
45
+ /** @inheritdoc */
46
+ render() {
47
+ return html `
48
+ ${this.donationType === DonationType.Upsell ? this.confirmUpsellText : this.confirmationText}
49
+
50
+ <div class="cta-group">
51
+ <button id="confirm" @click=${() => this.confirm()}>${this.confirmCTA}</button>
52
+ <button id="cancel" @click=${() => this.cancel()}>Cancel</button>
53
+ </div>
54
+ `;
55
+ }
56
+ static get styles() {
57
+ const ctaButtonColor = css `var(--upsellCTAButtonColor, #194880)`;
58
+ const ctaButtonDisabledColor = css `var(--upsellCTAButtonDisabledColor, rgba(109,148,201,0.5))`;
59
+ return css `
60
+ :host {
61
+ display: block;
62
+ }
63
+
64
+ button {
65
+ outline: none;
66
+ cursor: pointer;
67
+ }
68
+
69
+ button#confirm {
70
+ font-size: 2rem;
71
+ display: block;
72
+ width: 100%;
73
+ margin-top: 0.5rem;
74
+ padding: 1rem 2rem;
75
+ background-color: ${ctaButtonColor};
76
+ color: #fff;
77
+ border-radius: 5px;
78
+ border: 0;
79
+ font-weight: bold;
80
+ line-height: normal;
81
+ }
82
+
83
+ button#cancel {
84
+ margin-top: 1rem;
85
+ border: 0;
86
+ text-decoration: underline;
87
+ background-color: transparent;
88
+ }
89
+
90
+ button:disabled {
91
+ background-color: ${ctaButtonDisabledColor};
92
+ cursor: not-allowed;
93
+ }
94
+ }`;
95
+ }
96
+ /**
97
+ * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/
98
+ */
99
+ get currencySymbol() {
100
+ switch (this.currencyType) {
101
+ case 'AUD':
102
+ return 'AU$';
103
+ case 'BRL':
104
+ return 'R$';
105
+ case 'CAD':
106
+ return 'CA$';
107
+ case 'CHF':
108
+ return 'Fr';
109
+ case 'CNY':
110
+ return '¥';
111
+ case 'CZK':
112
+ return 'Kč';
113
+ case 'DKK':
114
+ return 'Kr';
115
+ case 'EUR':
116
+ return '€';
117
+ case 'GBP':
118
+ return '£';
119
+ case 'HKD':
120
+ return 'HK$';
121
+ case 'HUF':
122
+ return 'Ft';
123
+ case 'ILS':
124
+ return '₪';
125
+ case 'JPY':
126
+ return '¥';
127
+ case 'MXN':
128
+ return 'MX$';
129
+ case 'MYR':
130
+ return 'RM';
131
+ case 'NOK':
132
+ return 'kr';
133
+ case 'PLN':
134
+ return 'zł';
135
+ case 'RUB':
136
+ return '₽';
137
+ case 'SEK':
138
+ return 'kr';
139
+ case 'SGD':
140
+ return 'S$';
141
+ case 'THB':
142
+ return '฿';
143
+ case 'TYD':
144
+ return 'NT$';
145
+ default:
146
+ return '$'; // $ as default USD, NZD
147
+ }
148
+ }
149
+ };
150
+ __decorate([
151
+ property({ type: Number })
152
+ ], ConfirmDonationContent.prototype, "amount", void 0);
153
+ __decorate([
154
+ property({ type: String })
155
+ ], ConfirmDonationContent.prototype, "currencyType", void 0);
156
+ __decorate([
157
+ property({ type: String })
158
+ ], ConfirmDonationContent.prototype, "donationType", void 0);
159
+ __decorate([
160
+ property({ type: Function })
161
+ ], ConfirmDonationContent.prototype, "confirmDonation", void 0);
162
+ __decorate([
163
+ property({ type: Function })
164
+ ], ConfirmDonationContent.prototype, "cancelDonation", void 0);
165
+ ConfirmDonationContent = __decorate([
166
+ customElement('confirm-donation-modal')
167
+ ], ConfirmDonationContent);
168
+ export { ConfirmDonationContent };
169
169
  //# sourceMappingURL=confirm-donation-modal-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-donation-modal-content.js","sourceRoot":"","sources":["../../../src/modals/confirm-donation-modal-content.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\r\nimport { LitElement, html, TemplateResult, css, CSSResultGroup } from 'lit';\r\nimport { customElement, property } from 'lit/decorators.js';\r\nimport { DonationType } from '@internetarchive/donation-form-data-models';\r\nimport currency from 'currency.js';\r\n\r\n/**\r\n * This is the content that we show in the upsell modal.\r\n *\r\n * It has an amount input, \"Yes\" and \"No Thanks\" options and a switch to optionally\r\n * show the PayPal upsell button.\r\n *\r\n * @export\r\n * @class ConfirmDonationContent\r\n * @extends {LitElement}\r\n */\r\n@customElement('confirm-donation-modal')\r\nexport class ConfirmDonationContent extends LitElement {\r\n @property({ type: Number }) amount = 5;\r\n\r\n @property({ type: String }) currencyType = '$';\r\n\r\n @property({ type: String }) donationType: DonationType = DonationType.OneTime;\r\n\r\n @property({ type: Function }) confirmDonation: Function = (): void => {};\r\n\r\n @property({ type: Function }) cancelDonation: Function= (): void => {};\r\n\r\n get confirmationText(): TemplateResult {\r\n const amount = currency(this.amount, { symbol: this.currencySymbol }).format();\r\n return html`\r\n <p>You are about to make a <b>${this.donationType}</b> donation of <b>${amount} ${this.currencyType}</b> to the Internet Archive.</p>\r\n `;\r\n }\r\n\r\n get confirmUpsellText(): TemplateResult {\r\n const amount = currency(this.amount, { symbol: this.currencySymbol }).format();\r\n return html`<p>You are about to begin making <b>monthly</b> donations of <b>${amount} ${this.currencyType}</b> to the Internet Archive. (Your first recurring contribution will be next month.)</p>`;\r\n }\r\n\r\n confirm(): void {\r\n this?.confirmDonation();\r\n }\r\n\r\n cancel(): void {\r\n this?.cancelDonation();\r\n }\r\n\r\n get confirmCTA(): string {\r\n return this.donationType === DonationType.Upsell ? 'Start monthly donation' : 'Complete donation';\r\n }\r\n\r\n /** @inheritdoc */\r\n render(): TemplateResult {\r\n return html`\r\n ${this.donationType === DonationType.Upsell ? this.confirmUpsellText : this.confirmationText}\r\n\r\n <div class=\"cta-group\">\r\n <button id=\"confirm\" @click=${(): void => this.confirm()}>${this.confirmCTA}</button>\r\n <button id=\"cancel\" @click=${(): void => this.cancel()}>Cancel</button>\r\n </div>\r\n `;\r\n }\r\n\r\n static get styles(): CSSResultGroup {\r\n const ctaButtonColor = css`var(--upsellCTAButtonColor, #194880)`;\r\n const ctaButtonDisabledColor = css`var(--upsellCTAButtonDisabledColor, rgba(109,148,201,0.5))`;\r\n\r\n return css`\r\n :host {\r\n display: block;\r\n }\r\n\r\n button {\r\n outline: none;\r\n cursor: pointer;\r\n }\r\n\r\n button#confirm {\r\n font-size: 2rem;\r\n display: block;\r\n width: 100%;\r\n margin-top: 0.5rem;\r\n padding: 1rem 2rem;\r\n background-color: ${ctaButtonColor};\r\n color: #fff;\r\n border-radius: 5px;\r\n border: 0;\r\n font-weight: bold;\r\n line-height: normal;\r\n }\r\n\r\n button#cancel {\r\n margin-top: 1rem;\r\n border: 0;\r\n text-decoration: underline;\r\n background-color: transparent;\r\n }\r\n\r\n button:disabled {\r\n background-color: ${ctaButtonDisabledColor};\r\n cursor: not-allowed;\r\n }\r\n }`;\r\n }\r\n\r\n /**\r\n * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/\r\n */\r\n get currencySymbol(): string {\r\n switch(this.currencyType) {\r\n case 'AUD':\r\n return 'AU$';\r\n case 'BRL':\r\n return 'R$';\r\n case 'CAD':\r\n return 'CA$';\r\n case 'CHF':\r\n return 'Fr';\r\n case 'CNY':\r\n return '¥';\r\n case 'CZK':\r\n return 'Kč';\r\n case 'DKK':\r\n return 'Kr';\r\n case 'EUR':\r\n return '€';\r\n case 'GBP':\r\n return '£';\r\n case 'HKD':\r\n return 'HK$';\r\n case 'HUF':\r\n return 'Ft';\r\n case 'ILS':\r\n return '₪';\r\n case 'JPY':\r\n return '¥';\r\n case 'MXN':\r\n return 'MX$';\r\n case 'MYR':\r\n return 'RM';\r\n case 'NOK':\r\n return 'kr';\r\n case 'PLN':\r\n return 'zł';\r\n case 'RUB':\r\n return '₽';\r\n case 'SEK':\r\n return 'kr';\r\n case 'SGD':\r\n return 'S$';\r\n case 'THB':\r\n return '฿';\r\n case 'TYD':\r\n return 'NT$';\r\n default:\r\n return '$'; // $ as default USD, NZD\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"confirm-donation-modal-content.js","sourceRoot":"","sources":["../../../src/modals/confirm-donation-modal-content.ts"],"names":[],"mappings":";AAAA,yDAAyD;AACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAkB,GAAG,EAAkB,MAAM,KAAK,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,QAAQ,MAAM,aAAa,CAAC;AAEnC;;;;;;;;;GASG;AAEH,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,UAAU;IAAtD;;QAC8B,WAAM,GAAG,CAAC,CAAC;QAEX,iBAAY,GAAG,GAAG,CAAC;QAEnB,iBAAY,GAAiB,YAAY,CAAC,OAAO,CAAC;QAEhD,oBAAe,GAAa,GAAS,EAAE,GAAE,CAAC,CAAC;QAE3C,mBAAc,GAAY,GAAS,EAAE,GAAE,CAAC,CAAC;IAqIzE,CAAC;IAnIC,IAAI,gBAAgB;QAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAA;oCACqB,IAAI,CAAC,YAAY,uBAAuB,MAAM,IAAI,IAAI,CAAC,YAAY;KAClG,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/E,OAAO,IAAI,CAAA,mEAAmE,MAAM,IAAI,IAAI,CAAC,YAAY,2FAA2F,CAAC;IACvM,CAAC;IAED,OAAO;QACL,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,GAAG;IAC1B,CAAC;IAED,MAAM;QACJ,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACpG,CAAC;IAED,kBAAkB;IAClB,MAAM;QACJ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;;;sCAG5D,GAAS,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU;qCAC9C,GAAS,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;;KAEzD,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,MAAM,cAAc,GAAG,GAAG,CAAA,sCAAsC,CAAC;QACjE,MAAM,sBAAsB,GAAG,GAAG,CAAA,4DAA4D,CAAC;QAE/F,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;4BAgBc,cAAc;;;;;;;;;;;;;;;;4BAgBd,sBAAsB;;;MAG5C,CAAC;IACL,CAAC;IAED;;OAEG;IACF,IAAI,cAAc;QACjB,QAAO,IAAI,CAAC,YAAY,EAAE;YACxB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC;YACd,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,GAAG,CAAC,CAAC,wBAAwB;SACvC;IACH,CAAC;CACF,CAAA;AA7I6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDAAY;AAEX;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DAAoB;AAEnB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4DAAmD;AAEhD;IAA7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;+DAA4C;AAE3C;IAA7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8DAA0C;AAT5D,sBAAsB;IADlC,aAAa,CAAC,wBAAwB,CAAC;GAC3B,sBAAsB,CA8IlC;SA9IY,sBAAsB","sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { LitElement, html, TemplateResult, css, CSSResultGroup } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { DonationType } from '@internetarchive/donation-form-data-models';\nimport currency from 'currency.js';\n\n/**\n * This is the content that we show in the upsell modal.\n *\n * It has an amount input, \"Yes\" and \"No Thanks\" options and a switch to optionally\n * show the PayPal upsell button.\n *\n * @export\n * @class ConfirmDonationContent\n * @extends {LitElement}\n */\n@customElement('confirm-donation-modal')\nexport class ConfirmDonationContent extends LitElement {\n @property({ type: Number }) amount = 5;\n\n @property({ type: String }) currencyType = '$';\n\n @property({ type: String }) donationType: DonationType = DonationType.OneTime;\n\n @property({ type: Function }) confirmDonation: Function = (): void => {};\n\n @property({ type: Function }) cancelDonation: Function= (): void => {};\n\n get confirmationText(): TemplateResult {\n const amount = currency(this.amount, { symbol: this.currencySymbol }).format();\n return html`\n <p>You are about to make a <b>${this.donationType}</b> donation of <b>${amount} ${this.currencyType}</b> to the Internet Archive.</p>\n `;\n }\n\n get confirmUpsellText(): TemplateResult {\n const amount = currency(this.amount, { symbol: this.currencySymbol }).format();\n return html`<p>You are about to begin making <b>monthly</b> donations of <b>${amount} ${this.currencyType}</b> to the Internet Archive. (Your first recurring contribution will be next month.)</p>`;\n }\n\n confirm(): void {\n this?.confirmDonation();\n }\n\n cancel(): void {\n this?.cancelDonation();\n }\n\n get confirmCTA(): string {\n return this.donationType === DonationType.Upsell ? 'Start monthly donation' : 'Complete donation';\n }\n\n /** @inheritdoc */\n render(): TemplateResult {\n return html`\n ${this.donationType === DonationType.Upsell ? this.confirmUpsellText : this.confirmationText}\n\n <div class=\"cta-group\">\n <button id=\"confirm\" @click=${(): void => this.confirm()}>${this.confirmCTA}</button>\n <button id=\"cancel\" @click=${(): void => this.cancel()}>Cancel</button>\n </div>\n `;\n }\n\n static get styles(): CSSResultGroup {\n const ctaButtonColor = css`var(--upsellCTAButtonColor, #194880)`;\n const ctaButtonDisabledColor = css`var(--upsellCTAButtonDisabledColor, rgba(109,148,201,0.5))`;\n\n return css`\n :host {\n display: block;\n }\n\n button {\n outline: none;\n cursor: pointer;\n }\n\n button#confirm {\n font-size: 2rem;\n display: block;\n width: 100%;\n margin-top: 0.5rem;\n padding: 1rem 2rem;\n background-color: ${ctaButtonColor};\n color: #fff;\n border-radius: 5px;\n border: 0;\n font-weight: bold;\n line-height: normal;\n }\n\n button#cancel {\n margin-top: 1rem;\n border: 0;\n text-decoration: underline;\n background-color: transparent;\n }\n\n button:disabled {\n background-color: ${ctaButtonDisabledColor};\n cursor: not-allowed;\n }\n }`;\n }\n\n /**\n * https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/\n */\n get currencySymbol(): string {\n switch(this.currencyType) {\n case 'AUD':\n return 'AU$';\n case 'BRL':\n return 'R$';\n case 'CAD':\n return 'CA$';\n case 'CHF':\n return 'Fr';\n case 'CNY':\n return '¥';\n case 'CZK':\n return 'Kč';\n case 'DKK':\n return 'Kr';\n case 'EUR':\n return '€';\n case 'GBP':\n return '£';\n case 'HKD':\n return 'HK$';\n case 'HUF':\n return 'Ft';\n case 'ILS':\n return '₪';\n case 'JPY':\n return '¥';\n case 'MXN':\n return 'MX$';\n case 'MYR':\n return 'RM';\n case 'NOK':\n return 'kr';\n case 'PLN':\n return 'zł';\n case 'RUB':\n return '₽';\n case 'SEK':\n return 'kr';\n case 'SGD':\n return 'S$';\n case 'THB':\n return '฿';\n case 'TYD':\n return 'NT$';\n default:\n return '$'; // $ as default USD, NZD\n }\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
- import { LitElement, CSSResult, TemplateResult } from 'lit';
2
- /**
3
- * This is shown at the bottom of the error modal.
4
- *
5
- * @export
6
- * @class ErrorModalContent
7
- * @extends {LitElement}
8
- */
9
- export declare class ErrorModalContent extends LitElement {
10
- /** @inheritdoc */
11
- render(): TemplateResult;
12
- /** @inheritdoc */
13
- static get styles(): CSSResult;
14
- }
1
+ import { LitElement, CSSResult, TemplateResult } from 'lit';
2
+ /**
3
+ * This is shown at the bottom of the error modal.
4
+ *
5
+ * @export
6
+ * @class ErrorModalContent
7
+ * @extends {LitElement}
8
+ */
9
+ export declare class ErrorModalContent extends LitElement {
10
+ /** @inheritdoc */
11
+ render(): TemplateResult;
12
+ /** @inheritdoc */
13
+ static get styles(): CSSResult;
14
+ }