@internetarchive/ia-topnav 1.2.2 → 1.3.0-WEBDEV-8274-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/.prettierignore +1 -0
  2. package/README.md +8 -8
  3. package/demo/app-root.ts +183 -0
  4. package/demo/index.html +28 -0
  5. package/dist/demo/app-root.d.ts +13 -0
  6. package/dist/demo/app-root.js +197 -0
  7. package/dist/demo/app-root.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +3 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/src/assets/img/hamburger.d.ts +7 -0
  12. package/dist/src/assets/img/hamburger.js +51 -0
  13. package/dist/src/assets/img/hamburger.js.map +1 -0
  14. package/dist/src/assets/img/ia-icon.d.ts +7 -0
  15. package/dist/src/assets/img/ia-icon.js +33 -0
  16. package/dist/src/assets/img/ia-icon.js.map +1 -0
  17. package/dist/src/assets/img/icon-audio.d.ts +2 -0
  18. package/dist/src/assets/img/icon-audio.js +28 -0
  19. package/dist/src/assets/img/icon-audio.js.map +1 -0
  20. package/dist/src/assets/img/icon-close.d.ts +2 -0
  21. package/dist/src/assets/img/icon-close.js +20 -0
  22. package/dist/src/assets/img/icon-close.js.map +1 -0
  23. package/dist/src/assets/img/icon-donate-unpadded.d.ts +2 -0
  24. package/dist/src/assets/img/icon-donate-unpadded.js +19 -0
  25. package/dist/src/assets/img/icon-donate-unpadded.js.map +1 -0
  26. package/dist/src/assets/img/icon-donate.d.ts +2 -0
  27. package/dist/src/assets/img/icon-donate.js +18 -0
  28. package/dist/src/assets/img/icon-donate.js.map +1 -0
  29. package/dist/src/assets/img/icon-ellipses.d.ts +2 -0
  30. package/dist/src/assets/img/icon-ellipses.js +19 -0
  31. package/dist/src/assets/img/icon-ellipses.js.map +1 -0
  32. package/dist/src/assets/img/icon-ia-logo.d.ts +2 -0
  33. package/dist/src/assets/img/icon-ia-logo.js +30 -0
  34. package/dist/src/assets/img/icon-ia-logo.js.map +1 -0
  35. package/dist/src/assets/img/icon-images.d.ts +2 -0
  36. package/dist/src/assets/img/icon-images.js +19 -0
  37. package/dist/src/assets/img/icon-images.js.map +1 -0
  38. package/dist/src/assets/img/icon-search.d.ts +2 -0
  39. package/dist/src/assets/img/icon-search.js +19 -0
  40. package/dist/src/assets/img/icon-search.js.map +1 -0
  41. package/dist/src/assets/img/icon-software.d.ts +2 -0
  42. package/dist/src/assets/img/icon-software.js +18 -0
  43. package/dist/src/assets/img/icon-software.js.map +1 -0
  44. package/dist/src/assets/img/icon-texts.d.ts +2 -0
  45. package/dist/src/assets/img/icon-texts.js +18 -0
  46. package/dist/src/assets/img/icon-texts.js.map +1 -0
  47. package/dist/src/assets/img/icon-upload-unpadded.d.ts +2 -0
  48. package/dist/src/assets/img/icon-upload-unpadded.js +18 -0
  49. package/dist/src/assets/img/icon-upload-unpadded.js.map +1 -0
  50. package/dist/src/assets/img/icon-upload.d.ts +2 -0
  51. package/dist/src/assets/img/icon-upload.js +21 -0
  52. package/dist/src/assets/img/icon-upload.js.map +1 -0
  53. package/dist/src/assets/img/icon-user.d.ts +2 -0
  54. package/dist/src/assets/img/icon-user.js +19 -0
  55. package/dist/src/assets/img/icon-user.js.map +1 -0
  56. package/dist/src/assets/img/icon-video.d.ts +2 -0
  57. package/dist/src/assets/img/icon-video.js +19 -0
  58. package/dist/src/assets/img/icon-video.js.map +1 -0
  59. package/dist/src/assets/img/icon-web.d.ts +2 -0
  60. package/dist/src/assets/img/icon-web.js +19 -0
  61. package/dist/src/assets/img/icon-web.js.map +1 -0
  62. package/dist/src/assets/img/icon.d.ts +5 -0
  63. package/dist/src/assets/img/icon.js +17 -0
  64. package/dist/src/assets/img/icon.js.map +1 -0
  65. package/dist/src/assets/img/icons.d.ts +18 -0
  66. package/dist/src/assets/img/icons.js +33 -0
  67. package/dist/src/assets/img/icons.js.map +1 -0
  68. package/dist/src/assets/img/wordmark-stacked.d.ts +2 -0
  69. package/dist/src/assets/img/wordmark-stacked.js +13 -0
  70. package/dist/src/assets/img/wordmark-stacked.js.map +1 -0
  71. package/dist/src/data/menus.d.ts +13 -0
  72. package/dist/src/data/menus.js +643 -0
  73. package/dist/src/data/menus.js.map +1 -0
  74. package/dist/src/desktop-subnav.d.ts +11 -0
  75. package/dist/src/desktop-subnav.js +55 -0
  76. package/dist/src/desktop-subnav.js.map +1 -0
  77. package/dist/src/dropdown-menu.d.ts +21 -0
  78. package/dist/src/dropdown-menu.js +132 -0
  79. package/dist/src/dropdown-menu.js.map +1 -0
  80. package/dist/src/ia-topnav.d.ts +70 -0
  81. package/dist/src/ia-topnav.js +343 -0
  82. package/dist/src/ia-topnav.js.map +1 -0
  83. package/dist/src/lib/format-url.d.ts +2 -0
  84. package/dist/src/lib/format-url.js +2 -0
  85. package/dist/src/lib/format-url.js.map +1 -0
  86. package/dist/src/lib/keyboard-navigation.d.ts +45 -0
  87. package/dist/src/lib/keyboard-navigation.js +140 -0
  88. package/dist/src/lib/keyboard-navigation.js.map +1 -0
  89. package/dist/src/lib/location-handler.d.ts +1 -0
  90. package/dist/src/lib/location-handler.js +5 -0
  91. package/dist/src/lib/location-handler.js.map +1 -0
  92. package/dist/src/lib/make-boolean-string.d.ts +2 -0
  93. package/dist/src/lib/make-boolean-string.js +12 -0
  94. package/dist/src/lib/make-boolean-string.js.map +1 -0
  95. package/dist/src/lib/query-handler.d.ts +4 -0
  96. package/dist/src/lib/query-handler.js +7 -0
  97. package/dist/src/lib/query-handler.js.map +1 -0
  98. package/dist/src/lib/t-sentence-case.d.ts +2 -0
  99. package/dist/src/lib/t-sentence-case.js +10 -0
  100. package/dist/src/lib/t-sentence-case.js.map +1 -0
  101. package/dist/src/login-button.d.ts +16 -0
  102. package/dist/src/login-button.js +86 -0
  103. package/dist/src/login-button.js.map +1 -0
  104. package/dist/src/media-button.d.ts +24 -0
  105. package/dist/src/media-button.js +119 -0
  106. package/dist/src/media-button.js.map +1 -0
  107. package/dist/src/media-menu.d.ts +20 -0
  108. package/dist/src/media-menu.js +148 -0
  109. package/dist/src/media-menu.js.map +1 -0
  110. package/dist/src/media-slider.d.ts +15 -0
  111. package/dist/src/media-slider.js +139 -0
  112. package/dist/src/media-slider.js.map +1 -0
  113. package/dist/src/media-subnav.d.ts +18 -0
  114. package/dist/src/media-subnav.js +126 -0
  115. package/dist/src/media-subnav.js.map +1 -0
  116. package/dist/src/models.d.ts +51 -0
  117. package/dist/src/models.js +2 -0
  118. package/dist/src/models.js.map +1 -0
  119. package/dist/src/more-slider.d.ts +10 -0
  120. package/dist/src/more-slider.js +50 -0
  121. package/dist/src/more-slider.js.map +1 -0
  122. package/dist/src/nav-search.d.ts +19 -0
  123. package/dist/src/nav-search.js +127 -0
  124. package/dist/src/nav-search.js.map +1 -0
  125. package/dist/src/primary-nav.d.ts +46 -0
  126. package/dist/src/primary-nav.js +302 -0
  127. package/dist/src/primary-nav.js.map +1 -0
  128. package/dist/src/save-page-form.d.ts +10 -0
  129. package/dist/src/save-page-form.js +70 -0
  130. package/dist/src/save-page-form.js.map +1 -0
  131. package/dist/src/search-menu.d.ts +20 -0
  132. package/dist/src/search-menu.js +162 -0
  133. package/dist/src/search-menu.js.map +1 -0
  134. package/dist/src/signed-out-dropdown.d.ts +4 -0
  135. package/dist/src/signed-out-dropdown.js +15 -0
  136. package/dist/src/signed-out-dropdown.js.map +1 -0
  137. package/dist/src/styles/base.d.ts +1 -0
  138. package/dist/src/styles/base.js +48 -0
  139. package/dist/src/styles/base.js.map +1 -0
  140. package/dist/src/styles/desktop-subnav.d.ts +2 -0
  141. package/dist/src/styles/desktop-subnav.js +38 -0
  142. package/dist/src/styles/desktop-subnav.js.map +1 -0
  143. package/dist/src/styles/dropdown-menu.d.ts +2 -0
  144. package/dist/src/styles/dropdown-menu.js +171 -0
  145. package/dist/src/styles/dropdown-menu.js.map +1 -0
  146. package/dist/src/styles/ia-topnav.d.ts +2 -0
  147. package/dist/src/styles/ia-topnav.js +90 -0
  148. package/dist/src/styles/ia-topnav.js.map +1 -0
  149. package/dist/src/styles/login-button.d.ts +2 -0
  150. package/dist/src/styles/login-button.js +90 -0
  151. package/dist/src/styles/login-button.js.map +1 -0
  152. package/dist/src/styles/media-button.d.ts +2 -0
  153. package/dist/src/styles/media-button.js +156 -0
  154. package/dist/src/styles/media-button.js.map +1 -0
  155. package/dist/src/styles/media-menu.d.ts +2 -0
  156. package/dist/src/styles/media-menu.js +66 -0
  157. package/dist/src/styles/media-menu.js.map +1 -0
  158. package/dist/src/styles/media-slider.d.ts +2 -0
  159. package/dist/src/styles/media-slider.js +81 -0
  160. package/dist/src/styles/media-slider.js.map +1 -0
  161. package/dist/src/styles/media-subnav.d.ts +2 -0
  162. package/dist/src/styles/media-subnav.js +159 -0
  163. package/dist/src/styles/media-subnav.js.map +1 -0
  164. package/dist/src/styles/more-slider.d.ts +2 -0
  165. package/dist/src/styles/more-slider.js +15 -0
  166. package/dist/src/styles/more-slider.js.map +1 -0
  167. package/dist/src/styles/nav-search.d.ts +2 -0
  168. package/dist/src/styles/nav-search.js +136 -0
  169. package/dist/src/styles/nav-search.js.map +1 -0
  170. package/dist/src/styles/primary-nav.d.ts +2 -0
  171. package/dist/src/styles/primary-nav.js +311 -0
  172. package/dist/src/styles/primary-nav.js.map +1 -0
  173. package/dist/src/styles/save-page-form.d.ts +2 -0
  174. package/dist/src/styles/save-page-form.js +54 -0
  175. package/dist/src/styles/save-page-form.js.map +1 -0
  176. package/dist/src/styles/search-menu.d.ts +2 -0
  177. package/dist/src/styles/search-menu.js +118 -0
  178. package/dist/src/styles/search-menu.js.map +1 -0
  179. package/dist/src/styles/signed-out-dropdown.d.ts +2 -0
  180. package/dist/src/styles/signed-out-dropdown.js +31 -0
  181. package/dist/src/styles/signed-out-dropdown.js.map +1 -0
  182. package/dist/src/styles/user-menu.d.ts +2 -0
  183. package/dist/src/styles/user-menu.js +31 -0
  184. package/dist/src/styles/user-menu.js.map +1 -0
  185. package/dist/src/styles/wayback-search.d.ts +2 -0
  186. package/dist/src/styles/wayback-search.js +48 -0
  187. package/dist/src/styles/wayback-search.js.map +1 -0
  188. package/dist/src/styles/wayback-slider.d.ts +2 -0
  189. package/dist/src/styles/wayback-slider.js +33 -0
  190. package/dist/src/styles/wayback-slider.js.map +1 -0
  191. package/dist/src/tracked-element.d.ts +5 -0
  192. package/dist/src/tracked-element.js +30 -0
  193. package/dist/src/tracked-element.js.map +1 -0
  194. package/dist/src/user-menu.d.ts +8 -0
  195. package/dist/src/user-menu.js +43 -0
  196. package/dist/src/user-menu.js.map +1 -0
  197. package/dist/src/wayback-search.d.ts +4 -0
  198. package/dist/src/wayback-search.js +14 -0
  199. package/dist/src/wayback-search.js.map +1 -0
  200. package/dist/src/wayback-slider.d.ts +18 -0
  201. package/dist/src/wayback-slider.js +99 -0
  202. package/dist/src/wayback-slider.js.map +1 -0
  203. package/dist/test/assets/img/hamburger.test.d.ts +1 -0
  204. package/dist/test/assets/img/hamburger.test.js +13 -0
  205. package/dist/test/assets/img/hamburger.test.js.map +1 -0
  206. package/dist/test/data/menus.test.d.ts +1 -0
  207. package/dist/test/data/menus.test.js +11 -0
  208. package/dist/test/data/menus.test.js.map +1 -0
  209. package/dist/test/dropdown-menu.test.d.ts +1 -0
  210. package/dist/test/dropdown-menu.test.js +20 -0
  211. package/dist/test/dropdown-menu.test.js.map +1 -0
  212. package/dist/test/ia-icon.test.d.ts +1 -0
  213. package/dist/test/ia-icon.test.js +11 -0
  214. package/dist/test/ia-icon.test.js.map +1 -0
  215. package/dist/test/ia-topnav.test.d.ts +1 -0
  216. package/dist/test/ia-topnav.test.js +232 -0
  217. package/dist/test/ia-topnav.test.js.map +1 -0
  218. package/dist/test/login-button.test.d.ts +1 -0
  219. package/dist/test/login-button.test.js +14 -0
  220. package/dist/test/login-button.test.js.map +1 -0
  221. package/dist/test/media-button.test.d.ts +1 -0
  222. package/dist/test/media-button.test.js +13 -0
  223. package/dist/test/media-button.test.js.map +1 -0
  224. package/dist/test/media-menu.test.d.ts +1 -0
  225. package/dist/test/media-menu.test.js +27 -0
  226. package/dist/test/media-menu.test.js.map +1 -0
  227. package/dist/test/media-slider.test.d.ts +1 -0
  228. package/dist/test/media-slider.test.js +47 -0
  229. package/dist/test/media-slider.test.js.map +1 -0
  230. package/dist/test/more-slider.test.d.ts +1 -0
  231. package/dist/test/more-slider.test.js +17 -0
  232. package/dist/test/more-slider.test.js.map +1 -0
  233. package/dist/test/nav-search.test.d.ts +1 -0
  234. package/dist/test/nav-search.test.js +47 -0
  235. package/dist/test/nav-search.test.js.map +1 -0
  236. package/dist/test/primary-nav.test.d.ts +1 -0
  237. package/dist/test/primary-nav.test.js +55 -0
  238. package/dist/test/primary-nav.test.js.map +1 -0
  239. package/dist/test/save-page-form.test.d.ts +1 -0
  240. package/dist/test/save-page-form.test.js +47 -0
  241. package/dist/test/save-page-form.test.js.map +1 -0
  242. package/dist/test/search-menu.test.d.ts +1 -0
  243. package/dist/test/search-menu.test.js +42 -0
  244. package/dist/test/search-menu.test.js.map +1 -0
  245. package/dist/test/user-menu.test.d.ts +1 -0
  246. package/dist/test/user-menu.test.js +28 -0
  247. package/dist/test/user-menu.test.js.map +1 -0
  248. package/dist/test/wayback-slider.test.d.ts +1 -0
  249. package/dist/test/wayback-slider.test.js +80 -0
  250. package/dist/test/wayback-slider.test.js.map +1 -0
  251. package/eslint.config.mjs +53 -0
  252. package/index.ts +3 -0
  253. package/package.json +48 -37
  254. package/prettier.config.js +9 -0
  255. package/src/assets/img/hamburger.ts +49 -0
  256. package/src/assets/img/{ia-icon.js → ia-icon.ts} +7 -16
  257. package/src/assets/img/{icon-audio.js → icon-audio.ts} +7 -2
  258. package/src/assets/img/icon-close.ts +20 -0
  259. package/src/assets/img/icon-donate-unpadded.ts +19 -0
  260. package/src/assets/img/icon-donate.ts +18 -0
  261. package/src/assets/img/icon-ellipses.ts +19 -0
  262. package/src/assets/img/icon-ia-logo.ts +30 -0
  263. package/src/assets/img/icon-images.ts +19 -0
  264. package/src/assets/img/icon-search.ts +19 -0
  265. package/src/assets/img/icon-software.ts +18 -0
  266. package/src/assets/img/icon-texts.ts +18 -0
  267. package/src/assets/img/{icon-upload-unpadded.js → icon-upload-unpadded.ts} +6 -2
  268. package/src/assets/img/icon-upload.ts +21 -0
  269. package/src/assets/img/icon-user.ts +19 -0
  270. package/src/assets/img/icon-video.ts +19 -0
  271. package/src/assets/img/icon-web.ts +19 -0
  272. package/src/assets/img/icon.ts +8 -0
  273. package/src/assets/img/icons.ts +33 -0
  274. package/src/assets/img/{wordmark-stacked.js → wordmark-stacked.ts} +2 -2
  275. package/src/data/{menus.js → menus.ts} +195 -213
  276. package/src/desktop-subnav.ts +49 -0
  277. package/src/dropdown-menu.ts +132 -0
  278. package/src/ia-topnav.ts +366 -0
  279. package/src/lib/format-url.ts +2 -0
  280. package/src/lib/keyboard-navigation.ts +166 -0
  281. package/src/lib/location-handler.ts +5 -0
  282. package/src/lib/make-boolean-string.ts +12 -0
  283. package/src/lib/query-handler.ts +7 -0
  284. package/src/lib/t-sentence-case.ts +10 -0
  285. package/src/login-button.ts +78 -0
  286. package/src/{media-button.js → media-button.ts} +39 -49
  287. package/src/media-menu.ts +143 -0
  288. package/src/media-slider.ts +131 -0
  289. package/src/media-subnav.ts +132 -0
  290. package/src/models.ts +63 -0
  291. package/src/more-slider.ts +42 -0
  292. package/src/nav-search.ts +117 -0
  293. package/src/primary-nav.ts +296 -0
  294. package/src/save-page-form.ts +66 -0
  295. package/src/search-menu.ts +156 -0
  296. package/src/signed-out-dropdown.ts +11 -0
  297. package/src/styles/{base.js → base.ts} +2 -2
  298. package/src/styles/{desktop-subnav.js → desktop-subnav.ts} +6 -5
  299. package/src/styles/{dropdown-menu.js → dropdown-menu.ts} +12 -5
  300. package/src/styles/{ia-topnav.js → ia-topnav.ts} +8 -6
  301. package/src/styles/{login-button.js → login-button.ts} +26 -6
  302. package/src/styles/{media-button.js → media-button.ts} +10 -7
  303. package/src/styles/{media-menu.js → media-menu.ts} +3 -7
  304. package/src/styles/{media-slider.js → media-slider.ts} +5 -5
  305. package/src/styles/media-subnav.ts +159 -0
  306. package/src/styles/{more-slider.js → more-slider.ts} +1 -1
  307. package/src/styles/{nav-search.js → nav-search.ts} +11 -9
  308. package/src/styles/{primary-nav.js → primary-nav.ts} +89 -76
  309. package/src/styles/{save-page-form.js → save-page-form.ts} +9 -8
  310. package/src/styles/{search-menu.js → search-menu.ts} +22 -3
  311. package/src/styles/{signed-out-dropdown.js → signed-out-dropdown.ts} +3 -3
  312. package/src/styles/{user-menu.js → user-menu.ts} +3 -3
  313. package/src/styles/{wayback-search.js → wayback-search.ts} +3 -3
  314. package/src/styles/wayback-slider.ts +33 -0
  315. package/src/tracked-element.ts +32 -0
  316. package/src/user-menu.ts +32 -0
  317. package/src/wayback-search.ts +10 -0
  318. package/src/wayback-slider.ts +88 -0
  319. package/ssl/server.crt +22 -0
  320. package/ssl/server.key +28 -0
  321. package/test/assets/img/hamburger.test.ts +18 -0
  322. package/test/data/menus.test.ts +15 -0
  323. package/test/{dropdown-menu.test.js → dropdown-menu.test.ts} +5 -7
  324. package/test/{ia-icon.test.js → ia-icon.test.ts} +6 -4
  325. package/test/ia-topnav.test.ts +343 -0
  326. package/test/login-button.test.ts +19 -0
  327. package/test/media-button.test.ts +19 -0
  328. package/test/{media-menu.test.js → media-menu.test.ts} +14 -12
  329. package/test/media-slider.test.ts +63 -0
  330. package/test/more-slider.test.ts +21 -0
  331. package/test/nav-search.test.ts +70 -0
  332. package/test/primary-nav.test.ts +94 -0
  333. package/test/save-page-form.test.ts +62 -0
  334. package/test/{search-menu.test.js → search-menu.test.ts} +19 -10
  335. package/test/{user-menu.test.js → user-menu.test.ts} +10 -9
  336. package/test/wayback-slider.test.ts +97 -0
  337. package/tsconfig.json +31 -0
  338. package/web-dev-server.config.mjs +32 -0
  339. package/web-test-runner.config.mjs +41 -0
  340. package/.eslintrc +0 -16
  341. package/index.d.ts +0 -109
  342. package/index.js +0 -3
  343. package/src/assets/img/hamburger.js +0 -36
  344. package/src/assets/img/icon-close.js +0 -16
  345. package/src/assets/img/icon-donate.js +0 -15
  346. package/src/assets/img/icon-ellipses.js +0 -15
  347. package/src/assets/img/icon-ia-logo.js +0 -24
  348. package/src/assets/img/icon-images.js +0 -15
  349. package/src/assets/img/icon-search.js +0 -15
  350. package/src/assets/img/icon-software.js +0 -15
  351. package/src/assets/img/icon-texts.js +0 -15
  352. package/src/assets/img/icon-upload.js +0 -15
  353. package/src/assets/img/icon-user.js +0 -15
  354. package/src/assets/img/icon-video.js +0 -15
  355. package/src/assets/img/icon-web.js +0 -15
  356. package/src/assets/img/icon.js +0 -18
  357. package/src/assets/img/icons.js +0 -31
  358. package/src/assets/img/user.js +0 -38
  359. package/src/desktop-subnav.js +0 -45
  360. package/src/dropdown-menu.js +0 -109
  361. package/src/ia-topnav.js +0 -307
  362. package/src/lib/formatUrl.js +0 -1
  363. package/src/lib/location-handler.js +0 -5
  364. package/src/lib/query-handler.js +0 -7
  365. package/src/lib/toSentenceCase.js +0 -8
  366. package/src/login-button.js +0 -79
  367. package/src/media-menu.js +0 -133
  368. package/src/media-slider.js +0 -104
  369. package/src/media-subnav.js +0 -112
  370. package/src/more-slider.js +0 -33
  371. package/src/nav-search.js +0 -125
  372. package/src/primary-nav.js +0 -215
  373. package/src/save-page-form.js +0 -59
  374. package/src/search-menu.js +0 -115
  375. package/src/signed-out-dropdown.js +0 -10
  376. package/src/styles/media-subnav.js +0 -156
  377. package/src/styles/wayback-slider.js +0 -30
  378. package/src/tracked-element.js +0 -27
  379. package/src/user-menu.js +0 -42
  380. package/src/wayback-search.js +0 -18
  381. package/src/wayback-slider.js +0 -87
  382. package/test/assets/img/hamburger.test.js +0 -15
  383. package/test/assets/img/user.test.js +0 -15
  384. package/test/data/menus.test.js +0 -19
  385. package/test/ia-topnav.test.js +0 -273
  386. package/test/login-button.test.js +0 -15
  387. package/test/media-button.test.js +0 -19
  388. package/test/media-slider.test.js +0 -57
  389. package/test/more-slider.test.js +0 -13
  390. package/test/nav-search.test.js +0 -61
  391. package/test/primary-nav.test.js +0 -82
  392. package/test/save-page-form.test.js +0 -35
  393. package/test/wayback-slider.test.js +0 -80
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menus.js","sourceRoot":"","sources":["../../../src/data/menus.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAIjF,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,kCAAkC;IAClC,aAAa,EAAE,QAAQ;IACvB,gGAAgG;IAChG,mBAAmB,EAAE,EAAE;IACvB,iFAAiF;IACjF,oBAAoB,EAAE,YAAY;CACnC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,cAAc,EAC/B,WAAmB,qBAAqB,EACxC,uBAA+B,EAAE,EACjC,iBAAyB,EAAE;IAE3B,IAAI,oBAAoB;QACtB,mBAAmB,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,8BAA8B;IAEjG,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,wBAAwB;YACjC,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,qBAAqB;oBACtC,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,6BAA6B;oBAC9C,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,iCAAiC;oBACxC,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;gBACD;oBACE,KAAK,EAAE,mCAAmC;oBAC1C,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,+CAA+C;oBAChE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,0CAA0C;iBAC3D;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,4BAA4B;oBAC7C,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,YAAY;oBACnB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,2BAA2B;oBAClC,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,eAAe;iBAChC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,gCAAgC;iBACjD;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,yCAAyC;iBAC1D;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,GAAG,QAAQ,SAAS;iBAC1B;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,0BAA0B;iBAChC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,SAAS;iBAC1B;gBACD;oBACE,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,GAAG,QAAQ,YAAY;iBAC7B;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,yCAAyC;iBAC1D;gBACD;oBACE,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,GAAG,QAAQ,aAAa;iBAC9B;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,8BAA8B;oBAC/C,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,iCAAiC;oBAClD,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,sCAAsC;iBACvD;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,6BAA6B;iBAC9C;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,gCAAgC;iBACjD;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sCAAsC;iBACvD;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,GAAG,QAAQ,sBAAsB;oBACvC,GAAG,EAAE,0BAA0B;iBAChC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,GAAG,QAAQ,yBAAyB;oBAC1C,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,eAAe;iBAChC;gBACD;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,GAAG,EAAE;YACH,eAAe,EAAE;gBACf;oBACE,GAAG,EAAE,4DAA4D;oBACjE,KAAK,EAAE,uBAAuB;oBAC9B,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,kFAAkF;oBACvF,KAAK,EAAE,2BAA2B;oBAClC,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,sBAAsB,EAAE;gBACtB;oBACE,GAAG,EAAE,4FAA4F;oBACjG,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,qEAAqE;oBAC1E,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,kEAAkE;oBACvE,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,6GAA6G;oBAClH,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,cAAc,EAAE;gBACd;oBACE,GAAG,EAAE,oCAAoC;oBACzC,KAAK,EAAE,yBAAyB;oBAChC,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,6CAA6C;oBAClD,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,uCAAuC;oBAC5C,KAAK,EAAE,mBAAmB;oBAC1B,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE;SACV;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,kBAAkB;oBACnC,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,GAAG,QAAQ,aAAa;iBAC9B;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,mBAAmB;oBACpC,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,cAAc;iBAC/B;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,cAAc;iBAC/B;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,6BAA6B;iBAC9C;gBACD;oBACE,KAAK,EAAE,wBAAwB;oBAC/B,GAAG,EAAE,GAAG,QAAQ,iCAAiC;iBAClD;gBACD;oBACE,KAAK,EAAE,2BAA2B;oBAClC,GAAG,EAAE,GAAG,QAAQ,mCAAmC;iBACpD;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,kCAAkC;iBACnD;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,YAAY;oBACnB,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,IAAI,EAAE;YACJ;gBACE,GAAG,EAAE,GAAG,QAAQ,SAAS;gBACzB,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,YAAY;gBAC5B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,EAAE;gBACrC,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,aAAa;aAC9B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,QAAQ;gBAC3C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,WAAW;aAC5B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,gBAAgB,MAAM,EAAE;gBACxC,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,eAAe;aAChC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,QAAQ;gBAC3C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,WAAW;aAC5B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,cAAc;gBACjD,KAAK,EAAE,gBAAgB;gBACvB,cAAc,EAAE,iBAAiB;aAClC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,cAAc;gBACjD,KAAK,EAAE,iBAAiB;gBACxB,cAAc,EAAE,gBAAgB;aACjC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,mBAAmB;gBACnC,KAAK,EAAE,kBAAkB;gBACzB,cAAc,EAAE,cAAc;aAC/B;YACD;gBACE,GAAG,EAAE,0BAA0B;gBAC/B,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,UAAU;aAC3B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,iBAAiB;gBACjC,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,YAAY;aAC7B;SACF;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,OAAO;aACf;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,YAAY,cAAc,EAAE;gBAC5C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,gCAAgC,cAAc,EAAE;gBAChE,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,oBAAoB;aACrC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,cAAc,GAAG;gBAC9C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,cAAc,GAAG;gBAC9C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,wCAAwC,cAAc,EAAE;gBAC7D,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,EAAE;gBAC3C,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,YAAY;gBACrD,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,iBAAiB;aAClC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,aAAa;gBACtD,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,oBAAoB;aACrC;SACF;QACD,cAAc,EAAE;YACd;gBACE,GAAG,EAAE,GAAG,QAAQ,wCAAwC,cAAc,EAAE;gBACxE,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,sBAAsB;aACvC;SACF;QACD,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,GAAG,QAAQ,iBAAiB;gBACjC,KAAK,EAAE,kBAAkB;gBACzB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,QAAQ;gBACxB,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,kBAAkB;aACnC;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["// @see https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md\n\nimport { IATopNavConfig, IATopNavMenuConfig } from '../models';\n\nexport const defaultTopNavConfig: IATopNavConfig = {\n // Google Analytics event category\n eventCategory: 'TopNav',\n // Array of strings representing the values of options that should be hidden from search options\n hiddenSearchOptions: [],\n // Default value, if more accurate value is not passed in to `buildTopNavMenus()`\n waybackPagesArchived: '1 trillion',\n};\n\n/**\n * Creates archive.org top navigation configuration\n * @param { string } userid archive.org account (immutable) userid\n * @param { boolean } localLinks passing in false will ensure all links begin: https://archive.org\n * @param { string } waybackPagesArchived label readable 'how many pages in WayBack machine?'\n * If you don't pass in something, you'll get the potentially\n * older/less accurate version.\n * @param { string } itemIdentifier The current item being viewed, to populate admin menu items\n * @returns { object }\n */\nexport function buildTopNavMenus(\n userid: string = '___USERID___',\n baseHost: string = 'https://archive.org',\n waybackPagesArchived: string = '',\n itemIdentifier: string = '',\n): IATopNavMenuConfig {\n if (waybackPagesArchived)\n defaultTopNavConfig.waybackPagesArchived = waybackPagesArchived; // update to more accurate val\n\n return {\n audio: {\n heading: 'Internet Archive Audio',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/etree`,\n title: 'Live Music Archive',\n url: `${baseHost}/details/etree`,\n },\n {\n icon: `${baseHost}/services/img/librivoxaudio`,\n title: 'Librivox Free Audio',\n url: `${baseHost}/details/librivoxaudio`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Audio',\n url: `${baseHost}/details/audio`,\n },\n {\n title: 'Grateful Dead',\n url: `${baseHost}/details/GratefulDead`,\n },\n {\n title: 'Netlabels',\n url: `${baseHost}/details/netlabels`,\n },\n {\n title: 'Old Time Radio',\n url: `${baseHost}/details/oldtimeradio`,\n },\n {\n title: '78 RPMs and Cylinder Recordings',\n url: `${baseHost}/details/78rpm`,\n },\n ],\n links: [\n {\n title: 'Audio Books & Poetry',\n url: `${baseHost}/details/audio_bookspoetry`,\n },\n {\n title: 'Computers, Technology and Science',\n url: `${baseHost}/details/audio_tech`,\n },\n {\n title: 'Music, Arts & Culture',\n url: `${baseHost}/details/audio_music`,\n },\n {\n title: 'News & Public Affairs',\n url: `${baseHost}/details/audio_news`,\n },\n {\n title: 'Spirituality & Religion',\n url: `${baseHost}/details/audio_religion`,\n },\n {\n title: 'Podcasts',\n url: `${baseHost}/details/podcasts`,\n },\n {\n title: 'Radio News Archive',\n url: `${baseHost}/details/radio`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n images: {\n heading: 'Images',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/metropolitanmuseumofart-gallery`,\n title: 'Metropolitan Museum',\n url: `${baseHost}/details/metropolitanmuseumofart-gallery`,\n },\n {\n icon: `${baseHost}/services/img/clevelandart`,\n title: 'Cleveland Museum of Art',\n url: `${baseHost}/details/clevelandart`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Images',\n url: `${baseHost}/details/image`,\n },\n {\n title: 'Flickr Commons',\n url: `${baseHost}/details/flickrcommons`,\n },\n {\n title: 'Occupy Wall Street Flickr',\n url: `${baseHost}/details/flickr-ows`,\n },\n {\n title: 'Cover Art',\n url: `${baseHost}/details/coverartarchive`,\n },\n {\n title: 'USGS Maps',\n url: `${baseHost}/details/maps_usgs`,\n },\n ],\n links: [\n {\n title: 'NASA Images',\n url: `${baseHost}/details/nasa`,\n },\n {\n title: 'Solar System Collection',\n url: `${baseHost}/details/solarsystemcollection`,\n },\n {\n title: 'Ames Research Center',\n url: `${baseHost}/details/amesresearchcenterimagelibrary`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n more: {\n links: [\n {\n title: 'About',\n url: `${baseHost}/about/`,\n },\n {\n title: 'Blog',\n url: 'https://blog.archive.org',\n },\n {\n title: 'Events',\n url: `${baseHost}/events`,\n },\n {\n title: 'Projects',\n url: `${baseHost}/projects/`,\n },\n {\n title: 'Help',\n url: `${baseHost}/about/faqs.php`,\n },\n {\n title: 'Donate',\n url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,\n },\n {\n title: 'Contact',\n url: `${baseHost}/about/contact`,\n },\n {\n title: 'Jobs',\n url: `${baseHost}/about/jobs`,\n },\n {\n title: 'Volunteer',\n url: `${baseHost}/about/volunteer-positions`,\n },\n ],\n heading: '',\n iconLinks: [],\n featuredLinks: [],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n software: {\n heading: 'Software',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/internetarcade`,\n title: 'Internet Arcade',\n url: `${baseHost}/details/internetarcade`,\n },\n {\n icon: `${baseHost}/services/img/consolelivingroom`,\n title: 'Console Living Room',\n url: `${baseHost}/details/consolelivingroom`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Software',\n url: `${baseHost}/details/software`,\n },\n {\n title: 'Old School Emulation',\n url: `${baseHost}/details/tosec`,\n },\n {\n title: 'MS-DOS Games',\n url: `${baseHost}/details/softwarelibrary_msdos_games`,\n },\n {\n title: 'Historical Software',\n url: `${baseHost}/details/historicalsoftware`,\n },\n {\n title: 'Classic PC Games',\n url: `${baseHost}/details/classicpcgames`,\n },\n {\n title: 'Software Library',\n url: `${baseHost}/details/softwarelibrary`,\n },\n ],\n links: [\n {\n title: 'Kodi Archive and Support File',\n url: `${baseHost}/details/kodi_archive`,\n },\n {\n title: 'Vintage Software',\n url: `${baseHost}/details/vintagesoftware`,\n },\n {\n title: 'APK',\n url: `${baseHost}/details/apkarchive`,\n },\n {\n title: 'MS-DOS',\n url: `${baseHost}/details/softwarelibrary_msdos`,\n },\n {\n title: 'CD-ROM Software',\n url: `${baseHost}/details/cd-roms`,\n },\n {\n title: 'CD-ROM Software Library',\n url: `${baseHost}/details/cdromsoftware`,\n },\n {\n title: 'Software Sites',\n url: `${baseHost}/details/softwaresites`,\n },\n {\n title: 'Tucows Software Library',\n url: `${baseHost}/details/tucows`,\n },\n {\n title: 'Shareware CD-ROMs',\n url: `${baseHost}/details/cdbbsarchive`,\n },\n {\n title: 'Software Capsules Compilation',\n url: `${baseHost}/details/softwarecapsules`,\n },\n {\n title: 'CD-ROM Images',\n url: `${baseHost}/details/cdromimages`,\n },\n {\n title: 'ZX Spectrum',\n url: `${baseHost}/details/softwarelibrary_zx_spectrum`,\n },\n {\n title: 'DOOM Level CD',\n url: `${baseHost}/details/doom-cds`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n texts: {\n heading: 'Texts',\n iconLinks: [\n {\n title: 'Open Library',\n icon: `${baseHost}/images/widgetOL.png`,\n url: 'https://openlibrary.org/',\n },\n {\n title: 'American Libraries',\n icon: `${baseHost}/services/img/americana`,\n url: `${baseHost}/details/americana`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Texts',\n url: `${baseHost}/details/texts`,\n },\n {\n title: 'Smithsonian Libraries',\n url: `${baseHost}/details/smithsonian`,\n },\n {\n title: 'FEDLINK (US)',\n url: `${baseHost}/details/fedlink`,\n },\n {\n title: 'Genealogy',\n url: `${baseHost}/details/genealogy`,\n },\n {\n title: 'Lincoln Collection',\n url: `${baseHost}/details/lincolncollection`,\n },\n ],\n links: [\n {\n title: 'American Libraries',\n url: `${baseHost}/details/americana`,\n },\n {\n title: 'Canadian Libraries',\n url: `${baseHost}/details/toronto`,\n },\n {\n title: 'Universal Library',\n url: `${baseHost}/details/universallibrary`,\n },\n {\n title: 'Project Gutenberg',\n url: `${baseHost}/details/gutenberg`,\n },\n {\n title: \"Children's Library\",\n url: `${baseHost}/details/iacl`,\n },\n {\n title: 'Biodiversity Heritage Library',\n url: `${baseHost}/details/biodiversity`,\n },\n {\n title: 'Books by Language',\n url: `${baseHost}/details/booksbylanguage`,\n },\n {\n title: 'Folkscanomy',\n url: `${baseHost}/details/folkscanomy`,\n },\n {\n title: 'Government Documents',\n url: `${baseHost}/details/government-documents`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n web: {\n mobileAppsLinks: [\n {\n url: 'https://apps.apple.com/us/app/wayback-machine/id1201888313',\n title: 'Wayback Machine (iOS)',\n external: true,\n },\n {\n url: 'https://play.google.com/store/apps/details?id=com.internetarchive.waybackmachine',\n title: 'Wayback Machine (Android)',\n external: true,\n },\n ],\n browserExtensionsLinks: [\n {\n url: 'https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak',\n title: 'Chrome',\n external: true,\n },\n {\n url: 'https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/',\n title: 'Firefox',\n external: true,\n },\n {\n url: 'https://apps.apple.com/us/app/wayback-machine/id1472432422?mt=12',\n title: 'Safari',\n external: true,\n },\n {\n url: 'https://microsoftedge.microsoft.com/addons/detail/wayback-machine/kjmickeoogghaimmomagaghnogelpcpn?hl=en-US',\n title: 'Edge',\n external: true,\n },\n ],\n archiveItLinks: [\n {\n url: 'https://www.archive-it.org/explore',\n title: 'Explore the Collections',\n external: true,\n },\n {\n url: 'https://www.archive-it.org/blog/learn-more/',\n title: 'Learn More',\n external: true,\n },\n {\n url: 'https://www.archive-it.org/contact-us',\n title: 'Build Collections',\n external: true,\n },\n ],\n heading: '',\n iconLinks: [],\n featuredLinks: [],\n links: [],\n },\n video: {\n heading: 'Video',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/tv`,\n title: 'TV News',\n url: `${baseHost}/details/tv`,\n },\n {\n icon: `${baseHost}/services/img/911`,\n title: 'Understanding 9/11',\n url: `${baseHost}/details/911`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Video',\n url: `${baseHost}/details/movies`,\n },\n {\n title: 'Prelinger Archives',\n url: `${baseHost}/details/prelinger`,\n },\n {\n title: 'Democracy Now!',\n url: `${baseHost}/details/democracy_now_vid`,\n },\n {\n title: 'Occupy Wall Street',\n url: `${baseHost}/details/occupywallstreet`,\n },\n {\n title: 'TV NSA Clip Library',\n url: `${baseHost}/details/nsa`,\n },\n ],\n links: [\n {\n title: 'Animation & Cartoons',\n url: `${baseHost}/details/animationandcartoons`,\n },\n {\n title: 'Arts & Music',\n url: `${baseHost}/details/artsandmusicvideos`,\n },\n {\n title: 'Computers & Technology',\n url: `${baseHost}/details/computersandtechvideos`,\n },\n {\n title: 'Cultural & Academic Films',\n url: `${baseHost}/details/culturalandacademicfilms`,\n },\n {\n title: 'Ephemeral Films',\n url: `${baseHost}/details/ephemera`,\n },\n {\n title: 'Movies',\n url: `${baseHost}/details/moviesandfilms`,\n },\n {\n title: 'News & Public Affairs',\n url: `${baseHost}/details/newsandpublicaffairs`,\n },\n {\n title: 'Spirituality & Religion',\n url: `${baseHost}/details/spiritualityandreligion`,\n },\n {\n title: 'Sports Videos',\n url: `${baseHost}/details/sports`,\n },\n {\n title: 'Television',\n url: `${baseHost}/details/television`,\n },\n {\n title: 'Videogame Videos',\n url: `${baseHost}/details/gamevideos`,\n },\n {\n title: 'Vlogs',\n url: `${baseHost}/details/vlogs`,\n },\n {\n title: 'Youth Media',\n url: `${baseHost}/details/youth_media`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n user: [\n {\n url: `${baseHost}/upload`,\n title: 'Upload files',\n analyticsEvent: 'UserUpload',\n class: 'mobile-upload',\n },\n {\n url: `${baseHost}/details/@${userid}`,\n title: 'My uploads',\n analyticsEvent: 'UserLibrary',\n },\n {\n url: `${baseHost}/details/@${userid}/loans`,\n title: 'My loans',\n analyticsEvent: 'UserLoans',\n },\n {\n url: `${baseHost}/details/fav-${userid}`,\n title: 'My favorites',\n analyticsEvent: 'UserFavorites',\n },\n {\n url: `${baseHost}/details/@${userid}/lists`,\n title: 'My lists',\n analyticsEvent: 'UserLists',\n },\n {\n url: `${baseHost}/details/@${userid}/collections`,\n title: 'My collections',\n analyticsEvent: 'UserCollections',\n },\n {\n url: `${baseHost}/details/@${userid}/web-archive`,\n title: 'My web archives',\n analyticsEvent: 'UserWebArchive',\n },\n {\n url: `${baseHost}/account/settings`,\n title: 'Account settings',\n analyticsEvent: 'UserSettings',\n },\n {\n url: 'https://help.archive.org',\n title: 'Get help',\n analyticsEvent: 'UserHelp',\n },\n {\n url: `${baseHost}/account/logout`,\n title: 'Log out',\n analyticsEvent: 'UserLogOut',\n },\n ],\n userAdmin: [\n {\n title: 'ADMINS:',\n },\n {\n title: 'item:',\n },\n {\n url: `${baseHost}/editxml/${itemIdentifier}`,\n title: 'edit xml',\n analyticsEvent: 'AdminUserEditXML',\n },\n {\n url: `${baseHost}/edit.php?redir=1&identifier=${itemIdentifier}`,\n title: 'edit files',\n analyticsEvent: 'AdminUserEditFiles',\n },\n {\n url: `${baseHost}/download/${itemIdentifier}/`,\n title: 'download',\n analyticsEvent: 'AdminUserDownload',\n },\n {\n url: `${baseHost}/metadata/${itemIdentifier}/`,\n title: 'metadata',\n analyticsEvent: 'AdminUserMetadata',\n },\n {\n url: `https://catalogd.archive.org/history/${itemIdentifier}`,\n title: 'history',\n analyticsEvent: 'AdminUserHistory',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}`,\n title: 'manage',\n analyticsEvent: 'AdminUserManager',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}#make_dark`,\n title: 'curate',\n analyticsEvent: 'AdminUserCurate',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}#modify_xml`,\n title: 'modify xml',\n analyticsEvent: 'AdminUserModifyXML',\n },\n ],\n userAdminFlags: [\n {\n url: `${baseHost}/services/flags/admin.php?identifier=${itemIdentifier}`,\n title: 'manage flags',\n analyticsEvent: 'AdminUserManageFlags',\n },\n ],\n signedOut: [\n {\n url: `${baseHost}/account/signup`,\n title: 'Sign up for free',\n analyticsEvent: 'AvatarMenu-Signup',\n },\n {\n url: `${baseHost}/login`,\n title: 'Log in',\n analyticsEvent: 'AvatarMenu-Login',\n },\n ],\n };\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import { nothing, TemplateResult } from 'lit';
2
+ import TrackedElement from './tracked-element';
3
+ import { IATopNavLink } from './models';
4
+ export declare class DesktopSubnav extends TrackedElement {
5
+ baseHost: string;
6
+ menuItems: IATopNavLink[];
7
+ static get styles(): import("lit").CSSResult;
8
+ get listItems(): typeof nothing | TemplateResult<1>[];
9
+ static iconFor(title: string): TemplateResult;
10
+ render(): TemplateResult<1>;
11
+ }
@@ -0,0 +1,55 @@
1
+ var DesktopSubnav_1;
2
+ import { __decorate } from "tslib";
3
+ import { html, nothing } from 'lit';
4
+ import { customElement, property } from 'lit/decorators.js';
5
+ import TrackedElement from './tracked-element';
6
+ import desktopSubnavCSS from './styles/desktop-subnav';
7
+ import icons from './assets/img/icons';
8
+ import formatUrl from './lib/format-url';
9
+ let DesktopSubnav = DesktopSubnav_1 = class DesktopSubnav extends TrackedElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.baseHost = '';
13
+ this.menuItems = [];
14
+ }
15
+ static get styles() {
16
+ return desktopSubnavCSS;
17
+ }
18
+ get listItems() {
19
+ return this.menuItems
20
+ ? this.menuItems.map((link) => html `
21
+ <li>
22
+ <a
23
+ class="${link.title.toLowerCase()}"
24
+ .href="${formatUrl(link.url, this.baseHost)}"
25
+ >${link.title}${DesktopSubnav_1.iconFor(link.title)}</a
26
+ >
27
+ </li>
28
+ `)
29
+ : nothing;
30
+ }
31
+ static iconFor(title) {
32
+ const subnavIcons = {
33
+ Donate: icons.donate,
34
+ };
35
+ return subnavIcons[title] ? subnavIcons[title] : html ``;
36
+ }
37
+ render() {
38
+ return html `
39
+ <ul>
40
+ ${this.listItems}
41
+ </ul>
42
+ `;
43
+ }
44
+ };
45
+ __decorate([
46
+ property({ type: String })
47
+ ], DesktopSubnav.prototype, "baseHost", void 0);
48
+ __decorate([
49
+ property({ type: Array })
50
+ ], DesktopSubnav.prototype, "menuItems", void 0);
51
+ DesktopSubnav = DesktopSubnav_1 = __decorate([
52
+ customElement('desktop-subnav')
53
+ ], DesktopSubnav);
54
+ export { DesktopSubnav };
55
+ //# sourceMappingURL=desktop-subnav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desktop-subnav.js","sourceRoot":"","sources":["../../src/desktop-subnav.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAkB,MAAM,KAAK,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAIlC,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,cAAc;IAA1C;;QACuB,aAAQ,GAAG,EAAE,CAAC;QACf,cAAS,GAAmB,EAAE,CAAC;IAoC5D,CAAC;IAlCC,MAAM,KAAK,MAAM;QACf,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS;YACnB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;;yBAGC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;yBACxB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;mBACxC,IAAI,CAAC,KAAK,GAAG,eAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;;WAGtD,CACF;YACH,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,MAAM,WAAW,GAAmC;YAClD,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;QACF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;UAEL,IAAI,CAAC,SAAS;;KAEnB,CAAC;IACJ,CAAC;CACF,CAAA;AArC6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAe;AACf;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gDAAgC;AAF/C,aAAa;IADzB,aAAa,CAAC,gBAAgB,CAAC;GACnB,aAAa,CAsCzB","sourcesContent":["import { html, nothing, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport TrackedElement from './tracked-element';\nimport desktopSubnavCSS from './styles/desktop-subnav';\nimport icons from './assets/img/icons';\nimport formatUrl from './lib/format-url';\nimport { IATopNavLink } from './models';\n\n@customElement('desktop-subnav')\nexport class DesktopSubnav extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Array }) menuItems: IATopNavLink[] = [];\n\n static get styles() {\n return desktopSubnavCSS;\n }\n\n get listItems() {\n return this.menuItems\n ? this.menuItems.map(\n (link) => html`\n <li>\n <a\n class=\"${link.title.toLowerCase()}\"\n .href=\"${formatUrl(link.url, this.baseHost)}\"\n >${link.title}${DesktopSubnav.iconFor(link.title)}</a\n >\n </li>\n `,\n )\n : nothing;\n }\n\n static iconFor(title: string): TemplateResult {\n const subnavIcons: Record<string, TemplateResult> = {\n Donate: icons.donate,\n };\n return subnavIcons[title] ? subnavIcons[title] : html``;\n }\n\n render() {\n return html`\n <ul>\n ${this.listItems}\n </ul>\n `;\n }\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { CSSResult, nothing, PropertyValues, TemplateResult } from 'lit';
2
+ import { IATopNavConfig, IATopNavLink } from './models';
3
+ import TrackedElement from './tracked-element';
4
+ export default class DropdownMenu extends TrackedElement {
5
+ baseHost: string;
6
+ config: IATopNavConfig;
7
+ hideSearch: boolean;
8
+ menuItems: IATopNavLink[] | IATopNavLink[][];
9
+ animated: boolean;
10
+ open: boolean;
11
+ private previousKeydownListener?;
12
+ static get styles(): CSSResult[];
13
+ updated(props: PropertyValues): void;
14
+ get dropdownItems(): typeof nothing | TemplateResult[] | (TemplateResult[] | undefined)[];
15
+ static get dropdownDivider(): TemplateResult<1>;
16
+ private dropdownSection;
17
+ dropdownLink(link: IATopNavLink): TemplateResult;
18
+ static dropdownText(item: IATopNavLink): TemplateResult<1>;
19
+ get menuClass(): string;
20
+ render(): TemplateResult<1>;
21
+ }
@@ -0,0 +1,132 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, nothing } from 'lit';
3
+ import { property } from 'lit/decorators.js';
4
+ import icons from './assets/img/icons';
5
+ import { defaultTopNavConfig } from './data/menus';
6
+ import formatUrl from './lib/format-url';
7
+ import { makeBooleanString } from './lib/make-boolean-string';
8
+ import dropdownMenuCSS from './styles/dropdown-menu';
9
+ import TrackedElement from './tracked-element';
10
+ import { ifDefined } from 'lit/directives/if-defined.js';
11
+ import KeyboardNavigation from './lib/keyboard-navigation';
12
+ export default class DropdownMenu extends TrackedElement {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.baseHost = '';
16
+ this.config = defaultTopNavConfig;
17
+ this.hideSearch = false;
18
+ this.menuItems = [];
19
+ this.animated = false;
20
+ this.open = false;
21
+ }
22
+ static get styles() {
23
+ return [dropdownMenuCSS];
24
+ }
25
+ updated(props) {
26
+ var _a;
27
+ if (props.has('open') && this.open) {
28
+ const container = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.nav-container');
29
+ if (container) {
30
+ const keyboardNavigation = new KeyboardNavigation(container, 'usermenu');
31
+ this.addEventListener('keydown', keyboardNavigation.handleKeyDown);
32
+ if (this.previousKeydownListener) {
33
+ this.removeEventListener('keydown', this.previousKeydownListener);
34
+ }
35
+ this.previousKeydownListener = keyboardNavigation.handleKeyDown;
36
+ }
37
+ }
38
+ }
39
+ get dropdownItems() {
40
+ if (!this.menuItems)
41
+ return nothing;
42
+ if (!Array.isArray(this.menuItems[0])) {
43
+ const submenu = this.menuItems;
44
+ return this.dropdownSection(submenu);
45
+ }
46
+ return this.menuItems.map((submenu, i) => {
47
+ const joiner = i ? DropdownMenu.dropdownDivider : html ``;
48
+ if (!Array.isArray(submenu)) {
49
+ return;
50
+ }
51
+ return [joiner, ...this.dropdownSection(submenu)];
52
+ });
53
+ }
54
+ static get dropdownDivider() {
55
+ return html `<li class="divider"></li>`;
56
+ }
57
+ dropdownSection(submenu) {
58
+ return submenu.map((item) => html `
59
+ <li>
60
+ ${item.url
61
+ ? this.dropdownLink(item)
62
+ : DropdownMenu.dropdownText(item)}
63
+ </li>
64
+ `);
65
+ }
66
+ dropdownLink(link) {
67
+ var _a, _b, _c;
68
+ const calloutText = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.callouts) === null || _b === void 0 ? void 0 : _b[link.title];
69
+ const isMobileUpload = link.class === 'mobile-upload';
70
+ const isTabbable = this.open && !isMobileUpload;
71
+ return html `<a
72
+ href="${formatUrl(link.url, this.baseHost)}"
73
+ class=${ifDefined(link.class)}
74
+ tabindex="${isTabbable ? '' : '-1'}"
75
+ @click=${this.trackClick}
76
+ data-event-click-tracking="${(_c = this.config) === null || _c === void 0 ? void 0 : _c.eventCategory}|Nav${link.analyticsEvent}"
77
+ aria-label=${calloutText ? `New feature: ${link.title}` : nothing}
78
+ >
79
+ ${isMobileUpload ? icons.uploadUnpadded : nothing} ${link.title}
80
+ ${calloutText
81
+ ? html `<span class="callout" aria-hidden="true">${calloutText}</span>`
82
+ : nothing}
83
+ </a>`;
84
+ }
85
+ static dropdownText(item) {
86
+ return html `<span class="info-item">${item.title}</span>`;
87
+ }
88
+ get menuClass() {
89
+ const hiddenClass = this.hideSearch ? ' search-hidden' : '';
90
+ if (this.open) {
91
+ return `open${hiddenClass}`;
92
+ }
93
+ if (this.animated) {
94
+ return `closed${hiddenClass}`;
95
+ }
96
+ return `initial${hiddenClass}`;
97
+ }
98
+ render() {
99
+ return html `
100
+ <div class="nav-container">
101
+ <nav
102
+ class="${this.menuClass}"
103
+ aria-hidden="${makeBooleanString(!this.open)}"
104
+ aria-expanded="${makeBooleanString(this.open)}"
105
+ >
106
+ <ul>
107
+ ${this.dropdownItems}
108
+ </ul>
109
+ </nav>
110
+ </div>
111
+ `;
112
+ }
113
+ }
114
+ __decorate([
115
+ property({ type: String })
116
+ ], DropdownMenu.prototype, "baseHost", void 0);
117
+ __decorate([
118
+ property({ type: Object })
119
+ ], DropdownMenu.prototype, "config", void 0);
120
+ __decorate([
121
+ property({ type: Boolean })
122
+ ], DropdownMenu.prototype, "hideSearch", void 0);
123
+ __decorate([
124
+ property({ type: Array })
125
+ ], DropdownMenu.prototype, "menuItems", void 0);
126
+ __decorate([
127
+ property({ type: Boolean })
128
+ ], DropdownMenu.prototype, "animated", void 0);
129
+ __decorate([
130
+ property({ type: Boolean })
131
+ ], DropdownMenu.prototype, "open", void 0);
132
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/dropdown-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResult, html, nothing, PropertyValues, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport icons from './assets/img/icons';\nimport { defaultTopNavConfig } from './data/menus';\nimport formatUrl from './lib/format-url';\nimport { makeBooleanString } from './lib/make-boolean-string';\nimport { IATopNavConfig, IATopNavLink } from './models';\nimport dropdownMenuCSS from './styles/dropdown-menu';\nimport TrackedElement from './tracked-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport KeyboardNavigation from './lib/keyboard-navigation';\n\nexport default class DropdownMenu extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: Boolean }) hideSearch = false;\n @property({ type: Array }) menuItems: IATopNavLink[] | IATopNavLink[][] = [];\n @property({ type: Boolean }) animated = false;\n @property({ type: Boolean }) open = false;\n\n private previousKeydownListener?: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this: HTMLElement, ev: KeyboardEvent) => any;\n\n static get styles(): CSSResult[] {\n return [dropdownMenuCSS];\n }\n\n updated(props: PropertyValues) {\n if (props.has('open') && this.open) {\n const container = this.shadowRoot?.querySelector(\n '.nav-container',\n ) as HTMLElement;\n\n if (container) {\n const keyboardNavigation = new KeyboardNavigation(\n container,\n 'usermenu',\n );\n this.addEventListener('keydown', keyboardNavigation.handleKeyDown);\n if (this.previousKeydownListener) {\n this.removeEventListener('keydown', this.previousKeydownListener);\n }\n this.previousKeydownListener = keyboardNavigation.handleKeyDown;\n }\n }\n }\n\n get dropdownItems() {\n if (!this.menuItems) return nothing;\n\n if (!Array.isArray(this.menuItems[0])) {\n const submenu = this.menuItems as IATopNavLink[];\n return this.dropdownSection(submenu);\n }\n return this.menuItems.map((submenu, i) => {\n const joiner = i ? DropdownMenu.dropdownDivider : html``;\n if (!Array.isArray(submenu)) {\n return;\n }\n return [joiner, ...this.dropdownSection(submenu)];\n });\n }\n\n static get dropdownDivider() {\n return html`<li class=\"divider\"></li>`;\n }\n\n private dropdownSection(submenu: IATopNavLink[]): TemplateResult[] {\n return submenu.map(\n (item) => html`\n <li>\n ${item.url\n ? this.dropdownLink(item)\n : DropdownMenu.dropdownText(item)}\n </li>\n `,\n );\n }\n\n dropdownLink(link: IATopNavLink): TemplateResult {\n const calloutText = this.config?.callouts?.[link.title];\n const isMobileUpload = link.class === 'mobile-upload';\n const isTabbable = this.open && !isMobileUpload;\n\n return html`<a\n href=\"${formatUrl(link.url, this.baseHost)}\"\n class=${ifDefined(link.class)}\n tabindex=\"${isTabbable ? '' : '-1'}\"\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.config\n ?.eventCategory}|Nav${link.analyticsEvent}\"\n aria-label=${calloutText ? `New feature: ${link.title}` : nothing}\n >\n ${isMobileUpload ? icons.uploadUnpadded : nothing} ${link.title}\n ${calloutText\n ? html`<span class=\"callout\" aria-hidden=\"true\">${calloutText}</span>`\n : nothing}\n </a>`;\n }\n\n static dropdownText(item: IATopNavLink) {\n return html`<span class=\"info-item\">${item.title}</span>`;\n }\n\n get menuClass() {\n const hiddenClass = this.hideSearch ? ' search-hidden' : '';\n if (this.open) {\n return `open${hiddenClass}`;\n }\n if (this.animated) {\n return `closed${hiddenClass}`;\n }\n return `initial${hiddenClass}`;\n }\n\n render() {\n return html`\n <div class=\"nav-container\">\n <nav\n class=\"${this.menuClass}\"\n aria-hidden=\"${makeBooleanString(!this.open)}\"\n aria-expanded=\"${makeBooleanString(this.open)}\"\n >\n <ul>\n ${this.dropdownItems}\n </ul>\n </nav>\n </div>\n `;\n }\n}\n"]}
@@ -0,0 +1,70 @@
1
+ import { LitElement, PropertyValues, nothing } from 'lit';
2
+ import './desktop-subnav';
3
+ import './dropdown-menu';
4
+ import './media-slider';
5
+ import { IATopNavConfig, IATopNavSecondIdentitySlotMode } from './models';
6
+ import './primary-nav';
7
+ import './search-menu';
8
+ import './signed-out-dropdown';
9
+ import './user-menu';
10
+ export declare class IATopNav extends LitElement {
11
+ localLinks: boolean;
12
+ waybackPagesArchived: string;
13
+ baseHost: string;
14
+ mediaBaseHost: string;
15
+ admin: boolean;
16
+ canManageFlags: boolean;
17
+ config: IATopNavConfig;
18
+ hideSearch: boolean;
19
+ itemIdentifier: string;
20
+ mediaSliderOpen: boolean;
21
+ openMenu: string;
22
+ screenName: string;
23
+ searchIn: string;
24
+ searchQuery: string;
25
+ selectedMenuOption: string;
26
+ username: string;
27
+ userProfileImagePath: string;
28
+ secondIdentitySlotMode: IATopNavSecondIdentitySlotMode;
29
+ currentTab?: {
30
+ mediatype: string;
31
+ moveTo: string;
32
+ };
33
+ private menus;
34
+ private previousKeydownListener;
35
+ private keyboardNavigation?;
36
+ private get normalizedBaseHost();
37
+ static get styles(): import("lit").CSSResult;
38
+ updated(props: PropertyValues): void;
39
+ firstUpdated(): void;
40
+ menuSetup(): void;
41
+ menuToggled(e: CustomEvent): void;
42
+ navSearchBlurEvent(e: CustomEvent): void;
43
+ openMediaSlider(): void;
44
+ closeMediaSlider(): void;
45
+ closeMenus(): void;
46
+ searchInChanged(e: CustomEvent): void;
47
+ trackClick(e: CustomEvent): void;
48
+ trackSubmit(e: CustomEvent): void;
49
+ mediaTypeSelected(e: CustomEvent): void;
50
+ get searchMenuOpened(): boolean;
51
+ get signedOutOpened(): boolean;
52
+ get userMenuOpened(): boolean;
53
+ get searchMenuTabIndex(): "" | "-1";
54
+ get userMenuTabIndex(): "" | "-1";
55
+ get signedOutTabIndex(): "" | "-1";
56
+ get closeLayerClass(): "" | "visible";
57
+ get userMenu(): import("lit").TemplateResult<1>;
58
+ get signedOutDropdown(): import("lit").TemplateResult<1>;
59
+ get signedOutMenuItems(): import("./models").IATopNavLink[];
60
+ /**
61
+ * Most users just get the basic menu items.
62
+ * For users with `/items` priv, additional admin menu items are included too.
63
+ * Having the `/flags` priv adds a further admin item for managing flags.
64
+ */
65
+ get userMenuItems(): import("./models").IATopNavLink[][];
66
+ get allowSecondaryIcon(): boolean;
67
+ get secondLogoSlot(): import("lit").TemplateResult<1> | typeof nothing;
68
+ get separatorTemplate(): import("lit").TemplateResult<1>;
69
+ render(): import("lit").TemplateResult<1>;
70
+ }