@internetarchive/elements 1.1.2-webdev-9192.0 → 1.1.3-l10n-demo.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/README.md +34 -1
  2. package/dist/src/elements/ia-button/ia-button.d.ts.map +1 -1
  3. package/dist/src/elements/ia-button/ia-button.js +2 -2
  4. package/dist/src/elements/ia-button/ia-button.js.map +1 -1
  5. package/dist/src/elements/ia-combo-box/ia-combo-box.d.ts.map +1 -1
  6. package/dist/src/elements/ia-combo-box/ia-combo-box.js +3 -2
  7. package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
  8. package/dist/src/elements/ia-donation-form/analytics.d.ts +12 -0
  9. package/dist/src/elements/ia-donation-form/analytics.d.ts.map +1 -0
  10. package/dist/src/elements/ia-donation-form/analytics.js +2 -0
  11. package/dist/src/elements/ia-donation-form/analytics.js.map +1 -0
  12. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts +79 -0
  13. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts.map +1 -0
  14. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js +2 -0
  15. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js.map +1 -0
  16. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts +73 -0
  17. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts.map +1 -0
  18. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js +126 -0
  19. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js.map +1 -0
  20. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts +10 -0
  21. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts.map +1 -0
  22. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js +9 -0
  23. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js.map +1 -0
  24. package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts +47 -0
  25. package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts.map +1 -0
  26. package/dist/src/elements/ia-donation-form/braintree/payment-clients.js +104 -0
  27. package/dist/src/elements/ia-donation-form/braintree/payment-clients.js.map +1 -0
  28. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts +11 -0
  29. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts.map +1 -0
  30. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js +2 -0
  31. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js.map +1 -0
  32. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +20 -0
  33. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts.map +1 -0
  34. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +2 -0
  35. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -0
  36. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -0
  37. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts.map +1 -0
  38. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js +83 -0
  39. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -0
  40. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts +11 -0
  41. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts.map +1 -0
  42. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js +13 -0
  43. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -0
  44. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts +27 -0
  45. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts.map +1 -0
  46. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js +67 -0
  47. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js.map +1 -0
  48. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts +18 -0
  49. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts.map +1 -0
  50. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js +2 -0
  51. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js.map +1 -0
  52. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts +41 -0
  53. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts.map +1 -0
  54. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js +95 -0
  55. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js.map +1 -0
  56. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts +14 -0
  57. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts.map +1 -0
  58. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js +9 -0
  59. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js.map +1 -0
  60. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts +40 -0
  61. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts.map +1 -0
  62. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js +58 -0
  63. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js.map +1 -0
  64. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts +8 -0
  65. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts.map +1 -0
  66. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js +2 -0
  67. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js.map +1 -0
  68. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts +19 -0
  69. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts.map +1 -0
  70. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js +45 -0
  71. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map +1 -0
  72. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts +57 -0
  73. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts.map +1 -0
  74. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js +44 -0
  75. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js.map +1 -0
  76. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts +14 -0
  77. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts.map +1 -0
  78. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js +2 -0
  79. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js.map +1 -0
  80. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts +27 -0
  81. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts.map +1 -0
  82. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js +44 -0
  83. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js.map +1 -0
  84. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts +8 -0
  85. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts.map +1 -0
  86. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js +2 -0
  87. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map +1 -0
  88. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts +40 -0
  89. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts.map +1 -0
  90. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js +65 -0
  91. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js.map +1 -0
  92. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts +25 -0
  93. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts.map +1 -0
  94. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js +42 -0
  95. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js.map +1 -0
  96. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts +18 -0
  97. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts.map +1 -0
  98. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js +2 -0
  99. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js.map +1 -0
  100. package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts +42 -0
  101. package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts.map +1 -0
  102. package/dist/src/elements/ia-donation-form/braintree/payment-providers.js +99 -0
  103. package/dist/src/elements/ia-donation-form/braintree/payment-providers.js.map +1 -0
  104. package/dist/src/elements/ia-donation-form/currency-validator.d.ts +16 -0
  105. package/dist/src/elements/ia-donation-form/currency-validator.d.ts.map +1 -0
  106. package/dist/src/elements/ia-donation-form/currency-validator.js +37 -0
  107. package/dist/src/elements/ia-donation-form/currency-validator.js.map +1 -0
  108. package/dist/src/elements/ia-donation-form/donation-form-error.d.ts +5 -0
  109. package/dist/src/elements/ia-donation-form/donation-form-error.d.ts.map +1 -0
  110. package/dist/src/elements/ia-donation-form/donation-form-error.js +8 -0
  111. package/dist/src/elements/ia-donation-form/donation-form-error.js.map +1 -0
  112. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts +118 -0
  113. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts.map +1 -0
  114. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js +194 -0
  115. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js.map +1 -0
  116. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts +24 -0
  117. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts.map +1 -0
  118. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js +70 -0
  119. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js.map +1 -0
  120. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts +44 -0
  121. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts.map +1 -0
  122. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js +110 -0
  123. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js.map +1 -0
  124. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts +24 -0
  125. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts.map +1 -0
  126. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js +74 -0
  127. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js.map +1 -0
  128. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts +47 -0
  129. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts.map +1 -0
  130. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js +204 -0
  131. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js.map +1 -0
  132. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts +30 -0
  133. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts.map +1 -0
  134. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js +77 -0
  135. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js.map +1 -0
  136. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts +80 -0
  137. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts.map +1 -0
  138. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js +72 -0
  139. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js.map +1 -0
  140. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts +2 -0
  141. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts.map +1 -0
  142. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js +2 -0
  143. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js.map +1 -0
  144. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts +3 -0
  145. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts.map +1 -0
  146. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js +254 -0
  147. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js.map +1 -0
  148. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts +70 -0
  149. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts.map +1 -0
  150. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js +497 -0
  151. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js.map +1 -0
  152. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts +26 -0
  153. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts.map +1 -0
  154. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js +163 -0
  155. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js.map +1 -0
  156. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts +118 -0
  157. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts.map +1 -0
  158. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js +772 -0
  159. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js.map +1 -0
  160. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts +31 -0
  161. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts.map +1 -0
  162. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js +93 -0
  163. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js.map +1 -0
  164. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts +33 -0
  165. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map +1 -0
  166. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js +378 -0
  167. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js.map +1 -0
  168. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts +21 -0
  169. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts.map +1 -0
  170. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js +182 -0
  171. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js.map +1 -0
  172. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts +11 -0
  173. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts.map +1 -0
  174. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js +60 -0
  175. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js.map +1 -0
  176. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts +10 -0
  177. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts.map +1 -0
  178. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js +76 -0
  179. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js.map +1 -0
  180. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts +114 -0
  181. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts.map +1 -0
  182. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js +586 -0
  183. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js.map +1 -0
  184. package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts +94 -0
  185. package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts.map +1 -0
  186. package/dist/src/elements/ia-donation-form/ia-donation-form.js +516 -0
  187. package/dist/src/elements/ia-donation-form/ia-donation-form.js.map +1 -0
  188. package/dist/src/elements/ia-donation-form/icons/apple-pay.svg +22 -0
  189. package/dist/src/elements/ia-donation-form/icons/calendar.svg +15 -0
  190. package/dist/src/elements/ia-donation-form/icons/credit-card.svg +15 -0
  191. package/dist/src/elements/ia-donation-form/icons/email.svg +3 -0
  192. package/dist/src/elements/ia-donation-form/icons/google-pay.svg +38 -0
  193. package/dist/src/elements/ia-donation-form/icons/locale-pin.svg +7 -0
  194. package/dist/src/elements/ia-donation-form/icons/lock.svg +6 -0
  195. package/dist/src/elements/ia-donation-form/icons/paypal.svg +39 -0
  196. package/dist/src/elements/ia-donation-form/icons/user.svg +6 -0
  197. package/dist/src/elements/ia-donation-form/icons/venmo.svg +9 -0
  198. package/dist/src/elements/ia-donation-form/icons.d.ts +12 -0
  199. package/dist/src/elements/ia-donation-form/icons.d.ts.map +1 -0
  200. package/dist/src/elements/ia-donation-form/icons.js +33 -0
  201. package/dist/src/elements/ia-donation-form/icons.js.map +1 -0
  202. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts +27 -0
  203. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts.map +1 -0
  204. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js +196 -0
  205. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js.map +1 -0
  206. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts +7 -0
  207. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts.map +1 -0
  208. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js +64 -0
  209. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js.map +1 -0
  210. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts +28 -0
  211. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts.map +1 -0
  212. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js +314 -0
  213. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js.map +1 -0
  214. package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts +34 -0
  215. package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts.map +1 -0
  216. package/dist/src/elements/ia-donation-form/models/donation-payment-info.js +54 -0
  217. package/dist/src/elements/ia-donation-form/models/donation-payment-info.js.map +1 -0
  218. package/dist/src/elements/ia-donation-form/models/donation-request.d.ts +62 -0
  219. package/dist/src/elements/ia-donation-form/models/donation-request.d.ts.map +1 -0
  220. package/dist/src/elements/ia-donation-form/models/donation-request.js +35 -0
  221. package/dist/src/elements/ia-donation-form/models/donation-request.js.map +1 -0
  222. package/dist/src/elements/ia-donation-form/models/donation-response.d.ts +67 -0
  223. package/dist/src/elements/ia-donation-form/models/donation-response.d.ts.map +1 -0
  224. package/dist/src/elements/ia-donation-form/models/donation-response.js +57 -0
  225. package/dist/src/elements/ia-donation-form/models/donation-response.js.map +1 -0
  226. package/dist/src/elements/ia-donation-form/models/donation-type.d.ts +8 -0
  227. package/dist/src/elements/ia-donation-form/models/donation-type.d.ts.map +1 -0
  228. package/dist/src/elements/ia-donation-form/models/donation-type.js +7 -0
  229. package/dist/src/elements/ia-donation-form/models/donation-type.js.map +1 -0
  230. package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts +38 -0
  231. package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts.map +1 -0
  232. package/dist/src/elements/ia-donation-form/models/donor-contact-info.js +27 -0
  233. package/dist/src/elements/ia-donation-form/models/donor-contact-info.js.map +1 -0
  234. package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts +10 -0
  235. package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts.map +1 -0
  236. package/dist/src/elements/ia-donation-form/models/payment-provider.js +9 -0
  237. package/dist/src/elements/ia-donation-form/models/payment-provider.js.map +1 -0
  238. package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts +36 -0
  239. package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts.map +1 -0
  240. package/dist/src/elements/ia-donation-form/recaptcha-manager.js +76 -0
  241. package/dist/src/elements/ia-donation-form/recaptcha-manager.js.map +1 -0
  242. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts +2 -2
  243. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts.map +1 -1
  244. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js +4 -5
  245. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js.map +1 -1
  246. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts +4 -4
  247. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts.map +1 -1
  248. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js +5 -8
  249. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js.map +1 -1
  250. package/dist/src/elements/ia-image-viewer/ia-image-viewer.d.ts.map +1 -1
  251. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js +3 -2
  252. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js.map +1 -1
  253. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.d.ts.map +1 -1
  254. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js +3 -2
  255. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js.map +1 -1
  256. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.d.ts.map +1 -1
  257. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js +3 -2
  258. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js.map +1 -1
  259. package/dist/src/elements/ia-otp-form/ia-otp-form.d.ts.map +1 -1
  260. package/dist/src/elements/ia-otp-form/ia-otp-form.js +3 -2
  261. package/dist/src/elements/ia-otp-form/ia-otp-form.js.map +1 -1
  262. package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
  263. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +3 -2
  264. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
  265. package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
  266. package/dist/src/elements/ia-radio-player/ia-radio-player.js +3 -2
  267. package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
  268. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.d.ts.map +1 -1
  269. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js +3 -2
  270. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
  271. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts +2 -2
  272. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts.map +1 -1
  273. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js +4 -5
  274. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js.map +1 -1
  275. package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts +3 -3
  276. package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
  277. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +7 -12
  278. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
  279. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +3 -0
  280. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +1 -0
  281. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +28 -0
  282. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +1 -0
  283. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +3 -0
  284. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +1 -0
  285. package/dist/src/elements/ia-topnav/assets/img/icon-close.js +20 -0
  286. package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +1 -0
  287. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +3 -0
  288. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +1 -0
  289. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +19 -0
  290. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +1 -0
  291. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +3 -0
  292. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +1 -0
  293. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +18 -0
  294. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +1 -0
  295. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +3 -0
  296. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +1 -0
  297. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +19 -0
  298. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +1 -0
  299. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +3 -0
  300. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +1 -0
  301. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +30 -0
  302. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +1 -0
  303. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +3 -0
  304. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +1 -0
  305. package/dist/src/elements/ia-topnav/assets/img/icon-images.js +19 -0
  306. package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +1 -0
  307. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +3 -0
  308. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +1 -0
  309. package/dist/src/elements/ia-topnav/assets/img/icon-search.js +19 -0
  310. package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +1 -0
  311. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +3 -0
  312. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +1 -0
  313. package/dist/src/elements/ia-topnav/assets/img/icon-software.js +18 -0
  314. package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +1 -0
  315. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +3 -0
  316. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +1 -0
  317. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +18 -0
  318. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +1 -0
  319. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +3 -0
  320. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +1 -0
  321. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +18 -0
  322. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +1 -0
  323. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +3 -0
  324. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +1 -0
  325. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +21 -0
  326. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +1 -0
  327. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +3 -0
  328. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +1 -0
  329. package/dist/src/elements/ia-topnav/assets/img/icon-user.js +19 -0
  330. package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +1 -0
  331. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +3 -0
  332. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +1 -0
  333. package/dist/src/elements/ia-topnav/assets/img/icon-video.js +19 -0
  334. package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +1 -0
  335. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +3 -0
  336. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +1 -0
  337. package/dist/src/elements/ia-topnav/assets/img/icon-web.js +19 -0
  338. package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +1 -0
  339. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +6 -0
  340. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +1 -0
  341. package/dist/src/elements/ia-topnav/assets/img/icon.js +17 -0
  342. package/dist/src/elements/ia-topnav/assets/img/icon.js.map +1 -0
  343. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +19 -0
  344. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +1 -0
  345. package/dist/src/elements/ia-topnav/assets/img/icons.js +33 -0
  346. package/dist/src/elements/ia-topnav/assets/img/icons.js.map +1 -0
  347. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +3 -0
  348. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +1 -0
  349. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +21 -0
  350. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +1 -0
  351. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +3 -0
  352. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +1 -0
  353. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +13 -0
  354. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +1 -0
  355. package/dist/src/elements/ia-topnav/data/menus.d.ts +17 -0
  356. package/dist/src/elements/ia-topnav/data/menus.d.ts.map +1 -0
  357. package/dist/src/elements/ia-topnav/data/menus.js +756 -0
  358. package/dist/src/elements/ia-topnav/data/menus.js.map +1 -0
  359. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +21 -0
  360. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +1 -0
  361. package/dist/src/elements/ia-topnav/dropdown-menu.js +309 -0
  362. package/dist/src/elements/ia-topnav/dropdown-menu.js.map +1 -0
  363. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +11 -0
  364. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +1 -0
  365. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +89 -0
  366. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +1 -0
  367. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +6 -0
  368. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +1 -0
  369. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +47 -0
  370. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +1 -0
  371. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +20 -0
  372. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +1 -0
  373. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +183 -0
  374. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +1 -0
  375. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +31 -0
  376. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +1 -0
  377. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +287 -0
  378. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +1 -0
  379. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +21 -0
  380. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +1 -0
  381. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +214 -0
  382. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +1 -0
  383. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +16 -0
  384. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +1 -0
  385. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +221 -0
  386. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +1 -0
  387. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +20 -0
  388. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +1 -0
  389. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +285 -0
  390. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +1 -0
  391. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +12 -0
  392. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +1 -0
  393. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +65 -0
  394. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +1 -0
  395. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +53 -0
  396. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +1 -0
  397. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +653 -0
  398. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +1 -0
  399. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +12 -0
  400. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +1 -0
  401. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +128 -0
  402. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +1 -0
  403. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +4 -0
  404. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +1 -0
  405. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +10 -0
  406. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +1 -0
  407. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +7 -0
  408. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +1 -0
  409. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +39 -0
  410. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +1 -0
  411. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +21 -0
  412. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +1 -0
  413. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +278 -0
  414. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +1 -0
  415. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +20 -0
  416. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +1 -0
  417. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +131 -0
  418. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +1 -0
  419. package/dist/src/elements/ia-topnav/ia-topnav.d.ts +88 -0
  420. package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +1 -0
  421. package/dist/src/elements/ia-topnav/ia-topnav.js +443 -0
  422. package/dist/src/elements/ia-topnav/ia-topnav.js.map +1 -0
  423. package/dist/src/elements/ia-topnav/lib/helpers.d.ts +13 -0
  424. package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +1 -0
  425. package/dist/src/elements/ia-topnav/lib/helpers.js +24 -0
  426. package/dist/src/elements/ia-topnav/lib/helpers.js.map +1 -0
  427. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +46 -0
  428. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +1 -0
  429. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +136 -0
  430. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +1 -0
  431. package/dist/src/elements/ia-topnav/models.d.ts +65 -0
  432. package/dist/src/elements/ia-topnav/models.d.ts.map +1 -0
  433. package/dist/src/elements/ia-topnav/models.js +10 -0
  434. package/dist/src/elements/ia-topnav/models.js.map +1 -0
  435. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +2 -0
  436. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +1 -0
  437. package/dist/src/elements/ia-topnav/subnav-list-styles.js +49 -0
  438. package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +1 -0
  439. package/dist/src/elements/ia-topnav/tracked-element.d.ts +6 -0
  440. package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +1 -0
  441. package/dist/src/elements/ia-topnav/tracked-element.js +29 -0
  442. package/dist/src/elements/ia-topnav/tracked-element.js.map +1 -0
  443. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.d.ts.map +1 -1
  444. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js +4 -0
  445. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js.map +1 -1
  446. package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
  447. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +3 -2
  448. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
  449. package/dist/src/elements/index.d.ts +55 -0
  450. package/dist/src/elements/index.d.ts.map +1 -1
  451. package/dist/src/elements/index.js +55 -0
  452. package/dist/src/elements/index.js.map +1 -1
  453. package/dist/src/locales/es.d.ts +215 -0
  454. package/dist/src/locales/es.d.ts.map +1 -0
  455. package/dist/src/locales/es.js +247 -0
  456. package/dist/src/locales/es.js.map +1 -0
  457. package/package.json +38 -5
