@internetarchive/elements 1.1.2 → 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":"ia-donation-edit-donation.js","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n html,\n LitElement,\n nothing,\n type CSSResultGroup,\n type PropertyValues,\n type TemplateResult,\n} from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\nimport { localized, msg, str } from '@lit/localize';\nimport currency from 'currency.js';\n\nimport themeStyles from '@src/themes/theme-styles';\nimport { CurrencyValidator } from '../currency-validator';\nimport {\n DonationPaymentInfo,\n defaultDonationAmounts,\n defaultSelectedDonationInfo,\n} from '../models/donation-payment-info';\nimport { DonationType } from '../models/donation-type';\nimport { DonationSectionBadgeMode } from './ia-donation-section';\nimport './ia-donation-section';\n\n/** Whether the numbered step badges show on the sections. */\nexport const EditDonationStepNumberMode = {\n HideNumbers: 'hidenumbers',\n ShowNumbers: 'shownumbers',\n} as const;\n\nexport type EditDonationStepNumberMode =\n (typeof EditDonationStepNumberMode)[keyof typeof EditDonationStepNumberMode];\n\n/** The radio button groups in the form. */\nexport const EditDonationSelectionGroup = {\n DonationType: 'donationType',\n Amount: 'amount',\n} as const;\n\nexport type EditDonationSelectionGroup =\n (typeof EditDonationSelectionGroup)[keyof typeof EditDonationSelectionGroup];\n\n/** The outcome of validating an amount. Sent in the `editDonationError` event. */\nexport const EditDonationInfoStatus = {\n ValidDonationAmount: 'valid_donation_amount',\n InvalidDonationAmount: 'invalid_donation_amount',\n DonationTooHigh: 'donation_too_high',\n DonationTooLow: 'donation_too_low',\n} as const;\n\nexport type EditDonationInfoStatus =\n (typeof EditDonationInfoStatus)[keyof typeof EditDonationInfoStatus];\n\n/** How the one-time / monthly choice is presented. */\nexport const EditDonationFrequencySelectionMode = {\n Button: 'button',\n Checkbox: 'checkbox',\n Hide: 'hide',\n} as const;\n\nexport type EditDonationFrequencySelectionMode =\n (typeof EditDonationFrequencySelectionMode)[keyof typeof EditDonationFrequencySelectionMode];\n\n/** Whether the amount buttons wrap onto several lines or stay on one. */\nexport const EditDonationAmountSelectionLayout = {\n SingleLine: 'single-line',\n MultiLine: 'multi-line',\n} as const;\n\nexport type EditDonationAmountSelectionLayout =\n (typeof EditDonationAmountSelectionLayout)[keyof typeof EditDonationAmountSelectionLayout];\n\n/**\n * The part of the donation form where the donor picks a frequency, an amount\n * (preset or custom) and whether to cover the processing fee. Fires\n * `donationInfoChanged` with the new `DonationPaymentInfo` on every change\n * and `editDonationError` when a custom amount is out of range.\n *\n * The petabox donation banner uses this on its own, without the rest of the\n * form.\n */\n@customElement('ia-donation-edit-donation')\n@localized()\nexport class IADonationEditDonation extends LitElement {\n @property({ type: Object })\n donationInfo: DonationPaymentInfo = defaultSelectedDonationInfo;\n\n @property({ type: String })\n stepNumberMode: EditDonationStepNumberMode =\n EditDonationStepNumberMode.ShowNumbers;\n\n /**\n * A convenience for setting the selected amount from plain HTML. When\n * present it wins over `donationInfo`.\n */\n @property({ type: Number }) defaultSelectedAmount?: number;\n\n @property({ type: Array }) amountOptions: number[] = defaultDonationAmounts;\n\n @property({ type: String })\n amountSelectionLayout: EditDonationAmountSelectionLayout =\n EditDonationAmountSelectionLayout.MultiLine;\n\n @property({ type: String, reflect: true })\n frequencySelectionMode: EditDonationFrequencySelectionMode =\n EditDonationFrequencySelectionMode.Button;\n\n @property({ type: String, reflect: true }) customAmountMode:\n | 'display'\n | 'hide' = 'display';\n\n @property({ type: String, reflect: true }) coverFeesCheckboxMode:\n | 'display'\n | 'hide' = 'display';\n\n /** `slot` renders the `edit-donation-amount-title` slot in place of the default headline. */\n @property({ type: String, reflect: true }) amountTitleDisplayMode:\n | 'default'\n | 'slot' = 'default';\n\n @state() private error?: TemplateResult;\n\n @state() private customAmountSelected = false;\n\n @query('#custom-amount-button') private customAmountButton!: HTMLInputElement;\n\n @query('#custom-amount-input') private customAmountInput!: HTMLInputElement;\n\n private currencyValidator: CurrencyValidator = new CurrencyValidator();\n\n render(): TemplateResult {\n const amountTitle =\n this.amountTitleDisplayMode === 'default'\n ? msg('Choose an amount (USD)')\n : '';\n return html`\n ${this.frequencySelectionMode ===\n EditDonationFrequencySelectionMode.Button\n ? this.frequencyButtonsTemplate\n : nothing}\n\n <ia-donation-section\n sectionBadge=\"${this.amountSelectionSectionNumber}\"\n headline=${amountTitle}\n badgeMode=${this.formSectionNumberMode}\n >\n ${this.amountTitleDisplayMode === 'slot'\n ? html`<slot name=\"edit-donation-amount-title\"></slot>`\n : nothing}\n <ul class=\"amount-selector\">\n ${this.presetAmountsTemplate}\n ${this.customAmountMode === 'display'\n ? html`<li class=\"custom-amount\">${this.customAmountTemplate}</li>`\n : nothing}\n </ul>\n\n <div class=\"errors\">${this.error}</div>\n\n ${this.coverFeesCheckboxMode === 'display'\n ? html`<div class=\"checkbox-options\">\n ${this.coverFeesCheckboxTemplate}\n ${this.frequencySelectionMode ===\n EditDonationFrequencySelectionMode.Checkbox\n ? this.frequencyCheckboxTemplate\n : nothing}\n </div>`\n : nothing}\n </ia-donation-section>\n `;\n }\n\n updated(changedProperties: PropertyValues): void {\n if (changedProperties.has('customAmountSelected')) {\n if (this.customAmountButton) {\n this.customAmountButton.checked = this.customAmountSelected;\n }\n }\n if (changedProperties.has('amountOptions')) {\n this.customAmountSelected = false;\n this.updateSelectedDonationInfo();\n this.setupAmountColumnsLayoutConfig();\n }\n if (changedProperties.has('amountSelectionLayout')) {\n this.setupAmountColumnsLayoutConfig();\n }\n if (changedProperties.has('donationInfo')) {\n this.updateSelectedDonationInfo();\n }\n if (\n changedProperties.has('defaultSelectedAmount') &&\n this.defaultSelectedAmount !== undefined\n ) {\n this.customAmountSelected = false;\n this.donationInfo = new DonationPaymentInfo({\n donationType: this.donationInfo.donationType,\n amount: this.defaultSelectedAmount,\n coverFees: this.donationInfo.coverFees,\n });\n }\n }\n\n private get frequencyButtonsTemplate(): TemplateResult {\n return html`\n <ia-donation-section\n sectionBadge=\"1\"\n headline=${msg('Choose a frequency')}\n badgeMode=${this.formSectionNumberMode}\n >\n <ul class=\"frequency-selector\">\n ${this.frequencyTemplate}\n </ul>\n </ia-donation-section>\n `;\n }\n\n private get frequencyCheckboxTemplate(): TemplateResult {\n return html`\n <div class=\"checkbox-option-container\">\n <input\n type=\"checkbox\"\n id=\"make-this-monthly\"\n @input=${this.monthlyCheckboxChecked}\n .checked=${this.donationInfo.donationType === DonationType.Monthly}\n tabindex=\"0\"\n />\n <label for=\"make-this-monthly\">${msg('Make this monthly')}</label>\n </div>\n `;\n }\n\n private get coverFeesCheckboxTemplate(): TemplateResult {\n return html`\n <div class=\"checkbox-option-container\">\n <input\n type=\"checkbox\"\n id=\"cover-fees\"\n @input=${this.coverFeesChecked}\n .checked=${this.donationInfo.coverFees}\n tabindex=\"0\"\n />\n <label for=\"cover-fees\">${this.coverFeesText}</label>\n </div>\n `;\n }\n\n /** The amount step is 2 when the frequency buttons come first, otherwise 1. */\n private get amountSelectionSectionNumber(): number {\n return this.frequencySelectionMode ===\n EditDonationFrequencySelectionMode.Button\n ? 2\n : 1;\n }\n\n private get formSectionNumberMode(): DonationSectionBadgeMode {\n switch (this.stepNumberMode) {\n case EditDonationStepNumberMode.ShowNumbers:\n return DonationSectionBadgeMode.ShowBadge;\n case EditDonationStepNumberMode.HideNumbers:\n return DonationSectionBadgeMode.HideBadge;\n }\n }\n\n /**\n * Picks the amount grid's column count, and how many columns the custom\n * amount field spans, from how many preset amounts there are.\n */\n private setupAmountColumnsLayoutConfig(): void {\n const minimalView =\n this.customAmountMode === 'hide' &&\n this.coverFeesCheckboxMode === 'hide' &&\n this.frequencySelectionMode === EditDonationFrequencySelectionMode.Hide;\n const amountCount = this.amountOptions.length;\n let columnCount = 5;\n let customAmountSpan = 3;\n switch (amountCount) {\n case 7:\n columnCount = 5;\n customAmountSpan = 3;\n break;\n case 6:\n columnCount = 4;\n customAmountSpan = 2;\n break;\n case 5:\n columnCount = 4;\n customAmountSpan = 3;\n break;\n case 4:\n if (minimalView) {\n columnCount = 4;\n customAmountSpan = 0;\n break;\n }\n columnCount = 3;\n customAmountSpan = 2;\n break;\n case 3:\n columnCount = 2;\n customAmountSpan = 1;\n break;\n }\n\n if (\n this.amountSelectionLayout ===\n EditDonationAmountSelectionLayout.SingleLine\n ) {\n columnCount = amountCount + 3;\n customAmountSpan = 3;\n }\n\n this.style.setProperty(\n '--ia-donation-edit-amount-column-count',\n `${columnCount}`,\n );\n this.style.setProperty(\n '--ia-donation-edit-custom-amount-col-span',\n `${customAmountSpan}`,\n );\n }\n\n /**\n * Syncs the radios and the custom field with `donationInfo`. A preset\n * amount checks its radio and clears the custom field; anything else\n * selects the custom field and formats the amount into it.\n */\n private updateSelectedDonationInfo(): void {\n // Keep the custom amount selected while the donor is typing in it, even\n // if the value matches a preset, so the selection doesn't jump to the\n // preset radio mid-keystroke.\n // With the custom field hidden both sides would be null, so guard on it\n // existing first.\n const typingInCustomAmount =\n !!this.customAmountInput &&\n this.shadowRoot?.activeElement === this.customAmountInput;\n if (\n !this.isCustomAmount &&\n !(this.customAmountSelected && typingInCustomAmount)\n ) {\n const radioButton = this.shadowRoot?.querySelector<HTMLInputElement>(\n `input[type=\"radio\"][name=\"${EditDonationSelectionGroup.Amount}\"][value=\"${this.donationInfo.amount}\"]`,\n );\n if (radioButton) radioButton.checked = true;\n this.customAmountSelected = false;\n this.error = undefined;\n if (this.customAmountInput) {\n this.customAmountInput.value = '';\n }\n } else {\n this.customAmountSelected = true;\n // Leave the field alone while it has focus, the donor may be typing\n if (!typingInCustomAmount && this.customAmountInput) {\n this.customAmountInput.value = this.customAmountDisplayValue;\n const donationInfoStatus = this.getDonationInfoStatus(\n this.donationInfo.amount,\n );\n this.handleDonationInfoStatus(donationInfoStatus);\n }\n }\n }\n\n private get coverFeesText(): string {\n const feeAmountString = currency(this.donationInfo.fee, {\n symbol: '$',\n }).format();\n\n return msg(str`I'll generously add ${feeAmountString} to cover fees.`);\n }\n\n /**\n * Formats a dollar amount without cents when it's a whole number and with\n * them when it isn't: `$5` and `$5.50`.\n */\n private formatShortenedAmount(dollars: number): string {\n const precision = dollars % 1 === 0 ? 0 : 2;\n return currency(dollars, { symbol: '$', precision }).format();\n }\n\n private get frequencyTemplate(): TemplateResult {\n return html`\n <li>\n ${this.getRadioButton({\n group: EditDonationSelectionGroup.DonationType,\n value: DonationType.OneTime,\n displayText: msg('One time'),\n checked: this.donationInfo.donationType === DonationType.OneTime,\n })}\n </li>\n\n <li>\n ${this.getRadioButton({\n group: EditDonationSelectionGroup.DonationType,\n value: DonationType.Monthly,\n displayText: msg('Monthly'),\n checked: this.donationInfo.donationType === DonationType.Monthly,\n })}\n </li>\n `;\n }\n\n private get presetAmountsTemplate(): TemplateResult {\n return html`\n ${this.amountOptions.map((amount) => {\n const checked =\n !this.customAmountSelected && amount === this.donationInfo.amount;\n\n return html`\n <li>\n ${this.getRadioButton({\n group: EditDonationSelectionGroup.Amount,\n value: `${amount}`,\n displayText: this.formatShortenedAmount(amount),\n checked,\n })}\n </li>\n `;\n })}\n `;\n }\n\n private getRadioButton(options: {\n group: EditDonationSelectionGroup;\n value: string;\n displayText: string;\n checked: boolean;\n }): TemplateResult {\n const radioId = `${options.group}-${options.value}-option`;\n return html`\n <div class=\"selection-button\">\n <input\n type=\"radio\"\n name=${options.group}\n value=${options.value}\n id=${radioId}\n tabindex=\"0\"\n .checked=${options.checked}\n @change=${this.radioSelected}\n @click=${(e: Event): void => {\n // `change` doesn't fire when the checked radio is clicked again,\n // so re-selecting the current amount is caught here. It matters\n // after a custom amount, which unchecks the presets visually.\n const isAmountSelection =\n options.group === EditDonationSelectionGroup.Amount;\n if (isAmountSelection) {\n const isSameValue =\n parseFloat(options.value) === this.donationInfo.amount;\n if (isSameValue) {\n this.radioSelected(e);\n }\n }\n }}\n />\n <label for=${radioId}>${options.displayText}</label>\n </div>\n `;\n }\n\n private get isCustomAmount(): boolean {\n return !this.amountOptions.includes(this.donationInfo.amount);\n }\n\n private get customAmountDisplayValue(): string {\n if (!this.isCustomAmount) return '';\n return currency(this.donationInfo.amount, { symbol: '' }).format();\n }\n\n private get customAmountTemplate(): TemplateResult {\n return html`\n <div class=\"selection-button\">\n <input\n type=\"radio\"\n name=${EditDonationSelectionGroup.Amount}\n value=\"custom\"\n id=\"custom-amount-button\"\n tabindex=\"0\"\n @change=${this.customRadioSelected}\n />\n\n <label for=\"custom-amount-button\">\n <span class=\"custom-amount-text\">${msg('Custom: $')}</span\n ><input\n type=\"text\"\n id=\"custom-amount-input\"\n tabindex=\"-1\"\n aria-label=${msg('Custom amount in dollars')}\n value=${this.customAmountDisplayValue}\n @input=${this.customAmountChanged}\n @keydown=${this.currencyValidator.keydown}\n @focus=${this.customAmountFocused}\n @blur=${this.customAmountBlurred}\n />\n </label>\n </div>\n `;\n }\n\n private customRadioSelected(): void {\n this.customAmountInput.focus();\n }\n\n private customAmountFocused(e: Event): void {\n const target = e.target as HTMLInputElement;\n this.customAmountSelected = true;\n this.handleCustomAmountInput(target.value);\n }\n\n /**\n * Once focus leaves the custom field the mid-keystroke protection is over,\n * so the UI re-syncs with `donationInfo`: a typed amount equal to a preset\n * moves to that preset, anything else gets re-formatted in place.\n */\n private customAmountBlurred(): void {\n this.updateSelectedDonationInfo();\n }\n\n private coverFeesChecked(e: Event): void {\n const target = e.target as HTMLInputElement;\n this.updateDonationInfo({ coverFees: target.checked });\n }\n\n private customAmountChanged(e: Event): void {\n const target = e.target as HTMLInputElement;\n this.customAmountSelected = true;\n this.handleCustomAmountInput(target.value);\n }\n\n private handleCustomAmountInput(value: string): void {\n const amount = parseFloat(value);\n if (isNaN(amount)) {\n this.dispatchEditDonationError(\n EditDonationInfoStatus.InvalidDonationAmount,\n );\n } else {\n this.amountChanged(amount);\n }\n }\n\n private handleDonationInfoStatus(status: EditDonationInfoStatus): void {\n switch (status) {\n case EditDonationInfoStatus.ValidDonationAmount:\n this.error = undefined;\n break;\n case EditDonationInfoStatus.DonationTooHigh:\n this.error = msg(html`\n To make a donation of $10,000 or more, please contact our philanthropy\n department at\n <a href=\"mailto:donations@archive.org\">donations@archive.org</a>\n `);\n this.dispatchEditDonationError(status);\n break;\n case EditDonationInfoStatus.DonationTooLow:\n if (this.customAmountInput.value.length > 0) {\n this.error = html`${msg('Please select an amount (minimum $1)')}`;\n }\n this.dispatchEditDonationError(status);\n break;\n case EditDonationInfoStatus.InvalidDonationAmount:\n this.error = html`${msg('Please enter a valid donation amount')}`;\n this.dispatchEditDonationError(status);\n break;\n }\n }\n\n private amountChanged(amount: number): void {\n const donationInfoStatus = this.getDonationInfoStatus(amount);\n this.handleDonationInfoStatus(donationInfoStatus);\n\n // Only a valid amount makes it into the donation info\n if (donationInfoStatus === EditDonationInfoStatus.ValidDonationAmount) {\n this.updateDonationInfo({ amount });\n }\n }\n\n private getDonationInfoStatus(amount: number): EditDonationInfoStatus {\n if (isNaN(amount)) {\n return EditDonationInfoStatus.InvalidDonationAmount;\n }\n\n if (amount >= 10000) {\n return EditDonationInfoStatus.DonationTooHigh;\n }\n\n if (amount < 1) {\n return EditDonationInfoStatus.DonationTooLow;\n }\n\n return EditDonationInfoStatus.ValidDonationAmount;\n }\n\n private radioSelected(e: Event): void {\n const radioButton = e.target as HTMLInputElement;\n const group = radioButton.name as EditDonationSelectionGroup;\n const { value } = radioButton;\n\n switch (group) {\n case EditDonationSelectionGroup.Amount:\n this.presetAmountChanged(parseFloat(value));\n break;\n case EditDonationSelectionGroup.DonationType:\n this.updateDonationInfo({ donationType: value as DonationType });\n break;\n default:\n break;\n }\n }\n\n private monthlyCheckboxChecked(e: Event): void {\n const isChecked = (e.target as HTMLInputElement).checked;\n const donationType = isChecked\n ? DonationType.Monthly\n : DonationType.OneTime;\n this.updateDonationInfo({ donationType });\n }\n\n private dispatchEditDonationError(error: EditDonationInfoStatus): void {\n const event = new CustomEvent('editDonationError', {\n detail: { error },\n });\n this.dispatchEvent(event);\n }\n\n private presetAmountChanged(amount: number): void {\n this.error = undefined;\n this.customAmountSelected = false;\n if (this.customAmountInput) {\n this.customAmountInput.value = '';\n }\n this.updateDonationInfo({ amount });\n }\n\n private updateDonationInfo(options: {\n donationType?: DonationType;\n amount?: number;\n coverFees?: boolean;\n }): void {\n const newDonationInfo = new DonationPaymentInfo({\n donationType: options.donationType ?? this.donationInfo.donationType,\n amount: options.amount ?? this.donationInfo.amount,\n coverFees: options.coverFees ?? this.donationInfo.coverFees,\n });\n\n this.donationInfo = newDonationInfo;\n\n const event = new CustomEvent('donationInfoChanged', {\n detail: { donationInfo: newDonationInfo },\n });\n this.dispatchEvent(event);\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n css`\n :host {\n /*\n * The donation form was built for a 10px root font size. Sizing off\n * this base keeps the element self-contained, so it looks the same\n * whatever the page's root size is. Override it to rescale\n * everything, sections included.\n */\n --donation-edit-base-font-size--: var(\n --ia-donation-edit-base-font-size,\n 10px\n );\n\n --donation-edit-button-border-color--: var(\n --ia-donation-edit-button-border-color,\n var(--mid-gray)\n );\n --donation-edit-button-grid-gap--: var(\n --ia-donation-edit-button-grid-gap,\n var(--donation-edit-base-font-size--)\n );\n --donation-edit-button-font-size--: var(\n --ia-donation-edit-button-font-size,\n calc(var(--donation-edit-base-font-size--) * 1.6)\n );\n --donation-edit-button-font-color--: var(\n --ia-donation-edit-button-font-color,\n #000\n );\n --donation-edit-button-selected-font-color--: var(\n --ia-donation-edit-button-selected-font-color,\n #000\n );\n --donation-edit-button-selected-color--: var(\n --ia-donation-edit-button-selected-color,\n #f9bf3b\n );\n --donation-edit-button-focused-outline-color--: var(\n --ia-donation-edit-button-focused-outline-color,\n #7fb3f9\n );\n --donation-edit-button-color--: var(\n --ia-donation-edit-button-color,\n var(--true-white)\n );\n --donation-edit-cover-fees-font-size--: var(\n --ia-donation-edit-cover-fees-font-size,\n calc(var(--donation-edit-base-font-size--) * 1.2)\n );\n --donation-edit-cover-fees-font-weight--: var(\n --ia-donation-edit-cover-fees-font-weight,\n bold\n );\n --donation-edit-custom-amount-width--: var(\n --ia-donation-edit-custom-amount-width,\n calc(var(--donation-edit-base-font-size--) * 4)\n );\n --donation-edit-input-font-color--: var(\n --ia-donation-edit-input-font-color,\n var(--mid-gray)\n );\n --donation-edit-input-border--: var(\n --ia-donation-edit-input-border,\n 1px solid #d9d9d9\n );\n /* These two are set on the host by the element itself, from the number of amounts */\n --donation-edit-amount-column-count--: var(\n --ia-donation-edit-amount-column-count,\n 5\n );\n --donation-edit-custom-amount-col-span--: var(\n --ia-donation-edit-custom-amount-col-span,\n 3\n );\n --donation-edit-error-color--: var(--color-danger);\n\n /* Passed through to the sections */\n --ia-donation-section-base-font-size: var(\n --donation-edit-base-font-size--\n );\n --ia-donation-section-background-color: var(\n --ia-donation-edit-background-color,\n transparent\n );\n --ia-donation-section-badge-background-color: var(\n --ia-donation-edit-badge-background-color,\n var(--mid-gray)\n );\n --ia-donation-section-badge-font-color: var(\n --ia-donation-edit-badge-font-color,\n var(--true-white)\n );\n }\n\n .errors {\n color: var(--donation-edit-error-color--);\n font-size: calc(var(--donation-edit-base-font-size--) * 1.4);\n margin-top: var(--padding-sm);\n }\n\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n display: grid;\n grid-gap: var(--donation-edit-button-grid-gap--);\n }\n\n li {\n margin: 0;\n padding: 0;\n display: inline-block;\n }\n\n .frequency-selector {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .amount-selector {\n grid-template-columns: repeat(\n var(--donation-edit-amount-column-count--),\n 1fr\n );\n }\n\n .custom-amount {\n grid-column: span var(--donation-edit-custom-amount-col-span--);\n }\n\n .selection-button {\n height: calc(var(--donation-edit-base-font-size--) * 3);\n }\n\n .selection-button label {\n padding: 0 calc(var(--donation-edit-base-font-size--) * 0.3);\n display: flex;\n cursor: pointer;\n text-align: center;\n font-size: var(--donation-edit-button-font-size--);\n font-weight: bold;\n border: 1px solid var(--donation-edit-button-border-color--);\n border-radius: 5px;\n height: 100%;\n justify-content: center;\n align-items: center;\n }\n\n label[for='custom-amount-button'] {\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .custom-amount-text {\n white-space: nowrap;\n margin-right: var(--padding-sm);\n }\n\n input[type='radio'] {\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n }\n\n input[type='radio'] + label {\n color: var(--donation-edit-button-font-color--);\n background-color: var(--donation-edit-button-color--);\n }\n\n input[type='radio']:checked + label {\n color: var(--donation-edit-button-selected-font-color--);\n background-color: var(--donation-edit-button-selected-color--);\n }\n\n input[type='radio']:focus + label {\n outline: 2px solid var(--donation-edit-button-focused-outline-color--);\n }\n\n .checkbox-options {\n margin-top: var(--donation-edit-base-font-size--);\n }\n\n .checkbox-option-container {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .checkbox-option-container input {\n width: calc(var(--donation-edit-base-font-size--) * 2);\n }\n\n .checkbox-option-container label {\n font-size: var(--donation-edit-cover-fees-font-size--);\n font-weight: var(--donation-edit-cover-fees-font-weight--);\n flex: 1;\n }\n\n #custom-amount-input {\n width: var(--donation-edit-custom-amount-width--);\n font-size: var(--donation-edit-button-font-size--);\n font-weight: bold;\n color: var(--donation-edit-input-font-color--);\n padding: calc(var(--donation-edit-base-font-size--) * 0.1);\n border: var(--donation-edit-input-border--);\n appearance: none;\n }\n `,\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from 'lit';
|
|
2
|
+
import { type DonationPaymentInfo } from '../models/donation-payment-info.js';
|
|
3
|
+
import { EditDonationAmountSelectionLayout, EditDonationFrequencySelectionMode } from './ia-donation-edit-donation.js';
|
|
4
|
+
import './ia-donation-edit-donation.js';
|
|
5
|
+
import './ia-donation-summary.js';
|
|
6
|
+
/** Whether the top of the form shows the editable amount picker or the collapsed summary. */
|
|
7
|
+
export declare const DonationHeaderMode: {
|
|
8
|
+
readonly Summary: "summary";
|
|
9
|
+
readonly Edit: "edit";
|
|
10
|
+
};
|
|
11
|
+
export type DonationHeaderMode = (typeof DonationHeaderMode)[keyof typeof DonationHeaderMode];
|
|
12
|
+
/**
|
|
13
|
+
* The top of the donation form: the frequency and amount picker, or a
|
|
14
|
+
* one-line summary of the choice with an edit button. Relays the picker's
|
|
15
|
+
* events upward.
|
|
16
|
+
*/
|
|
17
|
+
export declare class IADonationHeader extends LitElement {
|
|
18
|
+
donationInfo?: DonationPaymentInfo;
|
|
19
|
+
mode: DonationHeaderMode;
|
|
20
|
+
amountOptions: number[];
|
|
21
|
+
amountSelectionLayout: EditDonationAmountSelectionLayout;
|
|
22
|
+
frequencySelectionMode: EditDonationFrequencySelectionMode;
|
|
23
|
+
render(): TemplateResult;
|
|
24
|
+
private get editDonationTemplate();
|
|
25
|
+
private get donationSummaryTemplate();
|
|
26
|
+
private donationInfoChanged;
|
|
27
|
+
private editDonationError;
|
|
28
|
+
private summaryEditClicked;
|
|
29
|
+
private showSummaryClicked;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ia-donation-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-donation-header.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/form-elements/ia-donation-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAI5D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iCAAiC,EACjC,kCAAkC,EACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,uBAAuB,CAAC;AAE/B,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE/D;;;;GAIG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAClB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEnC,IAAI,EAAE,kBAAkB,CAC1B;IAEC,aAAa,EAAE,MAAM,EAAE,CAA0B;IAG5E,qBAAqB,EAAE,iCAAiC,CACV;IAG9C,sBAAsB,EAAE,kCAAkC,CACd;IAE5C,MAAM,IAAI,cAAc;IASxB,OAAO,KAAK,oBAAoB,GAa/B;IAED,OAAO,KAAK,uBAAuB,GAQlC;IAED,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;CAG3B"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, LitElement } from 'lit';
|
|
3
|
+
import { property } from 'lit/decorators.js';
|
|
4
|
+
import { customElement } from '../../../util/custom-element.js';
|
|
5
|
+
import { defaultDonationAmounts, } from '../models/donation-payment-info.js';
|
|
6
|
+
import { EditDonationAmountSelectionLayout, EditDonationFrequencySelectionMode, } from './ia-donation-edit-donation.js';
|
|
7
|
+
import './ia-donation-edit-donation.js';
|
|
8
|
+
import './ia-donation-summary.js';
|
|
9
|
+
/** Whether the top of the form shows the editable amount picker or the collapsed summary. */
|
|
10
|
+
export const DonationHeaderMode = {
|
|
11
|
+
Summary: 'summary',
|
|
12
|
+
Edit: 'edit',
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The top of the donation form: the frequency and amount picker, or a
|
|
16
|
+
* one-line summary of the choice with an edit button. Relays the picker's
|
|
17
|
+
* events upward.
|
|
18
|
+
*/
|
|
19
|
+
let IADonationHeader = class IADonationHeader extends LitElement {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.mode = DonationHeaderMode.Edit;
|
|
23
|
+
this.amountOptions = defaultDonationAmounts;
|
|
24
|
+
this.amountSelectionLayout = EditDonationAmountSelectionLayout.MultiLine;
|
|
25
|
+
this.frequencySelectionMode = EditDonationFrequencySelectionMode.Button;
|
|
26
|
+
}
|
|
27
|
+
render() {
|
|
28
|
+
switch (this.mode) {
|
|
29
|
+
case DonationHeaderMode.Summary:
|
|
30
|
+
return this.donationSummaryTemplate;
|
|
31
|
+
case DonationHeaderMode.Edit:
|
|
32
|
+
return this.editDonationTemplate;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
get editDonationTemplate() {
|
|
36
|
+
return html `
|
|
37
|
+
<ia-donation-edit-donation
|
|
38
|
+
.donationInfo=${this.donationInfo}
|
|
39
|
+
.amountOptions=${this.amountOptions}
|
|
40
|
+
.amountSelectionLayout=${this.amountSelectionLayout}
|
|
41
|
+
.frequencySelectionMode=${this.frequencySelectionMode}
|
|
42
|
+
@donationInfoChanged=${this.donationInfoChanged}
|
|
43
|
+
@showSummaryClicked=${this.showSummaryClicked}
|
|
44
|
+
@editDonationError=${this.editDonationError}
|
|
45
|
+
>
|
|
46
|
+
</ia-donation-edit-donation>
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
get donationSummaryTemplate() {
|
|
50
|
+
return html `
|
|
51
|
+
<ia-donation-summary
|
|
52
|
+
.donationInfo=${this.donationInfo}
|
|
53
|
+
@editClicked=${this.summaryEditClicked}
|
|
54
|
+
>
|
|
55
|
+
</ia-donation-summary>
|
|
56
|
+
`;
|
|
57
|
+
}
|
|
58
|
+
donationInfoChanged(e) {
|
|
59
|
+
this.donationInfo = e.detail.donationInfo;
|
|
60
|
+
this.dispatchEvent(new CustomEvent('donationInfoChanged', {
|
|
61
|
+
detail: { donationInfo: this.donationInfo },
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
editDonationError(e) {
|
|
65
|
+
this.dispatchEvent(new CustomEvent('editDonationError', { detail: e.detail }));
|
|
66
|
+
}
|
|
67
|
+
summaryEditClicked() {
|
|
68
|
+
this.mode = DonationHeaderMode.Edit;
|
|
69
|
+
}
|
|
70
|
+
showSummaryClicked() {
|
|
71
|
+
this.mode = DonationHeaderMode.Summary;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
__decorate([
|
|
75
|
+
property({ type: Object })
|
|
76
|
+
], IADonationHeader.prototype, "donationInfo", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
property({ type: String })
|
|
79
|
+
], IADonationHeader.prototype, "mode", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
property({ type: Array })
|
|
82
|
+
], IADonationHeader.prototype, "amountOptions", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
property({ type: String })
|
|
85
|
+
], IADonationHeader.prototype, "amountSelectionLayout", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
property({ type: String })
|
|
88
|
+
], IADonationHeader.prototype, "frequencySelectionMode", void 0);
|
|
89
|
+
IADonationHeader = __decorate([
|
|
90
|
+
customElement('ia-donation-header')
|
|
91
|
+
], IADonationHeader);
|
|
92
|
+
export { IADonationHeader };
|
|
93
|
+
//# sourceMappingURL=ia-donation-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-donation-header.js","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/form-elements/ia-donation-header.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EACL,sBAAsB,GAEvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,uBAAuB,CAAC;AAE/B,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAKX;;;;GAIG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QAGuB,SAAI,GAC9B,kBAAkB,CAAC,IAAI,CAAC;QAEC,kBAAa,GAAa,sBAAsB,CAAC;QAG5E,0BAAqB,GACnB,iCAAiC,CAAC,SAAS,CAAC;QAG9C,2BAAsB,GACpB,kCAAkC,CAAC,MAAM,CAAC;IA0D9C,CAAC;IAxDC,MAAM;QACJ,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,kBAAkB,CAAC,OAAO;gBAC7B,OAAO,IAAI,CAAC,uBAAuB,CAAC;YACtC,KAAK,kBAAkB,CAAC,IAAI;gBAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAY,oBAAoB;QAC9B,OAAO,IAAI,CAAA;;wBAES,IAAI,CAAC,YAAY;yBAChB,IAAI,CAAC,aAAa;iCACV,IAAI,CAAC,qBAAqB;kCACzB,IAAI,CAAC,sBAAsB;+BAC9B,IAAI,CAAC,mBAAmB;8BACzB,IAAI,CAAC,kBAAkB;6BACxB,IAAI,CAAC,iBAAiB;;;KAG9C,CAAC;IACJ,CAAC;IAED,IAAY,uBAAuB;QACjC,OAAO,IAAI,CAAA;;wBAES,IAAI,CAAC,YAAY;uBAClB,IAAI,CAAC,kBAAkB;;;KAGzC,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,CAAc;QACxC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAmC,CAAC;QACjE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,qBAAqB,EAAE;YACrC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;SAC5C,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,CAAc;QACtC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IACtC,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC;IACzC,CAAC;CACF,CAAA;AAvE6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDAAoC;AAEnC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACD;AAEC;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;uDAAkD;AAG5E;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+DAEmB;AAG9C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gEAEiB;AAdjC,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CAwE5B","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\n\nimport {\n defaultDonationAmounts,\n type DonationPaymentInfo,\n} from '../models/donation-payment-info';\nimport {\n EditDonationAmountSelectionLayout,\n EditDonationFrequencySelectionMode,\n} from './ia-donation-edit-donation';\nimport './ia-donation-edit-donation';\nimport './ia-donation-summary';\n\n/** Whether the top of the form shows the editable amount picker or the collapsed summary. */\nexport const DonationHeaderMode = {\n Summary: 'summary',\n Edit: 'edit',\n} as const;\n\nexport type DonationHeaderMode =\n (typeof DonationHeaderMode)[keyof typeof DonationHeaderMode];\n\n/**\n * The top of the donation form: the frequency and amount picker, or a\n * one-line summary of the choice with an edit button. Relays the picker's\n * events upward.\n */\n@customElement('ia-donation-header')\nexport class IADonationHeader extends LitElement {\n @property({ type: Object }) donationInfo?: DonationPaymentInfo;\n\n @property({ type: String }) mode: DonationHeaderMode =\n DonationHeaderMode.Edit;\n\n @property({ type: Array }) amountOptions: number[] = defaultDonationAmounts;\n\n @property({ type: String })\n amountSelectionLayout: EditDonationAmountSelectionLayout =\n EditDonationAmountSelectionLayout.MultiLine;\n\n @property({ type: String })\n frequencySelectionMode: EditDonationFrequencySelectionMode =\n EditDonationFrequencySelectionMode.Button;\n\n render(): TemplateResult {\n switch (this.mode) {\n case DonationHeaderMode.Summary:\n return this.donationSummaryTemplate;\n case DonationHeaderMode.Edit:\n return this.editDonationTemplate;\n }\n }\n\n private get editDonationTemplate(): TemplateResult {\n return html`\n <ia-donation-edit-donation\n .donationInfo=${this.donationInfo}\n .amountOptions=${this.amountOptions}\n .amountSelectionLayout=${this.amountSelectionLayout}\n .frequencySelectionMode=${this.frequencySelectionMode}\n @donationInfoChanged=${this.donationInfoChanged}\n @showSummaryClicked=${this.showSummaryClicked}\n @editDonationError=${this.editDonationError}\n >\n </ia-donation-edit-donation>\n `;\n }\n\n private get donationSummaryTemplate(): TemplateResult {\n return html`\n <ia-donation-summary\n .donationInfo=${this.donationInfo}\n @editClicked=${this.summaryEditClicked}\n >\n </ia-donation-summary>\n `;\n }\n\n private donationInfoChanged(e: CustomEvent): void {\n this.donationInfo = e.detail.donationInfo as DonationPaymentInfo;\n this.dispatchEvent(\n new CustomEvent('donationInfoChanged', {\n detail: { donationInfo: this.donationInfo },\n }),\n );\n }\n\n private editDonationError(e: CustomEvent): void {\n this.dispatchEvent(\n new CustomEvent('editDonationError', { detail: e.detail }),\n );\n }\n\n private summaryEditClicked(): void {\n this.mode = DonationHeaderMode.Edit;\n }\n\n private showSummaryClicked(): void {\n this.mode = DonationHeaderMode.Summary;\n }\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LitElement, type CSSResultGroup, type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import type { PaymentProvidersInterface } from '../braintree/payment-providers-interface.js';
|
|
3
|
+
/**
|
|
4
|
+
* The row of payment method buttons. Each provider button asks its handler
|
|
5
|
+
* whether the browser supports it and hides itself if not. Once one is picked
|
|
6
|
+
* the others collapse behind a "Change payment method" button.
|
|
7
|
+
*
|
|
8
|
+
* The real PayPal button is slotted in from the light DOM (it can't live in
|
|
9
|
+
* a shadow root); the local PayPal button sits over it to catch clicks while
|
|
10
|
+
* the donation amount is invalid.
|
|
11
|
+
*/
|
|
12
|
+
export declare class IADonationPaymentSelector extends LitElement {
|
|
13
|
+
donationInfoValid: boolean;
|
|
14
|
+
paymentProviders?: PaymentProvidersInterface;
|
|
15
|
+
private applePayMode;
|
|
16
|
+
private googlePayMode;
|
|
17
|
+
private venmoMode;
|
|
18
|
+
private payPalMode;
|
|
19
|
+
private paymentModeSelected?;
|
|
20
|
+
render(): TemplateResult;
|
|
21
|
+
firstUpdated(): void;
|
|
22
|
+
updated(changed: PropertyValues): void;
|
|
23
|
+
showPaypalButton(): void;
|
|
24
|
+
/** Asks each provider whether this browser can use it, and shows or hides its button. */
|
|
25
|
+
private setButtonVisibility;
|
|
26
|
+
private googlePaySelected;
|
|
27
|
+
private applePaySelected;
|
|
28
|
+
private venmoSelected;
|
|
29
|
+
private creditCardSelected;
|
|
30
|
+
private localPaypalButtonClicked;
|
|
31
|
+
static get styles(): CSSResultGroup;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=ia-donation-payment-selector.d.ts.map
|
package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-donation-payment-selector.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAe1F;;;;;;;;GAQG;AACH,qBAEa,yBAA0B,SAAQ,UAAU;IAC1B,iBAAiB,UAAQ;IAE1B,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAEhE,OAAO,CAAC,YAAY,CAAgD;IAEpE,OAAO,CAAC,aAAa,CAAgD;IAErE,OAAO,CAAC,SAAS,CAAgD;IAEjE,OAAO,CAAC,UAAU,CAAgD;IAElE,OAAO,CAAC,mBAAmB,CAAC,CAAc;IAEnD,MAAM,IAAI,cAAc;IA6GxB,YAAY,IAAI,IAAI;IAIpB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAMtC,gBAAgB,IAAI,IAAI;IAIxB,yFAAyF;YAC3E,mBAAmB;IA4CjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,wBAAwB;IAIhC,MAAM,KAAK,MAAM,IAAI,cAAc,CA+IlC;CACF"}
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement, nothing, } from 'lit';
|
|
3
|
+
import { property, state } from 'lit/decorators.js';
|
|
4
|
+
import { customElement } from '../../../util/custom-element.js';
|
|
5
|
+
import { localized, msg } from '@lit/localize';
|
|
6
|
+
import themeStyles from '../../../themes/theme-styles.js';
|
|
7
|
+
import { applePayLogo, googlePayLogo, paypalLogo, venmoLogo } from '../icons.js';
|
|
8
|
+
/** A provider button starts hidden-but-reserved, then shows or disappears once its availability is known. */
|
|
9
|
+
const PaymentButtonMode = {
|
|
10
|
+
Loading: 'loading',
|
|
11
|
+
Available: 'available',
|
|
12
|
+
Unavailable: 'unavailable',
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The row of payment method buttons. Each provider button asks its handler
|
|
16
|
+
* whether the browser supports it and hides itself if not. Once one is picked
|
|
17
|
+
* the others collapse behind a "Change payment method" button.
|
|
18
|
+
*
|
|
19
|
+
* The real PayPal button is slotted in from the light DOM (it can't live in
|
|
20
|
+
* a shadow root); the local PayPal button sits over it to catch clicks while
|
|
21
|
+
* the donation amount is invalid.
|
|
22
|
+
*/
|
|
23
|
+
let IADonationPaymentSelector = class IADonationPaymentSelector extends LitElement {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
this.donationInfoValid = true;
|
|
27
|
+
this.applePayMode = PaymentButtonMode.Loading;
|
|
28
|
+
this.googlePayMode = PaymentButtonMode.Loading;
|
|
29
|
+
this.venmoMode = PaymentButtonMode.Loading;
|
|
30
|
+
this.payPalMode = PaymentButtonMode.Loading;
|
|
31
|
+
}
|
|
32
|
+
render() {
|
|
33
|
+
const paymentSelectedCss = this.paymentModeSelected
|
|
34
|
+
? 'payment-selected'
|
|
35
|
+
: '';
|
|
36
|
+
return html `
|
|
37
|
+
<div
|
|
38
|
+
class="payment-container ${this.donationInfoValid
|
|
39
|
+
? 'donation-info-valid'
|
|
40
|
+
: 'donation-info-invalid'} ${paymentSelectedCss}"
|
|
41
|
+
>
|
|
42
|
+
<div class="payment-provider-container">
|
|
43
|
+
<button
|
|
44
|
+
class="applepay provider-button ${this.applePayMode} ${this
|
|
45
|
+
.paymentModeSelected === 'apple'
|
|
46
|
+
? 'selected'
|
|
47
|
+
: ''}"
|
|
48
|
+
aria-label=${msg('Pay with Apple Pay')}
|
|
49
|
+
@click=${(e) => {
|
|
50
|
+
this.paymentModeSelected = 'apple';
|
|
51
|
+
this.applePaySelected(e);
|
|
52
|
+
}}
|
|
53
|
+
>
|
|
54
|
+
<div class="payment-image">${applePayLogo}</div>
|
|
55
|
+
</button>
|
|
56
|
+
|
|
57
|
+
<button
|
|
58
|
+
class="googlepay provider-button ${this.googlePayMode} ${this
|
|
59
|
+
.paymentModeSelected === 'google'
|
|
60
|
+
? 'selected'
|
|
61
|
+
: ''}"
|
|
62
|
+
aria-label=${msg('Pay with Google Pay')}
|
|
63
|
+
@click=${() => {
|
|
64
|
+
this.paymentModeSelected = 'google';
|
|
65
|
+
this.googlePaySelected();
|
|
66
|
+
}}
|
|
67
|
+
>
|
|
68
|
+
<div class="payment-image">${googlePayLogo}</div>
|
|
69
|
+
</button>
|
|
70
|
+
|
|
71
|
+
<button
|
|
72
|
+
class="venmo provider-button ${this.venmoMode} ${this
|
|
73
|
+
.paymentModeSelected === 'venmo'
|
|
74
|
+
? 'selected'
|
|
75
|
+
: ''}"
|
|
76
|
+
aria-label=${msg('Pay with Venmo')}
|
|
77
|
+
@click=${() => {
|
|
78
|
+
this.paymentModeSelected = 'venmo';
|
|
79
|
+
this.venmoSelected();
|
|
80
|
+
}}
|
|
81
|
+
>
|
|
82
|
+
<div class="payment-image">${venmoLogo}</div>
|
|
83
|
+
</button>
|
|
84
|
+
|
|
85
|
+
<div
|
|
86
|
+
class="paypal-container provider-button ${this.payPalMode} ${this
|
|
87
|
+
.paymentModeSelected === 'paypal'
|
|
88
|
+
? 'selected'
|
|
89
|
+
: ''}"
|
|
90
|
+
>
|
|
91
|
+
<div class="payment-image">
|
|
92
|
+
<button
|
|
93
|
+
class="paypal-local-button"
|
|
94
|
+
aria-label=${msg('Pay with PayPal')}
|
|
95
|
+
@click=${() => {
|
|
96
|
+
this.paymentModeSelected = 'paypal';
|
|
97
|
+
this.localPaypalButtonClicked();
|
|
98
|
+
}}
|
|
99
|
+
>
|
|
100
|
+
${paypalLogo}
|
|
101
|
+
</button>
|
|
102
|
+
<slot name="paypal-button"></slot>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<div class="credit-card-container">
|
|
108
|
+
<button
|
|
109
|
+
@click=${() => {
|
|
110
|
+
this.paymentModeSelected = 'cc';
|
|
111
|
+
this.creditCardSelected();
|
|
112
|
+
}}
|
|
113
|
+
class="button-style credit-card-button ${this
|
|
114
|
+
.paymentModeSelected === 'cc'
|
|
115
|
+
? 'selected'
|
|
116
|
+
: ''}"
|
|
117
|
+
>
|
|
118
|
+
<div class="cc-title">${msg('Credit Card')}</div>
|
|
119
|
+
<div class="cc-background"></div>
|
|
120
|
+
</button>
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
${this.paymentModeSelected
|
|
125
|
+
? html `
|
|
126
|
+
<button
|
|
127
|
+
id="change-payment-method"
|
|
128
|
+
@click=${() => {
|
|
129
|
+
this.paymentModeSelected = undefined;
|
|
130
|
+
this.dispatchEvent(new Event('resetPaymentMethod'));
|
|
131
|
+
this.setButtonVisibility();
|
|
132
|
+
}}
|
|
133
|
+
>
|
|
134
|
+
${msg('Change payment method')}
|
|
135
|
+
</button>
|
|
136
|
+
`
|
|
137
|
+
: nothing}
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
firstUpdated() {
|
|
141
|
+
this.dispatchEvent(new Event('firstUpdated'));
|
|
142
|
+
}
|
|
143
|
+
updated(changed) {
|
|
144
|
+
if (changed.has('paymentProviders')) {
|
|
145
|
+
this.setButtonVisibility();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
showPaypalButton() {
|
|
149
|
+
this.payPalMode = PaymentButtonMode.Available;
|
|
150
|
+
}
|
|
151
|
+
/** Asks each provider whether this browser can use it, and shows or hides its button. */
|
|
152
|
+
async setButtonVisibility() {
|
|
153
|
+
const providers = this.paymentProviders;
|
|
154
|
+
if (!providers)
|
|
155
|
+
return;
|
|
156
|
+
const mode = (supported) => supported ? PaymentButtonMode.Available : PaymentButtonMode.Unavailable;
|
|
157
|
+
providers.venmoHandler
|
|
158
|
+
.get()
|
|
159
|
+
.then(async (handler) => {
|
|
160
|
+
if (!handler)
|
|
161
|
+
return false;
|
|
162
|
+
return handler.isBrowserSupported();
|
|
163
|
+
})
|
|
164
|
+
.then((supported) => {
|
|
165
|
+
this.venmoMode = mode(supported);
|
|
166
|
+
})
|
|
167
|
+
.catch((reason) => {
|
|
168
|
+
console.error('venmo unavailable', reason);
|
|
169
|
+
this.venmoMode = PaymentButtonMode.Unavailable;
|
|
170
|
+
});
|
|
171
|
+
providers.applePayHandler
|
|
172
|
+
.get()
|
|
173
|
+
.then((handler) => handler.isAvailable())
|
|
174
|
+
.then((supported) => {
|
|
175
|
+
this.applePayMode = mode(supported);
|
|
176
|
+
})
|
|
177
|
+
.catch((reason) => {
|
|
178
|
+
console.error('apple pay unavailable', reason);
|
|
179
|
+
this.applePayMode = PaymentButtonMode.Unavailable;
|
|
180
|
+
});
|
|
181
|
+
providers.googlePayHandler
|
|
182
|
+
.get()
|
|
183
|
+
.then((handler) => handler.isBrowserSupported())
|
|
184
|
+
.then((supported) => {
|
|
185
|
+
this.googlePayMode = mode(supported);
|
|
186
|
+
})
|
|
187
|
+
.catch((reason) => {
|
|
188
|
+
console.error('google pay unavailable', reason);
|
|
189
|
+
this.googlePayMode = PaymentButtonMode.Unavailable;
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
googlePaySelected() {
|
|
193
|
+
this.dispatchEvent(new Event('googlePaySelected'));
|
|
194
|
+
}
|
|
195
|
+
applePaySelected(e) {
|
|
196
|
+
this.dispatchEvent(new CustomEvent('applePaySelected', { detail: { originalEvent: e } }));
|
|
197
|
+
}
|
|
198
|
+
venmoSelected() {
|
|
199
|
+
this.dispatchEvent(new Event('venmoSelected'));
|
|
200
|
+
}
|
|
201
|
+
creditCardSelected() {
|
|
202
|
+
this.dispatchEvent(new Event('creditCardSelected'));
|
|
203
|
+
}
|
|
204
|
+
localPaypalButtonClicked() {
|
|
205
|
+
this.dispatchEvent(new Event('paypalBlockerSelected'));
|
|
206
|
+
}
|
|
207
|
+
static get styles() {
|
|
208
|
+
return [
|
|
209
|
+
themeStyles,
|
|
210
|
+
css `
|
|
211
|
+
:host {
|
|
212
|
+
--donation-selector-base-font-size--: var(
|
|
213
|
+
--ia-donation-form-base-font-size,
|
|
214
|
+
10px
|
|
215
|
+
);
|
|
216
|
+
--donation-selector-button-width--: var(
|
|
217
|
+
--ia-donation-payment-button-width,
|
|
218
|
+
calc(var(--donation-selector-base-font-size--) * 5)
|
|
219
|
+
);
|
|
220
|
+
--donation-selector-button-height--: var(
|
|
221
|
+
--ia-donation-payment-button-height,
|
|
222
|
+
calc(var(--donation-selector-base-font-size--) * 3.2)
|
|
223
|
+
);
|
|
224
|
+
--donation-selector-cc-font-size--: var(
|
|
225
|
+
--ia-donation-credit-card-font-size,
|
|
226
|
+
calc(var(--donation-selector-base-font-size--) * 1.8)
|
|
227
|
+
);
|
|
228
|
+
--donation-selector-cc-font-color--: var(
|
|
229
|
+
--ia-donation-credit-card-button-font-color,
|
|
230
|
+
var(--mid-gray)
|
|
231
|
+
);
|
|
232
|
+
--donation-selector-cc-color--: var(
|
|
233
|
+
--ia-donation-credit-card-button-color,
|
|
234
|
+
var(--true-white)
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
button {
|
|
239
|
+
color: inherit;
|
|
240
|
+
font-family: inherit;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.payment-container {
|
|
244
|
+
width: 100%;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
.payment-provider-container {
|
|
248
|
+
display: grid;
|
|
249
|
+
grid-template-columns: 1fr 1fr 1fr 1fr;
|
|
250
|
+
grid-gap: var(--donation-selector-base-font-size--);
|
|
251
|
+
margin-bottom: var(--donation-selector-base-font-size--);
|
|
252
|
+
max-width: calc(var(--donation-selector-base-font-size--) * 23);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.provider-button {
|
|
256
|
+
border: 0;
|
|
257
|
+
padding: 0;
|
|
258
|
+
background: none;
|
|
259
|
+
cursor: pointer;
|
|
260
|
+
width: var(--donation-selector-button-width--);
|
|
261
|
+
height: var(--donation-selector-button-height--);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.provider-button.unavailable {
|
|
265
|
+
display: none;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.provider-button.loading {
|
|
269
|
+
border: 1px solid #ddd;
|
|
270
|
+
border-radius: 2px;
|
|
271
|
+
/* Accounts for the border that goes away once the provider loads, so the layout doesn't shift */
|
|
272
|
+
margin-bottom: -2px;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.provider-button.loading .payment-image {
|
|
276
|
+
display: none;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
.payment-image,
|
|
280
|
+
.brand-logo {
|
|
281
|
+
width: 100%;
|
|
282
|
+
height: 100%;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
.brand-logo {
|
|
286
|
+
display: block;
|
|
287
|
+
object-fit: contain;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
.paypal-local-button {
|
|
291
|
+
position: absolute;
|
|
292
|
+
border: 0;
|
|
293
|
+
padding: 0;
|
|
294
|
+
background: none;
|
|
295
|
+
cursor: pointer;
|
|
296
|
+
width: var(--donation-selector-button-width--);
|
|
297
|
+
height: var(--donation-selector-button-height--);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.donation-info-valid .paypal-local-button {
|
|
301
|
+
z-index: 0;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.donation-info-invalid .paypal-local-button {
|
|
305
|
+
z-index: 250;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
.credit-card-button {
|
|
309
|
+
color: var(--donation-selector-cc-font-color--);
|
|
310
|
+
background-color: var(--donation-selector-cc-color--);
|
|
311
|
+
border: 1px solid var(--mid-gray);
|
|
312
|
+
border-radius: 4px;
|
|
313
|
+
cursor: pointer;
|
|
314
|
+
margin: 0;
|
|
315
|
+
padding: calc(var(--donation-selector-base-font-size--) * 0.7)
|
|
316
|
+
var(--donation-selector-base-font-size--);
|
|
317
|
+
width: 100%;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.credit-card-button .cc-background {
|
|
321
|
+
height: calc(var(--donation-selector-base-font-size--) * 2.4);
|
|
322
|
+
width: 100%;
|
|
323
|
+
background-repeat: no-repeat;
|
|
324
|
+
background-image: url(https://archive.org/images/cc_logos.png);
|
|
325
|
+
background-position: 50% 50%;
|
|
326
|
+
background-size: contain;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.credit-card-button .cc-title {
|
|
330
|
+
font-size: var(--donation-selector-cc-font-size--);
|
|
331
|
+
font-weight: 700;
|
|
332
|
+
margin-bottom: var(--padding-sm);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
button#change-payment-method {
|
|
336
|
+
margin-top: 10px;
|
|
337
|
+
background: var(--true-white);
|
|
338
|
+
border: 1px solid;
|
|
339
|
+
border-radius: 3px;
|
|
340
|
+
padding: 5px;
|
|
341
|
+
cursor: pointer;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
.payment-selected .provider-button:not(.selected),
|
|
345
|
+
.payment-selected .credit-card-button:not(.selected) {
|
|
346
|
+
display: none;
|
|
347
|
+
}
|
|
348
|
+
`,
|
|
349
|
+
];
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
__decorate([
|
|
353
|
+
property({ type: Boolean })
|
|
354
|
+
], IADonationPaymentSelector.prototype, "donationInfoValid", void 0);
|
|
355
|
+
__decorate([
|
|
356
|
+
property({ type: Object })
|
|
357
|
+
], IADonationPaymentSelector.prototype, "paymentProviders", void 0);
|
|
358
|
+
__decorate([
|
|
359
|
+
state()
|
|
360
|
+
], IADonationPaymentSelector.prototype, "applePayMode", void 0);
|
|
361
|
+
__decorate([
|
|
362
|
+
state()
|
|
363
|
+
], IADonationPaymentSelector.prototype, "googlePayMode", void 0);
|
|
364
|
+
__decorate([
|
|
365
|
+
state()
|
|
366
|
+
], IADonationPaymentSelector.prototype, "venmoMode", void 0);
|
|
367
|
+
__decorate([
|
|
368
|
+
state()
|
|
369
|
+
], IADonationPaymentSelector.prototype, "payPalMode", void 0);
|
|
370
|
+
__decorate([
|
|
371
|
+
state()
|
|
372
|
+
], IADonationPaymentSelector.prototype, "paymentModeSelected", void 0);
|
|
373
|
+
IADonationPaymentSelector = __decorate([
|
|
374
|
+
customElement('ia-donation-payment-selector'),
|
|
375
|
+
localized()
|
|
376
|
+
], IADonationPaymentSelector);
|
|
377
|
+
export { IADonationPaymentSelector };
|
|
378
|
+
//# sourceMappingURL=ia-donation-payment-selector.js.map
|