@internetarchive/elements 1.1.3-webdev-9240.0 → 1.1.3-webdev-9241.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 (230) hide show
  1. package/README.md +1 -1
  2. package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts +0 -2
  3. package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
  4. package/dist/src/elements/ia-radio-player/ia-radio-player.js +1 -6
  5. package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
  6. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +3 -0
  7. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +1 -0
  8. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +28 -0
  9. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +1 -0
  10. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +3 -0
  11. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +1 -0
  12. package/dist/src/elements/ia-topnav/assets/img/icon-close.js +20 -0
  13. package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +1 -0
  14. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +3 -0
  15. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +1 -0
  16. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +19 -0
  17. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +1 -0
  18. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +3 -0
  19. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +1 -0
  20. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +18 -0
  21. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +1 -0
  22. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +3 -0
  23. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +1 -0
  24. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +19 -0
  25. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +1 -0
  26. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +3 -0
  27. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +1 -0
  28. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +30 -0
  29. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +1 -0
  30. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +3 -0
  31. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +1 -0
  32. package/dist/src/elements/ia-topnav/assets/img/icon-images.js +19 -0
  33. package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +1 -0
  34. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +3 -0
  35. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +1 -0
  36. package/dist/src/elements/ia-topnav/assets/img/icon-search.js +19 -0
  37. package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +1 -0
  38. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +3 -0
  39. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +1 -0
  40. package/dist/src/elements/ia-topnav/assets/img/icon-software.js +18 -0
  41. package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +1 -0
  42. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +3 -0
  43. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +1 -0
  44. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +18 -0
  45. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +1 -0
  46. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +3 -0
  47. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +1 -0
  48. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +18 -0
  49. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +1 -0
  50. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +3 -0
  51. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +1 -0
  52. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +21 -0
  53. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +1 -0
  54. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +3 -0
  55. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +1 -0
  56. package/dist/src/elements/ia-topnav/assets/img/icon-user.js +19 -0
  57. package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +1 -0
  58. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +3 -0
  59. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +1 -0
  60. package/dist/src/elements/ia-topnav/assets/img/icon-video.js +19 -0
  61. package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +1 -0
  62. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +3 -0
  63. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +1 -0
  64. package/dist/src/elements/ia-topnav/assets/img/icon-web.js +19 -0
  65. package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +1 -0
  66. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +6 -0
  67. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +1 -0
  68. package/dist/src/elements/ia-topnav/assets/img/icon.js +17 -0
  69. package/dist/src/elements/ia-topnav/assets/img/icon.js.map +1 -0
  70. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +19 -0
  71. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +1 -0
  72. package/dist/src/elements/ia-topnav/assets/img/icons.js +33 -0
  73. package/dist/src/elements/ia-topnav/assets/img/icons.js.map +1 -0
  74. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +3 -0
  75. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +1 -0
  76. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +21 -0
  77. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +1 -0
  78. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +3 -0
  79. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +1 -0
  80. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +13 -0
  81. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +1 -0
  82. package/dist/src/elements/ia-topnav/data/menus.d.ts +17 -0
  83. package/dist/src/elements/ia-topnav/data/menus.d.ts.map +1 -0
  84. package/dist/src/elements/ia-topnav/data/menus.js +680 -0
  85. package/dist/src/elements/ia-topnav/data/menus.js.map +1 -0
  86. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +21 -0
  87. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +1 -0
  88. package/dist/src/elements/ia-topnav/dropdown-menu.js +315 -0
  89. package/dist/src/elements/ia-topnav/dropdown-menu.js.map +1 -0
  90. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +11 -0
  91. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +1 -0
  92. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +89 -0
  93. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +1 -0
  94. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +6 -0
  95. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +1 -0
  96. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +47 -0
  97. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +1 -0
  98. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +20 -0
  99. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +1 -0
  100. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +183 -0
  101. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +1 -0
  102. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +31 -0
  103. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +1 -0
  104. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +287 -0
  105. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +1 -0
  106. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +21 -0
  107. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +1 -0
  108. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +222 -0
  109. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +1 -0
  110. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +16 -0
  111. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +1 -0
  112. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +221 -0
  113. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +1 -0
  114. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +20 -0
  115. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +1 -0
  116. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +285 -0
  117. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +1 -0
  118. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +12 -0
  119. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +1 -0
  120. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +65 -0
  121. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +1 -0
  122. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +53 -0
  123. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +1 -0
  124. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +653 -0
  125. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +1 -0
  126. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +12 -0
  127. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +1 -0
  128. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +128 -0
  129. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +1 -0
  130. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +4 -0
  131. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +1 -0
  132. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +10 -0
  133. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +1 -0
  134. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +7 -0
  135. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +1 -0
  136. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +39 -0
  137. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +1 -0
  138. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +10 -0
  139. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +1 -0
  140. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +64 -0
  141. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +1 -0
  142. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +20 -0
  143. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +1 -0
  144. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +131 -0
  145. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +1 -0
  146. package/dist/src/elements/ia-topnav/ia-topnav.d.ts +85 -0
  147. package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +1 -0
  148. package/dist/src/elements/ia-topnav/ia-topnav.js +434 -0
  149. package/dist/src/elements/ia-topnav/ia-topnav.js.map +1 -0
  150. package/dist/src/elements/ia-topnav/lib/helpers.d.ts +13 -0
  151. package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +1 -0
  152. package/dist/src/elements/ia-topnav/lib/helpers.js +24 -0
  153. package/dist/src/elements/ia-topnav/lib/helpers.js.map +1 -0
  154. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +46 -0
  155. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +1 -0
  156. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +136 -0
  157. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +1 -0
  158. package/dist/src/elements/ia-topnav/models.d.ts +59 -0
  159. package/dist/src/elements/ia-topnav/models.d.ts.map +1 -0
  160. package/dist/src/elements/ia-topnav/models.js +10 -0
  161. package/dist/src/elements/ia-topnav/models.js.map +1 -0
  162. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +2 -0
  163. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +1 -0
  164. package/dist/src/elements/ia-topnav/subnav-list-styles.js +49 -0
  165. package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +1 -0
  166. package/dist/src/elements/ia-topnav/tracked-element.d.ts +6 -0
  167. package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +1 -0
  168. package/dist/src/elements/ia-topnav/tracked-element.js +29 -0
  169. package/dist/src/elements/ia-topnav/tracked-element.js.map +1 -0
  170. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts +24 -0
  171. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts.map +1 -0
  172. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js +240 -0
  173. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js.map +1 -0
  174. package/dist/src/elements/index.d.ts +3 -5
  175. package/dist/src/elements/index.d.ts.map +1 -1
  176. package/dist/src/elements/index.js +3 -5
  177. package/dist/src/elements/index.js.map +1 -1
  178. package/package.json +3 -9
  179. package/dist/src/elements/ia-reviews/assets/delete-icon.svg +0 -8
  180. package/dist/src/elements/ia-reviews/assets/star-basic.svg +0 -6
  181. package/dist/src/elements/ia-reviews/assets/star-selected.svg +0 -8
  182. package/dist/src/elements/ia-reviews/assets/star-unselected.svg +0 -8
  183. package/dist/src/elements/ia-reviews/ia-review-form.d.ts +0 -103
  184. package/dist/src/elements/ia-reviews/ia-review-form.d.ts.map +0 -1
  185. package/dist/src/elements/ia-reviews/ia-review-form.js +0 -685
  186. package/dist/src/elements/ia-reviews/ia-review-form.js.map +0 -1
  187. package/dist/src/elements/ia-reviews/ia-review.d.ts +0 -51
  188. package/dist/src/elements/ia-reviews/ia-review.d.ts.map +0 -1
  189. package/dist/src/elements/ia-reviews/ia-review.js +0 -344
  190. package/dist/src/elements/ia-reviews/ia-review.js.map +0 -1
  191. package/dist/src/elements/ia-reviews/ia-reviews.d.ts +0 -68
  192. package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +0 -1
  193. package/dist/src/elements/ia-reviews/ia-reviews.js +0 -354
  194. package/dist/src/elements/ia-reviews/ia-reviews.js.map +0 -1
  195. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts +0 -23
  196. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts.map +0 -1
  197. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js +0 -37
  198. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +0 -1
  199. package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts +0 -12
  200. package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts.map +0 -1
  201. package/dist/src/elements/ia-reviews/mocks/mock-review-service.js +0 -19
  202. package/dist/src/elements/ia-reviews/mocks/mock-review-service.js.map +0 -1
  203. package/dist/src/elements/ia-reviews/models.d.ts +0 -38
  204. package/dist/src/elements/ia-reviews/models.d.ts.map +0 -1
  205. package/dist/src/elements/ia-reviews/models.js +0 -2
  206. package/dist/src/elements/ia-reviews/models.js.map +0 -1
  207. package/dist/src/elements/ia-reviews/review-service.d.ts +0 -53
  208. package/dist/src/elements/ia-reviews/review-service.d.ts.map +0 -1
  209. package/dist/src/elements/ia-reviews/review-service.js +0 -97
  210. package/dist/src/elements/ia-reviews/review-service.js.map +0 -1
  211. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts +0 -13
  212. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts.map +0 -1
  213. package/dist/src/elements/ia-reviews/utils/collapse-space.js +0 -19
  214. package/dist/src/elements/ia-reviews/utils/collapse-space.js.map +0 -1
  215. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts +0 -14
  216. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts.map +0 -1
  217. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js +0 -65
  218. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js.map +0 -1
  219. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts +0 -9
  220. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts.map +0 -1
  221. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js +0 -40
  222. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js.map +0 -1
  223. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts +0 -9
  224. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts.map +0 -1
  225. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js +0 -29
  226. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js.map +0 -1
  227. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts +0 -13
  228. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts.map +0 -1
  229. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js +0 -19
  230. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js.map +0 -1