@@ -0,0 +1,131 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html } from 'lit';
3
+ import './ia-topnav-wayback-search.js';
4
+ import TrackedElement from './tracked-element.js';
5
+ import './ia-topnav-save-page-form.js';
6
+ import { formatUrl, toSentenceCase } from './lib/helpers.js';
7
+ import { property } from 'lit/decorators.js';
8
+ import { customElement } from '../../util/custom-element.js';
9
+ import { TOPNAV_MOBILE_BREAKPOINT, } from './models.js';
10
+ import { defaultTopNavConfig } from './data/menus.js';
11
+ import { subnavListCSS } from './subnav-list-styles.js';
12
+ import themeStyles from '../../themes/theme-styles.js';
13
+ import { localized, msg } from '@lit/localize';
14
+ let WaybackSlider = class WaybackSlider extends TrackedElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.archiveItLinks = [];
18
+ this.baseHost = '';
19
+ this.browserExtensionsLinks = [];
20
+ this.config = defaultTopNavConfig;
21
+ this.mobileAppsLinks = [];
22
+ }
23
+ render() {
24
+ return html `
25
+ <div class="grid">
26
+ <ia-topnav-wayback-search
27
+ .waybackPagesArchived=${this.config.waybackPagesArchived ?? ''}
28
+ ></ia-topnav-wayback-search>
29
+ <div class="link-lists">
30
+ <div>
31
+ <h4>${msg('Mobile Apps')}</h4>
32
+ <ul class="mobile-apps">
33
+ ${this.mobileAppsItems}
34
+ </ul>
35
+ <h4>${msg('Browser Extensions')}</h4>
36
+ <ul class="browser-extensions">
37
+ ${this.browserExtensionsItems}
38
+ </ul>
39
+ </div>
40
+ <div>
41
+ <h4>${msg('Archive-It Subscription')}</h4>
42
+ <ul class="archive-it">
43
+ ${this.archiveItItems}
44
+ </ul>
45
+ </div>
46
+ </div>
47
+ <ia-topnav-save-page-form
48
+ .config=${this.config}
49
+ ></ia-topnav-save-page-form>
50
+ </div>
51
+ `;
52
+ }
53
+ get mobileAppsItems() {
54
+ return this.linkList(this.mobileAppsLinks, 'Wayback');
55
+ }
56
+ get browserExtensionsItems() {
57
+ return this.linkList(this.browserExtensionsLinks, 'Wayback');
58
+ }
59
+ get archiveItItems() {
60
+ return this.linkList(this.archiveItLinks, 'ArchiveIt');
61
+ }
62
+ linkList(links, eventPrefix) {
63
+ return links.map((link) => html `<li>
64
+ <a
65
+ .href=${formatUrl(link.url, this.baseHost)}
66
+ @click=${this.trackClick}
67
+ data-event-click-tracking="${this.analyticsEvent(`${eventPrefix}${link.key ?? link.title}`)}"
68
+ target=${link.external ? '_blank' : ''}
69
+ rel=${link.external ? 'noreferrer noopener' : ''}
70
+ >${link.title}</a
71
+ >
72
+ </li>`);
73
+ }
74
+ analyticsEvent(title) {
75
+ return `${this.config?.eventCategory}|${toSentenceCase(title)}`;
76
+ }
77
+ static get styles() {
78
+ return [
79
+ themeStyles,
80
+ subnavListCSS,
81
+ css `
82
+ @media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
83
+ :host {
84
+ display: block;
85
+ grid-column: 1 / 4;
86
+ padding: 0 1.5rem;
87
+ }
88
+
89
+ h4 {
90
+ margin-top: 0;
91
+ font: normal 100 1.6rem var(--themeFontFamily);
92
+ }
93
+
94
+ .grid {
95
+ display: grid;
96
+ grid-template-columns: minmax(auto, 260px) 1fr minmax(auto, 260px);
97
+ /* Possible for 890 - 935: minmax(auto, 260px) 1fr minmax(auto, 260px) */
98
+ grid-column-gap: 2.5rem;
99
+ }
100
+
101
+ .link-lists {
102
+ display: grid;
103
+ grid-template-columns: calc(50% - 1.25rem) calc(50% - 1.25rem);
104
+ grid-column-gap: 2.5rem;
105
+ }
106
+ }
107
+ `,
108
+ ];
109
+ }
110
+ };
111
+ __decorate([
112
+ property({ type: Array })
113
+ ], WaybackSlider.prototype, "archiveItLinks", void 0);
114
+ __decorate([
115
+ property({ type: String })
116
+ ], WaybackSlider.prototype, "baseHost", void 0);
117
+ __decorate([
118
+ property({ type: Array })
119
+ ], WaybackSlider.prototype, "browserExtensionsLinks", void 0);
120
+ __decorate([
121
+ property({ type: Object })
122
+ ], WaybackSlider.prototype, "config", void 0);
123
+ __decorate([
124
+ property({ type: Array })
125
+ ], WaybackSlider.prototype, "mobileAppsLinks", void 0);
126
+ WaybackSlider = __decorate([
127
+ customElement('ia-topnav-wayback-slider'),
128
+ localized()
129
+ ], WaybackSlider);
130
+ export { WaybackSlider };
131
+ //# sourceMappingURL=ia-topnav-wayback-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-topnav-wayback-slider.js","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav-wayback-slider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAGL,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIxC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,cAAc;IAA1C;;QACsB,mBAAc,GAAmB,EAAE,CAAC;QACnC,aAAQ,GAAG,EAAE,CAAC;QACf,2BAAsB,GAAmB,EAAE,CAAC;QAC3C,WAAM,GAAmB,mBAAmB,CAAC;QAC9C,oBAAe,GAAmB,EAAE,CAAC;IAoGlE,CAAC;IAlGC,MAAM;QACJ,OAAO,IAAI,CAAA;;;kCAGmB,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE;;;;kBAItD,GAAG,CAAC,aAAa,CAAC;;gBAEpB,IAAI,CAAC,eAAe;;kBAElB,GAAG,CAAC,oBAAoB,CAAC;;gBAE3B,IAAI,CAAC,sBAAsB;;;;kBAIzB,GAAG,CAAC,yBAAyB,CAAC;;gBAEhC,IAAI,CAAC,cAAc;;;;;oBAKf,IAAI,CAAC,MAAM;;;KAG1B,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAEO,QAAQ,CAAC,KAAqB,EAAE,WAAmB;QACzD,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAA;;oBAEQ,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;qBACjC,IAAI,CAAC,UAAU;yCACK,IAAI,CAAC,cAAc,CAC9C,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAC1C;qBACQ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;kBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;eAC7C,IAAI,CAAC,KAAK;;cAEX,CACT,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAClE,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,WAAW;YACX,aAAa;YACb,GAAG,CAAA;6BACoB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;OAyB9C;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAxG4B;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;qDAAqC;AACnC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAe;AACf;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6DAA6C;AAC3C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAA8C;AAC9C;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;sDAAsC;AALrD,aAAa;IAFzB,aAAa,CAAC,0BAA0B,CAAC;IACzC,SAAS,EAAE;GACC,aAAa,CAyGzB","sourcesContent":["import { CSSResultGroup, css, html } from 'lit';\nimport './ia-topnav-wayback-search';\nimport TrackedElement from './tracked-element';\nimport './ia-topnav-save-page-form';\nimport { formatUrl, toSentenceCase } from './lib/helpers';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\nimport {\n IATopNavConfig,\n IATopNavLink,\n TOPNAV_MOBILE_BREAKPOINT,\n} from './models';\nimport { defaultTopNavConfig } from './data/menus';\nimport { subnavListCSS } from './subnav-list-styles';\nimport themeStyles from '@src/themes/theme-styles';\nimport { localized, msg } from '@lit/localize';\n\n@customElement('ia-topnav-wayback-slider')\n@localized()\nexport class WaybackSlider extends TrackedElement {\n @property({ type: Array }) archiveItLinks: IATopNavLink[] = [];\n @property({ type: String }) baseHost = '';\n @property({ type: Array }) browserExtensionsLinks: IATopNavLink[] = [];\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: Array }) mobileAppsLinks: IATopNavLink[] = [];\n\n render() {\n return html`\n <div class=\"grid\">\n <ia-topnav-wayback-search\n .waybackPagesArchived=${this.config.waybackPagesArchived ?? ''}\n ></ia-topnav-wayback-search>\n <div class=\"link-lists\">\n <div>\n <h4>${msg('Mobile Apps')}</h4>\n <ul class=\"mobile-apps\">\n ${this.mobileAppsItems}\n </ul>\n <h4>${msg('Browser Extensions')}</h4>\n <ul class=\"browser-extensions\">\n ${this.browserExtensionsItems}\n </ul>\n </div>\n <div>\n <h4>${msg('Archive-It Subscription')}</h4>\n <ul class=\"archive-it\">\n ${this.archiveItItems}\n </ul>\n </div>\n </div>\n <ia-topnav-save-page-form\n .config=${this.config}\n ></ia-topnav-save-page-form>\n </div>\n `;\n }\n\n get mobileAppsItems() {\n return this.linkList(this.mobileAppsLinks, 'Wayback');\n }\n\n get browserExtensionsItems() {\n return this.linkList(this.browserExtensionsLinks, 'Wayback');\n }\n\n get archiveItItems() {\n return this.linkList(this.archiveItLinks, 'ArchiveIt');\n }\n\n private linkList(links: IATopNavLink[], eventPrefix: string) {\n return links.map(\n (link) =>\n html`<li>\n <a\n .href=${formatUrl(link.url, this.baseHost)}\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.analyticsEvent(\n `${eventPrefix}${link.key ?? link.title}`,\n )}\"\n target=${link.external ? '_blank' : ''}\n rel=${link.external ? 'noreferrer noopener' : ''}\n >${link.title}</a\n >\n </li>`,\n );\n }\n\n analyticsEvent(title: string) {\n return `${this.config?.eventCategory}|${toSentenceCase(title)}`;\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n subnavListCSS,\n css`\n @media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {\n :host {\n display: block;\n grid-column: 1 / 4;\n padding: 0 1.5rem;\n }\n\n h4 {\n margin-top: 0;\n font: normal 100 1.6rem var(--themeFontFamily);\n }\n\n .grid {\n display: grid;\n grid-template-columns: minmax(auto, 260px) 1fr minmax(auto, 260px);\n /* Possible for 890 - 935: minmax(auto, 260px) 1fr minmax(auto, 260px) */\n grid-column-gap: 2.5rem;\n }\n\n .link-lists {\n display: grid;\n grid-template-columns: calc(50% - 1.25rem) calc(50% - 1.25rem);\n grid-column-gap: 2.5rem;\n }\n }\n `,\n ];\n }\n}\n"]}
@@ -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