@internetarchive/elements 1.1.2-webdev-9192.0 → 1.1.3-l10n-demo.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/dist/src/elements/ia-button/ia-button.d.ts.map +1 -1
- package/dist/src/elements/ia-button/ia-button.js +2 -2
- package/dist/src/elements/ia-button/ia-button.js.map +1 -1
- package/dist/src/elements/ia-combo-box/ia-combo-box.d.ts.map +1 -1
- package/dist/src/elements/ia-combo-box/ia-combo-box.js +3 -2
- package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
- package/dist/src/elements/ia-donation-form/analytics.d.ts +12 -0
- package/dist/src/elements/ia-donation-form/analytics.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/analytics.js +2 -0
- package/dist/src/elements/ia-donation-form/analytics.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts +79 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts +73 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js +126 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js +9 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts +47 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js +104 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +20 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js +83 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js +13 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js +67 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts +18 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts +41 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js +95 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts +14 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js +9 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts +40 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js +58 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts +19 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js +45 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts +57 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js +44 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts +14 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js +44 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts +40 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js +65 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts +25 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js +42 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts +18 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts +42 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js +99 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js.map +1 -0
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts +16 -0
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/currency-validator.js +37 -0
- package/dist/src/elements/ia-donation-form/currency-validator.js.map +1 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts +5 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.js +8 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts +118 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js +194 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts +24 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js +70 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts +44 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js +110 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts +24 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js +74 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts +47 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js +204 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts +30 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js +77 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts +80 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js +72 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts +2 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js +2 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts +3 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js +254 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts +70 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js +497 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts +26 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js +163 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts +118 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js +772 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts +31 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js +93 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts +33 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js +378 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts +21 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js +182 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js +60 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js +76 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts +114 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js +586 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts +94 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.js +516 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.js.map +1 -0
- package/dist/src/elements/ia-donation-form/icons/apple-pay.svg +22 -0
- package/dist/src/elements/ia-donation-form/icons/calendar.svg +15 -0
- package/dist/src/elements/ia-donation-form/icons/credit-card.svg +15 -0
- package/dist/src/elements/ia-donation-form/icons/email.svg +3 -0
- package/dist/src/elements/ia-donation-form/icons/google-pay.svg +38 -0
- package/dist/src/elements/ia-donation-form/icons/locale-pin.svg +7 -0
- package/dist/src/elements/ia-donation-form/icons/lock.svg +6 -0
- package/dist/src/elements/ia-donation-form/icons/paypal.svg +39 -0
- package/dist/src/elements/ia-donation-form/icons/user.svg +6 -0
- package/dist/src/elements/ia-donation-form/icons/venmo.svg +9 -0
- package/dist/src/elements/ia-donation-form/icons.d.ts +12 -0
- package/dist/src/elements/ia-donation-form/icons.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/icons.js +33 -0
- package/dist/src/elements/ia-donation-form/icons.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js +196 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts +7 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js +64 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts +28 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js +314 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts +34 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js +54 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts +62 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.js +35 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts +67 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.js +57 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.js +7 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts +38 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js +27 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.js +9 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.js.map +1 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts +36 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js +76 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js.map +1 -0
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts +2 -2
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts.map +1 -1
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js +4 -5
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js.map +1 -1
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts +4 -4
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts.map +1 -1
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js +5 -8
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js.map +1 -1
- package/dist/src/elements/ia-otp-form/ia-otp-form.d.ts.map +1 -1
- package/dist/src/elements/ia-otp-form/ia-otp-form.js +3 -2
- package/dist/src/elements/ia-otp-form/ia-otp-form.js.map +1 -1
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +3 -2
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-radio-player.js +3 -2
- package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.d.ts.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js +3 -2
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
- package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts +2 -2
- package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts.map +1 -1
- package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js +4 -5
- package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts +3 -3
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +7 -12
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +28 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js +20 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +30 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +21 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +6 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.js +17 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.js +33 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +21 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +13 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +1 -0
- package/dist/src/elements/ia-topnav/data/menus.d.ts +17 -0
- package/dist/src/elements/ia-topnav/data/menus.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/data/menus.js +756 -0
- package/dist/src/elements/ia-topnav/data/menus.js.map +1 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +21 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.js +309 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +11 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +89 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +6 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +47 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +183 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +31 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +287 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +21 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +214 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +16 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +221 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +285 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +12 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +65 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +53 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +653 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +12 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +128 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +4 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +10 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +7 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +39 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +21 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +278 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +131 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts +88 -0
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav.js +443 -0
- package/dist/src/elements/ia-topnav/ia-topnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts +13 -0
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/lib/helpers.js +24 -0
- package/dist/src/elements/ia-topnav/lib/helpers.js.map +1 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +46 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +136 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +1 -0
- package/dist/src/elements/ia-topnav/models.d.ts +65 -0
- package/dist/src/elements/ia-topnav/models.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/models.js +10 -0
- package/dist/src/elements/ia-topnav/models.js.map +1 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +2 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.js +49 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +1 -0
- package/dist/src/elements/ia-topnav/tracked-element.d.ts +6 -0
- package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/tracked-element.js +29 -0
- package/dist/src/elements/ia-topnav/tracked-element.js.map +1 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.d.ts.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js +4 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +3 -2
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
- package/dist/src/elements/index.d.ts +55 -0
- package/dist/src/elements/index.d.ts.map +1 -1
- package/dist/src/elements/index.js +55 -0
- package/dist/src/elements/index.js.map +1 -1
- package/dist/src/locales/es.d.ts +215 -0
- package/dist/src/locales/es.d.ts.map +1 -0
- package/dist/src/locales/es.js +247 -0
- package/dist/src/locales/es.js.map +1 -0
- package/package.json +38 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-pay-interface.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.ts"],"names":[],"mappings":"","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nexport interface GooglePayHandlerInterface {\n paymentsClient: google.payments.api.PaymentsClient;\n instance: PromisedSingleton<braintree.GooglePayment>;\n\n isBrowserSupported(): Promise<boolean>;\n}\n"]}
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
+
import type { BraintreeManagerInterface } from '../../braintree-manager-interface.js';
|
|
4
|
+
import type { GooglePayHandlerInterface } from './google-pay-interface.js';
|
|
5
|
+
export declare class GooglePayHandler implements GooglePayHandlerInterface {
|
|
6
|
+
paymentsClient: google.payments.api.PaymentsClient;
|
|
7
|
+
instance: PromisedSingleton<braintree.GooglePayment>;
|
|
8
|
+
isBrowserSupported(): Promise<boolean>;
|
|
9
|
+
constructor(options: {
|
|
10
|
+
braintreeManager: BraintreeManagerInterface;
|
|
11
|
+
googlePayMerchantId?: string;
|
|
12
|
+
googlePayBraintreeClient: typeof braintree.googlePayment;
|
|
13
|
+
googlePaymentsClient: google.payments.api.PaymentsClient;
|
|
14
|
+
});
|
|
15
|
+
private braintreeManager;
|
|
16
|
+
private googlePayMerchantId?;
|
|
17
|
+
private googlePayBraintreeClient;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=google-pay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-pay.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAExE,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;IAEnD,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;gBA0BhC,OAAO,EAAE;QACnB,gBAAgB,EAAE,yBAAyB,CAAC;QAC5C,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,wBAAwB,EAAE,OAAO,SAAS,CAAC,aAAa,CAAC;QACzD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC;KAC1D;IAkBD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,mBAAmB,CAAC,CAAS;IAErC,OAAO,CAAC,wBAAwB,CAAiC;CAClE"}
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
2
|
+
export class GooglePayHandler {
|
|
3
|
+
async isBrowserSupported() {
|
|
4
|
+
// See https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest
|
|
5
|
+
const response = await this.paymentsClient.isReadyToPay({
|
|
6
|
+
apiVersion: 2,
|
|
7
|
+
apiVersionMinor: 0,
|
|
8
|
+
allowedPaymentMethods: [
|
|
9
|
+
{
|
|
10
|
+
type: 'CARD',
|
|
11
|
+
parameters: {
|
|
12
|
+
allowedAuthMethods: ['PAN_ONLY'],
|
|
13
|
+
allowedCardNetworks: [
|
|
14
|
+
'AMEX',
|
|
15
|
+
'DISCOVER',
|
|
16
|
+
'INTERAC',
|
|
17
|
+
'JCB',
|
|
18
|
+
'MASTERCARD',
|
|
19
|
+
'VISA',
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
existingPaymentMethodRequired: false,
|
|
25
|
+
});
|
|
26
|
+
return response.result;
|
|
27
|
+
}
|
|
28
|
+
constructor(options) {
|
|
29
|
+
this.braintreeManager = options.braintreeManager;
|
|
30
|
+
this.googlePayMerchantId = options.googlePayMerchantId;
|
|
31
|
+
this.googlePayBraintreeClient = options.googlePayBraintreeClient;
|
|
32
|
+
this.paymentsClient = options.googlePaymentsClient;
|
|
33
|
+
this.instance = new PromisedSingleton({
|
|
34
|
+
generator: async () => {
|
|
35
|
+
const braintreeInstance = await this.braintreeManager.instance.get();
|
|
36
|
+
return this.googlePayBraintreeClient.create({
|
|
37
|
+
client: braintreeInstance,
|
|
38
|
+
googlePayVersion: 2,
|
|
39
|
+
googleMerchantId: this.googlePayMerchantId,
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=google-pay.js.map
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-pay.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,OAAO,gBAAgB;IAK3B,KAAK,CAAC,kBAAkB;QACtB,qFAAqF;QACrF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YACtD,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,CAAC;YAClB,qBAAqB,EAAE;gBACrB;oBACE,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE;wBACV,kBAAkB,EAAE,CAAC,UAAU,CAAC;wBAChC,mBAAmB,EAAE;4BACnB,MAAM;4BACN,UAAU;4BACV,SAAS;4BACT,KAAK;4BACL,YAAY;4BACZ,MAAM;yBACP;qBACF;iBACF;aACF;YACD,6BAA6B,EAAE,KAAK;SACrC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,YAAY,OAKX;QACC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAEnD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAA0B;YAC7D,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC;oBAC1C,MAAM,EAAE,iBAAiB;oBACzB,gBAAgB,EAAE,CAAC;oBACnB,gBAAgB,EAAE,IAAI,CAAC,mBAAmB;iBAC3C,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CAOF","sourcesContent":["import type * as braintree from 'braintree-web';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nimport type { BraintreeManagerInterface } from '../../braintree-manager-interface';\nimport type { GooglePayHandlerInterface } from './google-pay-interface';\n\nexport class GooglePayHandler implements GooglePayHandlerInterface {\n paymentsClient: google.payments.api.PaymentsClient;\n\n instance: PromisedSingleton<braintree.GooglePayment>;\n\n async isBrowserSupported(): Promise<boolean> {\n // See https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest\n const response = await this.paymentsClient.isReadyToPay({\n apiVersion: 2,\n apiVersionMinor: 0,\n allowedPaymentMethods: [\n {\n type: 'CARD',\n parameters: {\n allowedAuthMethods: ['PAN_ONLY'],\n allowedCardNetworks: [\n 'AMEX',\n 'DISCOVER',\n 'INTERAC',\n 'JCB',\n 'MASTERCARD',\n 'VISA',\n ],\n },\n },\n ],\n existingPaymentMethodRequired: false,\n });\n return response.result;\n }\n\n constructor(options: {\n braintreeManager: BraintreeManagerInterface;\n googlePayMerchantId?: string;\n googlePayBraintreeClient: typeof braintree.googlePayment;\n googlePaymentsClient: google.payments.api.PaymentsClient;\n }) {\n this.braintreeManager = options.braintreeManager;\n this.googlePayMerchantId = options.googlePayMerchantId;\n this.googlePayBraintreeClient = options.googlePayBraintreeClient;\n this.paymentsClient = options.googlePaymentsClient;\n\n this.instance = new PromisedSingleton<braintree.GooglePayment>({\n generator: async () => {\n const braintreeInstance = await this.braintreeManager.instance.get();\n return this.googlePayBraintreeClient.create({\n client: braintreeInstance,\n googlePayVersion: 2,\n googleMerchantId: this.googlePayMerchantId,\n });\n },\n });\n }\n\n private braintreeManager: BraintreeManagerInterface;\n\n private googlePayMerchantId?: string;\n\n private googlePayBraintreeClient: typeof braintree.googlePayment;\n}\n"]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import type * as paypal from 'paypal-checkout-components';
|
|
3
|
+
import type { DonationPaymentInfo } from '../../../models/donation-payment-info.js';
|
|
4
|
+
/**
|
|
5
|
+
* The go-between for the PayPal button.
|
|
6
|
+
*
|
|
7
|
+
* The button can't live in the shadow DOM, so it's rendered at the top of the
|
|
8
|
+
* page in the global scope, which makes it hard to talk to directly. The data
|
|
9
|
+
* source hooks into all of the button's callbacks and relays them to a
|
|
10
|
+
* delegate that cares about the events.
|
|
11
|
+
*/
|
|
12
|
+
export interface PayPalButtonDataSourceInterface {
|
|
13
|
+
/** The delegate to tell about button events */
|
|
14
|
+
delegate?: PayPalButtonDataSourceDelegate;
|
|
15
|
+
/**
|
|
16
|
+
* The donation info for this button. The donor starts checkout from the
|
|
17
|
+
* button itself, not from our code, so this has to be kept current as they
|
|
18
|
+
* change the form.
|
|
19
|
+
*/
|
|
20
|
+
donationInfo: DonationPaymentInfo;
|
|
21
|
+
/** The donor pressed the button */
|
|
22
|
+
payment(): Promise<string>;
|
|
23
|
+
/** The donor authorized the donation */
|
|
24
|
+
onAuthorize(data: paypal.AuthorizationData, actions: object): Promise<paypal.TokenizePayload | undefined>;
|
|
25
|
+
/** The donor cancelled the donation */
|
|
26
|
+
onCancel(data: paypal.CancellationData): void;
|
|
27
|
+
/** Something went wrong */
|
|
28
|
+
onError(error: string): void;
|
|
29
|
+
}
|
|
30
|
+
/** Anything interested in what the PayPal button is doing. */
|
|
31
|
+
export interface PayPalButtonDataSourceDelegate {
|
|
32
|
+
/** The donor pressed the button */
|
|
33
|
+
payPalPaymentStarted(dataSource: PayPalButtonDataSourceInterface, options: object): Promise<void>;
|
|
34
|
+
/** PayPal authorized the payment and handed back a payload to submit */
|
|
35
|
+
payPalPaymentAuthorized(dataSource: PayPalButtonDataSourceInterface, payload: paypal.TokenizePayload): Promise<void>;
|
|
36
|
+
/** The donor confirmed the donation in our confirmation step */
|
|
37
|
+
payPalPaymentConfirmed(dataSource: PayPalButtonDataSourceInterface, payload: paypal.TokenizePayload): Promise<void>;
|
|
38
|
+
/** The donor cancelled */
|
|
39
|
+
payPalPaymentCancelled(dataSource: PayPalButtonDataSourceInterface, data: object): Promise<void>;
|
|
40
|
+
/** Something went wrong */
|
|
41
|
+
payPalPaymentError(dataSource: PayPalButtonDataSourceInterface, error: string): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export declare class PayPalButtonDataSource implements PayPalButtonDataSourceInterface {
|
|
44
|
+
delegate?: PayPalButtonDataSourceDelegate;
|
|
45
|
+
donationInfo: DonationPaymentInfo;
|
|
46
|
+
private paypalInstance;
|
|
47
|
+
constructor(options: {
|
|
48
|
+
donationInfo: DonationPaymentInfo;
|
|
49
|
+
paypalInstance: braintree.PayPalCheckout;
|
|
50
|
+
});
|
|
51
|
+
payment(): Promise<string>;
|
|
52
|
+
onAuthorize(data: paypal.AuthorizationData): Promise<paypal.TokenizePayload>;
|
|
53
|
+
onConfirm(data: paypal.AuthorizationData): Promise<paypal.TokenizePayload>;
|
|
54
|
+
onCancel(data: object): void;
|
|
55
|
+
onError(error: string): void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=paypal-button-datasource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal-button-datasource.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAG1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAGjF;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,8BAA8B,CAAC;IAE1C;;;;OAIG;IACH,YAAY,EAAE,mBAAmB,CAAC;IAElC,mCAAmC;IACnC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B,wCAAwC;IACxC,WAAW,CACT,IAAI,EAAE,MAAM,CAAC,iBAAiB,EAC9B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAE/C,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAE9C,2BAA2B;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,8DAA8D;AAC9D,MAAM,WAAW,8BAA8B;IAC7C,mCAAmC;IACnC,oBAAoB,CAClB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,wEAAwE;IACxE,uBAAuB,CACrB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,MAAM,CAAC,eAAe,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,gEAAgE;IAChE,sBAAsB,CACpB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,MAAM,CAAC,eAAe,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,0BAA0B;IAC1B,sBAAsB,CACpB,UAAU,EAAE,+BAA+B,EAC3C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,2BAA2B;IAC3B,kBAAkB,CAChB,UAAU,EAAE,+BAA+B,EAC3C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,qBAAa,sBAAuB,YAAW,+BAA+B;IAC5E,QAAQ,CAAC,EAAE,8BAA8B,CAAC;IAE1C,YAAY,EAAE,mBAAmB,CAAC;IAElC,OAAO,CAAC,cAAc,CAA2B;gBAErC,OAAO,EAAE;QACnB,YAAY,EAAE,mBAAmB,CAAC;QAClC,cAAc,EAAE,SAAS,CAAC,cAAc,CAAC;KAC1C;IAKK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAyB1B,WAAW,CACf,IAAI,EAAE,MAAM,CAAC,iBAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAQ5B,SAAS,CACb,IAAI,EAAE,MAAM,CAAC,iBAAiB,GAC7B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;IAOlC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI5B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAI7B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import currency from 'currency.js';
|
|
2
|
+
import { DonationType } from '../../../models/donation-type.js';
|
|
3
|
+
export class PayPalButtonDataSource {
|
|
4
|
+
constructor(options) {
|
|
5
|
+
this.donationInfo = options.donationInfo;
|
|
6
|
+
this.paypalInstance = options.paypalInstance;
|
|
7
|
+
}
|
|
8
|
+
async payment() {
|
|
9
|
+
const donationType = this.donationInfo.donationType;
|
|
10
|
+
const flow = donationType === DonationType.OneTime ? 'checkout' : 'vault';
|
|
11
|
+
const options = {
|
|
12
|
+
flow: flow,
|
|
13
|
+
intent: 'capture',
|
|
14
|
+
enableShippingAddress: true,
|
|
15
|
+
};
|
|
16
|
+
if (flow === 'checkout') {
|
|
17
|
+
options.amount = this.donationInfo.total;
|
|
18
|
+
options.currency = 'USD';
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
options.billingAgreementDescription = `Subscribe to donate ${currency(this.donationInfo.total, { symbol: '$' }).format()} monthly`;
|
|
22
|
+
}
|
|
23
|
+
this.delegate?.payPalPaymentStarted(this, options);
|
|
24
|
+
return this.paypalInstance.createPayment(options);
|
|
25
|
+
}
|
|
26
|
+
async onAuthorize(data) {
|
|
27
|
+
const payload = await this.paypalInstance.tokenizePayment(data);
|
|
28
|
+
this.delegate?.payPalPaymentAuthorized(this, payload);
|
|
29
|
+
return payload;
|
|
30
|
+
}
|
|
31
|
+
async onConfirm(data) {
|
|
32
|
+
const payload = await this.paypalInstance.tokenizePayment(data);
|
|
33
|
+
this.delegate?.payPalPaymentConfirmed(this, payload);
|
|
34
|
+
return payload;
|
|
35
|
+
}
|
|
36
|
+
onCancel(data) {
|
|
37
|
+
this.delegate?.payPalPaymentCancelled(this, data);
|
|
38
|
+
}
|
|
39
|
+
onError(error) {
|
|
40
|
+
console.error('PayPal error', error);
|
|
41
|
+
this.delegate?.payPalPaymentError(this, error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=paypal-button-datasource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal-button-datasource.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAsE7D,MAAM,OAAO,sBAAsB;IAOjC,YAAY,OAGX;QACC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;QACpD,MAAM,IAAI,GAAG,YAAY,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QAE1E,MAAM,OAAO,GAAiD;YAC5D,IAAI,EAAE,IAAuB;YAC7B,MAAM,EAAE,SAA0B;YAClC,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QAEF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,2BAA2B,GAAG,uBAAuB,QAAQ,CACnE,IAAI,CAAC,YAAY,CAAC,KAAK,EACvB,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC,MAAM,EAAE,UAAU,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,IAA8B;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,EAAE,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAA8B;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type * as paypal from 'paypal-checkout-components';\nimport currency from 'currency.js';\n\nimport type { DonationPaymentInfo } from '../../../models/donation-payment-info';\nimport { DonationType } from '../../../models/donation-type';\n\n/**\n * The go-between for the PayPal button.\n *\n * The button can't live in the shadow DOM, so it's rendered at the top of the\n * page in the global scope, which makes it hard to talk to directly. The data\n * source hooks into all of the button's callbacks and relays them to a\n * delegate that cares about the events.\n */\nexport interface PayPalButtonDataSourceInterface {\n /** The delegate to tell about button events */\n delegate?: PayPalButtonDataSourceDelegate;\n\n /**\n * The donation info for this button. The donor starts checkout from the\n * button itself, not from our code, so this has to be kept current as they\n * change the form.\n */\n donationInfo: DonationPaymentInfo;\n\n /** The donor pressed the button */\n payment(): Promise<string>;\n\n /** The donor authorized the donation */\n onAuthorize(\n data: paypal.AuthorizationData,\n actions: object,\n ): Promise<paypal.TokenizePayload | undefined>;\n\n /** The donor cancelled the donation */\n onCancel(data: paypal.CancellationData): void;\n\n /** Something went wrong */\n onError(error: string): void;\n}\n\n/** Anything interested in what the PayPal button is doing. */\nexport interface PayPalButtonDataSourceDelegate {\n /** The donor pressed the button */\n payPalPaymentStarted(\n dataSource: PayPalButtonDataSourceInterface,\n options: object,\n ): Promise<void>;\n\n /** PayPal authorized the payment and handed back a payload to submit */\n payPalPaymentAuthorized(\n dataSource: PayPalButtonDataSourceInterface,\n payload: paypal.TokenizePayload,\n ): Promise<void>;\n\n /** The donor confirmed the donation in our confirmation step */\n payPalPaymentConfirmed(\n dataSource: PayPalButtonDataSourceInterface,\n payload: paypal.TokenizePayload,\n ): Promise<void>;\n\n /** The donor cancelled */\n payPalPaymentCancelled(\n dataSource: PayPalButtonDataSourceInterface,\n data: object,\n ): Promise<void>;\n\n /** Something went wrong */\n payPalPaymentError(\n dataSource: PayPalButtonDataSourceInterface,\n error: string,\n ): Promise<void>;\n}\n\nexport class PayPalButtonDataSource implements PayPalButtonDataSourceInterface {\n delegate?: PayPalButtonDataSourceDelegate;\n\n donationInfo: DonationPaymentInfo;\n\n private paypalInstance: braintree.PayPalCheckout;\n\n constructor(options: {\n donationInfo: DonationPaymentInfo;\n paypalInstance: braintree.PayPalCheckout;\n }) {\n this.donationInfo = options.donationInfo;\n this.paypalInstance = options.paypalInstance;\n }\n\n async payment(): Promise<string> {\n const donationType = this.donationInfo.donationType;\n const flow = donationType === DonationType.OneTime ? 'checkout' : 'vault';\n\n const options: braintree.PayPalCheckoutCreatePaymentOptions = {\n flow: flow as paypal.FlowType,\n intent: 'capture' as paypal.Intent,\n enableShippingAddress: true,\n };\n\n if (flow === 'checkout') {\n options.amount = this.donationInfo.total;\n options.currency = 'USD';\n } else {\n options.billingAgreementDescription = `Subscribe to donate ${currency(\n this.donationInfo.total,\n { symbol: '$' },\n ).format()} monthly`;\n }\n\n this.delegate?.payPalPaymentStarted(this, options);\n\n return this.paypalInstance.createPayment(options);\n }\n\n async onAuthorize(\n data: paypal.AuthorizationData,\n ): Promise<paypal.TokenizePayload> {\n const payload = await this.paypalInstance.tokenizePayment(data);\n\n this.delegate?.payPalPaymentAuthorized(this, payload);\n\n return payload;\n }\n\n async onConfirm(\n data: paypal.AuthorizationData,\n ): Promise<paypal.TokenizePayload> {\n const payload = await this.paypalInstance.tokenizePayment(data);\n this.delegate?.payPalPaymentConfirmed(this, payload);\n\n return payload;\n }\n\n onCancel(data: object): void {\n this.delegate?.payPalPaymentCancelled(this, data);\n }\n\n onError(error: string): void {\n console.error('PayPal error', error);\n this.delegate?.payPalPaymentError(this, error);\n }\n}\n"]}
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import type * as paypal from 'paypal-checkout-components';
|
|
3
|
+
import type { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
4
|
+
import type { DonationPaymentInfo } from '../../../models/donation-payment-info.js';
|
|
5
|
+
import type { PayPalButtonDataSourceInterface } from './paypal-button-datasource.js';
|
|
6
|
+
export interface PayPalHandlerInterface {
|
|
7
|
+
instance: PromisedSingleton<braintree.PayPalCheckout | undefined>;
|
|
8
|
+
renderPayPalButton(params: {
|
|
9
|
+
selector: string;
|
|
10
|
+
style: paypal.ButtonStyle;
|
|
11
|
+
donationInfo: DonationPaymentInfo;
|
|
12
|
+
}): Promise<PayPalButtonDataSourceInterface | undefined>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=paypal-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal-interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAElF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAElE,kBAAkB,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;QAC1B,YAAY,EAAE,mBAAmB,CAAC;KACnC,GAAG,OAAO,CAAC,+BAA+B,GAAG,SAAS,CAAC,CAAC;CAC1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal-interface.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.ts"],"names":[],"mappings":"","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type * as paypal from 'paypal-checkout-components';\nimport type { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nimport type { DonationPaymentInfo } from '../../../models/donation-payment-info';\nimport type { PayPalButtonDataSourceInterface } from './paypal-button-datasource';\n\nexport interface PayPalHandlerInterface {\n instance: PromisedSingleton<braintree.PayPalCheckout | undefined>;\n\n renderPayPalButton(params: {\n selector: string;\n style: paypal.ButtonStyle;\n donationInfo: DonationPaymentInfo;\n }): Promise<PayPalButtonDataSourceInterface | undefined>;\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import type * as paypal from 'paypal-checkout-components';
|
|
3
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
4
|
+
import type { DonationPaymentInfo } from '../../../models/donation-payment-info.js';
|
|
5
|
+
import type { BraintreeManagerInterface } from '../../braintree-manager-interface.js';
|
|
6
|
+
import { HostingEnvironment } from '../../hosting-environment.js';
|
|
7
|
+
import { type PayPalButtonDataSourceInterface } from './paypal-button-datasource.js';
|
|
8
|
+
import type { PayPalHandlerInterface } from './paypal-interface.js';
|
|
9
|
+
export declare class PayPalHandler implements PayPalHandlerInterface {
|
|
10
|
+
instance: PromisedSingleton<braintree.PayPalCheckout | undefined>;
|
|
11
|
+
constructor(options: {
|
|
12
|
+
braintreeManager: BraintreeManagerInterface;
|
|
13
|
+
paypalClient: typeof braintree.paypalCheckout;
|
|
14
|
+
paypalButton: paypal.ButtonRenderer;
|
|
15
|
+
hostingEnvironment: HostingEnvironment;
|
|
16
|
+
});
|
|
17
|
+
private braintreeManager;
|
|
18
|
+
private paypalClient;
|
|
19
|
+
private paypalButtonGenerator;
|
|
20
|
+
private hostingEnvironment;
|
|
21
|
+
renderPayPalButton(params: {
|
|
22
|
+
selector: string;
|
|
23
|
+
style: paypal.ButtonStyle;
|
|
24
|
+
donationInfo: DonationPaymentInfo;
|
|
25
|
+
}): Promise<PayPalButtonDataSourceInterface | undefined>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=paypal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,qBAAa,aAAc,YAAW,sBAAsB;IAC1D,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;gBAEtD,OAAO,EAAE;QACnB,gBAAgB,EAAE,yBAAyB,CAAC;QAC5C,YAAY,EAAE,OAAO,SAAS,CAAC,cAAc,CAAC;QAC9C,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC;QACpC,kBAAkB,EAAE,kBAAkB,CAAC;KACxC;IAgBD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,YAAY,CAAkC;IAEtD,OAAO,CAAC,qBAAqB,CAAwB;IAErD,OAAO,CAAC,kBAAkB,CAAqB;IAEzC,kBAAkB,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;QAC1B,YAAY,EAAE,mBAAmB,CAAC;KACnC,GAAG,OAAO,CAAC,+BAA+B,GAAG,SAAS,CAAC;CAoCzD"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
2
|
+
import { HostingEnvironment } from '../../hosting-environment.js';
|
|
3
|
+
import { PayPalButtonDataSource, } from './paypal-button-datasource.js';
|
|
4
|
+
export class PayPalHandler {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.braintreeManager = options.braintreeManager;
|
|
7
|
+
this.paypalClient = options.paypalClient;
|
|
8
|
+
this.paypalButtonGenerator = options.paypalButton;
|
|
9
|
+
this.hostingEnvironment = options.hostingEnvironment;
|
|
10
|
+
this.instance = new PromisedSingleton({
|
|
11
|
+
generator: async () => {
|
|
12
|
+
const braintreeClient = await this.braintreeManager.instance.get();
|
|
13
|
+
return this.paypalClient.create({ client: braintreeClient });
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
async renderPayPalButton(params) {
|
|
18
|
+
const env = (this.hostingEnvironment === HostingEnvironment.Development
|
|
19
|
+
? 'sandbox'
|
|
20
|
+
: 'production');
|
|
21
|
+
const paypalInstance = await this.instance.get();
|
|
22
|
+
if (!paypalInstance) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const dataSource = new PayPalButtonDataSource({
|
|
26
|
+
donationInfo: params.donationInfo,
|
|
27
|
+
paypalInstance,
|
|
28
|
+
});
|
|
29
|
+
// Venmo has its own button, so keep it out of the PayPal one. The
|
|
30
|
+
// funding constants come from the PayPal script once it has loaded.
|
|
31
|
+
const venmoFunding = window.paypal?.FUNDING?.VENMO;
|
|
32
|
+
this.paypalButtonGenerator.render({
|
|
33
|
+
env,
|
|
34
|
+
style: params.style,
|
|
35
|
+
payment: dataSource.payment.bind(dataSource),
|
|
36
|
+
onAuthorize: dataSource.onAuthorize.bind(dataSource),
|
|
37
|
+
onCancel: dataSource.onCancel.bind(dataSource),
|
|
38
|
+
onError: dataSource.onError.bind(dataSource),
|
|
39
|
+
funding: venmoFunding ? { disallowed: [venmoFunding] } : undefined,
|
|
40
|
+
}, params.selector);
|
|
41
|
+
return dataSource;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=paypal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paypal.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAIxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,sBAAsB,GAEvB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,OAAO,aAAa;IAGxB,YAAY,OAKX;QACC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CACnC;YACE,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YAC/D,CAAC;SACF,CACF,CAAC;IACJ,CAAC;IAUD,KAAK,CAAC,kBAAkB,CAAC,MAIxB;QACC,MAAM,GAAG,GAAG,CACV,IAAI,CAAC,kBAAkB,KAAK,kBAAkB,CAAC,WAAW;YACxD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,YAAY,CACK,CAAC;QAExB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC;YAC5C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,cAAc;SACf,CAAC,CAAC;QAEH,kEAAkE;QAClE,oEAAoE;QACpE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QAEnD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAC/B;YACE,GAAG;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5C,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;SACnE,EACD,MAAM,CAAC,QAAQ,CAChB,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC;CACF","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type * as paypal from 'paypal-checkout-components';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nimport type { DonationPaymentInfo } from '../../../models/donation-payment-info';\nimport type { BraintreeManagerInterface } from '../../braintree-manager-interface';\nimport { HostingEnvironment } from '../../hosting-environment';\nimport {\n PayPalButtonDataSource,\n type PayPalButtonDataSourceInterface,\n} from './paypal-button-datasource';\nimport type { PayPalHandlerInterface } from './paypal-interface';\n\nexport class PayPalHandler implements PayPalHandlerInterface {\n instance: PromisedSingleton<braintree.PayPalCheckout | undefined>;\n\n constructor(options: {\n braintreeManager: BraintreeManagerInterface;\n paypalClient: typeof braintree.paypalCheckout;\n paypalButton: paypal.ButtonRenderer;\n hostingEnvironment: HostingEnvironment;\n }) {\n this.braintreeManager = options.braintreeManager;\n this.paypalClient = options.paypalClient;\n this.paypalButtonGenerator = options.paypalButton;\n this.hostingEnvironment = options.hostingEnvironment;\n\n this.instance = new PromisedSingleton<braintree.PayPalCheckout | undefined>(\n {\n generator: async () => {\n const braintreeClient = await this.braintreeManager.instance.get();\n return this.paypalClient.create({ client: braintreeClient });\n },\n },\n );\n }\n\n private braintreeManager: BraintreeManagerInterface;\n\n private paypalClient: typeof braintree.paypalCheckout;\n\n private paypalButtonGenerator: paypal.ButtonRenderer;\n\n private hostingEnvironment: HostingEnvironment;\n\n async renderPayPalButton(params: {\n selector: string;\n style: paypal.ButtonStyle;\n donationInfo: DonationPaymentInfo;\n }): Promise<PayPalButtonDataSourceInterface | undefined> {\n const env = (\n this.hostingEnvironment === HostingEnvironment.Development\n ? 'sandbox'\n : 'production'\n ) as paypal.Environment;\n\n const paypalInstance = await this.instance.get();\n if (!paypalInstance) {\n return;\n }\n\n const dataSource = new PayPalButtonDataSource({\n donationInfo: params.donationInfo,\n paypalInstance,\n });\n\n // Venmo has its own button, so keep it out of the PayPal one. The\n // funding constants come from the PayPal script once it has loaded.\n const venmoFunding = window.paypal?.FUNDING?.VENMO;\n\n this.paypalButtonGenerator.render(\n {\n env,\n style: params.style,\n payment: dataSource.payment.bind(dataSource),\n onAuthorize: dataSource.onAuthorize.bind(dataSource),\n onCancel: dataSource.onCancel.bind(dataSource),\n onError: dataSource.onError.bind(dataSource),\n funding: venmoFunding ? { disallowed: [venmoFunding] } : undefined,\n },\n params.selector,\n );\n\n return dataSource;\n }\n}\n"]}
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import type { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
+
export interface VenmoHandlerInterface {
|
|
4
|
+
instance: PromisedSingleton<braintree.Venmo>;
|
|
5
|
+
isBrowserSupported(): Promise<boolean>;
|
|
6
|
+
startPayment(): Promise<braintree.VenmoTokenizePayload>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=venmo-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo-interface.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE7C,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;CACzD"}
|
package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo-interface.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.ts"],"names":[],"mappings":"","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nexport interface VenmoHandlerInterface {\n instance: PromisedSingleton<braintree.Venmo>;\n\n isBrowserSupported(): Promise<boolean>;\n startPayment(): Promise<braintree.VenmoTokenizePayload>;\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { DonationPaymentInfo } from '../../../models/donation-payment-info.js';
|
|
2
|
+
import type { DonorContactInfo } from '../../../models/donor-contact-info.js';
|
|
3
|
+
export interface VenmoRestorationStateHandlerInterface {
|
|
4
|
+
/** Persist the session state */
|
|
5
|
+
persistState(contactInfo: DonorContactInfo, donationInfo: DonationPaymentInfo): void;
|
|
6
|
+
/** Get the session restoration state */
|
|
7
|
+
getRestorationState(): Promise<VenmoRestorationState | undefined>;
|
|
8
|
+
/** Clear the restoration state */
|
|
9
|
+
clearState(): void;
|
|
10
|
+
}
|
|
11
|
+
/** What gets stored while the donor is off in the Venmo app. */
|
|
12
|
+
export declare class VenmoRestorationState {
|
|
13
|
+
contactInfo: DonorContactInfo;
|
|
14
|
+
donationInfo: DonationPaymentInfo;
|
|
15
|
+
constructor(params: {
|
|
16
|
+
contactInfo: DonorContactInfo;
|
|
17
|
+
donationInfo: DonationPaymentInfo;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Persists and restores a Venmo checkout session.
|
|
22
|
+
*
|
|
23
|
+
* Venmo takes the donor out of the browser into its app to authorize the
|
|
24
|
+
* payment, then redirects back to the site, possibly in a new tab, which is
|
|
25
|
+
* effectively a new session. So the contact and donation info is written to
|
|
26
|
+
* storage when the Venmo flow starts and read back when it resumes.
|
|
27
|
+
*/
|
|
28
|
+
export declare class VenmoRestorationStateHandler implements VenmoRestorationStateHandlerInterface {
|
|
29
|
+
private persistenceKey;
|
|
30
|
+
private storageSystem?;
|
|
31
|
+
constructor(options?: {
|
|
32
|
+
storageSystem?: Storage;
|
|
33
|
+
});
|
|
34
|
+
clearState(): void;
|
|
35
|
+
persistState(contactInfo: DonorContactInfo, donationInfo: DonationPaymentInfo): void;
|
|
36
|
+
getRestorationState(): Promise<VenmoRestorationState | undefined>;
|
|
37
|
+
/** Whether a storage system (localStorage or sessionStorage) can be written to */
|
|
38
|
+
private storageSystemAvailable;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=venmo-restoration-state-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo-restoration-state-handler.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,MAAM,WAAW,qCAAqC;IACpD,gCAAgC;IAChC,YAAY,CACV,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,mBAAmB,GAChC,IAAI,CAAC;IAER,wCAAwC;IACxC,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAElE,kCAAkC;IAClC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,gEAAgE;AAChE,qBAAa,qBAAqB;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,mBAAmB,CAAC;gBAEtB,MAAM,EAAE;QAClB,WAAW,EAAE,gBAAgB,CAAC;QAC9B,YAAY,EAAE,mBAAmB,CAAC;KACnC;CAIF;AAED;;;;;;;GAOG;AACH,qBAAa,4BACX,YAAW,qCAAqC;IAEhD,OAAO,CAAC,cAAc,CAA+B;IAErD,OAAO,CAAC,aAAa,CAAC,CAAU;gBAEpB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE;IAUjD,UAAU,IAAI,IAAI;IAIlB,YAAY,CACV,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,mBAAmB,GAChC,IAAI;IASD,mBAAmB,IAAI,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAgBvE,kFAAkF;IAClF,OAAO,CAAC,sBAAsB;CAS/B"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** What gets stored while the donor is off in the Venmo app. */
|
|
2
|
+
export class VenmoRestorationState {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
this.contactInfo = params.contactInfo;
|
|
5
|
+
this.donationInfo = params.donationInfo;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Persists and restores a Venmo checkout session.
|
|
10
|
+
*
|
|
11
|
+
* Venmo takes the donor out of the browser into its app to authorize the
|
|
12
|
+
* payment, then redirects back to the site, possibly in a new tab, which is
|
|
13
|
+
* effectively a new session. So the contact and donation info is written to
|
|
14
|
+
* storage when the Venmo flow starts and read back when it resumes.
|
|
15
|
+
*/
|
|
16
|
+
export class VenmoRestorationStateHandler {
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.persistenceKey = 'venmoRestorationStateInfo';
|
|
19
|
+
if (options?.storageSystem) {
|
|
20
|
+
this.storageSystem = options.storageSystem;
|
|
21
|
+
}
|
|
22
|
+
else if (this.storageSystemAvailable(localStorage)) {
|
|
23
|
+
this.storageSystem = localStorage;
|
|
24
|
+
}
|
|
25
|
+
else if (this.storageSystemAvailable(sessionStorage)) {
|
|
26
|
+
this.storageSystem = sessionStorage;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
clearState() {
|
|
30
|
+
this.storageSystem?.removeItem(this.persistenceKey);
|
|
31
|
+
}
|
|
32
|
+
persistState(contactInfo, donationInfo) {
|
|
33
|
+
const venmoRestoration = new VenmoRestorationState({
|
|
34
|
+
contactInfo,
|
|
35
|
+
donationInfo,
|
|
36
|
+
});
|
|
37
|
+
const serialized = JSON.stringify(venmoRestoration);
|
|
38
|
+
this.storageSystem?.setItem(this.persistenceKey, serialized);
|
|
39
|
+
}
|
|
40
|
+
async getRestorationState() {
|
|
41
|
+
const stored = this.storageSystem?.getItem(this.persistenceKey);
|
|
42
|
+
if (!stored) {
|
|
43
|
+
console.error('restoreState: No stored data');
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const deserialized = JSON.parse(stored);
|
|
47
|
+
if (!deserialized) {
|
|
48
|
+
console.error('restoreState: Data could not be deserialized');
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
return new VenmoRestorationState(deserialized);
|
|
52
|
+
}
|
|
53
|
+
/** Whether a storage system (localStorage or sessionStorage) can be written to */
|
|
54
|
+
storageSystemAvailable(system) {
|
|
55
|
+
try {
|
|
56
|
+
system.setItem('foo', 'bar');
|
|
57
|
+
system.removeItem('foo');
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=venmo-restoration-state-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo-restoration-state-handler.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.ts"],"names":[],"mappings":"AAiBA,gEAAgE;AAChE,MAAM,OAAO,qBAAqB;IAIhC,YAAY,MAGX;QACC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IAOvC,YAAY,OAAqC;QAJzC,mBAAc,GAAG,2BAA2B,CAAC;QAKnD,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC7C,CAAC;aAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QACpC,CAAC;aAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QACtC,CAAC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,YAAY,CACV,WAA6B,EAC7B,YAAiC;QAEjC,MAAM,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;YACjD,WAAW;YACX,YAAY;SACb,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC9D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,kFAAkF;IAC1E,sBAAsB,CAAC,MAAe;QAC5C,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC7B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF","sourcesContent":["import type { DonationPaymentInfo } from '../../../models/donation-payment-info';\nimport type { DonorContactInfo } from '../../../models/donor-contact-info';\n\nexport interface VenmoRestorationStateHandlerInterface {\n /** Persist the session state */\n persistState(\n contactInfo: DonorContactInfo,\n donationInfo: DonationPaymentInfo,\n ): void;\n\n /** Get the session restoration state */\n getRestorationState(): Promise<VenmoRestorationState | undefined>;\n\n /** Clear the restoration state */\n clearState(): void;\n}\n\n/** What gets stored while the donor is off in the Venmo app. */\nexport class VenmoRestorationState {\n contactInfo: DonorContactInfo;\n donationInfo: DonationPaymentInfo;\n\n constructor(params: {\n contactInfo: DonorContactInfo;\n donationInfo: DonationPaymentInfo;\n }) {\n this.contactInfo = params.contactInfo;\n this.donationInfo = params.donationInfo;\n }\n}\n\n/**\n * Persists and restores a Venmo checkout session.\n *\n * Venmo takes the donor out of the browser into its app to authorize the\n * payment, then redirects back to the site, possibly in a new tab, which is\n * effectively a new session. So the contact and donation info is written to\n * storage when the Venmo flow starts and read back when it resumes.\n */\nexport class VenmoRestorationStateHandler\n implements VenmoRestorationStateHandlerInterface\n{\n private persistenceKey = 'venmoRestorationStateInfo';\n\n private storageSystem?: Storage;\n\n constructor(options?: { storageSystem?: Storage }) {\n if (options?.storageSystem) {\n this.storageSystem = options.storageSystem;\n } else if (this.storageSystemAvailable(localStorage)) {\n this.storageSystem = localStorage;\n } else if (this.storageSystemAvailable(sessionStorage)) {\n this.storageSystem = sessionStorage;\n }\n }\n\n clearState(): void {\n this.storageSystem?.removeItem(this.persistenceKey);\n }\n\n persistState(\n contactInfo: DonorContactInfo,\n donationInfo: DonationPaymentInfo,\n ): void {\n const venmoRestoration = new VenmoRestorationState({\n contactInfo,\n donationInfo,\n });\n const serialized = JSON.stringify(venmoRestoration);\n this.storageSystem?.setItem(this.persistenceKey, serialized);\n }\n\n async getRestorationState(): Promise<VenmoRestorationState | undefined> {\n const stored = this.storageSystem?.getItem(this.persistenceKey);\n if (!stored) {\n console.error('restoreState: No stored data');\n return undefined;\n }\n\n const deserialized = JSON.parse(stored);\n if (!deserialized) {\n console.error('restoreState: Data could not be deserialized');\n return undefined;\n }\n\n return new VenmoRestorationState(deserialized);\n }\n\n /** Whether a storage system (localStorage or sessionStorage) can be written to */\n private storageSystemAvailable(system: Storage): boolean {\n try {\n system.setItem('foo', 'bar');\n system.removeItem('foo');\n return true;\n } catch {\n return false;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type * as braintree from 'braintree-web';
|
|
2
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
+
import type { BraintreeManagerInterface } from '../../braintree-manager-interface.js';
|
|
4
|
+
import type { VenmoHandlerInterface } from './venmo-interface.js';
|
|
5
|
+
export declare class VenmoHandler implements VenmoHandlerInterface {
|
|
6
|
+
instance: PromisedSingleton<braintree.Venmo>;
|
|
7
|
+
constructor(options: {
|
|
8
|
+
braintreeManager: BraintreeManagerInterface;
|
|
9
|
+
venmoClient: typeof braintree.venmo;
|
|
10
|
+
venmoProfileId: string;
|
|
11
|
+
instancePromisedSingleton?: PromisedSingleton<braintree.Venmo>;
|
|
12
|
+
});
|
|
13
|
+
private braintreeManager;
|
|
14
|
+
private venmoClient;
|
|
15
|
+
private venmoProfileId;
|
|
16
|
+
isBrowserSupported(): Promise<boolean>;
|
|
17
|
+
startPayment(): Promise<braintree.VenmoTokenizePayload>;
|
|
18
|
+
/**
|
|
19
|
+
* Venmo doesn't work in mobile Firefox, but Braintree's browser detection
|
|
20
|
+
* says it does. On iOS it opens the Venmo app and returns to Safari, and on
|
|
21
|
+
* Android it lands on the "Download Venmo" page.
|
|
22
|
+
*/
|
|
23
|
+
private isMobileFirefox;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=venmo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo.d.ts","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,qBAAa,YAAa,YAAW,qBAAqB;IACxD,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAEjC,OAAO,EAAE;QACnB,gBAAgB,EAAE,yBAAyB,CAAC;QAC5C,WAAW,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC;QACpC,cAAc,EAAE,MAAM,CAAC;QACvB,yBAAyB,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAChE;IAkBD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,cAAc,CAAS;IAEzB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAQtC,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC;IAK7D;;;;OAIG;IACH,OAAO,CAAC,eAAe;CAMxB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
2
|
+
export class VenmoHandler {
|
|
3
|
+
constructor(options) {
|
|
4
|
+
this.braintreeManager = options.braintreeManager;
|
|
5
|
+
this.venmoClient = options.venmoClient;
|
|
6
|
+
this.venmoProfileId = options.venmoProfileId;
|
|
7
|
+
this.instance =
|
|
8
|
+
options.instancePromisedSingleton ??
|
|
9
|
+
new PromisedSingleton({
|
|
10
|
+
generator: async () => {
|
|
11
|
+
const braintreeInstance = await this.braintreeManager.instance.get();
|
|
12
|
+
return this.venmoClient.create({
|
|
13
|
+
client: braintreeInstance,
|
|
14
|
+
profileId: this.venmoProfileId,
|
|
15
|
+
});
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async isBrowserSupported() {
|
|
20
|
+
if (this.isMobileFirefox()) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const instance = await this.instance.get();
|
|
24
|
+
return instance?.isBrowserSupported() ?? false;
|
|
25
|
+
}
|
|
26
|
+
async startPayment() {
|
|
27
|
+
const instance = await this.instance.get();
|
|
28
|
+
return instance.tokenize();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Venmo doesn't work in mobile Firefox, but Braintree's browser detection
|
|
32
|
+
* says it does. On iOS it opens the Venmo app and returns to Safari, and on
|
|
33
|
+
* Android it lands on the "Download Venmo" page.
|
|
34
|
+
*/
|
|
35
|
+
isMobileFirefox() {
|
|
36
|
+
const isFirefoxIos = navigator.userAgent.indexOf('FxiOS') !== -1;
|
|
37
|
+
const isFirefox = navigator.userAgent.indexOf('Firefox') !== -1;
|
|
38
|
+
const isMobile = navigator.userAgent.indexOf('Mobile') !== -1;
|
|
39
|
+
return (isFirefox || isFirefoxIos) && isMobile;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=venmo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"venmo.js","sourceRoot":"","sources":["../../../../../../../src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAKxE,MAAM,OAAO,YAAY;IAGvB,YAAY,OAKX;QACC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE7C,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,yBAAyB;gBACjC,IAAI,iBAAiB,CAAkB;oBACrC,SAAS,EAAE,KAAK,IAAI,EAAE;wBACpB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;wBACrE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;4BAC7B,MAAM,EAAE,iBAAiB;4BACzB,SAAS,EAAE,IAAI,CAAC,cAAc;yBAC/B,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;IACP,CAAC;IAQD,KAAK,CAAC,kBAAkB;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3C,OAAO,QAAQ,EAAE,kBAAkB,EAAE,IAAI,KAAK,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3C,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,eAAe;QACrB,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,QAAQ,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type * as braintree from 'braintree-web';\nimport { PromisedSingleton } from '@internetarchive/promised-singleton';\n\nimport type { BraintreeManagerInterface } from '../../braintree-manager-interface';\nimport type { VenmoHandlerInterface } from './venmo-interface';\n\nexport class VenmoHandler implements VenmoHandlerInterface {\n instance: PromisedSingleton<braintree.Venmo>;\n\n constructor(options: {\n braintreeManager: BraintreeManagerInterface;\n venmoClient: typeof braintree.venmo;\n venmoProfileId: string;\n instancePromisedSingleton?: PromisedSingleton<braintree.Venmo>;\n }) {\n this.braintreeManager = options.braintreeManager;\n this.venmoClient = options.venmoClient;\n this.venmoProfileId = options.venmoProfileId;\n\n this.instance =\n options.instancePromisedSingleton ??\n new PromisedSingleton<braintree.Venmo>({\n generator: async () => {\n const braintreeInstance = await this.braintreeManager.instance.get();\n return this.venmoClient.create({\n client: braintreeInstance,\n profileId: this.venmoProfileId,\n });\n },\n });\n }\n\n private braintreeManager: BraintreeManagerInterface;\n\n private venmoClient: typeof braintree.venmo;\n\n private venmoProfileId: string;\n\n async isBrowserSupported(): Promise<boolean> {\n if (this.isMobileFirefox()) {\n return false;\n }\n const instance = await this.instance.get();\n return instance?.isBrowserSupported() ?? false;\n }\n\n async startPayment(): Promise<braintree.VenmoTokenizePayload> {\n const instance = await this.instance.get();\n return instance.tokenize();\n }\n\n /**\n * Venmo doesn't work in mobile Firefox, but Braintree's browser detection\n * says it does. On iOS it opens the Venmo app and returns to Safari, and on\n * Android it lands on the \"Download Venmo\" page.\n */\n private isMobileFirefox(): boolean {\n const isFirefoxIos = navigator.userAgent.indexOf('FxiOS') !== -1;\n const isFirefox = navigator.userAgent.indexOf('Firefox') !== -1;\n const isMobile = navigator.userAgent.indexOf('Mobile') !== -1;\n return (isFirefox || isFirefoxIos) && isMobile;\n }\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
2
|
+
import type { Unsubscribe } from 'nanoevents';
|
|
3
|
+
import type { ApplePayHandlerInterface } from './payment-providers/apple-pay/apple-pay-interface.js';
|
|
4
|
+
import type { CreditCardHandlerEvents, CreditCardHandlerInterface } from './payment-providers/credit-card/credit-card-interface.js';
|
|
5
|
+
import type { GooglePayHandlerInterface } from './payment-providers/google-pay/google-pay-interface.js';
|
|
6
|
+
import type { PayPalHandlerInterface } from './payment-providers/paypal/paypal-interface.js';
|
|
7
|
+
import type { VenmoHandlerInterface } from './payment-providers/venmo/venmo-interface.js';
|
|
8
|
+
/** The child handler events that bubble up through the providers. */
|
|
9
|
+
export type PaymentProvidersEvents = CreditCardHandlerEvents;
|
|
10
|
+
export interface PaymentProvidersInterface {
|
|
11
|
+
on<E extends keyof PaymentProvidersEvents>(event: E, callback: PaymentProvidersEvents[E]): Unsubscribe;
|
|
12
|
+
creditCardHandler: PromisedSingleton<CreditCardHandlerInterface>;
|
|
13
|
+
applePayHandler: PromisedSingleton<ApplePayHandlerInterface>;
|
|
14
|
+
venmoHandler: PromisedSingleton<VenmoHandlerInterface | undefined>;
|
|
15
|
+
paypalHandler: PromisedSingleton<PayPalHandlerInterface>;
|
|
16
|
+
googlePayHandler: PromisedSingleton<GooglePayHandlerInterface>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=payment-providers-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-providers-interface.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/braintree/payment-providers-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,OAAO,KAAK,EACV,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AACrG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,qEAAqE;AACrE,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,WAAW,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IACjE,eAAe,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC7D,YAAY,EAAE,iBAAiB,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IACnE,aAAa,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IACzD,gBAAgB,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;CAChE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-providers-interface.js","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/braintree/payment-providers-interface.ts"],"names":[],"mappings":"","sourcesContent":["import type { PromisedSingleton } from '@internetarchive/promised-singleton';\nimport type { Unsubscribe } from 'nanoevents';\n\nimport type { ApplePayHandlerInterface } from './payment-providers/apple-pay/apple-pay-interface';\nimport type {\n CreditCardHandlerEvents,\n CreditCardHandlerInterface,\n} from './payment-providers/credit-card/credit-card-interface';\nimport type { GooglePayHandlerInterface } from './payment-providers/google-pay/google-pay-interface';\nimport type { PayPalHandlerInterface } from './payment-providers/paypal/paypal-interface';\nimport type { VenmoHandlerInterface } from './payment-providers/venmo/venmo-interface';\n\n/** The child handler events that bubble up through the providers. */\nexport type PaymentProvidersEvents = CreditCardHandlerEvents;\n\nexport interface PaymentProvidersInterface {\n on<E extends keyof PaymentProvidersEvents>(\n event: E,\n callback: PaymentProvidersEvents[E],\n ): Unsubscribe;\n creditCardHandler: PromisedSingleton<CreditCardHandlerInterface>;\n applePayHandler: PromisedSingleton<ApplePayHandlerInterface>;\n venmoHandler: PromisedSingleton<VenmoHandlerInterface | undefined>;\n paypalHandler: PromisedSingleton<PayPalHandlerInterface>;\n googlePayHandler: PromisedSingleton<GooglePayHandlerInterface>;\n}\n"]}
|