@@ -0,0 +1,285 @@
1
+ var MediaSubnav_1;
2
+ import { __decorate } from "tslib";
3
+ import { css, html } from 'lit';
4
+ import { ifDefined } from 'lit/directives/if-defined.js';
5
+ import TrackedElement from './tracked-element.js';
6
+ import './ia-topnav-wayback-slider.js';
7
+ import './ia-topnav-more-slider.js';
8
+ import { formatUrl, toSentenceCase } from './lib/helpers.js';
9
+ import { property } from 'lit/decorators.js';
10
+ import { customElement } from '../../util/custom-element.js';
11
+ import { TOPNAV_MOBILE_BREAKPOINT, } from './models.js';
12
+ import { defaultTopNavConfig } from './data/menus.js';
13
+ import { subnavListCSS } from './subnav-list-styles.js';
14
+ import themeStyles from '../../themes/theme-styles.js';
15
+ import { localized, msg } from '@lit/localize';
16
+ let MediaSubnav = MediaSubnav_1 = class MediaSubnav extends TrackedElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.baseHost = '';
20
+ this.config = defaultTopNavConfig;
21
+ this.menu = '';
22
+ this.menuItems = MediaSubnav_1.defaultLinks;
23
+ this.links = MediaSubnav_1.defaultLinks;
24
+ }
25
+ shouldUpdate() {
26
+ if (this.menuItems) {
27
+ this.links = this.menuItems;
28
+ }
29
+ return true;
30
+ }
31
+ render() {
32
+ if (!this.menu) {
33
+ return html ``;
34
+ }
35
+ if (this.menuItems) {
36
+ this.links = this.menuItems;
37
+ }
38
+ if (this.menu === 'web') {
39
+ return html ` <ia-topnav-wayback-slider
40
+ .baseHost=${this.baseHost}
41
+ .config=${this.config}
42
+ .archiveItLinks=${this.menuItems.archiveItLinks}
43
+ .browserExtensionsLinks=${this.menuItems.browserExtensionsLinks}
44
+ .mobileAppsLinks=${this.menuItems.mobileAppsLinks}
45
+ ></ia-topnav-wayback-slider>`;
46
+ }
47
+ if (this.menu === 'more') {
48
+ return html ` <ia-topnav-more-slider
49
+ .baseHost=${this.baseHost}
50
+ .config=${this.config}
51
+ .menuItems=${this.menuItems.links}
52
+ >
53
+ </ia-topnav-more-slider>`;
54
+ }
55
+ return html `
56
+ <h3>${this.links.heading}</h3>
57
+ <div class="icon-links">${this.iconLinks}</div>
58
+ <div class="links featured">
59
+ <h4>${msg('Featured')}</h4>
60
+ <ul>
61
+ ${this.renderLinks(this.links.featuredLinks)}
62
+ </ul>
63
+ </div>
64
+ <div class="links top">
65
+ <h4>${msg('Top')}</h4>
66
+ <ul>
67
+ ${this.renderLinks(this.links.links)}
68
+ </ul>
69
+ </div>
70
+ `;
71
+ }
72
+ static get defaultLinks() {
73
+ return {
74
+ heading: '',
75
+ iconLinks: [],
76
+ featuredLinks: [],
77
+ links: [],
78
+ mobileAppsLinks: [],
79
+ browserExtensionsLinks: [],
80
+ archiveItLinks: [],
81
+ };
82
+ }
83
+ analyticsEvent(title) {
84
+ return `${this.config?.eventCategory}|${toSentenceCase(title)}${toSentenceCase(this.menu)}`;
85
+ }
86
+ get iconLinks() {
87
+ return this.links.iconLinks.map((link) => html `
88
+ <a
89
+ .href="${formatUrl(link.url, this.baseHost)}"
90
+ @click=${this.trackClick}
91
+ data-event-click-tracking="${this.analyticsEvent(link.title)}"
92
+ ><img src="${ifDefined(link.icon)}" loading="lazy" />${link.title}</a
93
+ >
94
+ `);
95
+ }
96
+ renderLinks(links) {
97
+ return links.map((link) => html `
98
+ <li>
99
+ <a
100
+ .href="${formatUrl(link.url, this.baseHost)}"
101
+ @click=${this.trackClick}
102
+ data-event-click-tracking="${this.analyticsEvent(link.title)}"
103
+ >${link.title}</a
104
+ >
105
+ </li>
106
+ `);
107
+ }
108
+ static get styles() {
109
+ return [
110
+ themeStyles,
111
+ subnavListCSS,
112
+ css `
113
+ img {
114
+ display: block;
115
+ width: 90px;
116
+ height: 90px;
117
+ margin: 0 auto 1rem auto;
118
+ border-radius: 45px;
119
+ }
120
+
121
+ h3 {
122
+ margin-top: 0;
123
+ font-size: 1.8rem;
124
+ }
125
+
126
+ .icon-links {
127
+ display: -webkit-box;
128
+ display: -ms-flexbox;
129
+ display: flex;
130
+ -webkit-box-pack: space-evenly;
131
+ -ms-flex-pack: space-evenly;
132
+ justify-content: space-evenly;
133
+ text-align: center;
134
+ }
135
+
136
+ .icon-links a {
137
+ display: inline-block;
138
+ width: 12rem;
139
+ margin-bottom: 1.5rem;
140
+ overflow: hidden;
141
+ white-space: nowrap;
142
+ text-align: center;
143
+ text-overflow: ellipsis;
144
+ }
145
+
146
+ .icon-links a + a {
147
+ margin-left: 2rem;
148
+ }
149
+
150
+ .featured h4 {
151
+ display: none;
152
+ }
153
+
154
+ @media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
155
+ :host {
156
+ display: -ms-grid;
157
+ display: grid;
158
+ -ms-grid-columns: 40% 20% 40%;
159
+ grid-template-columns: 40% 20% 40%;
160
+ }
161
+
162
+ .wayback-search {
163
+ -ms-grid-column: 1;
164
+ -ms-grid-column-span: 3;
165
+ grid-column: 1 / 4;
166
+ }
167
+
168
+ h3 {
169
+ display: none;
170
+ }
171
+
172
+ .icon-links {
173
+ -ms-grid-column: 1;
174
+ }
175
+
176
+ .icon-links a {
177
+ padding-top: 3.5rem;
178
+ max-width: 16rem;
179
+ }
180
+
181
+ .links {
182
+ padding: 0 1.5rem;
183
+ }
184
+
185
+ .featured {
186
+ -ms-grid-column: 2;
187
+ }
188
+
189
+ .featured h4 {
190
+ display: block;
191
+ }
192
+
193
+ .top {
194
+ -ms-grid-column: 3;
195
+ }
196
+
197
+ .top ul {
198
+ display: -ms-grid;
199
+ display: grid;
200
+ -ms-grid-columns: 50% 3rem 50%;
201
+ grid-template-columns: 50% 50%;
202
+ -ms-grid-rows: (auto) [7];
203
+ grid-template-rows: repeat(7, auto);
204
+ grid-column-gap: 3rem;
205
+ grid-auto-flow: column;
206
+ }
207
+ .top ul > *:nth-child(1) {
208
+ -ms-grid-row: 1;
209
+ -ms-grid-column: 1;
210
+ }
211
+ .top ul > *:nth-child(2) {
212
+ -ms-grid-row: 2;
213
+ -ms-grid-column: 1;
214
+ }
215
+ .top ul > *:nth-child(3) {
216
+ -ms-grid-row: 3;
217
+ -ms-grid-column: 1;
218
+ }
219
+ .top ul > *:nth-child(4) {
220
+ -ms-grid-row: 4;
221
+ -ms-grid-column: 1;
222
+ }
223
+ .top ul > *:nth-child(5) {
224
+ -ms-grid-row: 5;
225
+ -ms-grid-column: 1;
226
+ }
227
+ .top ul > *:nth-child(6) {
228
+ -ms-grid-row: 6;
229
+ -ms-grid-column: 1;
230
+ }
231
+ .top ul > *:nth-child(7) {
232
+ -ms-grid-row: 7;
233
+ -ms-grid-column: 1;
234
+ }
235
+ .top ul > *:nth-child(8) {
236
+ -ms-grid-row: 1;
237
+ -ms-grid-column: 3;
238
+ }
239
+ .top ul > *:nth-child(9) {
240
+ -ms-grid-row: 2;
241
+ -ms-grid-column: 3;
242
+ }
243
+ .top ul > *:nth-child(10) {
244
+ -ms-grid-row: 3;
245
+ -ms-grid-column: 3;
246
+ }
247
+ .top ul > *:nth-child(11) {
248
+ -ms-grid-row: 4;
249
+ -ms-grid-column: 3;
250
+ }
251
+ .top ul > *:nth-child(12) {
252
+ -ms-grid-row: 5;
253
+ -ms-grid-column: 3;
254
+ }
255
+ .top ul > *:nth-child(13) {
256
+ -ms-grid-row: 6;
257
+ -ms-grid-column: 3;
258
+ }
259
+ .top ul > *:nth-child(14) {
260
+ -ms-grid-row: 7;
261
+ -ms-grid-column: 3;
262
+ }
263
+ }
264
+ `,
265
+ ];
266
+ }
267
+ };
268
+ __decorate([
269
+ property({ type: String })
270
+ ], MediaSubnav.prototype, "baseHost", void 0);
271
+ __decorate([
272
+ property({ type: Object })
273
+ ], MediaSubnav.prototype, "config", void 0);
274
+ __decorate([
275
+ property({ type: String })
276
+ ], MediaSubnav.prototype, "menu", void 0);
277
+ __decorate([
278
+ property({ type: Object })
279
+ ], MediaSubnav.prototype, "menuItems", void 0);
280
+ MediaSubnav = MediaSubnav_1 = __decorate([
281
+ customElement('ia-topnav-media-subnav'),
282
+ localized()
283
+ ], MediaSubnav);
284
+ export { MediaSubnav };
285
+ //# sourceMappingURL=ia-topnav-media-subnav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-topnav-media-subnav.js","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav-media-subnav.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,4BAA4B,CAAC;AACpC,OAAO,yBAAyB,CAAC;AACjC,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,EAIL,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,WAAW,mBAAjB,MAAM,WAAY,SAAQ,cAAc;IAAxC;;QACuB,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAmB,mBAAmB,CAAC;QAC7C,SAAI,GAQlB,EAAE,CAAC;QACW,cAAS,GACnC,aAAW,CAAC,YAAY,CAAC;QAEnB,UAAK,GAAsB,aAAW,CAAC,YAAY,CAAC;IAkQ9D,CAAC;IAhQC,YAAY;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAA,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;oBACG,IAAI,CAAC,QAAQ;kBACf,IAAI,CAAC,MAAM;0BACH,IAAI,CAAC,SAAS,CAAC,cAAc;kCACrB,IAAI,CAAC,SAAS,CAAC,sBAAsB;2BAC5C,IAAI,CAAC,SAAS,CAAC,eAAe;mCACtB,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;oBACG,IAAI,CAAC,QAAQ;kBACf,IAAI,CAAC,MAAM;qBACR,IAAI,CAAC,SAAS,CAAC,KAAK;;+BAEV,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAA;YACH,IAAI,CAAC,KAAK,CAAC,OAAO;gCACE,IAAI,CAAC,SAAS;;cAEhC,GAAG,CAAC,UAAU,CAAC;;YAEjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;;;;cAIxC,GAAG,CAAC,KAAK,CAAC;;YAEZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;;;KAGzC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO;YACL,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9F,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;mBAED,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;mBAClC,IAAI,CAAC,UAAU;uCACK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;uBAC/C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,KAAK;;OAEpE,CACF,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAqB;QAC/B,OAAO,KAAK,CAAC,GAAG,CACd,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;;qBAGC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;qBAClC,IAAI,CAAC,UAAU;yCACK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;eACzD,IAAI,CAAC,KAAK;;;OAGlB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,WAAW;YACX,aAAa;YACb,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA0CoB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8G9C;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhR6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAe;AACd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CAA8C;AAC7C;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAQV;AACW;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACA;AAbhB,WAAW;IAFvB,aAAa,CAAC,wBAAwB,CAAC;IACvC,SAAS,EAAE;GACC,WAAW,CAiRvB","sourcesContent":["import { CSSResultGroup, css, html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport TrackedElement from './tracked-element';\nimport './ia-topnav-wayback-slider';\nimport './ia-topnav-more-slider';\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 IATopNavMediaMenu,\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-media-subnav')\n@localized()\nexport class MediaSubnav extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: String }) menu:\n | ''\n | 'web'\n | 'more'\n | 'audio'\n | 'images'\n | 'software'\n | 'texts'\n | 'video' = '';\n @property({ type: Object }) menuItems: IATopNavMediaMenu =\n MediaSubnav.defaultLinks;\n\n private links: IATopNavMediaMenu = MediaSubnav.defaultLinks;\n\n shouldUpdate() {\n if (this.menuItems) {\n this.links = this.menuItems;\n }\n return true;\n }\n\n render() {\n if (!this.menu) {\n return html``;\n }\n\n if (this.menuItems) {\n this.links = this.menuItems;\n }\n\n if (this.menu === 'web') {\n return html` <ia-topnav-wayback-slider\n .baseHost=${this.baseHost}\n .config=${this.config}\n .archiveItLinks=${this.menuItems.archiveItLinks}\n .browserExtensionsLinks=${this.menuItems.browserExtensionsLinks}\n .mobileAppsLinks=${this.menuItems.mobileAppsLinks}\n ></ia-topnav-wayback-slider>`;\n }\n\n if (this.menu === 'more') {\n return html` <ia-topnav-more-slider\n .baseHost=${this.baseHost}\n .config=${this.config}\n .menuItems=${this.menuItems.links}\n >\n </ia-topnav-more-slider>`;\n }\n\n return html`\n <h3>${this.links.heading}</h3>\n <div class=\"icon-links\">${this.iconLinks}</div>\n <div class=\"links featured\">\n <h4>${msg('Featured')}</h4>\n <ul>\n ${this.renderLinks(this.links.featuredLinks)}\n </ul>\n </div>\n <div class=\"links top\">\n <h4>${msg('Top')}</h4>\n <ul>\n ${this.renderLinks(this.links.links)}\n </ul>\n </div>\n `;\n }\n\n static get defaultLinks(): IATopNavMediaMenu {\n return {\n heading: '',\n iconLinks: [],\n featuredLinks: [],\n links: [],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n };\n }\n\n analyticsEvent(title: string) {\n return `${this.config?.eventCategory}|${toSentenceCase(title)}${toSentenceCase(this.menu)}`;\n }\n\n get iconLinks() {\n return this.links.iconLinks.map(\n (link) => html`\n <a\n .href=\"${formatUrl(link.url, this.baseHost)}\"\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.analyticsEvent(link.title)}\"\n ><img src=\"${ifDefined(link.icon)}\" loading=\"lazy\" />${link.title}</a\n >\n `,\n );\n }\n\n renderLinks(links: IATopNavLink[]) {\n return links.map(\n (link) => html`\n <li>\n <a\n .href=\"${formatUrl(link.url, this.baseHost)}\"\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.analyticsEvent(link.title)}\"\n >${link.title}</a\n >\n </li>\n `,\n );\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n subnavListCSS,\n css`\n img {\n display: block;\n width: 90px;\n height: 90px;\n margin: 0 auto 1rem auto;\n border-radius: 45px;\n }\n\n h3 {\n margin-top: 0;\n font-size: 1.8rem;\n }\n\n .icon-links {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: space-evenly;\n -ms-flex-pack: space-evenly;\n justify-content: space-evenly;\n text-align: center;\n }\n\n .icon-links a {\n display: inline-block;\n width: 12rem;\n margin-bottom: 1.5rem;\n overflow: hidden;\n white-space: nowrap;\n text-align: center;\n text-overflow: ellipsis;\n }\n\n .icon-links a + a {\n margin-left: 2rem;\n }\n\n .featured h4 {\n display: none;\n }\n\n @media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {\n :host {\n display: -ms-grid;\n display: grid;\n -ms-grid-columns: 40% 20% 40%;\n grid-template-columns: 40% 20% 40%;\n }\n\n .wayback-search {\n -ms-grid-column: 1;\n -ms-grid-column-span: 3;\n grid-column: 1 / 4;\n }\n\n h3 {\n display: none;\n }\n\n .icon-links {\n -ms-grid-column: 1;\n }\n\n .icon-links a {\n padding-top: 3.5rem;\n max-width: 16rem;\n }\n\n .links {\n padding: 0 1.5rem;\n }\n\n .featured {\n -ms-grid-column: 2;\n }\n\n .featured h4 {\n display: block;\n }\n\n .top {\n -ms-grid-column: 3;\n }\n\n .top ul {\n display: -ms-grid;\n display: grid;\n -ms-grid-columns: 50% 3rem 50%;\n grid-template-columns: 50% 50%;\n -ms-grid-rows: (auto) [7];\n grid-template-rows: repeat(7, auto);\n grid-column-gap: 3rem;\n grid-auto-flow: column;\n }\n .top ul > *:nth-child(1) {\n -ms-grid-row: 1;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(2) {\n -ms-grid-row: 2;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(3) {\n -ms-grid-row: 3;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(4) {\n -ms-grid-row: 4;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(5) {\n -ms-grid-row: 5;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(6) {\n -ms-grid-row: 6;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(7) {\n -ms-grid-row: 7;\n -ms-grid-column: 1;\n }\n .top ul > *:nth-child(8) {\n -ms-grid-row: 1;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(9) {\n -ms-grid-row: 2;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(10) {\n -ms-grid-row: 3;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(11) {\n -ms-grid-row: 4;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(12) {\n -ms-grid-row: 5;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(13) {\n -ms-grid-row: 6;\n -ms-grid-column: 3;\n }\n .top ul > *:nth-child(14) {\n -ms-grid-row: 7;\n -ms-grid-column: 3;\n }\n }\n `,\n ];\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { CSSResultGroup } from 'lit';
2
+ import TrackedElement from './tracked-element.js';
3
+ import { IATopNavConfig, IATopNavLink } from './models.js';
4
+ export declare class MoreSlider extends TrackedElement {
5
+ baseHost: string;
6
+ config: IATopNavConfig;
7
+ menuItems: IATopNavLink[];
8
+ render(): import("lit").TemplateResult<1>;
9
+ analyticsEvent(title: string): string;
10
+ static get styles(): CSSResultGroup;
11
+ }
12
+ //# sourceMappingURL=ia-topnav-more-slider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-topnav-more-slider.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav-more-slider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAa,MAAM,KAAK,CAAC;AAIhD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxD,qBACa,UAAW,SAAQ,cAAc;IAChB,QAAQ,SAAM;IACd,MAAM,EAAE,cAAc,CAAuB;IAC9C,SAAS,EAAE,YAAY,EAAE,CAAM;IAE1D,MAAM;IAkBN,cAAc,CAAC,KAAK,EAAE,MAAM;IAI5B,MAAM,KAAK,MAAM,IAAI,cAAc,CAiBlC;CACF"}
@@ -0,0 +1,65 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html } from 'lit';
3
+ import { property } from 'lit/decorators.js';
4
+ import { customElement } from '../../util/custom-element.js';
5
+ import TrackedElement from './tracked-element.js';
6
+ import { formatUrl, toSentenceCase } from './lib/helpers.js';
7
+ import { defaultTopNavConfig } from './data/menus.js';
8
+ import themeStyles from '../../themes/theme-styles.js';
9
+ let MoreSlider = class MoreSlider extends TrackedElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.baseHost = '';
13
+ this.config = defaultTopNavConfig;
14
+ this.menuItems = [];
15
+ }
16
+ render() {
17
+ return html `
18
+ <ul>
19
+ ${this.menuItems.map((item) => html `<li>
20
+ <a
21
+ @click=${this.trackClick}
22
+ href=${formatUrl(item.url, this.baseHost)}
23
+ data-event-click-tracking="${this.analyticsEvent(item.title)}"
24
+ >${item.title}</a
25
+ >
26
+ </li>`)}
27
+ </ul>
28
+ `;
29
+ }
30
+ analyticsEvent(title) {
31
+ return `${this.config.eventCategory}|NavMore${toSentenceCase(title)}`;
32
+ }
33
+ static get styles() {
34
+ return [
35
+ themeStyles,
36
+ css `
37
+ ul {
38
+ padding: 0;
39
+ margin: -1rem 0 0 0;
40
+ list-style: none;
41
+ }
42
+ a {
43
+ display: block;
44
+ padding: 1rem 0;
45
+ text-decoration: none;
46
+ color: var(--activeColor);
47
+ }
48
+ `,
49
+ ];
50
+ }
51
+ };
52
+ __decorate([
53
+ property({ type: String })
54
+ ], MoreSlider.prototype, "baseHost", void 0);
55
+ __decorate([
56
+ property({ type: Object })
57
+ ], MoreSlider.prototype, "config", void 0);
58
+ __decorate([
59
+ property({ type: Array })
60
+ ], MoreSlider.prototype, "menuItems", void 0);
61
+ MoreSlider = __decorate([
62
+ customElement('ia-topnav-more-slider')
63
+ ], MoreSlider);
64
+ export { MoreSlider };
65
+ //# sourceMappingURL=ia-topnav-more-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-topnav-more-slider.js","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav-more-slider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAkB,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAG5C,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,cAAc;IAAvC;;QACuB,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAmB,mBAAmB,CAAC;QAC9C,cAAS,GAAmB,EAAE,CAAC;IA0C5D,CAAC;IAxCC,MAAM;QACJ,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,SAAS,CAAC,GAAG,CAClB,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAA;;yBAES,IAAI,CAAC,UAAU;uBACjB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;6CACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;mBACzD,IAAI,CAAC,KAAK;;kBAEX,CACT;;KAEJ,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,WAAW,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IACxE,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,WAAW;YACX,GAAG,CAAA;;;;;;;;;;;;OAYF;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AA5C6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAe;AACd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAA8C;AAC9C;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6CAAgC;AAH/C,UAAU;IADtB,aAAa,CAAC,uBAAuB,CAAC;GAC1B,UAAU,CA6CtB","sourcesContent":["import { CSSResultGroup, css, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\n\nimport TrackedElement from './tracked-element';\nimport { formatUrl, toSentenceCase } from './lib/helpers';\nimport { IATopNavConfig, IATopNavLink } from './models';\nimport { defaultTopNavConfig } from './data/menus';\nimport themeStyles from '@src/themes/theme-styles';\n\n@customElement('ia-topnav-more-slider')\nexport class MoreSlider extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: Array }) menuItems: IATopNavLink[] = [];\n\n render() {\n return html`\n <ul>\n ${this.menuItems.map(\n (item) =>\n html`<li>\n <a\n @click=${this.trackClick}\n href=${formatUrl(item.url, this.baseHost)}\n data-event-click-tracking=\"${this.analyticsEvent(item.title)}\"\n >${item.title}</a\n >\n </li>`,\n )}\n </ul>\n `;\n }\n\n analyticsEvent(title: string) {\n return `${this.config.eventCategory}|NavMore${toSentenceCase(title)}`;\n }\n\n static get styles(): CSSResultGroup {\n return [\n themeStyles,\n css`\n ul {\n padding: 0;\n margin: -1rem 0 0 0;\n list-style: none;\n }\n a {\n display: block;\n padding: 1rem 0;\n text-decoration: none;\n color: var(--activeColor);\n }\n `,\n ];\n }\n}\n"]}
@@ -0,0 +1,53 @@
1
+ import { CSSResultGroup, PropertyValues, nothing } from 'lit';
2
+ import TrackedElement from './tracked-element.js';
3
+ import './ia-topnav-icon-hamburger.js';
4
+ import './ia-topnav-login-button.js';
5
+ import './ia-topnav-media-menu.js';
6
+ import '../../elements/ia-sr-only-text/ia-sr-only-text.js';
7
+ import { IATopNavConfig, IATopNavSecondIdentitySlotMode } from './models.js';
8
+ export declare class PrimaryNav extends TrackedElement {
9
+ mediaBaseHost: string;
10
+ baseHost: string;
11
+ hideSearch: boolean;
12
+ config: IATopNavConfig;
13
+ openMenu: string;
14
+ screenName: string;
15
+ secondIdentitySlotMode: IATopNavSecondIdentitySlotMode;
16
+ selectedMenuOption: string;
17
+ signedOutMenuOpen: boolean;
18
+ userMenuOpen: boolean;
19
+ mediaMenuAnimate: boolean;
20
+ username: string;
21
+ userProfileImagePath: string;
22
+ currentTab: {
23
+ mediatype: string;
24
+ moveTo: string;
25
+ } | undefined;
26
+ signedOutMenuToggled: unknown;
27
+ private userMenuButton?;
28
+ private loginButton?;
29
+ updated(props: PropertyValues): typeof nothing | undefined;
30
+ render(): import("lit").TemplateResult<1>;
31
+ /** Distance (px) from this element's right edge to the right edge of the account dropdown toggle. */
32
+ getAccountDropdownOffset(): number;
33
+ toggleMediaMenu(e: Event): void;
34
+ toggleSearchMenu(e: Event): void;
35
+ toggleUserMenu(e: Event): void;
36
+ get userIcon(): import("lit").TemplateResult<1>;
37
+ get loginIcon(): import("lit").TemplateResult<1>;
38
+ get searchMenuOpen(): boolean;
39
+ get allowSecondaryIcon(): boolean;
40
+ /**
41
+ * The search slot container, rendered between ia-topnav-media-menu and
42
+ * right-side-section so it sits left of the Upload button on desktop.
43
+ */
44
+ get searchSlotContainer(): import("lit").TemplateResult<1> | typeof nothing;
45
+ get searchMenu(): import("lit").TemplateResult<1> | typeof nothing;
46
+ get mobileDonateHeart(): import("lit").TemplateResult<1>;
47
+ get uploadButtonTemplate(): import("lit").TemplateResult<1>;
48
+ get userStateTemplate(): import("lit").TemplateResult<1>;
49
+ get secondLogoSlot(): import("lit").TemplateResult<1> | typeof nothing;
50
+ get secondLogoClass(): "" | "second-logo";
51
+ static get styles(): CSSResultGroup;
52
+ }
53
+ //# sourceMappingURL=ia-topnav-primary-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-topnav-primary-nav.d.ts","sourceRoot":"","sources":["../../../../src/elements/ia-topnav/ia-topnav-primary-nav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAa,OAAO,EAAE,MAAM,KAAK,CAAC;AACzE,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,OAAO,4BAA4B,CAAC;AACpC,OAAO,0BAA0B,CAAC;AAElC,OAAO,wBAAwB,CAAC;AAChC,OAAO,+CAA+C,CAAC;AAKvD,OAAO,EACL,cAAc,EACd,8BAA8B,EAE/B,MAAM,UAAU,CAAC;AAKlB,qBAEa,UAAW,SAAQ,cAAc;IAChB,aAAa,SAAyB;IACtC,QAAQ,SAAM;IACb,UAAU,UAAS;IACpB,MAAM,EAAE,cAAc,CAAuB;IAC7C,QAAQ,SAAM;IACd,UAAU,SAAM;IAE5C,sBAAsB,EAAE,8BAA8B,CAAM;IAChC,kBAAkB,SAAM;IACvB,iBAAiB,UAAS;IAC1B,YAAY,UAAS;IACrB,gBAAgB,UAAS;IAC1B,QAAQ,SAAM;IACd,oBAAoB,SAAM;IAC1B,UAAU,EAClC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACrC,SAAS,CAAC;IACd,oBAAoB,EAAE,OAAO,CAAC;IAEH,OAAO,CAAC,cAAc,CAAC,CAAoB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAc;IAEnE,OAAO,CAAC,KAAK,EAAE,cAAc;IAoD7B,MAAM;IA2CN,qGAAqG;IACrG,wBAAwB,IAAI,MAAM;IAkBlC,eAAe,CAAC,CAAC,EAAE,KAAK;IAWxB,gBAAgB,CAAC,CAAC,EAAE,KAAK;IAWzB,cAAc,CAAC,CAAC,EAAE,KAAK;IAWvB,IAAI,QAAQ,oCAqBX;IAED,IAAI,SAAS,oCAUZ;IAED,IAAI,cAAc,YAEjB;IAED,IAAI,kBAAkB,YAErB;IAED;;;OAGG;IACH,IAAI,mBAAmB,qDAOtB;IAED,IAAI,UAAU,qDAYb;IAED,IAAI,iBAAiB,oCAapB;IAED,IAAI,oBAAoB,oCASvB;IAED,IAAI,iBAAiB,oCAIpB;IAED,IAAI,cAAc,qDAOjB;IAED,IAAI,eAAe,uBAElB;IAED,MAAM,KAAK,MAAM,IAAI,cAAc,CAuVlC;CACF"}