@internetarchive/elements 1.1.2 → 1.1.3-l10n-demo.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/dist/src/elements/ia-button/ia-button.d.ts.map +1 -1
- package/dist/src/elements/ia-button/ia-button.js +2 -2
- package/dist/src/elements/ia-button/ia-button.js.map +1 -1
- package/dist/src/elements/ia-combo-box/ia-combo-box.d.ts.map +1 -1
- package/dist/src/elements/ia-combo-box/ia-combo-box.js +3 -2
- package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
- package/dist/src/elements/ia-donation-form/analytics.d.ts +12 -0
- package/dist/src/elements/ia-donation-form/analytics.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/analytics.js +2 -0
- package/dist/src/elements/ia-donation-form/analytics.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts +79 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts +73 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js +126 -0
- package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js +9 -0
- package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts +47 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js +104 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-clients.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +20 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js +83 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js +13 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js +67 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts +18 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts +41 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js +95 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts +14 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js +9 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts +40 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js +58 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts +19 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js +45 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts +57 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js +44 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts +14 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js +44 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts +40 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js +65 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts +25 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js +42 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts +18 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js +2 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts +42 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js +99 -0
- package/dist/src/elements/ia-donation-form/braintree/payment-providers.js.map +1 -0
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts +16 -0
- package/dist/src/elements/ia-donation-form/currency-validator.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/currency-validator.js +37 -0
- package/dist/src/elements/ia-donation-form/currency-validator.js.map +1 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts +5 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.js +8 -0
- package/dist/src/elements/ia-donation-form/donation-form-error.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts +118 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js +194 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts +24 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js +70 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts +44 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js +110 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts +24 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js +74 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts +47 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js +204 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts +30 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js +77 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts +80 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js +72 -0
- package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts +2 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js +2 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts +3 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js +254 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts +70 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js +497 -0
- package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts +26 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js +163 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts +118 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js +772 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts +31 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js +93 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts +33 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js +378 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts +21 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js +182 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts +11 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js +60 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js +76 -0
- package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts +114 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js +586 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts +94 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.js +516 -0
- package/dist/src/elements/ia-donation-form/ia-donation-form.js.map +1 -0
- package/dist/src/elements/ia-donation-form/icons/apple-pay.svg +22 -0
- package/dist/src/elements/ia-donation-form/icons/calendar.svg +15 -0
- package/dist/src/elements/ia-donation-form/icons/credit-card.svg +15 -0
- package/dist/src/elements/ia-donation-form/icons/email.svg +3 -0
- package/dist/src/elements/ia-donation-form/icons/google-pay.svg +38 -0
- package/dist/src/elements/ia-donation-form/icons/locale-pin.svg +7 -0
- package/dist/src/elements/ia-donation-form/icons/lock.svg +6 -0
- package/dist/src/elements/ia-donation-form/icons/paypal.svg +39 -0
- package/dist/src/elements/ia-donation-form/icons/user.svg +6 -0
- package/dist/src/elements/ia-donation-form/icons/venmo.svg +9 -0
- package/dist/src/elements/ia-donation-form/icons.d.ts +12 -0
- package/dist/src/elements/ia-donation-form/icons.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/icons.js +33 -0
- package/dist/src/elements/ia-donation-form/icons.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts +27 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js +196 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts +7 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js +64 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts +28 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js +314 -0
- package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts +34 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js +54 -0
- package/dist/src/elements/ia-donation-form/models/donation-payment-info.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts +62 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.js +35 -0
- package/dist/src/elements/ia-donation-form/models/donation-request.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts +67 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.js +57 -0
- package/dist/src/elements/ia-donation-form/models/donation-response.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts +8 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.js +7 -0
- package/dist/src/elements/ia-donation-form/models/donation-type.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts +38 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js +27 -0
- package/dist/src/elements/ia-donation-form/models/donor-contact-info.js.map +1 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts +10 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.js +9 -0
- package/dist/src/elements/ia-donation-form/models/payment-provider.js.map +1 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts +36 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts.map +1 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js +76 -0
- package/dist/src/elements/ia-donation-form/recaptcha-manager.js.map +1 -0
- package/dist/src/elements/ia-dropdown/assets/caret-down.svg +4 -0
- package/dist/src/elements/ia-dropdown/assets/caret-up.svg +4 -0
- package/dist/src/elements/ia-dropdown/ia-dropdown.d.ts +185 -0
- package/dist/src/elements/ia-dropdown/ia-dropdown.d.ts.map +1 -0
- package/dist/src/elements/ia-dropdown/ia-dropdown.js +762 -0
- package/dist/src/elements/ia-dropdown/ia-dropdown.js.map +1 -0
- package/dist/src/elements/ia-dropdown/ia-icon-label.d.ts +10 -0
- package/dist/src/elements/ia-dropdown/ia-icon-label.d.ts.map +1 -0
- package/dist/src/elements/ia-dropdown/ia-icon-label.js +103 -0
- package/dist/src/elements/ia-dropdown/ia-icon-label.js.map +1 -0
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts +3 -3
- 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 -6
- package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js.map +1 -1
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts +4 -4
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts.map +1 -1
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js +5 -8
- package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-image-viewer.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.d.ts.map +1 -1
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js +3 -2
- package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js.map +1 -1
- package/dist/src/elements/ia-otp-form/ia-otp-form.d.ts.map +1 -1
- package/dist/src/elements/ia-otp-form/ia-otp-form.js +3 -2
- package/dist/src/elements/ia-otp-form/ia-otp-form.js.map +1 -1
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +3 -2
- package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-radio-player.js +3 -2
- package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.d.ts.map +1 -1
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js +3 -2
- package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
- package/dist/src/elements/ia-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 +103 -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 +685 -0
- package/dist/src/elements/ia-reviews/ia-review-form.js.map +1 -0
- package/dist/src/elements/ia-reviews/ia-review.d.ts +51 -0
- package/dist/src/elements/ia-reviews/ia-review.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/ia-review.js +344 -0
- package/dist/src/elements/ia-reviews/ia-review.js.map +1 -0
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts +68 -0
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/ia-reviews.js +354 -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 +23 -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 +37 -0
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +1 -0
- package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts +12 -0
- package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/mocks/mock-review-service.js +19 -0
- package/dist/src/elements/ia-reviews/mocks/mock-review-service.js.map +1 -0
- package/dist/src/elements/ia-reviews/models.d.ts +38 -0
- package/dist/src/elements/ia-reviews/models.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/models.js +2 -0
- package/dist/src/elements/ia-reviews/models.js.map +1 -0
- package/dist/src/elements/ia-reviews/review-service.d.ts +53 -0
- package/dist/src/elements/ia-reviews/review-service.d.ts.map +1 -0
- package/dist/src/elements/ia-reviews/review-service.js +97 -0
- package/dist/src/elements/ia-reviews/review-service.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 +4 -5
- package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts +3 -3
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +7 -12
- package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +28 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js +20 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +30 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +18 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +21 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +6 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.js +17 -0
- package/dist/src/elements/ia-topnav/assets/img/icon.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +19 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.js +33 -0
- package/dist/src/elements/ia-topnav/assets/img/icons.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +21 -0
- package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +3 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +13 -0
- package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +1 -0
- package/dist/src/elements/ia-topnav/data/menus.d.ts +17 -0
- package/dist/src/elements/ia-topnav/data/menus.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/data/menus.js +754 -0
- package/dist/src/elements/ia-topnav/data/menus.js.map +1 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +21 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.js +315 -0
- package/dist/src/elements/ia-topnav/dropdown-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +11 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +89 -0
- package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +6 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +47 -0
- package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +183 -0
- package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +31 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +287 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +21 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +222 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +16 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +221 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +285 -0
- package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +12 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +65 -0
- package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +53 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +653 -0
- package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +12 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +128 -0
- package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +4 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +10 -0
- package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +7 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +39 -0
- package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +10 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +64 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +20 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +131 -0
- package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts +88 -0
- package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/ia-topnav.js +443 -0
- package/dist/src/elements/ia-topnav/ia-topnav.js.map +1 -0
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts +13 -0
- package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/lib/helpers.js +24 -0
- package/dist/src/elements/ia-topnav/lib/helpers.js.map +1 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +46 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +136 -0
- package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +1 -0
- package/dist/src/elements/ia-topnav/models.d.ts +65 -0
- package/dist/src/elements/ia-topnav/models.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/models.js +10 -0
- package/dist/src/elements/ia-topnav/models.js.map +1 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +2 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.js +49 -0
- package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +1 -0
- package/dist/src/elements/ia-topnav/tracked-element.d.ts +6 -0
- package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +1 -0
- package/dist/src/elements/ia-topnav/tracked-element.js +29 -0
- package/dist/src/elements/ia-topnav/tracked-element.js.map +1 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.d.ts.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js +4 -0
- package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +3 -2
- package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
- package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts +24 -0
- package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts.map +1 -0
- package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js +240 -0
- package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js.map +1 -0
- package/dist/src/elements/index.d.ts +63 -0
- package/dist/src/elements/index.d.ts.map +1 -1
- package/dist/src/elements/index.js +63 -0
- package/dist/src/elements/index.js.map +1 -1
- package/dist/src/locales/es.d.ts +254 -0
- package/dist/src/locales/es.d.ts.map +1 -0
- package/dist/src/locales/es.js +304 -0
- package/dist/src/locales/es.js.map +1 -0
- package/package.json +43 -6
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { CSSResultGroup, LitElement, PropertyValues, nothing } from 'lit';
|
|
2
|
+
import './ia-topnav-desktop-subnav.js';
|
|
3
|
+
import './dropdown-menu.js';
|
|
4
|
+
import './ia-topnav-media-slider.js';
|
|
5
|
+
import { IATopNavConfig, IATopNavSecondIdentitySlotMode } from './models.js';
|
|
6
|
+
import './ia-topnav-primary-nav.js';
|
|
7
|
+
import './ia-topnav-signed-out-dropdown.js';
|
|
8
|
+
import './ia-topnav-user-menu.js';
|
|
9
|
+
export declare class IATopNav extends LitElement {
|
|
10
|
+
localLinks: boolean;
|
|
11
|
+
waybackPagesArchived: string;
|
|
12
|
+
baseHost: string;
|
|
13
|
+
mediaBaseHost: string;
|
|
14
|
+
admin: boolean;
|
|
15
|
+
canManageFlags: boolean;
|
|
16
|
+
config: IATopNavConfig;
|
|
17
|
+
hideSearch: boolean;
|
|
18
|
+
itemIdentifier: string;
|
|
19
|
+
/**
|
|
20
|
+
* Email of the item's uploader. When set for an admin viewing an item, the
|
|
21
|
+
* user menu gets an "uploader:" section with user admin / user privs links.
|
|
22
|
+
*/
|
|
23
|
+
uploader: string;
|
|
24
|
+
/**
|
|
25
|
+
* Biblio URL for a texts item, which must already carry a query string
|
|
26
|
+
* (the item identifier is appended to it as `&ignored=`). When set for an
|
|
27
|
+
* admin viewing an item, the user menu gets biblio / bookview / jp2 zip links.
|
|
28
|
+
*/
|
|
29
|
+
biblio: string;
|
|
30
|
+
mediaSliderOpen: boolean;
|
|
31
|
+
openMenu: string;
|
|
32
|
+
screenName: string;
|
|
33
|
+
selectedMenuOption: string;
|
|
34
|
+
username: string;
|
|
35
|
+
userProfileImagePath: string;
|
|
36
|
+
secondIdentitySlotMode: IATopNavSecondIdentitySlotMode;
|
|
37
|
+
currentTab?: {
|
|
38
|
+
mediatype: string;
|
|
39
|
+
moveTo: string;
|
|
40
|
+
};
|
|
41
|
+
private primaryNav?;
|
|
42
|
+
/** Only one of ia-topnav-user-menu or ia-topnav-signed-out-dropdown is rendered at a time. */
|
|
43
|
+
private accountDropdown?;
|
|
44
|
+
private menus;
|
|
45
|
+
private boundHandleKeydown;
|
|
46
|
+
private boundHandleClick;
|
|
47
|
+
private boundHandleLocaleStatus;
|
|
48
|
+
connectedCallback(): void;
|
|
49
|
+
disconnectedCallback(): void;
|
|
50
|
+
willUpdate(props: PropertyValues): void;
|
|
51
|
+
render(): import("lit").TemplateResult<1>;
|
|
52
|
+
private get normalizedBaseHost();
|
|
53
|
+
private handleDocumentKeydown;
|
|
54
|
+
private handleDocumentClick;
|
|
55
|
+
/** The menu labels are built by `buildTopNavMenus()`, so a new locale needs a rebuild. */
|
|
56
|
+
private handleLocaleStatus;
|
|
57
|
+
menuSetup(): void;
|
|
58
|
+
menuToggled(e: CustomEvent): void;
|
|
59
|
+
openMediaSlider(): void;
|
|
60
|
+
closeMediaSlider(): void;
|
|
61
|
+
closeMenus(): void;
|
|
62
|
+
trackClick(e: CustomEvent): void;
|
|
63
|
+
trackSubmit(e: CustomEvent): void;
|
|
64
|
+
mediaTypeSelected(e: CustomEvent): void;
|
|
65
|
+
get signedOutOpened(): boolean;
|
|
66
|
+
get userMenuOpened(): boolean;
|
|
67
|
+
get userMenuTabIndex(): "" | "-1";
|
|
68
|
+
get signedOutTabIndex(): "" | "-1";
|
|
69
|
+
get closeLayerClass(): "" | "visible";
|
|
70
|
+
get userMenu(): import("lit").TemplateResult<1>;
|
|
71
|
+
get signedOutDropdown(): import("lit").TemplateResult<1>;
|
|
72
|
+
get signedOutMenuItems(): import("./models.js").IATopNavLink[];
|
|
73
|
+
/**
|
|
74
|
+
* Most users just get the basic menu items.
|
|
75
|
+
* For users with `/items` priv, additional admin menu items are included too.
|
|
76
|
+
* Having the `/flags` priv adds a further admin item for managing flags.
|
|
77
|
+
* A `biblio` URL adds a section of book-scanning links, and an `uploader`
|
|
78
|
+
* adds a section with the uploader's email and account admin links. Each
|
|
79
|
+
* section is rendered with a divider above it.
|
|
80
|
+
*/
|
|
81
|
+
get userMenuItems(): import("./models.js").IATopNavLink[][];
|
|
82
|
+
get allowSecondaryIcon(): boolean;
|
|
83
|
+
get searchSlot(): import("lit").TemplateResult<1>;
|
|
84
|
+
get secondLogoSlot(): import("lit").TemplateResult<1> | typeof nothing;
|
|
85
|
+
get separatorTemplate(): import("lit").TemplateResult<1>;
|
|
86
|
+
static get styles(): CSSResultGroup;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=ia-topnav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-topnav.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,cAAc,EAGd,OAAO,EACR,MAAM,KAAK,CAAC;AAMb,OAAO,4BAA4B,CAAC;AACpC,OAAO,iBAAiB,CAAC;AACzB,OAAO,0BAA0B,CAAC;AAClC,OAAO,EACL,cAAc,EAEd,8BAA8B,EAE/B,MAAM,UAAU,CAAC;AAClB,OAAO,yBAAyB,CAAC;AAEjC,OAAO,iCAAiC,CAAC;AACzC,OAAO,uBAAuB,CAAC;AAG/B,qBACa,QAAS,SAAQ,UAAU;IACT,UAAU,UAAS;IAEpB,oBAAoB,SAAM;IAE1B,QAAQ,SAAyB;IAEjC,aAAa,SAAyB;IAErC,KAAK,UAAS;IAEd,cAAc,UAAS;IAExB,MAAM,EAAE,cAAc,CAAuB;IAE5C,UAAU,UAAS;IAEpB,cAAc,SAAM;IAEhD;;;OAGG;IACyB,QAAQ,SAAM;IAE1C;;;;OAIG;IACyB,MAAM,SAAM;IAEX,eAAe,UAAS;IAEzB,QAAQ,SAAM;IAEd,UAAU,EAAE,MAAM,CAAM;IAExB,kBAAkB,SAAM;IAExB,QAAQ,EAAE,MAAM,CAAM;IAEtB,oBAAoB,SACjB;IAG/B,sBAAsB,EAAE,8BAA8B,CAAM;IAEhC,UAAU,CAAC,EAAE;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAE8B,OAAO,CAAC,UAAU,CAAC,CAAa;IAChE,8FAA8F;IAE9F,OAAO,CAAC,eAAe,CAAC,CAAc;IAE7B,OAAO,CAAC,KAAK,CAA0C;IAEhE,OAAO,CAAC,kBAAkB,CAAyC;IAEnE,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,OAAO,CAAC,uBAAuB,CAAsC;IAErE,iBAAiB;IAOjB,oBAAoB;IAUpB,UAAU,CAAC,KAAK,EAAE,cAAc;IAchC,MAAM;IA+CN,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,mBAAmB;IAQ3B,0FAA0F;IAC1F,OAAO,CAAC,kBAAkB;IAI1B,SAAS;IAYT,WAAW,CAAC,CAAC,EAAE,WAAW;IAoB1B,eAAe;IAIf,gBAAgB;IAKhB,UAAU;IAKV,UAAU,CAAC,CAAC,EAAE,WAAW;IAUzB,WAAW,CAAC,CAAC,EAAE,WAAW;IAU1B,iBAAiB,CAAC,CAAC,EAAE,WAAW;IAShC,IAAI,eAAe,YAElB;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,gBAAgB,cAEnB;IAED,IAAI,iBAAiB,cAEpB;IAED,IAAI,eAAe,mBAElB;IAED,IAAI,QAAQ,oCAeX;IAED,IAAI,iBAAiB,oCAapB;IAED,IAAI,kBAAkB,sCAErB;IAED;;;;;;;OAOG;IACH,IAAI,aAAa,wCAiBhB;IAED,IAAI,kBAAkB,YAErB;IAED,IAAI,UAAU,oCAEb;IAED,IAAI,cAAc,qDAOjB;IAED,IAAI,iBAAiB,oCAEpB;IAED,MAAM,KAAK,MAAM,IAAI,cAAc,CAwFlC;CACF"}
|
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { LitElement, css, html, nothing, } from 'lit';
|
|
3
|
+
import { property, query, state } from 'lit/decorators.js';
|
|
4
|
+
import { customElement } from '../../util/custom-element.js';
|
|
5
|
+
import { LOCALE_STATUS_EVENT } from '@lit/localize';
|
|
6
|
+
import { buildTopNavMenus, defaultTopNavConfig } from './data/menus.js';
|
|
7
|
+
import './ia-topnav-desktop-subnav.js';
|
|
8
|
+
import './dropdown-menu.js';
|
|
9
|
+
import './ia-topnav-media-slider.js';
|
|
10
|
+
import { TOPNAV_MOBILE_BREAKPOINT, } from './models.js';
|
|
11
|
+
import './ia-topnav-primary-nav.js';
|
|
12
|
+
import './ia-topnav-signed-out-dropdown.js';
|
|
13
|
+
import './ia-topnav-user-menu.js';
|
|
14
|
+
import themeStyles from '../../themes/theme-styles.js';
|
|
15
|
+
let IATopNav = class IATopNav extends LitElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.localLinks = false;
|
|
19
|
+
this.waybackPagesArchived = '';
|
|
20
|
+
this.baseHost = 'https://archive.org';
|
|
21
|
+
this.mediaBaseHost = 'https://archive.org';
|
|
22
|
+
this.admin = false;
|
|
23
|
+
this.canManageFlags = false;
|
|
24
|
+
this.config = defaultTopNavConfig;
|
|
25
|
+
this.hideSearch = false;
|
|
26
|
+
this.itemIdentifier = '';
|
|
27
|
+
/**
|
|
28
|
+
* Email of the item's uploader. When set for an admin viewing an item, the
|
|
29
|
+
* user menu gets an "uploader:" section with user admin / user privs links.
|
|
30
|
+
*/
|
|
31
|
+
this.uploader = '';
|
|
32
|
+
/**
|
|
33
|
+
* Biblio URL for a texts item, which must already carry a query string
|
|
34
|
+
* (the item identifier is appended to it as `&ignored=`). When set for an
|
|
35
|
+
* admin viewing an item, the user menu gets biblio / bookview / jp2 zip links.
|
|
36
|
+
*/
|
|
37
|
+
this.biblio = '';
|
|
38
|
+
this.mediaSliderOpen = false;
|
|
39
|
+
this.openMenu = '';
|
|
40
|
+
this.screenName = '';
|
|
41
|
+
this.selectedMenuOption = '';
|
|
42
|
+
this.username = '';
|
|
43
|
+
this.userProfileImagePath = '/services/img/user/profile';
|
|
44
|
+
this.secondIdentitySlotMode = '';
|
|
45
|
+
this.menus = buildTopNavMenus();
|
|
46
|
+
this.boundHandleKeydown = this.handleDocumentKeydown.bind(this);
|
|
47
|
+
this.boundHandleClick = this.handleDocumentClick.bind(this);
|
|
48
|
+
this.boundHandleLocaleStatus = this.handleLocaleStatus.bind(this);
|
|
49
|
+
}
|
|
50
|
+
connectedCallback() {
|
|
51
|
+
super.connectedCallback();
|
|
52
|
+
window.addEventListener(LOCALE_STATUS_EVENT, this.boundHandleLocaleStatus);
|
|
53
|
+
document.addEventListener('keydown', this.boundHandleKeydown);
|
|
54
|
+
document.addEventListener('click', this.boundHandleClick);
|
|
55
|
+
}
|
|
56
|
+
disconnectedCallback() {
|
|
57
|
+
super.disconnectedCallback();
|
|
58
|
+
window.removeEventListener(LOCALE_STATUS_EVENT, this.boundHandleLocaleStatus);
|
|
59
|
+
document.removeEventListener('keydown', this.boundHandleKeydown);
|
|
60
|
+
document.removeEventListener('click', this.boundHandleClick);
|
|
61
|
+
}
|
|
62
|
+
willUpdate(props) {
|
|
63
|
+
if (props.has('username') ||
|
|
64
|
+
props.has('waybackPagesArchived') ||
|
|
65
|
+
props.has('itemIdentifier') ||
|
|
66
|
+
props.has('uploader') ||
|
|
67
|
+
props.has('biblio') ||
|
|
68
|
+
props.has('localLinks') ||
|
|
69
|
+
props.has('baseHost')) {
|
|
70
|
+
this.menuSetup();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
render() {
|
|
74
|
+
return html `
|
|
75
|
+
<div class="topnav">
|
|
76
|
+
<ia-topnav-primary-nav
|
|
77
|
+
.baseHost=${this.normalizedBaseHost}
|
|
78
|
+
.mediaBaseHost=${this.mediaBaseHost}
|
|
79
|
+
.config=${this.config}
|
|
80
|
+
.openMenu=${this.openMenu}
|
|
81
|
+
.screenName=${this.screenName}
|
|
82
|
+
.secondIdentitySlotMode=${this.secondIdentitySlotMode}
|
|
83
|
+
.selectedMenuOption=${this.selectedMenuOption}
|
|
84
|
+
.username=${this.username}
|
|
85
|
+
.userProfileImagePath=${this.userProfileImagePath}
|
|
86
|
+
.currentTab=${this.currentTab}
|
|
87
|
+
?hideSearch=${this.hideSearch}
|
|
88
|
+
@mediaTypeSelected=${this.mediaTypeSelected}
|
|
89
|
+
@trackClick=${this.trackClick}
|
|
90
|
+
@trackSubmit=${this.trackSubmit}
|
|
91
|
+
@menuToggled=${this.menuToggled}
|
|
92
|
+
>
|
|
93
|
+
${this.secondLogoSlot} ${this.searchSlot}
|
|
94
|
+
</ia-topnav-primary-nav>
|
|
95
|
+
<ia-topnav-media-slider
|
|
96
|
+
.baseHost=${this.normalizedBaseHost}
|
|
97
|
+
.config=${this.config}
|
|
98
|
+
.selectedMenuOption=${this.selectedMenuOption}
|
|
99
|
+
.mediaSliderOpen=${this.mediaSliderOpen}
|
|
100
|
+
.menus=${this.menus}
|
|
101
|
+
tabindex="${this.mediaSliderOpen ? '1' : '-1'}"
|
|
102
|
+
@focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
|
|
103
|
+
></ia-topnav-media-slider>
|
|
104
|
+
</div>
|
|
105
|
+
${this.username ? this.userMenu : this.signedOutDropdown}
|
|
106
|
+
<ia-topnav-desktop-subnav
|
|
107
|
+
.baseHost=${this.normalizedBaseHost}
|
|
108
|
+
.menuItems=${this.menus.more.links}
|
|
109
|
+
@focus=${this.closeMenus}
|
|
110
|
+
></ia-topnav-desktop-subnav>
|
|
111
|
+
<div
|
|
112
|
+
id="close-layer"
|
|
113
|
+
class="${this.closeLayerClass}"
|
|
114
|
+
@click=${this.closeMenus}
|
|
115
|
+
></div>
|
|
116
|
+
`;
|
|
117
|
+
}
|
|
118
|
+
get normalizedBaseHost() {
|
|
119
|
+
return !this.localLinks ? this.baseHost : '';
|
|
120
|
+
}
|
|
121
|
+
handleDocumentKeydown(e) {
|
|
122
|
+
if (e.key === 'Escape') {
|
|
123
|
+
this.openMenu = '';
|
|
124
|
+
this.mediaSliderOpen = false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
handleDocumentClick(e) {
|
|
128
|
+
if (!this.openMenu)
|
|
129
|
+
return;
|
|
130
|
+
const path = e.composedPath();
|
|
131
|
+
if (!path.includes(this)) {
|
|
132
|
+
this.closeMenus();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/** The menu labels are built by `buildTopNavMenus()`, so a new locale needs a rebuild. */
|
|
136
|
+
handleLocaleStatus(e) {
|
|
137
|
+
if (e.detail.status === 'ready')
|
|
138
|
+
this.menuSetup();
|
|
139
|
+
}
|
|
140
|
+
menuSetup() {
|
|
141
|
+
// re/build the nav
|
|
142
|
+
this.menus = buildTopNavMenus(this.username, this.normalizedBaseHost, this.waybackPagesArchived, this.itemIdentifier, this.uploader, this.biblio);
|
|
143
|
+
}
|
|
144
|
+
menuToggled(e) {
|
|
145
|
+
const currentMenu = this.openMenu;
|
|
146
|
+
this.openMenu = currentMenu === e.detail.menuName ? '' : e.detail.menuName;
|
|
147
|
+
// Keeps media slider open if media menu is open
|
|
148
|
+
if (this.openMenu === 'media') {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
this.closeMediaSlider();
|
|
152
|
+
if (this.openMenu === 'user' || this.openMenu === 'login') {
|
|
153
|
+
if (this.primaryNav && this.accountDropdown) {
|
|
154
|
+
const right = this.primaryNav.getAccountDropdownOffset();
|
|
155
|
+
this.accountDropdown.style.setProperty('--dropdownMenuRight', `${right}px`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
openMediaSlider() {
|
|
160
|
+
this.mediaSliderOpen = true;
|
|
161
|
+
}
|
|
162
|
+
closeMediaSlider() {
|
|
163
|
+
this.mediaSliderOpen = false;
|
|
164
|
+
this.selectedMenuOption = '';
|
|
165
|
+
}
|
|
166
|
+
closeMenus() {
|
|
167
|
+
this.openMenu = '';
|
|
168
|
+
this.closeMediaSlider();
|
|
169
|
+
}
|
|
170
|
+
trackClick(e) {
|
|
171
|
+
this.dispatchEvent(new CustomEvent('analyticsClick', {
|
|
172
|
+
bubbles: true,
|
|
173
|
+
composed: true,
|
|
174
|
+
detail: e.detail,
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
trackSubmit(e) {
|
|
178
|
+
this.dispatchEvent(new CustomEvent('analyticsSubmit', {
|
|
179
|
+
bubbles: true,
|
|
180
|
+
composed: true,
|
|
181
|
+
detail: e.detail,
|
|
182
|
+
}));
|
|
183
|
+
}
|
|
184
|
+
mediaTypeSelected(e) {
|
|
185
|
+
if (this.selectedMenuOption === e.detail.mediatype) {
|
|
186
|
+
this.closeMediaSlider();
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
this.selectedMenuOption = e.detail.mediatype;
|
|
190
|
+
this.openMediaSlider();
|
|
191
|
+
}
|
|
192
|
+
get signedOutOpened() {
|
|
193
|
+
return this.openMenu === 'login';
|
|
194
|
+
}
|
|
195
|
+
get userMenuOpened() {
|
|
196
|
+
return this.openMenu === 'user';
|
|
197
|
+
}
|
|
198
|
+
get userMenuTabIndex() {
|
|
199
|
+
return this.userMenuOpened ? '' : '-1';
|
|
200
|
+
}
|
|
201
|
+
get signedOutTabIndex() {
|
|
202
|
+
return this.signedOutOpened ? '' : '-1';
|
|
203
|
+
}
|
|
204
|
+
get closeLayerClass() {
|
|
205
|
+
return !!this.openMenu || this.mediaSliderOpen ? 'visible' : '';
|
|
206
|
+
}
|
|
207
|
+
get userMenu() {
|
|
208
|
+
return html `
|
|
209
|
+
<ia-topnav-user-menu
|
|
210
|
+
.baseHost=${this.normalizedBaseHost}
|
|
211
|
+
.config=${this.config}
|
|
212
|
+
.menuItems=${this.userMenuItems}
|
|
213
|
+
?open=${this.openMenu === 'user'}
|
|
214
|
+
.username=${this.username}
|
|
215
|
+
tabindex="${this.userMenuTabIndex}"
|
|
216
|
+
@menuToggled=${this.menuToggled}
|
|
217
|
+
@trackClick=${this.trackClick}
|
|
218
|
+
@focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
|
|
219
|
+
></ia-topnav-user-menu>
|
|
220
|
+
`;
|
|
221
|
+
}
|
|
222
|
+
get signedOutDropdown() {
|
|
223
|
+
return html `
|
|
224
|
+
<ia-topnav-signed-out-dropdown
|
|
225
|
+
.baseHost=${this.normalizedBaseHost}
|
|
226
|
+
.config=${this.config}
|
|
227
|
+
.open=${this.signedOutOpened}
|
|
228
|
+
tabindex="${this.signedOutTabIndex}"
|
|
229
|
+
.menuItems=${this.signedOutMenuItems}
|
|
230
|
+
@focusToOtherMenuItem=${(e) => {
|
|
231
|
+
this.currentTab = e.detail;
|
|
232
|
+
}}
|
|
233
|
+
></ia-topnav-signed-out-dropdown>
|
|
234
|
+
`;
|
|
235
|
+
}
|
|
236
|
+
get signedOutMenuItems() {
|
|
237
|
+
return this.menus.signedOut;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Most users just get the basic menu items.
|
|
241
|
+
* For users with `/items` priv, additional admin menu items are included too.
|
|
242
|
+
* Having the `/flags` priv adds a further admin item for managing flags.
|
|
243
|
+
* A `biblio` URL adds a section of book-scanning links, and an `uploader`
|
|
244
|
+
* adds a section with the uploader's email and account admin links. Each
|
|
245
|
+
* section is rendered with a divider above it.
|
|
246
|
+
*/
|
|
247
|
+
get userMenuItems() {
|
|
248
|
+
const basicItems = this.menus.user;
|
|
249
|
+
if (!this.itemIdentifier || !this.admin)
|
|
250
|
+
return [basicItems];
|
|
251
|
+
let adminItems = this.menus.userAdmin;
|
|
252
|
+
if (this.canManageFlags) {
|
|
253
|
+
adminItems = adminItems.concat(this.menus.userAdminFlags);
|
|
254
|
+
}
|
|
255
|
+
// The built sections are empty until the matching prop is set and the
|
|
256
|
+
// menus have been rebuilt, so gating on them keeps a divider from ever
|
|
257
|
+
// rendering above an empty section.
|
|
258
|
+
const { userAdminBiblio, userAdminUploader } = this.menus;
|
|
259
|
+
const sections = [basicItems, adminItems];
|
|
260
|
+
if (userAdminBiblio.length)
|
|
261
|
+
sections.push(userAdminBiblio);
|
|
262
|
+
if (userAdminUploader.length)
|
|
263
|
+
sections.push(userAdminUploader);
|
|
264
|
+
return sections;
|
|
265
|
+
}
|
|
266
|
+
get allowSecondaryIcon() {
|
|
267
|
+
return this.secondIdentitySlotMode === 'allow';
|
|
268
|
+
}
|
|
269
|
+
get searchSlot() {
|
|
270
|
+
return html `<slot name="search" slot="search"></slot>`;
|
|
271
|
+
}
|
|
272
|
+
get secondLogoSlot() {
|
|
273
|
+
return this.allowSecondaryIcon
|
|
274
|
+
? html `
|
|
275
|
+
<slot name="opt-sec-logo" slot="opt-sec-logo"></slot>
|
|
276
|
+
<slot name="opt-sec-logo-mobile" slot="opt-sec-logo-mobile"></slot>
|
|
277
|
+
`
|
|
278
|
+
: nothing;
|
|
279
|
+
}
|
|
280
|
+
get separatorTemplate() {
|
|
281
|
+
return html `<li class="divider" role="presentation"></li>`;
|
|
282
|
+
}
|
|
283
|
+
static get styles() {
|
|
284
|
+
return [
|
|
285
|
+
themeStyles,
|
|
286
|
+
css `
|
|
287
|
+
:host {
|
|
288
|
+
--white: #fff;
|
|
289
|
+
--grey13: #222;
|
|
290
|
+
--grey20: #333;
|
|
291
|
+
--grey40: #666;
|
|
292
|
+
--grey28: #474747;
|
|
293
|
+
--grey60: #999;
|
|
294
|
+
--grey66: #aaa;
|
|
295
|
+
--grey80: #ccc;
|
|
296
|
+
--greya0: #a0a0a0;
|
|
297
|
+
--grey6f: #6f6f6f;
|
|
298
|
+
--errorYellow: #ffcd27;
|
|
299
|
+
|
|
300
|
+
--linkColor: #4b64ff;
|
|
301
|
+
--linkHoverColor: var(--white);
|
|
302
|
+
--subnavLinkColor: var(--grey66);
|
|
303
|
+
--primaryTextColor: var(--white);
|
|
304
|
+
--inverseTextColor: var(--grey20);
|
|
305
|
+
--lightTextColor: var(--grey60);
|
|
306
|
+
--activeColor: var(--white);
|
|
307
|
+
--activeButtonBg: var(--grey20);
|
|
308
|
+
--iconFill: var(--grey60);
|
|
309
|
+
--desktopSearchIconFill: var(--grey20);
|
|
310
|
+
|
|
311
|
+
--mediaMenuBg: var(--grey13);
|
|
312
|
+
--mediaLabelDesktopColor: var(--grey60);
|
|
313
|
+
--activeDesktopMenuIcon: var(--grey28);
|
|
314
|
+
|
|
315
|
+
--mediaSliderBg: var(--grey20);
|
|
316
|
+
--mediaSliderDesktopBg: var(--grey28);
|
|
317
|
+
|
|
318
|
+
--primaryNavBg: var(--grey13);
|
|
319
|
+
--primaryNavBottomBorder: var(--grey20);
|
|
320
|
+
|
|
321
|
+
--desktopSubnavBg: var(--grey20);
|
|
322
|
+
|
|
323
|
+
--dropdownMenuBg: var(--grey20);
|
|
324
|
+
--dropdownMenuInfoItem: var(--greya0);
|
|
325
|
+
--dropdownMenuDivider: var(--grey40);
|
|
326
|
+
--inverseDropdownMenuInfoItem: var(--grey6f);
|
|
327
|
+
|
|
328
|
+
--loginTextColor: var(--grey60);
|
|
329
|
+
|
|
330
|
+
--themeFontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
331
|
+
--logoWidthTablet: 263px;
|
|
332
|
+
|
|
333
|
+
--savePageSubmitBg: var(--grey13);
|
|
334
|
+
--savePageSubmitText: var(--white);
|
|
335
|
+
--savePageInputBorder: var(--grey60);
|
|
336
|
+
--savePageErrorText: var(--errorYellow);
|
|
337
|
+
|
|
338
|
+
color: var(--primaryTextColor);
|
|
339
|
+
font-family: var(--themeFontFamily);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
ia-topnav-primary-nav:focus {
|
|
343
|
+
outline: none !important;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
#close-layer {
|
|
347
|
+
display: none;
|
|
348
|
+
position: fixed;
|
|
349
|
+
top: 0;
|
|
350
|
+
right: 0;
|
|
351
|
+
bottom: 0;
|
|
352
|
+
left: 0;
|
|
353
|
+
z-index: 3;
|
|
354
|
+
}
|
|
355
|
+
#close-layer.visible {
|
|
356
|
+
display: block;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.topnav {
|
|
360
|
+
position: relative;
|
|
361
|
+
z-index: 4;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
@media (max-width: ${TOPNAV_MOBILE_BREAKPOINT - 1}px) {
|
|
365
|
+
ia-topnav-desktop-subnav {
|
|
366
|
+
display: none;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
`,
|
|
370
|
+
];
|
|
371
|
+
}
|
|
372
|
+
};
|
|
373
|
+
__decorate([
|
|
374
|
+
property({ type: Boolean })
|
|
375
|
+
], IATopNav.prototype, "localLinks", void 0);
|
|
376
|
+
__decorate([
|
|
377
|
+
property({ type: String })
|
|
378
|
+
], IATopNav.prototype, "waybackPagesArchived", void 0);
|
|
379
|
+
__decorate([
|
|
380
|
+
property({ type: String })
|
|
381
|
+
], IATopNav.prototype, "baseHost", void 0);
|
|
382
|
+
__decorate([
|
|
383
|
+
property({ type: String })
|
|
384
|
+
], IATopNav.prototype, "mediaBaseHost", void 0);
|
|
385
|
+
__decorate([
|
|
386
|
+
property({ type: Boolean })
|
|
387
|
+
], IATopNav.prototype, "admin", void 0);
|
|
388
|
+
__decorate([
|
|
389
|
+
property({ type: Boolean })
|
|
390
|
+
], IATopNav.prototype, "canManageFlags", void 0);
|
|
391
|
+
__decorate([
|
|
392
|
+
property({ type: Object })
|
|
393
|
+
], IATopNav.prototype, "config", void 0);
|
|
394
|
+
__decorate([
|
|
395
|
+
property({ type: Boolean })
|
|
396
|
+
], IATopNav.prototype, "hideSearch", void 0);
|
|
397
|
+
__decorate([
|
|
398
|
+
property({ type: String })
|
|
399
|
+
], IATopNav.prototype, "itemIdentifier", void 0);
|
|
400
|
+
__decorate([
|
|
401
|
+
property({ type: String })
|
|
402
|
+
], IATopNav.prototype, "uploader", void 0);
|
|
403
|
+
__decorate([
|
|
404
|
+
property({ type: String })
|
|
405
|
+
], IATopNav.prototype, "biblio", void 0);
|
|
406
|
+
__decorate([
|
|
407
|
+
property({ type: Boolean })
|
|
408
|
+
], IATopNav.prototype, "mediaSliderOpen", void 0);
|
|
409
|
+
__decorate([
|
|
410
|
+
property({ type: String })
|
|
411
|
+
], IATopNav.prototype, "openMenu", void 0);
|
|
412
|
+
__decorate([
|
|
413
|
+
property({ type: String })
|
|
414
|
+
], IATopNav.prototype, "screenName", void 0);
|
|
415
|
+
__decorate([
|
|
416
|
+
property({ type: String })
|
|
417
|
+
], IATopNav.prototype, "selectedMenuOption", void 0);
|
|
418
|
+
__decorate([
|
|
419
|
+
property({ type: String })
|
|
420
|
+
], IATopNav.prototype, "username", void 0);
|
|
421
|
+
__decorate([
|
|
422
|
+
property({ type: String })
|
|
423
|
+
], IATopNav.prototype, "userProfileImagePath", void 0);
|
|
424
|
+
__decorate([
|
|
425
|
+
property({ type: String })
|
|
426
|
+
], IATopNav.prototype, "secondIdentitySlotMode", void 0);
|
|
427
|
+
__decorate([
|
|
428
|
+
property({ type: Object })
|
|
429
|
+
], IATopNav.prototype, "currentTab", void 0);
|
|
430
|
+
__decorate([
|
|
431
|
+
query('ia-topnav-primary-nav')
|
|
432
|
+
], IATopNav.prototype, "primaryNav", void 0);
|
|
433
|
+
__decorate([
|
|
434
|
+
query('ia-topnav-user-menu, ia-topnav-signed-out-dropdown')
|
|
435
|
+
], IATopNav.prototype, "accountDropdown", void 0);
|
|
436
|
+
__decorate([
|
|
437
|
+
state()
|
|
438
|
+
], IATopNav.prototype, "menus", void 0);
|
|
439
|
+
IATopNav = __decorate([
|
|
440
|
+
customElement('ia-topnav')
|
|
441
|
+
], IATopNav);
|
|
442
|
+
export { IATopNav };
|
|
443
|
+
//# sourceMappingURL=ia-topnav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-topnav.js","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CSSResultGroup,\n LitElement,\n PropertyValues,\n css,\n html,\n nothing,\n} from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\nimport { LOCALE_STATUS_EVENT } from '@lit/localize';\n\nimport { buildTopNavMenus, defaultTopNavConfig } from './data/menus';\nimport './ia-topnav-desktop-subnav';\nimport './dropdown-menu';\nimport './ia-topnav-media-slider';\nimport {\n IATopNavConfig,\n IATopNavMenuConfig,\n IATopNavSecondIdentitySlotMode,\n TOPNAV_MOBILE_BREAKPOINT,\n} from './models';\nimport './ia-topnav-primary-nav';\nimport type { PrimaryNav } from './ia-topnav-primary-nav';\nimport './ia-topnav-signed-out-dropdown';\nimport './ia-topnav-user-menu';\nimport themeStyles from '@src/themes/theme-styles';\n\n@customElement('ia-topnav')\nexport class IATopNav extends LitElement {\n @property({ type: Boolean }) localLinks = false;\n\n @property({ type: String }) waybackPagesArchived = '';\n\n @property({ type: String }) baseHost = 'https://archive.org';\n\n @property({ type: String }) mediaBaseHost = 'https://archive.org';\n\n @property({ type: Boolean }) admin = false;\n\n @property({ type: Boolean }) canManageFlags = false;\n\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n\n @property({ type: Boolean }) hideSearch = false;\n\n @property({ type: String }) itemIdentifier = '';\n\n /**\n * Email of the item's uploader. When set for an admin viewing an item, the\n * user menu gets an \"uploader:\" section with user admin / user privs links.\n */\n @property({ type: String }) uploader = '';\n\n /**\n * Biblio URL for a texts item, which must already carry a query string\n * (the item identifier is appended to it as `&ignored=`). When set for an\n * admin viewing an item, the user menu gets biblio / bookview / jp2 zip links.\n */\n @property({ type: String }) biblio = '';\n\n @property({ type: Boolean }) mediaSliderOpen = false;\n\n @property({ type: String }) openMenu = '';\n\n @property({ type: String }) screenName: string = '';\n\n @property({ type: String }) selectedMenuOption = '';\n\n @property({ type: String }) username: string = '';\n\n @property({ type: String }) userProfileImagePath =\n '/services/img/user/profile';\n\n @property({ type: String })\n secondIdentitySlotMode: IATopNavSecondIdentitySlotMode = '';\n\n @property({ type: Object }) currentTab?: {\n mediatype: string;\n moveTo: string;\n };\n\n @query('ia-topnav-primary-nav') private primaryNav?: PrimaryNav;\n /** Only one of ia-topnav-user-menu or ia-topnav-signed-out-dropdown is rendered at a time. */\n @query('ia-topnav-user-menu, ia-topnav-signed-out-dropdown')\n private accountDropdown?: HTMLElement;\n\n @state() private menus: IATopNavMenuConfig = buildTopNavMenus();\n\n private boundHandleKeydown = this.handleDocumentKeydown.bind(this);\n\n private boundHandleClick = this.handleDocumentClick.bind(this);\n\n private boundHandleLocaleStatus = this.handleLocaleStatus.bind(this);\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener(LOCALE_STATUS_EVENT, this.boundHandleLocaleStatus);\n document.addEventListener('keydown', this.boundHandleKeydown);\n document.addEventListener('click', this.boundHandleClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener(\n LOCALE_STATUS_EVENT,\n this.boundHandleLocaleStatus,\n );\n document.removeEventListener('keydown', this.boundHandleKeydown);\n document.removeEventListener('click', this.boundHandleClick);\n }\n\n willUpdate(props: PropertyValues) {\n if (\n props.has('username') ||\n props.has('waybackPagesArchived') ||\n props.has('itemIdentifier') ||\n props.has('uploader') ||\n props.has('biblio') ||\n props.has('localLinks') ||\n props.has('baseHost')\n ) {\n this.menuSetup();\n }\n }\n\n render() {\n return html`\n <div class=\"topnav\">\n <ia-topnav-primary-nav\n .baseHost=${this.normalizedBaseHost}\n .mediaBaseHost=${this.mediaBaseHost}\n .config=${this.config}\n .openMenu=${this.openMenu}\n .screenName=${this.screenName}\n .secondIdentitySlotMode=${this.secondIdentitySlotMode}\n .selectedMenuOption=${this.selectedMenuOption}\n .username=${this.username}\n .userProfileImagePath=${this.userProfileImagePath}\n .currentTab=${this.currentTab}\n ?hideSearch=${this.hideSearch}\n @mediaTypeSelected=${this.mediaTypeSelected}\n @trackClick=${this.trackClick}\n @trackSubmit=${this.trackSubmit}\n @menuToggled=${this.menuToggled}\n >\n ${this.secondLogoSlot} ${this.searchSlot}\n </ia-topnav-primary-nav>\n <ia-topnav-media-slider\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .selectedMenuOption=${this.selectedMenuOption}\n .mediaSliderOpen=${this.mediaSliderOpen}\n .menus=${this.menus}\n tabindex=\"${this.mediaSliderOpen ? '1' : '-1'}\"\n @focusToOtherMenuItem=${(e: CustomEvent) =>\n (this.currentTab = e.detail)}\n ></ia-topnav-media-slider>\n </div>\n ${this.username ? this.userMenu : this.signedOutDropdown}\n <ia-topnav-desktop-subnav\n .baseHost=${this.normalizedBaseHost}\n .menuItems=${this.menus.more.links}\n @focus=${this.closeMenus}\n ></ia-topnav-desktop-subnav>\n <div\n id=\"close-layer\"\n class=\"${this.closeLayerClass}\"\n @click=${this.closeMenus}\n ></div>\n `;\n }\n\n private get normalizedBaseHost() {\n return !this.localLinks ? this.baseHost : '';\n }\n\n private handleDocumentKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n this.openMenu = '';\n this.mediaSliderOpen = false;\n }\n }\n\n private handleDocumentClick(e: MouseEvent) {\n if (!this.openMenu) return;\n const path = e.composedPath();\n if (!path.includes(this)) {\n this.closeMenus();\n }\n }\n\n /** The menu labels are built by `buildTopNavMenus()`, so a new locale needs a rebuild. */\n private handleLocaleStatus(e: WindowEventMap[typeof LOCALE_STATUS_EVENT]) {\n if (e.detail.status === 'ready') this.menuSetup();\n }\n\n menuSetup() {\n // re/build the nav\n this.menus = buildTopNavMenus(\n this.username,\n this.normalizedBaseHost,\n this.waybackPagesArchived,\n this.itemIdentifier,\n this.uploader,\n this.biblio,\n );\n }\n\n menuToggled(e: CustomEvent) {\n const currentMenu = this.openMenu;\n this.openMenu = currentMenu === e.detail.menuName ? '' : e.detail.menuName;\n // Keeps media slider open if media menu is open\n if (this.openMenu === 'media') {\n return;\n }\n this.closeMediaSlider();\n\n if (this.openMenu === 'user' || this.openMenu === 'login') {\n if (this.primaryNav && this.accountDropdown) {\n const right = this.primaryNav.getAccountDropdownOffset();\n this.accountDropdown.style.setProperty(\n '--dropdownMenuRight',\n `${right}px`,\n );\n }\n }\n }\n\n openMediaSlider() {\n this.mediaSliderOpen = true;\n }\n\n closeMediaSlider() {\n this.mediaSliderOpen = false;\n this.selectedMenuOption = '';\n }\n\n closeMenus() {\n this.openMenu = '';\n this.closeMediaSlider();\n }\n\n trackClick(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('analyticsClick', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n }),\n );\n }\n\n trackSubmit(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('analyticsSubmit', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n }),\n );\n }\n\n mediaTypeSelected(e: CustomEvent) {\n if (this.selectedMenuOption === e.detail.mediatype) {\n this.closeMediaSlider();\n return;\n }\n this.selectedMenuOption = e.detail.mediatype;\n this.openMediaSlider();\n }\n\n get signedOutOpened() {\n return this.openMenu === 'login';\n }\n\n get userMenuOpened() {\n return this.openMenu === 'user';\n }\n\n get userMenuTabIndex() {\n return this.userMenuOpened ? '' : '-1';\n }\n\n get signedOutTabIndex() {\n return this.signedOutOpened ? '' : '-1';\n }\n\n get closeLayerClass() {\n return !!this.openMenu || this.mediaSliderOpen ? 'visible' : '';\n }\n\n get userMenu() {\n return html`\n <ia-topnav-user-menu\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .menuItems=${this.userMenuItems}\n ?open=${this.openMenu === 'user'}\n .username=${this.username}\n tabindex=\"${this.userMenuTabIndex}\"\n @menuToggled=${this.menuToggled}\n @trackClick=${this.trackClick}\n @focusToOtherMenuItem=${(e: CustomEvent) =>\n (this.currentTab = e.detail)}\n ></ia-topnav-user-menu>\n `;\n }\n\n get signedOutDropdown() {\n return html`\n <ia-topnav-signed-out-dropdown\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .open=${this.signedOutOpened}\n tabindex=\"${this.signedOutTabIndex}\"\n .menuItems=${this.signedOutMenuItems}\n @focusToOtherMenuItem=${(e: CustomEvent) => {\n this.currentTab = e.detail;\n }}\n ></ia-topnav-signed-out-dropdown>\n `;\n }\n\n get signedOutMenuItems() {\n return this.menus.signedOut;\n }\n\n /**\n * Most users just get the basic menu items.\n * For users with `/items` priv, additional admin menu items are included too.\n * Having the `/flags` priv adds a further admin item for managing flags.\n * A `biblio` URL adds a section of book-scanning links, and an `uploader`\n * adds a section with the uploader's email and account admin links. Each\n * section is rendered with a divider above it.\n */\n get userMenuItems() {\n const basicItems = this.menus.user;\n if (!this.itemIdentifier || !this.admin) return [basicItems];\n\n let adminItems = this.menus.userAdmin;\n if (this.canManageFlags) {\n adminItems = adminItems.concat(this.menus.userAdminFlags);\n }\n\n // The built sections are empty until the matching prop is set and the\n // menus have been rebuilt, so gating on them keeps a divider from ever\n // rendering above an empty section.\n const { userAdminBiblio, userAdminUploader } = this.menus;\n const sections = [basicItems, adminItems];\n if (userAdminBiblio.length) sections.push(userAdminBiblio);\n if (userAdminUploader.length) sections.push(userAdminUploader);\n return sections;\n }\n\n get allowSecondaryIcon() {\n return this.secondIdentitySlotMode === 'allow';\n }\n\n get searchSlot() {\n return html`<slot name=\"search\" slot=\"search\"></slot>`;\n }\n\n get secondLogoSlot() {\n return this.allowSecondaryIcon\n ? html`\n <slot name=\"opt-sec-logo\" slot=\"opt-sec-logo\"></slot>\n <slot name=\"opt-sec-logo-mobile\" slot=\"opt-sec-logo-mobile\"></slot>\n `\n : nothing;\n }\n\n get separatorTemplate() {\n return html`<li class=\"divider\" role=\"presentation\"></li>`;\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n css`\n :host {\n --white: #fff;\n --grey13: #222;\n --grey20: #333;\n --grey40: #666;\n --grey28: #474747;\n --grey60: #999;\n --grey66: #aaa;\n --grey80: #ccc;\n --greya0: #a0a0a0;\n --grey6f: #6f6f6f;\n --errorYellow: #ffcd27;\n\n --linkColor: #4b64ff;\n --linkHoverColor: var(--white);\n --subnavLinkColor: var(--grey66);\n --primaryTextColor: var(--white);\n --inverseTextColor: var(--grey20);\n --lightTextColor: var(--grey60);\n --activeColor: var(--white);\n --activeButtonBg: var(--grey20);\n --iconFill: var(--grey60);\n --desktopSearchIconFill: var(--grey20);\n\n --mediaMenuBg: var(--grey13);\n --mediaLabelDesktopColor: var(--grey60);\n --activeDesktopMenuIcon: var(--grey28);\n\n --mediaSliderBg: var(--grey20);\n --mediaSliderDesktopBg: var(--grey28);\n\n --primaryNavBg: var(--grey13);\n --primaryNavBottomBorder: var(--grey20);\n\n --desktopSubnavBg: var(--grey20);\n\n --dropdownMenuBg: var(--grey20);\n --dropdownMenuInfoItem: var(--greya0);\n --dropdownMenuDivider: var(--grey40);\n --inverseDropdownMenuInfoItem: var(--grey6f);\n\n --loginTextColor: var(--grey60);\n\n --themeFontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n --logoWidthTablet: 263px;\n\n --savePageSubmitBg: var(--grey13);\n --savePageSubmitText: var(--white);\n --savePageInputBorder: var(--grey60);\n --savePageErrorText: var(--errorYellow);\n\n color: var(--primaryTextColor);\n font-family: var(--themeFontFamily);\n }\n\n ia-topnav-primary-nav:focus {\n outline: none !important;\n }\n\n #close-layer {\n display: none;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 3;\n }\n #close-layer.visible {\n display: block;\n }\n\n .topnav {\n position: relative;\n z-index: 4;\n }\n\n @media (max-width: ${TOPNAV_MOBILE_BREAKPOINT - 1}px) {\n ia-topnav-desktop-subnav {\n display: none;\n }\n }\n `,\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a menu link against the topnav's base host. Absolute `http(s)`
|
|
3
|
+
* URLs pass through untouched, anything else is prefixed with `baseHost`.
|
|
4
|
+
*/
|
|
5
|
+
export declare function formatUrl(url: string | undefined, baseHost: string): string;
|
|
6
|
+
/** The string form an `aria-*` boolean attribute expects. */
|
|
7
|
+
export declare function makeBooleanString(value: boolean): 'true' | 'false';
|
|
8
|
+
/**
|
|
9
|
+
* Joins a space-separated phrase into one capitalized word, e.g.
|
|
10
|
+
* `'mobile apps'` becomes `'MobileApps'`. Used to build analytics event names.
|
|
11
|
+
*/
|
|
12
|
+
export declare function toSentenceCase(phrase: string): string;
|
|
13
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-topnav/lib/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,YAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOrD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves a menu link against the topnav's base host. Absolute `http(s)`
|
|
3
|
+
* URLs pass through untouched, anything else is prefixed with `baseHost`.
|
|
4
|
+
*/
|
|
5
|
+
export function formatUrl(url = '', baseHost) {
|
|
6
|
+
return /^https?:/.test(url) ? url : `${baseHost}${url}`;
|
|
7
|
+
}
|
|
8
|
+
/** The string form an `aria-*` boolean attribute expects. */
|
|
9
|
+
export function makeBooleanString(value) {
|
|
10
|
+
return value ? 'true' : 'false';
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Joins a space-separated phrase into one capitalized word, e.g.
|
|
14
|
+
* `'mobile apps'` becomes `'MobileApps'`. Used to build analytics event names.
|
|
15
|
+
*/
|
|
16
|
+
export function toSentenceCase(phrase) {
|
|
17
|
+
const words = phrase.split(' ');
|
|
18
|
+
const lastWord = words.pop() ?? '';
|
|
19
|
+
const capitalizedWord = `${lastWord.slice(0, 1).toUpperCase()}${lastWord.slice(1)}`;
|
|
20
|
+
return words.length
|
|
21
|
+
? toSentenceCase(`${words.join(' ')}${capitalizedWord}`)
|
|
22
|
+
: capitalizedWord;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/elements/ia-topnav/lib/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,EAAE,QAAgB;IAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC;AAC1D,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,OAAO,KAAK,CAAC,MAAM;QACjB,CAAC,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC;QACxD,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC","sourcesContent":["/**\n * Resolves a menu link against the topnav's base host. Absolute `http(s)`\n * URLs pass through untouched, anything else is prefixed with `baseHost`.\n */\nexport function formatUrl(url: string = '', baseHost: string): string {\n return /^https?:/.test(url) ? url : `${baseHost}${url}`;\n}\n\n/** The string form an `aria-*` boolean attribute expects. */\nexport function makeBooleanString(value: boolean): 'true' | 'false' {\n return value ? 'true' : 'false';\n}\n\n/**\n * Joins a space-separated phrase into one capitalized word, e.g.\n * `'mobile apps'` becomes `'MobileApps'`. Used to build analytics event names.\n */\nexport function toSentenceCase(phrase: string): string {\n const words = phrase.split(' ');\n const lastWord = words.pop() ?? '';\n const capitalizedWord = `${lastWord.slice(0, 1).toUpperCase()}${lastWord.slice(1)}`;\n return words.length\n ? toSentenceCase(`${words.join(' ')}${capitalizedWord}`)\n : capitalizedWord;\n}\n"]}
|