@internetarchive/elements 1.1.3-l10n-demo.0 → 1.1.3-webdev-9107.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 +0 -33
- 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 +2 -3
- package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
- 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 +5 -4
- 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 +8 -5
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
- package/dist/src/elements/ia-reviews/assets/delete-icon.svg +8 -0
- package/dist/src/elements/ia-reviews/assets/star-basic.svg +6 -0
- package/dist/src/elements/ia-reviews/assets/star-selected.svg +8 -0
- package/dist/src/elements/ia-reviews/assets/star-unselected.svg +8 -0
- package/dist/src/elements/ia-reviews/ia-review-form.d.ts +104 -0
- package/dist/src/elements/ia-reviews/ia-review-form.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/ia-review-form.js +678 -0
- package/dist/src/elements/ia-reviews/ia-review-form.js.map +1 -0
- package/dist/src/elements/ia-reviews/ia-review.d.ts +49 -0
- package/dist/src/elements/ia-reviews/ia-review.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/ia-review.js +349 -0
- package/dist/src/elements/ia-reviews/ia-review.js.map +1 -0
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts +63 -0
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/ia-reviews.js +357 -0
- package/dist/src/elements/ia-reviews/ia-reviews.js.map +1 -0
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts +8 -0
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js +15 -0
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +1 -0
- package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts +13 -0
- package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/utils/collapse-space.js +19 -0
- package/dist/src/elements/ia-reviews/utils/collapse-space.js.map +1 -0
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts +14 -0
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.js +65 -0
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.js.map +1 -0
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts +9 -0
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js +40 -0
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js.map +1 -0
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts +9 -0
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js +29 -0
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js.map +1 -0
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts +13 -0
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.js +19 -0
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.js.map +1 -0
- 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 +5 -4
- 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 +12 -7
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
- 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 +0 -4
- 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 +2 -3
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
- package/dist/src/elements/index.d.ts +3 -55
- package/dist/src/elements/index.d.ts.map +1 -1
- package/dist/src/elements/index.js +3 -55
- package/dist/src/elements/index.js.map +1 -1
- package/package.json +9 -36
- package/dist/src/elements/ia-donation-form/analytics.d.ts +0 -12
- package/dist/src/elements/ia-donation-form/analytics.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/analytics.js +0 -2
- package/dist/src/elements/ia-donation-form/analytics.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts +0 -79
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts +0 -73
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js +0 -126
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts +0 -10
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js +0 -9
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts +0 -47
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js +0 -104
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts +0 -11
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +0 -20
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +0 -21
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js +0 -83
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts +0 -11
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js +0 -13
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts +0 -27
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js +0 -67
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts +0 -18
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts +0 -41
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js +0 -95
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts +0 -14
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js +0 -9
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts +0 -40
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js +0 -58
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts +0 -8
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts +0 -19
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js +0 -45
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts +0 -57
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js +0 -44
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts +0 -14
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts +0 -27
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js +0 -44
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts +0 -8
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts +0 -40
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js +0 -65
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts +0 -25
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js +0 -42
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts +0 -18
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js +0 -2
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts +0 -42
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js +0 -99
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js.map +0 -1
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts +0 -16
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/currency-validator.js +0 -37
- package/dist/src/elements/ia-donation-form/currency-validator.js.map +0 -1
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts +0 -5
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/donation-form-error.js +0 -8
- package/dist/src/elements/ia-donation-form/donation-form-error.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts +0 -118
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js +0 -194
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts +0 -24
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js +0 -70
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts +0 -44
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js +0 -110
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts +0 -24
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js +0 -74
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts +0 -47
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js +0 -204
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts +0 -30
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js +0 -77
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts +0 -80
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js +0 -72
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts +0 -2
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js +0 -2
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts +0 -3
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js +0 -254
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts +0 -70
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js +0 -497
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts +0 -26
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js +0 -163
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts +0 -118
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js +0 -772
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts +0 -31
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js +0 -93
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts +0 -33
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js +0 -378
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts +0 -21
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js +0 -182
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts +0 -11
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js +0 -60
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts +0 -10
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js +0 -76
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js.map +0 -1
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts +0 -114
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js +0 -586
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js.map +0 -1
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts +0 -94
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/ia-donation-form.js +0 -516
- package/dist/src/elements/ia-donation-form/ia-donation-form.js.map +0 -1
- package/dist/src/elements/ia-donation-form/icons/apple-pay.svg +0 -22
- package/dist/src/elements/ia-donation-form/icons/calendar.svg +0 -15
- package/dist/src/elements/ia-donation-form/icons/credit-card.svg +0 -15
- package/dist/src/elements/ia-donation-form/icons/email.svg +0 -3
- package/dist/src/elements/ia-donation-form/icons/google-pay.svg +0 -38
- package/dist/src/elements/ia-donation-form/icons/locale-pin.svg +0 -7
- package/dist/src/elements/ia-donation-form/icons/lock.svg +0 -6
- package/dist/src/elements/ia-donation-form/icons/paypal.svg +0 -39
- package/dist/src/elements/ia-donation-form/icons/user.svg +0 -6
- package/dist/src/elements/ia-donation-form/icons/venmo.svg +0 -9
- package/dist/src/elements/ia-donation-form/icons.d.ts +0 -12
- package/dist/src/elements/ia-donation-form/icons.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/icons.js +0 -33
- package/dist/src/elements/ia-donation-form/icons.js.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts +0 -27
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js +0 -196
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts +0 -7
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js +0 -64
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts +0 -28
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js +0 -314
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts +0 -34
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js +0 -54
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts +0 -62
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-request.js +0 -35
- package/dist/src/elements/ia-donation-form/models/donation-request.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts +0 -67
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-response.js +0 -57
- package/dist/src/elements/ia-donation-form/models/donation-response.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts +0 -8
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donation-type.js +0 -7
- package/dist/src/elements/ia-donation-form/models/donation-type.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts +0 -38
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js +0 -27
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js.map +0 -1
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts +0 -10
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/models/payment-provider.js +0 -9
- package/dist/src/elements/ia-donation-form/models/payment-provider.js.map +0 -1
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts +0 -36
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts.map +0 -1
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js +0 -76
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +0 -28
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js +0 -20
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +0 -18
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +0 -30
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js +0 -18
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +0 -18
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +0 -18
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +0 -21
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +0 -6
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icon.js +0 -17
- package/dist/src/elements/ia-topnav/assets/img/icon.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +0 -19
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/icons.js +0 -33
- package/dist/src/elements/ia-topnav/assets/img/icons.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +0 -21
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +0 -3
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +0 -13
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +0 -1
- package/dist/src/elements/ia-topnav/data/menus.d.ts +0 -17
- package/dist/src/elements/ia-topnav/data/menus.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/data/menus.js +0 -756
- package/dist/src/elements/ia-topnav/data/menus.js.map +0 -1
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +0 -21
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/dropdown-menu.js +0 -309
- package/dist/src/elements/ia-topnav/dropdown-menu.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +0 -11
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +0 -89
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +0 -6
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +0 -47
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +0 -20
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +0 -183
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +0 -31
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +0 -287
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +0 -21
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +0 -214
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +0 -16
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +0 -221
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +0 -20
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +0 -285
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +0 -12
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +0 -65
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +0 -53
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +0 -653
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +0 -12
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +0 -128
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +0 -4
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +0 -10
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +0 -7
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +0 -39
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +0 -21
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +0 -278
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +0 -20
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +0 -131
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts +0 -88
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/ia-topnav.js +0 -443
- package/dist/src/elements/ia-topnav/ia-topnav.js.map +0 -1
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts +0 -13
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/lib/helpers.js +0 -24
- package/dist/src/elements/ia-topnav/lib/helpers.js.map +0 -1
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +0 -46
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +0 -136
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +0 -1
- package/dist/src/elements/ia-topnav/models.d.ts +0 -65
- package/dist/src/elements/ia-topnav/models.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/models.js +0 -10
- package/dist/src/elements/ia-topnav/models.js.map +0 -1
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +0 -2
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/subnav-list-styles.js +0 -49
- package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +0 -1
- package/dist/src/elements/ia-topnav/tracked-element.d.ts +0 -6
- package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +0 -1
- package/dist/src/elements/ia-topnav/tracked-element.js +0 -29
- package/dist/src/elements/ia-topnav/tracked-element.js.map +0 -1
- package/dist/src/locales/es.d.ts +0 -215
- package/dist/src/locales/es.d.ts.map +0 -1
- package/dist/src/locales/es.js +0 -247
- package/dist/src/locales/es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ia-transcript-view.js","sourceRoot":"","sources":["../../../../src/elements/ia-transcript-view/ia-transcript-view.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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { localized, msg } from '@lit/localize';\n\nimport { formatDuration } from './duration-formatter';\nimport type { TranscriptConfig, TranscriptEntryConfig } from './models';\nimport type { IATranscriptEntry } from './ia-transcript-entry';\n\nimport './ia-transcript-entry';\n\n/**\n * Event names emitted by this component\n */\nconst Events = {\n TranscriptEntrySelected: 'transcriptEntrySelected',\n CurrentEntriesUpdated: 'currentEntriesUpdated',\n AutoScrollChanged: 'autoScrollChanged',\n};\n\n/** How long a scroll animation runs, in seconds */\nconst SCROLL_DURATION_SECONDS = 1;\n\n/**\n * A scrolling transcript that follows playback.\n *\n * It keeps itself scrolled to whatever is being spoken, steps aside when the\n * listener scrolls by hand, and picks the job back up once they've stopped.\n */\n@customElement('ia-transcript-view')\n@localized()\nexport class IATranscriptView extends LitElement {\n /** The transcript to render */\n @property({ type: Object }) config?: TranscriptConfig;\n\n /** Playback position, in seconds into the track */\n @property({ type: Number }) currentTime = 0;\n\n /** How much room to leave above the entry being spoken, in pixels */\n @property({ type: Number }) topContextHeight = 50;\n\n /** How much room to leave below the entry being spoken, in pixels */\n @property({ type: Number }) bottomContextHeight = 50;\n\n /** Whether the transcript follows playback */\n @property({ type: Boolean }) autoScroll = true;\n\n /** Which search result is currently being looked at */\n @property({ type: Number }) selectedSearchResultIndex = 0;\n\n /** Whether to outline the context zones, for working on the scrolling */\n @property({ type: Boolean }) showContextZones = false;\n\n /** How long to wait after a manual scroll before following playback again */\n @property({ type: Number }) scrollTimerDelay = 15000;\n\n @state() private timeScrollTop = 0;\n\n @state() private currentEntries: TranscriptEntryConfig[] = [];\n\n @query('#scroll-container') private scrollView?: HTMLElement | null;\n\n private scrollResumeTimerId?: ReturnType<typeof setTimeout>;\n\n private scrollAnimationId?: number;\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n clearTimeout(this.scrollResumeTimerId);\n this.cancelScrollAnimation();\n }\n\n render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this.showContextZones ? this.contextZoneTemplates : nothing}\n\n <div\n class=\"scroll-container\"\n id=\"scroll-container\"\n @wheel=${this.didScroll}\n @touchmove=${this.didScroll}\n >\n <div class=\"col time\">${this.timeDisplayTemplate}</div>\n\n <div class=\"col\">\n ${this.autoScrollButtonTemplate}\n ${this.transcriptEntries.map((entry) =>\n this.transcriptEntryTemplate(entry),\n )}\n </div>\n </div>\n </div>\n `;\n }\n\n /** Scrolls the selected search result into view. */\n scrollToSelectedSearchResult(): void {\n const { selectedSearchResult } = this;\n if (!selectedSearchResult) return;\n\n this.autoScroll = false;\n this.scrollToElement(selectedSearchResult);\n }\n\n /** The id of the entry starting closest to a given time, if there is one. */\n entryIdentifierClosestToTime(time: number): number | null {\n const entries = this.transcriptEntries;\n if (entries.length === 0) return null;\n\n let closest = entries[0];\n let smallestDelta = Math.abs(time - closest.start);\n\n for (const entry of entries) {\n const delta = Math.abs(time - entry.start);\n if (delta < smallestDelta) {\n smallestDelta = delta;\n closest = entry;\n }\n }\n\n return closest.id;\n }\n\n private get autoScrollButtonTemplate(): TemplateResult {\n return html`\n <button\n type=\"button\"\n class=\"auto-scroll-button ${this.autoScroll ? 'hidden' : ''}\"\n @click=${this.enableAutoScroll}\n >\n ${msg('Scroll text with audio')}\n </button>\n `;\n }\n\n private get timeDisplayTemplate(): TemplateResult {\n return html`\n <div class=\"time-display\" style=\"top: ${this.timeScrollTop}px\">\n ${formatDuration(this.currentTime)}\n </div>\n `;\n }\n\n private transcriptEntryTemplate(\n entry: TranscriptEntryConfig,\n ): TemplateResult {\n const isActive = this.currentEntries.some(\n (currentEntry) => currentEntry.id === entry.id,\n );\n\n return html`\n <ia-transcript-entry\n .entry=${entry}\n ?isActive=${isActive}\n ?isSelected=${entry.searchMatchIndex === this.selectedSearchResultIndex}\n ?isSearchResult=${entry.searchMatchIndex !== undefined}\n ?isMusicEntry=${entry.isMusic}\n isClickable\n data-search-result-index=${ifDefined(entry.searchMatchIndex)}\n data-identifier=${entry.id}\n @click=${this.transcriptEntrySelected}\n ></ia-transcript-entry>\n `;\n }\n\n private get contextZoneTemplates(): TemplateResult {\n return html`\n <div\n class=\"top context-overlay\"\n style=\"height: ${this.topContextHeight}px\"\n ></div>\n <div\n class=\"bottom context-overlay\"\n style=\"height: ${this.bottomContextHeight}px\"\n ></div>\n `;\n }\n\n private get transcriptEntries(): TranscriptEntryConfig[] {\n return this.config?.entries ?? [];\n }\n\n updated(changedProperties: PropertyValues): void {\n if (changedProperties.has('currentTime')) this.handleCurrentTimeChange();\n if (changedProperties.has('selectedSearchResultIndex')) {\n this.scrollToSelectedSearchResult();\n }\n if (changedProperties.has('currentEntries')) {\n this.scrollToClosestEntry();\n this.updateTimePosition();\n }\n if (changedProperties.has('autoScroll')) {\n this.dispatchEvent(\n new CustomEvent<{ autoScroll: boolean }>(Events.AutoScrollChanged, {\n detail: { autoScroll: this.autoScroll },\n }),\n );\n }\n if (changedProperties.has('config')) {\n this.selectedSearchResultIndex = 0;\n this.scrollToSelectedSearchResult();\n }\n }\n\n private transcriptEntrySelected(e: Event): void {\n const { entry } = e.currentTarget as IATranscriptEntry;\n if (!entry) return;\n\n this.dispatchEvent(\n new CustomEvent<{ entry: TranscriptEntryConfig }>(\n Events.TranscriptEntrySelected,\n { detail: { entry } },\n ),\n );\n\n if (entry.searchMatchIndex !== undefined) {\n this.selectedSearchResultIndex = entry.searchMatchIndex;\n }\n this.autoScroll = false;\n }\n\n /**\n * Works out which entries are being spoken now.\n *\n * Runs on every time update, several times a second, so it only touches the\n * rendered state when the set of entries has actually changed.\n */\n private handleCurrentTimeChange(): void {\n const entries = this.transcriptEntries;\n if (entries.length === 0) return;\n\n const activeEntries = entries.filter(\n (entry) =>\n this.currentTime >= entry.start && this.currentTime <= entry.end,\n );\n\n if (IATranscriptView.entryArraysMatch(activeEntries, this.currentEntries)) {\n return;\n }\n\n this.dispatchEvent(new Event(Events.CurrentEntriesUpdated));\n this.currentEntries = activeEntries;\n }\n\n private static entryArraysMatch(\n a: TranscriptEntryConfig[],\n b: TranscriptEntryConfig[],\n ): boolean {\n if (a.length !== b.length) return false;\n\n const aIds = a.map((entry) => entry.id).sort((x, y) => x - y);\n const bIds = b.map((entry) => entry.id).sort((x, y) => x - y);\n\n return aIds.every((id, index) => bIds[index] === id);\n }\n\n private elementClosestToTime(time: number): HTMLElement | null {\n const closestIdentifier = this.entryIdentifierClosestToTime(time);\n // Compared against null rather than tested for truthiness, so an entry\n // whose id is 0 is still found.\n if (closestIdentifier === null) return null;\n\n return this.elementForIdentifier(closestIdentifier);\n }\n\n private elementForIdentifier(identifier: number): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector(\n `ia-transcript-entry[data-identifier=\"${identifier}\"]`,\n ) ?? null\n );\n }\n\n /**\n * Steps auto-scroll aside when the listener scrolls by hand, and arranges to\n * pick it back up once they've left it alone for a while.\n *\n * A wheel that the transcript cannot act on, such as a wheel-up when it is\n * already at the top, is ignored: the listener sees nothing move, so taking\n * auto-scroll away from them reads as the page misbehaving.\n */\n private didScroll(event: Event): void {\n if (event instanceof WheelEvent && !this.canScrollBy(event.deltaY)) return;\n\n this.autoScroll = false;\n\n clearTimeout(this.scrollResumeTimerId);\n this.scrollResumeTimerId = setTimeout(() => {\n this.autoScroll = true;\n }, this.scrollTimerDelay);\n }\n\n /** Whether the transcript has anywhere left to go in `deltaY`'s direction. */\n private canScrollBy(deltaY: number): boolean {\n const { scrollView } = this;\n if (!scrollView) return false;\n\n const { scrollTop, scrollHeight, clientHeight } = scrollView;\n if (deltaY < 0) return scrollTop > 0;\n if (deltaY > 0) return Math.ceil(scrollTop + clientHeight) < scrollHeight;\n return false;\n }\n\n private enableAutoScroll(): void {\n this.autoScroll = true;\n this.scrollToClosestEntry();\n }\n\n private get activeTranscriptEntry(): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector('ia-transcript-entry[isActive]') ?? null\n );\n }\n\n private get selectedSearchResult(): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector(\n `ia-transcript-entry[data-search-result-index=\"${this.selectedSearchResultIndex}\"]`,\n ) ?? null\n );\n }\n\n private get closestEntryToCurrentTime(): HTMLElement | null {\n return (\n this.activeTranscriptEntry ?? this.elementClosestToTime(this.currentTime)\n );\n }\n\n private scrollToClosestEntry(): void {\n if (!this.autoScroll) return;\n\n const closestEntry = this.closestEntryToCurrentTime;\n if (closestEntry) this.scrollToElement(closestEntry);\n }\n\n /**\n * Scrolls an entry to the top of the focus area, if it isn't in there\n * already.\n */\n private scrollToElement(element: HTMLElement): void {\n const { scrollView } = this;\n if (!scrollView) return;\n\n const containerRect = scrollView.getBoundingClientRect();\n const entryRect = element.getBoundingClientRect();\n const focusBottom = containerRect.height - this.bottomContextHeight;\n\n const isBelowFocusArea = entryRect.bottom > containerRect.top + focusBottom;\n const isAboveFocusArea = entryRect.top < containerRect.top;\n if (!isBelowFocusArea && !isAboveFocusArea) return;\n\n this.scrollToOffset(\n entryRect.top -\n containerRect.top +\n scrollView.scrollTop -\n this.topContextHeight,\n );\n }\n\n private updateTimePosition(): void {\n const scrollToEntry = this.closestEntryToCurrentTime;\n if (!scrollToEntry) return;\n\n const parent = scrollToEntry.parentNode as HTMLElement | null;\n if (!parent) return;\n\n this.timeScrollTop =\n scrollToEntry.getBoundingClientRect().top -\n parent.getBoundingClientRect().top;\n }\n\n /**\n * Eases the scroll container to an offset.\n *\n * Only one animation runs at a time: playback ticks arrive faster than an\n * animation finishes, and two loops writing `scrollTop` fight each other.\n */\n private scrollToOffset(offset: number): void {\n const { scrollView } = this;\n if (!scrollView) return;\n\n this.cancelScrollAnimation();\n\n const start = scrollView.scrollTop;\n const change = offset - start;\n const startTime = performance.now();\n\n const easeInOutQuad = (time: number): number =>\n time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time;\n\n const animate = (): void => {\n const elapsed = (performance.now() - startTime) / 1000;\n // Clamped so the last frame lands exactly on the target rather than\n // overshooting past it.\n const progress = Math.min(elapsed / SCROLL_DURATION_SECONDS, 1);\n\n scrollView.scrollTop = start + change * easeInOutQuad(progress);\n\n if (progress < 1) {\n this.scrollAnimationId = requestAnimationFrame(animate);\n } else {\n this.scrollAnimationId = undefined;\n }\n };\n\n animate();\n }\n\n private cancelScrollAnimation(): void {\n if (this.scrollAnimationId === undefined) return;\n\n cancelAnimationFrame(this.scrollAnimationId);\n this.scrollAnimationId = undefined;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n --transcript-height--: var(--ia-theme-transcript-height, 200px);\n\n --transcript-normal-text-color--: var(\n --ia-theme-transcript-normal-text-color,\n gray\n );\n --transcript-active-text-color--: var(\n --ia-theme-transcript-active-text-color,\n white\n );\n --transcript-hover-text-color--: var(\n --ia-theme-transcript-hover-text-color,\n silver\n );\n\n --transcript-music-normal-text-color--: var(\n --ia-theme-transcript-music-normal-text-color,\n gray\n );\n --transcript-music-active-text-color--: var(\n --ia-theme-transcript-music-active-text-color,\n white\n );\n --transcript-music-hover-text-color--: var(\n --ia-theme-transcript-music-hover-text-color,\n silver\n );\n\n --transcript-search-result-inactive-border-color--: var(\n --ia-theme-transcript-search-result-inactive-border-color,\n gray\n );\n --transcript-search-result-active-border-color--: var(\n --ia-theme-transcript-search-result-active-border-color,\n green\n );\n\n --transcript-time-color--: var(--ia-theme-transcript-time-color, white);\n --transcript-time-column-width--: var(\n --ia-theme-transcript-time-column-width,\n 3rem\n );\n --transcript-time-font-size--: var(\n --ia-theme-transcript-time-font-size,\n 1em\n );\n --transcript-time-line-height--: var(\n --ia-theme-transcript-time-line-height,\n 1em\n );\n --transcript-time-display--: var(\n --ia-theme-transcript-time-display,\n block\n );\n\n --transcript-auto-scroll-button-color--: var(\n --ia-theme-transcript-auto-scroll-button-color,\n black\n );\n --transcript-auto-scroll-button-background--: var(\n --ia-theme-transcript-auto-scroll-button-background,\n white\n );\n --transcript-auto-scroll-button-width--: var(\n --ia-theme-transcript-auto-scroll-button-width,\n 12rem\n );\n --transcript-auto-scroll-button-font-size--: var(\n --ia-theme-transcript-auto-scroll-button-font-size,\n 1em\n );\n\n color: var(--transcript-normal-text-color--);\n }\n\n .container {\n position: relative;\n }\n\n .auto-scroll-button {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 1rem;\n margin: auto;\n width: var(--transcript-auto-scroll-button-width--);\n border-radius: 1em;\n border: 0;\n display: inline-block;\n color: var(--transcript-auto-scroll-button-color--);\n background-color: var(--transcript-auto-scroll-button-background--);\n font-size: var(--transcript-auto-scroll-button-font-size--);\n cursor: pointer;\n z-index: 10;\n }\n\n .auto-scroll-button.hidden {\n display: none;\n }\n\n .context-overlay {\n position: absolute;\n left: 0;\n width: 100%;\n height: 0;\n /* Purely a guide. It sits over the top and bottom of the scroll area,\n so without this it would swallow the wheel and the entry clicks\n there, breaking the scrolling it exists to help you look at. */\n pointer-events: none;\n }\n\n .context-overlay.top {\n top: 0;\n border-bottom: 1px solid green;\n }\n\n .context-overlay.bottom {\n bottom: 0;\n border-top: 1px solid green;\n }\n\n .time {\n display: var(--transcript-time-display--);\n flex: 0 0 var(--transcript-time-column-width--);\n color: var(--transcript-time-color--);\n position: relative;\n }\n\n .time-display {\n position: absolute;\n top: 0;\n font-size: var(--transcript-time-font-size--);\n line-height: var(--transcript-time-line-height--);\n transition: top 1s;\n }\n\n .scroll-container {\n display: flex;\n overflow-y: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n height: var(--transcript-height--);\n }\n\n .scroll-container::-webkit-scrollbar {\n display: none;\n }\n\n ia-transcript-entry {\n cursor: pointer;\n }\n\n ia-transcript-entry:hover {\n color: var(--transcript-hover-text-color--);\n }\n\n ia-transcript-entry[ismusicentry] {\n color: var(--transcript-music-normal-text-color--);\n display: block;\n font-style: italic;\n }\n\n ia-transcript-entry[ismusicentry]:hover {\n color: var(--transcript-music-hover-text-color--);\n }\n\n ia-transcript-entry[ismusicentry][isactive] {\n color: var(--transcript-music-active-text-color--);\n }\n\n ia-transcript-entry[isactive] {\n color: var(--transcript-active-text-color--);\n }\n\n ia-transcript-entry[issearchresult] {\n /* Inline-block, or the outline adds a space to the right of the text */\n display: inline-block;\n padding: 0 5px;\n position: relative;\n }\n\n ia-transcript-entry[issearchresult]:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border: 2px solid\n var(--transcript-search-result-inactive-border-color--);\n border-radius: 5px;\n }\n\n ia-transcript-entry[issearchresult][isselected]:after {\n border: 2px solid var(--transcript-search-result-active-border-color--);\n }\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ia-transcript-view.js","sourceRoot":"","sources":["../../../../src/elements/ia-transcript-view/ia-transcript-view.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 { ifDefined } from 'lit/directives/if-defined.js';\nimport { msg } from '@lit/localize';\n\nimport { formatDuration } from './duration-formatter';\nimport type { TranscriptConfig, TranscriptEntryConfig } from './models';\nimport type { IATranscriptEntry } from './ia-transcript-entry';\n\nimport './ia-transcript-entry';\n\n/**\n * Event names emitted by this component\n */\nconst Events = {\n TranscriptEntrySelected: 'transcriptEntrySelected',\n CurrentEntriesUpdated: 'currentEntriesUpdated',\n AutoScrollChanged: 'autoScrollChanged',\n};\n\n/** How long a scroll animation runs, in seconds */\nconst SCROLL_DURATION_SECONDS = 1;\n\n/**\n * A scrolling transcript that follows playback.\n *\n * It keeps itself scrolled to whatever is being spoken, steps aside when the\n * listener scrolls by hand, and picks the job back up once they've stopped.\n */\n@customElement('ia-transcript-view')\nexport class IATranscriptView extends LitElement {\n /** The transcript to render */\n @property({ type: Object }) config?: TranscriptConfig;\n\n /** Playback position, in seconds into the track */\n @property({ type: Number }) currentTime = 0;\n\n /** How much room to leave above the entry being spoken, in pixels */\n @property({ type: Number }) topContextHeight = 50;\n\n /** How much room to leave below the entry being spoken, in pixels */\n @property({ type: Number }) bottomContextHeight = 50;\n\n /** Whether the transcript follows playback */\n @property({ type: Boolean }) autoScroll = true;\n\n /** Which search result is currently being looked at */\n @property({ type: Number }) selectedSearchResultIndex = 0;\n\n /** Whether to outline the context zones, for working on the scrolling */\n @property({ type: Boolean }) showContextZones = false;\n\n /** How long to wait after a manual scroll before following playback again */\n @property({ type: Number }) scrollTimerDelay = 15000;\n\n @state() private timeScrollTop = 0;\n\n @state() private currentEntries: TranscriptEntryConfig[] = [];\n\n @query('#scroll-container') private scrollView?: HTMLElement | null;\n\n private scrollResumeTimerId?: ReturnType<typeof setTimeout>;\n\n private scrollAnimationId?: number;\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n clearTimeout(this.scrollResumeTimerId);\n this.cancelScrollAnimation();\n }\n\n render(): TemplateResult {\n return html`\n <div class=\"container\">\n ${this.showContextZones ? this.contextZoneTemplates : nothing}\n\n <div\n class=\"scroll-container\"\n id=\"scroll-container\"\n @wheel=${this.didScroll}\n @touchmove=${this.didScroll}\n >\n <div class=\"col time\">${this.timeDisplayTemplate}</div>\n\n <div class=\"col\">\n ${this.autoScrollButtonTemplate}\n ${this.transcriptEntries.map((entry) =>\n this.transcriptEntryTemplate(entry),\n )}\n </div>\n </div>\n </div>\n `;\n }\n\n /** Scrolls the selected search result into view. */\n scrollToSelectedSearchResult(): void {\n const { selectedSearchResult } = this;\n if (!selectedSearchResult) return;\n\n this.autoScroll = false;\n this.scrollToElement(selectedSearchResult);\n }\n\n /** The id of the entry starting closest to a given time, if there is one. */\n entryIdentifierClosestToTime(time: number): number | null {\n const entries = this.transcriptEntries;\n if (entries.length === 0) return null;\n\n let closest = entries[0];\n let smallestDelta = Math.abs(time - closest.start);\n\n for (const entry of entries) {\n const delta = Math.abs(time - entry.start);\n if (delta < smallestDelta) {\n smallestDelta = delta;\n closest = entry;\n }\n }\n\n return closest.id;\n }\n\n private get autoScrollButtonTemplate(): TemplateResult {\n return html`\n <button\n type=\"button\"\n class=\"auto-scroll-button ${this.autoScroll ? 'hidden' : ''}\"\n @click=${this.enableAutoScroll}\n >\n ${msg('Scroll text with audio')}\n </button>\n `;\n }\n\n private get timeDisplayTemplate(): TemplateResult {\n return html`\n <div class=\"time-display\" style=\"top: ${this.timeScrollTop}px\">\n ${formatDuration(this.currentTime)}\n </div>\n `;\n }\n\n private transcriptEntryTemplate(\n entry: TranscriptEntryConfig,\n ): TemplateResult {\n const isActive = this.currentEntries.some(\n (currentEntry) => currentEntry.id === entry.id,\n );\n\n return html`\n <ia-transcript-entry\n .entry=${entry}\n ?isActive=${isActive}\n ?isSelected=${entry.searchMatchIndex === this.selectedSearchResultIndex}\n ?isSearchResult=${entry.searchMatchIndex !== undefined}\n ?isMusicEntry=${entry.isMusic}\n isClickable\n data-search-result-index=${ifDefined(entry.searchMatchIndex)}\n data-identifier=${entry.id}\n @click=${this.transcriptEntrySelected}\n ></ia-transcript-entry>\n `;\n }\n\n private get contextZoneTemplates(): TemplateResult {\n return html`\n <div\n class=\"top context-overlay\"\n style=\"height: ${this.topContextHeight}px\"\n ></div>\n <div\n class=\"bottom context-overlay\"\n style=\"height: ${this.bottomContextHeight}px\"\n ></div>\n `;\n }\n\n private get transcriptEntries(): TranscriptEntryConfig[] {\n return this.config?.entries ?? [];\n }\n\n updated(changedProperties: PropertyValues): void {\n if (changedProperties.has('currentTime')) this.handleCurrentTimeChange();\n if (changedProperties.has('selectedSearchResultIndex')) {\n this.scrollToSelectedSearchResult();\n }\n if (changedProperties.has('currentEntries')) {\n this.scrollToClosestEntry();\n this.updateTimePosition();\n }\n if (changedProperties.has('autoScroll')) {\n this.dispatchEvent(\n new CustomEvent<{ autoScroll: boolean }>(Events.AutoScrollChanged, {\n detail: { autoScroll: this.autoScroll },\n }),\n );\n }\n if (changedProperties.has('config')) {\n this.selectedSearchResultIndex = 0;\n this.scrollToSelectedSearchResult();\n }\n }\n\n private transcriptEntrySelected(e: Event): void {\n const { entry } = e.currentTarget as IATranscriptEntry;\n if (!entry) return;\n\n this.dispatchEvent(\n new CustomEvent<{ entry: TranscriptEntryConfig }>(\n Events.TranscriptEntrySelected,\n { detail: { entry } },\n ),\n );\n\n if (entry.searchMatchIndex !== undefined) {\n this.selectedSearchResultIndex = entry.searchMatchIndex;\n }\n this.autoScroll = false;\n }\n\n /**\n * Works out which entries are being spoken now.\n *\n * Runs on every time update, several times a second, so it only touches the\n * rendered state when the set of entries has actually changed.\n */\n private handleCurrentTimeChange(): void {\n const entries = this.transcriptEntries;\n if (entries.length === 0) return;\n\n const activeEntries = entries.filter(\n (entry) =>\n this.currentTime >= entry.start && this.currentTime <= entry.end,\n );\n\n if (IATranscriptView.entryArraysMatch(activeEntries, this.currentEntries)) {\n return;\n }\n\n this.dispatchEvent(new Event(Events.CurrentEntriesUpdated));\n this.currentEntries = activeEntries;\n }\n\n private static entryArraysMatch(\n a: TranscriptEntryConfig[],\n b: TranscriptEntryConfig[],\n ): boolean {\n if (a.length !== b.length) return false;\n\n const aIds = a.map((entry) => entry.id).sort((x, y) => x - y);\n const bIds = b.map((entry) => entry.id).sort((x, y) => x - y);\n\n return aIds.every((id, index) => bIds[index] === id);\n }\n\n private elementClosestToTime(time: number): HTMLElement | null {\n const closestIdentifier = this.entryIdentifierClosestToTime(time);\n // Compared against null rather than tested for truthiness, so an entry\n // whose id is 0 is still found.\n if (closestIdentifier === null) return null;\n\n return this.elementForIdentifier(closestIdentifier);\n }\n\n private elementForIdentifier(identifier: number): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector(\n `ia-transcript-entry[data-identifier=\"${identifier}\"]`,\n ) ?? null\n );\n }\n\n /**\n * Steps auto-scroll aside when the listener scrolls by hand, and arranges to\n * pick it back up once they've left it alone for a while.\n *\n * A wheel that the transcript cannot act on, such as a wheel-up when it is\n * already at the top, is ignored: the listener sees nothing move, so taking\n * auto-scroll away from them reads as the page misbehaving.\n */\n private didScroll(event: Event): void {\n if (event instanceof WheelEvent && !this.canScrollBy(event.deltaY)) return;\n\n this.autoScroll = false;\n\n clearTimeout(this.scrollResumeTimerId);\n this.scrollResumeTimerId = setTimeout(() => {\n this.autoScroll = true;\n }, this.scrollTimerDelay);\n }\n\n /** Whether the transcript has anywhere left to go in `deltaY`'s direction. */\n private canScrollBy(deltaY: number): boolean {\n const { scrollView } = this;\n if (!scrollView) return false;\n\n const { scrollTop, scrollHeight, clientHeight } = scrollView;\n if (deltaY < 0) return scrollTop > 0;\n if (deltaY > 0) return Math.ceil(scrollTop + clientHeight) < scrollHeight;\n return false;\n }\n\n private enableAutoScroll(): void {\n this.autoScroll = true;\n this.scrollToClosestEntry();\n }\n\n private get activeTranscriptEntry(): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector('ia-transcript-entry[isActive]') ?? null\n );\n }\n\n private get selectedSearchResult(): HTMLElement | null {\n return (\n this.shadowRoot?.querySelector(\n `ia-transcript-entry[data-search-result-index=\"${this.selectedSearchResultIndex}\"]`,\n ) ?? null\n );\n }\n\n private get closestEntryToCurrentTime(): HTMLElement | null {\n return (\n this.activeTranscriptEntry ?? this.elementClosestToTime(this.currentTime)\n );\n }\n\n private scrollToClosestEntry(): void {\n if (!this.autoScroll) return;\n\n const closestEntry = this.closestEntryToCurrentTime;\n if (closestEntry) this.scrollToElement(closestEntry);\n }\n\n /**\n * Scrolls an entry to the top of the focus area, if it isn't in there\n * already.\n */\n private scrollToElement(element: HTMLElement): void {\n const { scrollView } = this;\n if (!scrollView) return;\n\n const containerRect = scrollView.getBoundingClientRect();\n const entryRect = element.getBoundingClientRect();\n const focusBottom = containerRect.height - this.bottomContextHeight;\n\n const isBelowFocusArea = entryRect.bottom > containerRect.top + focusBottom;\n const isAboveFocusArea = entryRect.top < containerRect.top;\n if (!isBelowFocusArea && !isAboveFocusArea) return;\n\n this.scrollToOffset(\n entryRect.top -\n containerRect.top +\n scrollView.scrollTop -\n this.topContextHeight,\n );\n }\n\n private updateTimePosition(): void {\n const scrollToEntry = this.closestEntryToCurrentTime;\n if (!scrollToEntry) return;\n\n const parent = scrollToEntry.parentNode as HTMLElement | null;\n if (!parent) return;\n\n this.timeScrollTop =\n scrollToEntry.getBoundingClientRect().top -\n parent.getBoundingClientRect().top;\n }\n\n /**\n * Eases the scroll container to an offset.\n *\n * Only one animation runs at a time: playback ticks arrive faster than an\n * animation finishes, and two loops writing `scrollTop` fight each other.\n */\n private scrollToOffset(offset: number): void {\n const { scrollView } = this;\n if (!scrollView) return;\n\n this.cancelScrollAnimation();\n\n const start = scrollView.scrollTop;\n const change = offset - start;\n const startTime = performance.now();\n\n const easeInOutQuad = (time: number): number =>\n time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time;\n\n const animate = (): void => {\n const elapsed = (performance.now() - startTime) / 1000;\n // Clamped so the last frame lands exactly on the target rather than\n // overshooting past it.\n const progress = Math.min(elapsed / SCROLL_DURATION_SECONDS, 1);\n\n scrollView.scrollTop = start + change * easeInOutQuad(progress);\n\n if (progress < 1) {\n this.scrollAnimationId = requestAnimationFrame(animate);\n } else {\n this.scrollAnimationId = undefined;\n }\n };\n\n animate();\n }\n\n private cancelScrollAnimation(): void {\n if (this.scrollAnimationId === undefined) return;\n\n cancelAnimationFrame(this.scrollAnimationId);\n this.scrollAnimationId = undefined;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n --transcript-height--: var(--ia-theme-transcript-height, 200px);\n\n --transcript-normal-text-color--: var(\n --ia-theme-transcript-normal-text-color,\n gray\n );\n --transcript-active-text-color--: var(\n --ia-theme-transcript-active-text-color,\n white\n );\n --transcript-hover-text-color--: var(\n --ia-theme-transcript-hover-text-color,\n silver\n );\n\n --transcript-music-normal-text-color--: var(\n --ia-theme-transcript-music-normal-text-color,\n gray\n );\n --transcript-music-active-text-color--: var(\n --ia-theme-transcript-music-active-text-color,\n white\n );\n --transcript-music-hover-text-color--: var(\n --ia-theme-transcript-music-hover-text-color,\n silver\n );\n\n --transcript-search-result-inactive-border-color--: var(\n --ia-theme-transcript-search-result-inactive-border-color,\n gray\n );\n --transcript-search-result-active-border-color--: var(\n --ia-theme-transcript-search-result-active-border-color,\n green\n );\n\n --transcript-time-color--: var(--ia-theme-transcript-time-color, white);\n --transcript-time-column-width--: var(\n --ia-theme-transcript-time-column-width,\n 3rem\n );\n --transcript-time-font-size--: var(\n --ia-theme-transcript-time-font-size,\n 1em\n );\n --transcript-time-line-height--: var(\n --ia-theme-transcript-time-line-height,\n 1em\n );\n --transcript-time-display--: var(\n --ia-theme-transcript-time-display,\n block\n );\n\n --transcript-auto-scroll-button-color--: var(\n --ia-theme-transcript-auto-scroll-button-color,\n black\n );\n --transcript-auto-scroll-button-background--: var(\n --ia-theme-transcript-auto-scroll-button-background,\n white\n );\n --transcript-auto-scroll-button-width--: var(\n --ia-theme-transcript-auto-scroll-button-width,\n 12rem\n );\n --transcript-auto-scroll-button-font-size--: var(\n --ia-theme-transcript-auto-scroll-button-font-size,\n 1em\n );\n\n color: var(--transcript-normal-text-color--);\n }\n\n .container {\n position: relative;\n }\n\n .auto-scroll-button {\n position: absolute;\n left: 0;\n right: 0;\n bottom: 1rem;\n margin: auto;\n width: var(--transcript-auto-scroll-button-width--);\n border-radius: 1em;\n border: 0;\n display: inline-block;\n color: var(--transcript-auto-scroll-button-color--);\n background-color: var(--transcript-auto-scroll-button-background--);\n font-size: var(--transcript-auto-scroll-button-font-size--);\n cursor: pointer;\n z-index: 10;\n }\n\n .auto-scroll-button.hidden {\n display: none;\n }\n\n .context-overlay {\n position: absolute;\n left: 0;\n width: 100%;\n height: 0;\n /* Purely a guide. It sits over the top and bottom of the scroll area,\n so without this it would swallow the wheel and the entry clicks\n there, breaking the scrolling it exists to help you look at. */\n pointer-events: none;\n }\n\n .context-overlay.top {\n top: 0;\n border-bottom: 1px solid green;\n }\n\n .context-overlay.bottom {\n bottom: 0;\n border-top: 1px solid green;\n }\n\n .time {\n display: var(--transcript-time-display--);\n flex: 0 0 var(--transcript-time-column-width--);\n color: var(--transcript-time-color--);\n position: relative;\n }\n\n .time-display {\n position: absolute;\n top: 0;\n font-size: var(--transcript-time-font-size--);\n line-height: var(--transcript-time-line-height--);\n transition: top 1s;\n }\n\n .scroll-container {\n display: flex;\n overflow-y: auto;\n -ms-overflow-style: none;\n scrollbar-width: none;\n height: var(--transcript-height--);\n }\n\n .scroll-container::-webkit-scrollbar {\n display: none;\n }\n\n ia-transcript-entry {\n cursor: pointer;\n }\n\n ia-transcript-entry:hover {\n color: var(--transcript-hover-text-color--);\n }\n\n ia-transcript-entry[ismusicentry] {\n color: var(--transcript-music-normal-text-color--);\n display: block;\n font-style: italic;\n }\n\n ia-transcript-entry[ismusicentry]:hover {\n color: var(--transcript-music-hover-text-color--);\n }\n\n ia-transcript-entry[ismusicentry][isactive] {\n color: var(--transcript-music-active-text-color--);\n }\n\n ia-transcript-entry[isactive] {\n color: var(--transcript-active-text-color--);\n }\n\n ia-transcript-entry[issearchresult] {\n /* Inline-block, or the outline adds a space to the right of the text */\n display: inline-block;\n padding: 0 5px;\n position: relative;\n }\n\n ia-transcript-entry[issearchresult]:after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border: 2px solid\n var(--transcript-search-result-inactive-border-color--);\n border-radius: 5px;\n }\n\n ia-transcript-entry[issearchresult][isselected]:after {\n border: 2px solid var(--transcript-search-result-active-border-color--);\n }\n `;\n }\n}\n"]}
|
|
@@ -2,59 +2,6 @@ export * from './ia-audio-element/ia-audio-element.js';
|
|
|
2
2
|
export * from './ia-audio-element/models.js';
|
|
3
3
|
export * from './ia-button/ia-button.js';
|
|
4
4
|
export * from './ia-combo-box/ia-combo-box.js';
|
|
5
|
-
export * from './ia-donation-form/braintree/braintree-manager.js';
|
|
6
|
-
export * from './ia-donation-form/braintree/braintree-manager-interface.js';
|
|
7
|
-
export * from './ia-donation-form/braintree/hosting-environment.js';
|
|
8
|
-
export * from './ia-donation-form/braintree/payment-clients.js';
|
|
9
|
-
export * from './ia-donation-form/braintree/payment-providers.js';
|
|
10
|
-
export * from './ia-donation-form/braintree/payment-providers-interface.js';
|
|
11
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js';
|
|
12
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js';
|
|
13
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js';
|
|
14
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js';
|
|
15
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js';
|
|
16
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/credit-card.js';
|
|
17
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js';
|
|
18
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js';
|
|
19
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js';
|
|
20
|
-
export * from './ia-donation-form/braintree/payment-providers/google-pay/google-pay.js';
|
|
21
|
-
export * from './ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js';
|
|
22
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal.js';
|
|
23
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js';
|
|
24
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js';
|
|
25
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo.js';
|
|
26
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js';
|
|
27
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js';
|
|
28
|
-
export * from './ia-donation-form/analytics.js';
|
|
29
|
-
export * from './ia-donation-form/currency-validator.js';
|
|
30
|
-
export * from './ia-donation-form/donation-form-error.js';
|
|
31
|
-
export * from './ia-donation-form/flow-handlers/donation-flow-modal-manager.js';
|
|
32
|
-
export * from './ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js';
|
|
33
|
-
export * from './ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js';
|
|
34
|
-
export * from './ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js';
|
|
35
|
-
export * from './ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js';
|
|
36
|
-
export * from './ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js';
|
|
37
|
-
export * from './ia-donation-form/flow-handlers/payment-flow-handlers.js';
|
|
38
|
-
export * from './ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js';
|
|
39
|
-
export * from './ia-donation-form/form-elements/ia-donation-badged-input.js';
|
|
40
|
-
export * from './ia-donation-form/form-elements/ia-donation-edit-donation.js';
|
|
41
|
-
export * from './ia-donation-form/form-elements/ia-donation-header.js';
|
|
42
|
-
export * from './ia-donation-form/form-elements/ia-donation-payment-selector.js';
|
|
43
|
-
export * from './ia-donation-form/form-elements/ia-donation-section.js';
|
|
44
|
-
export * from './ia-donation-form/form-elements/ia-donation-summary.js';
|
|
45
|
-
export * from './ia-donation-form/form-elements/ia-donation-total-amount.js';
|
|
46
|
-
export * from './ia-donation-form/ia-donation-form.js';
|
|
47
|
-
export * from './ia-donation-form/ia-donation-form-controller.js';
|
|
48
|
-
export * from './ia-donation-form/modals/ia-donation-confirm-modal.js';
|
|
49
|
-
export * from './ia-donation-form/modals/ia-donation-error-modal-content.js';
|
|
50
|
-
export * from './ia-donation-form/modals/ia-donation-upsell-modal-content.js';
|
|
51
|
-
export * from './ia-donation-form/models/donation-payment-info.js';
|
|
52
|
-
export * from './ia-donation-form/models/donation-request.js';
|
|
53
|
-
export * from './ia-donation-form/models/donation-response.js';
|
|
54
|
-
export * from './ia-donation-form/models/donation-type.js';
|
|
55
|
-
export * from './ia-donation-form/models/donor-contact-info.js';
|
|
56
|
-
export * from './ia-donation-form/models/payment-provider.js';
|
|
57
|
-
export * from './ia-donation-form/recaptcha-manager.js';
|
|
58
5
|
export * from './ia-dropdown-search-bar/ia-dropdown-search-bar.js';
|
|
59
6
|
export * from './ia-expandable-search-bar/ia-expandable-search-bar.js';
|
|
60
7
|
export * from './ia-expandable-search-bar/ia-quick-search.js';
|
|
@@ -79,11 +26,12 @@ export * from './ia-radio-player/search/models.js';
|
|
|
79
26
|
export * from './ia-radio-player/search/search-handler.js';
|
|
80
27
|
export * from './ia-radio-player/search/search-helper.js';
|
|
81
28
|
export * from './ia-radio-player/search/transcript-index.js';
|
|
29
|
+
export * from './ia-reviews/ia-review.js';
|
|
30
|
+
export * from './ia-reviews/ia-review-form.js';
|
|
31
|
+
export * from './ia-reviews/ia-reviews.js';
|
|
82
32
|
export * from './ia-scrubber-bar/ia-scrubber-bar.js';
|
|
83
33
|
export * from './ia-scrubber-bar/ia-section-marker.js';
|
|
84
34
|
export * from './ia-scrubber-bar/models.js';
|
|
85
|
-
export * from './ia-topnav/ia-topnav.js';
|
|
86
|
-
export * from './ia-topnav/models.js';
|
|
87
35
|
export * from './ia-transcript-view/duration-formatter.js';
|
|
88
36
|
export * from './ia-transcript-view/ia-transcript-entry.js';
|
|
89
37
|
export * from './ia-transcript-view/ia-transcript-view.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mDAAmD,CAAC;AAClE,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,wDAAwD,CAAC;AACvE,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,wDAAwD,CAAC;AACvE,cAAc,kDAAkD,CAAC;AACjE,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC"}
|
|
@@ -2,59 +2,6 @@ export * from './ia-audio-element/ia-audio-element.js';
|
|
|
2
2
|
export * from './ia-audio-element/models.js';
|
|
3
3
|
export * from './ia-button/ia-button.js';
|
|
4
4
|
export * from './ia-combo-box/ia-combo-box.js';
|
|
5
|
-
export * from './ia-donation-form/braintree/braintree-manager.js';
|
|
6
|
-
export * from './ia-donation-form/braintree/braintree-manager-interface.js';
|
|
7
|
-
export * from './ia-donation-form/braintree/hosting-environment.js';
|
|
8
|
-
export * from './ia-donation-form/braintree/payment-clients.js';
|
|
9
|
-
export * from './ia-donation-form/braintree/payment-providers.js';
|
|
10
|
-
export * from './ia-donation-form/braintree/payment-providers-interface.js';
|
|
11
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js';
|
|
12
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js';
|
|
13
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js';
|
|
14
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js';
|
|
15
|
-
export * from './ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js';
|
|
16
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/credit-card.js';
|
|
17
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js';
|
|
18
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js';
|
|
19
|
-
export * from './ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js';
|
|
20
|
-
export * from './ia-donation-form/braintree/payment-providers/google-pay/google-pay.js';
|
|
21
|
-
export * from './ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js';
|
|
22
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal.js';
|
|
23
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js';
|
|
24
|
-
export * from './ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js';
|
|
25
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo.js';
|
|
26
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js';
|
|
27
|
-
export * from './ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js';
|
|
28
|
-
export * from './ia-donation-form/analytics.js';
|
|
29
|
-
export * from './ia-donation-form/currency-validator.js';
|
|
30
|
-
export * from './ia-donation-form/donation-form-error.js';
|
|
31
|
-
export * from './ia-donation-form/flow-handlers/donation-flow-modal-manager.js';
|
|
32
|
-
export * from './ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js';
|
|
33
|
-
export * from './ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js';
|
|
34
|
-
export * from './ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js';
|
|
35
|
-
export * from './ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js';
|
|
36
|
-
export * from './ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js';
|
|
37
|
-
export * from './ia-donation-form/flow-handlers/payment-flow-handlers.js';
|
|
38
|
-
export * from './ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js';
|
|
39
|
-
export * from './ia-donation-form/form-elements/ia-donation-badged-input.js';
|
|
40
|
-
export * from './ia-donation-form/form-elements/ia-donation-edit-donation.js';
|
|
41
|
-
export * from './ia-donation-form/form-elements/ia-donation-header.js';
|
|
42
|
-
export * from './ia-donation-form/form-elements/ia-donation-payment-selector.js';
|
|
43
|
-
export * from './ia-donation-form/form-elements/ia-donation-section.js';
|
|
44
|
-
export * from './ia-donation-form/form-elements/ia-donation-summary.js';
|
|
45
|
-
export * from './ia-donation-form/form-elements/ia-donation-total-amount.js';
|
|
46
|
-
export * from './ia-donation-form/ia-donation-form.js';
|
|
47
|
-
export * from './ia-donation-form/ia-donation-form-controller.js';
|
|
48
|
-
export * from './ia-donation-form/modals/ia-donation-confirm-modal.js';
|
|
49
|
-
export * from './ia-donation-form/modals/ia-donation-error-modal-content.js';
|
|
50
|
-
export * from './ia-donation-form/modals/ia-donation-upsell-modal-content.js';
|
|
51
|
-
export * from './ia-donation-form/models/donation-payment-info.js';
|
|
52
|
-
export * from './ia-donation-form/models/donation-request.js';
|
|
53
|
-
export * from './ia-donation-form/models/donation-response.js';
|
|
54
|
-
export * from './ia-donation-form/models/donation-type.js';
|
|
55
|
-
export * from './ia-donation-form/models/donor-contact-info.js';
|
|
56
|
-
export * from './ia-donation-form/models/payment-provider.js';
|
|
57
|
-
export * from './ia-donation-form/recaptcha-manager.js';
|
|
58
5
|
export * from './ia-dropdown-search-bar/ia-dropdown-search-bar.js';
|
|
59
6
|
export * from './ia-expandable-search-bar/ia-expandable-search-bar.js';
|
|
60
7
|
export * from './ia-expandable-search-bar/ia-quick-search.js';
|
|
@@ -79,11 +26,12 @@ export * from './ia-radio-player/search/models.js';
|
|
|
79
26
|
export * from './ia-radio-player/search/search-handler.js';
|
|
80
27
|
export * from './ia-radio-player/search/search-helper.js';
|
|
81
28
|
export * from './ia-radio-player/search/transcript-index.js';
|
|
29
|
+
export * from './ia-reviews/ia-review.js';
|
|
30
|
+
export * from './ia-reviews/ia-review-form.js';
|
|
31
|
+
export * from './ia-reviews/ia-reviews.js';
|
|
82
32
|
export * from './ia-scrubber-bar/ia-scrubber-bar.js';
|
|
83
33
|
export * from './ia-scrubber-bar/ia-section-marker.js';
|
|
84
34
|
export * from './ia-scrubber-bar/models.js';
|
|
85
|
-
export * from './ia-topnav/ia-topnav.js';
|
|
86
|
-
export * from './ia-topnav/models.js';
|
|
87
35
|
export * from './ia-transcript-view/duration-formatter.js';
|
|
88
36
|
export * from './ia-transcript-view/ia-transcript-entry.js';
|
|
89
37
|
export * from './ia-transcript-view/ia-transcript-view.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/elements/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iDAAiD,CAAC;AAChE,cAAc,qDAAqD,CAAC;AACpE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;AAClD,cAAc,mDAAmD,CAAC;AAClE,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2DAA2D,CAAC;AAC1E,cAAc,wDAAwD,CAAC;AACvE,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6DAA6D,CAAC;AAC5E,cAAc,wDAAwD,CAAC;AACvE,cAAc,kDAAkD,CAAC;AACjE,cAAc,iCAAiC,CAAC;AAChD,cAAc,yCAAyC,CAAC;AACxD,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './ia-audio-element/ia-audio-element';\nexport * from './ia-audio-element/models';\nexport * from './ia-button/ia-button';\nexport * from './ia-combo-box/ia-combo-box';\nexport * from './ia-dropdown-search-bar/ia-dropdown-search-bar';\nexport * from './ia-expandable-search-bar/ia-expandable-search-bar';\nexport * from './ia-expandable-search-bar/ia-quick-search';\nexport * from './ia-expandable-search-bar/models';\nexport * from './ia-histogram-date-range/ia-histogram-date-range';\nexport * from './ia-histogram-date-range/models';\nexport * from './ia-image-viewer/ia-image-viewer';\nexport * from './ia-item-navigator/ia-item-navigator';\nexport * from './ia-item-navigator/menus/ia-itemnav-viewable-files-panel';\nexport * from './ia-item-navigator/menus/ia-itemnav-sort-files-button';\nexport * from './ia-item-navigator/menus/ia-itemnav-share-panel';\nexport * from './ia-playback-controls/ia-playback-controls';\nexport * from './ia-playback-controls/models';\nexport * from './ia-radio-player/ia-radio-player';\nexport * from './ia-radio-player/ia-search-results-switcher';\nexport * from './ia-radio-player/models';\nexport * from './ia-radio-player/search/backends/full-text-search-backend';\nexport * from './ia-radio-player/search/backends/full-text-search-response';\nexport * from './ia-radio-player/search/backends/local-search-backend';\nexport * from './ia-radio-player/search/backends/search-backend';\nexport * from './ia-radio-player/search/models';\nexport * from './ia-radio-player/search/search-handler';\nexport * from './ia-radio-player/search/search-helper';\nexport * from './ia-radio-player/search/transcript-index';\nexport * from './ia-reviews/ia-review';\nexport * from './ia-reviews/ia-review-form';\nexport * from './ia-reviews/ia-reviews';\nexport * from './ia-scrubber-bar/ia-scrubber-bar';\nexport * from './ia-scrubber-bar/ia-section-marker';\nexport * from './ia-scrubber-bar/models';\nexport * from './ia-transcript-view/duration-formatter';\nexport * from './ia-transcript-view/ia-transcript-entry';\nexport * from './ia-transcript-view/ia-transcript-view';\nexport * from './ia-transcript-view/models';\nexport * from './ia-waveform-progress/ia-waveform-progress';\nexport * from './ia-waveform-progress/models';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@internetarchive/elements",
|
|
3
|
-
"version": "1.1.3-
|
|
3
|
+
"version": "1.1.3-webdev-9107.0",
|
|
4
4
|
"description": "A web component library from the Internet Archive.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"types": "./dist/src/elements/index.d.ts",
|
|
@@ -30,40 +30,32 @@
|
|
|
30
30
|
"circular": "wireit",
|
|
31
31
|
"prepare": "wireit",
|
|
32
32
|
"test": "wireit",
|
|
33
|
-
"ghpages:build": "wireit"
|
|
34
|
-
"strings:extract": "wireit",
|
|
35
|
-
"strings:build": "wireit"
|
|
33
|
+
"ghpages:build": "wireit"
|
|
36
34
|
},
|
|
37
35
|
"dependencies": {
|
|
38
|
-
"@internetarchive/
|
|
36
|
+
"@internetarchive/fetch-handler": "^1.4.0",
|
|
39
37
|
"@internetarchive/ia-clearable-text-input": "^1.1.1",
|
|
40
38
|
"@internetarchive/ia-dropdown": "^2.2.0",
|
|
41
|
-
"@internetarchive/
|
|
42
|
-
"@internetarchive/
|
|
43
|
-
"@internetarchive/promised-singleton": "0.3.0-alpha.1",
|
|
39
|
+
"@internetarchive/metadata-service": "^1.0.4",
|
|
40
|
+
"@internetarchive/recaptcha-manager": "^1.0.0",
|
|
44
41
|
"@lit/localize": "^0.12.2",
|
|
45
|
-
"@types/applepayjs": "^14.0.9",
|
|
46
|
-
"@types/braintree-web": "^3.143.0",
|
|
47
|
-
"@types/googlepay": "^0.7.12",
|
|
48
|
-
"@types/grecaptcha": "^3.0.9",
|
|
49
|
-
"@types/paypal-checkout-components": "^4.0.8",
|
|
50
|
-
"currency.js": "^2.0.4",
|
|
51
42
|
"dayjs": "^1.11.23",
|
|
43
|
+
"dompurify": "^3.2.5",
|
|
52
44
|
"lit": "^2.8.0 || ^3.3.2",
|
|
53
45
|
"magic-snowflakes": "^7.0.2",
|
|
54
|
-
"nanoevents": "^9.1.0",
|
|
55
46
|
"tslib": "^2.8.1"
|
|
56
47
|
},
|
|
57
48
|
"devDependencies": {
|
|
58
49
|
"@eslint/eslintrc": "^3.3.5",
|
|
59
50
|
"@eslint/js": "^9.39.1",
|
|
60
|
-
"@lit/localize-tools": "^0.8.2",
|
|
61
51
|
"@open-wc/testing-helpers": "^3.0.1",
|
|
52
|
+
"@types/grecaptcha": "^3.0.9",
|
|
62
53
|
"@typescript-eslint/eslint-plugin": "^8.46.4",
|
|
63
54
|
"@typescript-eslint/parser": "^8.46.4",
|
|
64
55
|
"@vitest/browser": "^4.0.8",
|
|
65
56
|
"@vitest/browser-playwright": "^4.0.8",
|
|
66
57
|
"@vitest/coverage-v8": "^4.0.8",
|
|
58
|
+
"axe-core": "^4.10.2",
|
|
67
59
|
"eslint": "^9.39.1",
|
|
68
60
|
"eslint-config-prettier": "^10.1.8",
|
|
69
61
|
"eslint-plugin-html": "^8.1.3",
|
|
@@ -86,8 +78,7 @@
|
|
|
86
78
|
"exports": {
|
|
87
79
|
".": "./dist/src/index.js",
|
|
88
80
|
"./*": "./dist/src/elements/*.js",
|
|
89
|
-
"./labs/*": "./dist/src/labs/*.js"
|
|
90
|
-
"./locales/*.js": "./dist/src/locales/*.js"
|
|
81
|
+
"./labs/*": "./dist/src/labs/*.js"
|
|
91
82
|
},
|
|
92
83
|
"files": [
|
|
93
84
|
"README.md",
|
|
@@ -149,24 +140,6 @@
|
|
|
149
140
|
},
|
|
150
141
|
"ghpages:build": {
|
|
151
142
|
"command": "vite build --config vite.config.ghpages.ts && touch ./ghpages/.nojekyll"
|
|
152
|
-
},
|
|
153
|
-
"strings:extract": {
|
|
154
|
-
"command": "lit-localize extract",
|
|
155
|
-
"files": [
|
|
156
|
-
"src/**/*.ts",
|
|
157
|
-
"lit-localize.json",
|
|
158
|
-
"tsconfig.json"
|
|
159
|
-
]
|
|
160
|
-
},
|
|
161
|
-
"strings:build": {
|
|
162
|
-
"command": "node scripts/build-locales.mts && prettier --write \"src/locales/*.ts\"",
|
|
163
|
-
"files": [
|
|
164
|
-
"xliff/*.xlf",
|
|
165
|
-
"src/**/*.ts",
|
|
166
|
-
"!src/locales/*.ts",
|
|
167
|
-
"lit-localize.json",
|
|
168
|
-
"scripts/build-locales.mts"
|
|
169
|
-
]
|
|
170
143
|
}
|
|
171
144
|
}
|
|
172
145
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The analytics hooks the controller hands down to the flow handlers, so they
|
|
3
|
-
* can log events in the donation form's category without knowing about the
|
|
4
|
-
* analytics manager.
|
|
5
|
-
*/
|
|
6
|
-
export interface DonationEventLoggerInterface {
|
|
7
|
-
/** A sampled event in the form's own category */
|
|
8
|
-
logEvent(action: string, label?: string): void;
|
|
9
|
-
/** An unsampled event in the `DonationFlow` category, for the money-moving steps */
|
|
10
|
-
logDonationFlowEvent(action: string, label?: string): void;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-donation-form/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,oFAAoF;IACpF,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5D"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../src/elements/ia-donation-form/analytics.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * The analytics hooks the controller hands down to the flow handlers, so they\n * can log events in the donation form's category without knowing about the\n * analytics manager.\n */\nexport interface DonationEventLoggerInterface {\n /** A sampled event in the form's own category */\n logEvent(action: string, label?: string): void;\n /** An unsampled event in the `DonationFlow` category, for the money-moving steps */\n logDonationFlowEvent(action: string, label?: string): void;\n}\n"]}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type * as braintree from 'braintree-web';
|
|
2
|
-
import type { PromisedSingleton } from '@internetarchive/promised-singleton';
|
|
3
|
-
import type { Unsubscribe } from 'nanoevents';
|
|
4
|
-
import type { BillingInfo, CustomerInfo } from '../models/donor-contact-info.js';
|
|
5
|
-
import type { DonationPaymentInfo } from '../models/donation-payment-info.js';
|
|
6
|
-
import type { DonationRequest } from '../models/donation-request.js';
|
|
7
|
-
import type { DonationResponse, SuccessResponse } from '../models/donation-response.js';
|
|
8
|
-
import type { PaymentProvider } from '../models/payment-provider.js';
|
|
9
|
-
import type { PaymentProvidersInterface } from './payment-providers-interface.js';
|
|
10
|
-
export interface BraintreeManagerEvents {
|
|
11
|
-
paymentProvidersHostedFieldsRetry: (retryNumber: number) => void;
|
|
12
|
-
paymentProvidersHostedFieldsFailed: (error: unknown) => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* The BraintreeManager is the main entry point for the shared Braintree
|
|
16
|
-
* functionality. One instance is created and handed down through all of the
|
|
17
|
-
* components.
|
|
18
|
-
*/
|
|
19
|
-
export interface BraintreeManagerInterface {
|
|
20
|
-
on<E extends keyof BraintreeManagerEvents>(event: E, callback: BraintreeManagerEvents[E]): Unsubscribe;
|
|
21
|
-
/**
|
|
22
|
-
* The IA-specific handlers for each payment provider. They're data-focused
|
|
23
|
-
* rather than UI-focused, though there's some overlap with the flow handlers.
|
|
24
|
-
*/
|
|
25
|
-
paymentProviders: PaymentProvidersInterface;
|
|
26
|
-
/** The Braintree client instance, used to create the provider clients. */
|
|
27
|
-
instance: PromisedSingleton<braintree.Client>;
|
|
28
|
-
/** Set the referrer for later submission */
|
|
29
|
-
setReferrer(referrer: string): void;
|
|
30
|
-
/** Set the origin for later submission */
|
|
31
|
-
setOrigin(origin: string): void;
|
|
32
|
-
/** Set the logged-in user for later submission */
|
|
33
|
-
setLoggedInUser(loggedInUser: string): void;
|
|
34
|
-
/** Perform startup tasks like device data collection */
|
|
35
|
-
startup(): void;
|
|
36
|
-
/** Submit a donation to the backend */
|
|
37
|
-
submitDonation(options: {
|
|
38
|
-
nonce: string;
|
|
39
|
-
paymentProvider: PaymentProvider;
|
|
40
|
-
donationInfo: DonationPaymentInfo;
|
|
41
|
-
billingInfo: BillingInfo;
|
|
42
|
-
customerInfo: CustomerInfo;
|
|
43
|
-
upsellOnetimeTransactionId?: string;
|
|
44
|
-
customerId?: string;
|
|
45
|
-
recaptchaToken?: string;
|
|
46
|
-
/** First 6 digits of the credit card */
|
|
47
|
-
bin?: string;
|
|
48
|
-
/** The credit card's bank name */
|
|
49
|
-
binName?: string;
|
|
50
|
-
}): Promise<DonationResponse>;
|
|
51
|
-
/** Submit the monthly upsell that follows a one-time donation */
|
|
52
|
-
submitUpsellDonation(options: {
|
|
53
|
-
oneTimeDonationResponse: SuccessResponse;
|
|
54
|
-
amount: number;
|
|
55
|
-
}): Promise<DonationResponse>;
|
|
56
|
-
/** Finish the donation after a successful completion */
|
|
57
|
-
donationSuccessful(options: {
|
|
58
|
-
successResponse: SuccessResponse;
|
|
59
|
-
upsellSuccessResponse?: SuccessResponse;
|
|
60
|
-
}): void;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* The consumer's bridge to its backend: it submits the donation request and
|
|
64
|
-
* is told when the whole flow is finished so it can redirect to a thank-you
|
|
65
|
-
* page.
|
|
66
|
-
*/
|
|
67
|
-
export interface BraintreeEndpointManagerInterface {
|
|
68
|
-
/** Submit the request to the backend and return its modeled response. */
|
|
69
|
-
submitData(request: DonationRequest): Promise<DonationResponse>;
|
|
70
|
-
/**
|
|
71
|
-
* Called once the donor is done with the flow, after a monthly donation or
|
|
72
|
-
* after the upsell step, so the consumer can redirect them.
|
|
73
|
-
*/
|
|
74
|
-
donationSuccessful(options: {
|
|
75
|
-
successResponse: SuccessResponse;
|
|
76
|
-
upsellSuccessResponse?: SuccessResponse;
|
|
77
|
-
}): void;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=braintree-manager-interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"braintree-manager-interface.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/braintree/braintree-manager-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACrC,iCAAiC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,kCAAkC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9D;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,EAAE,CAAC,CAAC,SAAS,MAAM,sBAAsB,EACvC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAClC,WAAW,CAAC;IAEf;;;OAGG;IACH,gBAAgB,EAAE,yBAAyB,CAAC;IAE5C,0EAA0E;IAC1E,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE9C,4CAA4C;IAC5C,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,0CAA0C;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,kDAAkD;IAClD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5C,wDAAwD;IACxD,OAAO,IAAI,IAAI,CAAC;IAEhB,uCAAuC;IACvC,cAAc,CAAC,OAAO,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,eAAe,CAAC;QACjC,YAAY,EAAE,mBAAmB,CAAC;QAClC,WAAW,EAAE,WAAW,CAAC;QACzB,YAAY,EAAE,YAAY,CAAC;QAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;QACpC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,wCAAwC;QACxC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,kCAAkC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9B,iEAAiE;IACjE,oBAAoB,CAAC,OAAO,EAAE;QAC5B,uBAAuB,EAAE,eAAe,CAAC;QACzC,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9B,wDAAwD;IACxD,kBAAkB,CAAC,OAAO,EAAE;QAC1B,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,CAAC,EAAE,eAAe,CAAC;KACzC,GAAG,IAAI,CAAC;CACV;AAED;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAChD,yEAAyE;IACzE,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEhE;;;OAGG;IACH,kBAAkB,CAAC,OAAO,EAAE;QAC1B,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,CAAC,EAAE,eAAe,CAAC;KACzC,GAAG,IAAI,CAAC;CACV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"braintree-manager-interface.js","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/braintree/braintree-manager-interface.ts"],"names":[],"mappings":"","sourcesContent":["import type * as braintree from 'braintree-web';\nimport type { PromisedSingleton } from '@internetarchive/promised-singleton';\nimport type { Unsubscribe } from 'nanoevents';\n\nimport type { BillingInfo, CustomerInfo } from '../models/donor-contact-info';\nimport type { DonationPaymentInfo } from '../models/donation-payment-info';\nimport type { DonationRequest } from '../models/donation-request';\nimport type {\n DonationResponse,\n SuccessResponse,\n} from '../models/donation-response';\nimport type { PaymentProvider } from '../models/payment-provider';\nimport type { PaymentProvidersInterface } from './payment-providers-interface';\n\nexport interface BraintreeManagerEvents {\n paymentProvidersHostedFieldsRetry: (retryNumber: number) => void;\n paymentProvidersHostedFieldsFailed: (error: unknown) => void;\n}\n\n/**\n * The BraintreeManager is the main entry point for the shared Braintree\n * functionality. One instance is created and handed down through all of the\n * components.\n */\nexport interface BraintreeManagerInterface {\n on<E extends keyof BraintreeManagerEvents>(\n event: E,\n callback: BraintreeManagerEvents[E],\n ): Unsubscribe;\n\n /**\n * The IA-specific handlers for each payment provider. They're data-focused\n * rather than UI-focused, though there's some overlap with the flow handlers.\n */\n paymentProviders: PaymentProvidersInterface;\n\n /** The Braintree client instance, used to create the provider clients. */\n instance: PromisedSingleton<braintree.Client>;\n\n /** Set the referrer for later submission */\n setReferrer(referrer: string): void;\n\n /** Set the origin for later submission */\n setOrigin(origin: string): void;\n\n /** Set the logged-in user for later submission */\n setLoggedInUser(loggedInUser: string): void;\n\n /** Perform startup tasks like device data collection */\n startup(): void;\n\n /** Submit a donation to the backend */\n submitDonation(options: {\n nonce: string;\n paymentProvider: PaymentProvider;\n donationInfo: DonationPaymentInfo;\n billingInfo: BillingInfo;\n customerInfo: CustomerInfo;\n upsellOnetimeTransactionId?: string;\n customerId?: string;\n recaptchaToken?: string;\n /** First 6 digits of the credit card */\n bin?: string;\n /** The credit card's bank name */\n binName?: string;\n }): Promise<DonationResponse>;\n\n /** Submit the monthly upsell that follows a one-time donation */\n submitUpsellDonation(options: {\n oneTimeDonationResponse: SuccessResponse;\n amount: number;\n }): Promise<DonationResponse>;\n\n /** Finish the donation after a successful completion */\n donationSuccessful(options: {\n successResponse: SuccessResponse;\n upsellSuccessResponse?: SuccessResponse;\n }): void;\n}\n\n/**\n * The consumer's bridge to its backend: it submits the donation request and\n * is told when the whole flow is finished so it can redirect to a thank-you\n * page.\n */\nexport interface BraintreeEndpointManagerInterface {\n /** Submit the request to the backend and return its modeled response. */\n submitData(request: DonationRequest): Promise<DonationResponse>;\n\n /**\n * Called once the donor is done with the flow, after a monthly donation or\n * after the upsell step, so the consumer can redirect them.\n */\n donationSuccessful(options: {\n successResponse: SuccessResponse;\n upsellSuccessResponse?: SuccessResponse;\n }): void;\n}\n"]}
|