@internetarchive/ia-topnav 1.3.9 → 1.3.10-webdev-7394.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 (393) hide show
  1. package/.prettierignore +1 -0
  2. package/README.md +7 -7
  3. package/demo/app-root.ts +186 -0
  4. package/demo/index.html +27 -0
  5. package/dist/demo/app-root.d.ts +8 -0
  6. package/dist/demo/app-root.js +181 -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 +20 -0
  72. package/dist/src/data/menus.js +668 -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 +19 -0
  78. package/dist/src/dropdown-menu.js +115 -0
  79. package/dist/src/dropdown-menu.js.map +1 -0
  80. package/dist/src/ia-topnav.d.ts +68 -0
  81. package/dist/src/ia-topnav.js +315 -0
  82. package/dist/src/ia-topnav.js.map +1 -0
  83. package/dist/src/lib/formatUrl.d.ts +2 -0
  84. package/dist/src/lib/formatUrl.js +2 -0
  85. package/dist/src/lib/formatUrl.js.map +1 -0
  86. package/dist/src/lib/keyboard-navigation.d.ts +50 -0
  87. package/dist/src/lib/keyboard-navigation.js +136 -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/makeBooleanString.d.ts +2 -0
  93. package/dist/src/lib/makeBooleanString.js +12 -0
  94. package/dist/src/lib/makeBooleanString.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/toSentenceCase.d.ts +2 -0
  99. package/dist/src/lib/toSentenceCase.js +10 -0
  100. package/dist/src/lib/toSentenceCase.js.map +1 -0
  101. package/dist/src/login-button.d.ts +16 -0
  102. package/dist/src/login-button.js +83 -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 +25 -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 +123 -0
  124. package/dist/src/nav-search.js.map +1 -0
  125. package/dist/src/primary-nav.d.ts +45 -0
  126. package/dist/src/primary-nav.js +280 -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 +63 -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 +37 -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 +170 -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 +87 -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 +82 -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 +310 -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 +105 -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 +10 -0
  195. package/dist/src/user-menu.js +60 -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/assets/img/user.test.d.ts +1 -0
  207. package/dist/test/assets/img/user.test.js +12 -0
  208. package/dist/test/assets/img/user.test.js.map +1 -0
  209. package/dist/test/data/menus.test.d.ts +1 -0
  210. package/dist/test/data/menus.test.js +11 -0
  211. package/dist/test/data/menus.test.js.map +1 -0
  212. package/dist/test/dropdown-menu.test.d.ts +1 -0
  213. package/dist/test/dropdown-menu.test.js +20 -0
  214. package/dist/test/dropdown-menu.test.js.map +1 -0
  215. package/dist/test/ia-icon.test.d.ts +1 -0
  216. package/dist/test/ia-icon.test.js +11 -0
  217. package/dist/test/ia-icon.test.js.map +1 -0
  218. package/dist/test/ia-topnav.test.d.ts +1 -0
  219. package/dist/test/ia-topnav.test.js +232 -0
  220. package/dist/test/ia-topnav.test.js.map +1 -0
  221. package/dist/test/login-button.test.d.ts +1 -0
  222. package/dist/test/login-button.test.js +14 -0
  223. package/dist/test/login-button.test.js.map +1 -0
  224. package/dist/test/media-button.test.d.ts +1 -0
  225. package/dist/test/media-button.test.js +13 -0
  226. package/dist/test/media-button.test.js.map +1 -0
  227. package/dist/test/media-menu.test.d.ts +1 -0
  228. package/dist/test/media-menu.test.js +27 -0
  229. package/dist/test/media-menu.test.js.map +1 -0
  230. package/dist/test/media-slider.test.d.ts +1 -0
  231. package/dist/test/media-slider.test.js +47 -0
  232. package/dist/test/media-slider.test.js.map +1 -0
  233. package/dist/test/more-slider.test.d.ts +1 -0
  234. package/dist/test/more-slider.test.js +17 -0
  235. package/dist/test/more-slider.test.js.map +1 -0
  236. package/dist/test/nav-search.test.d.ts +1 -0
  237. package/dist/test/nav-search.test.js +47 -0
  238. package/dist/test/nav-search.test.js.map +1 -0
  239. package/dist/test/primary-nav.test.d.ts +1 -0
  240. package/dist/test/primary-nav.test.js +65 -0
  241. package/dist/test/primary-nav.test.js.map +1 -0
  242. package/dist/test/save-page-form.test.d.ts +1 -0
  243. package/dist/test/save-page-form.test.js +47 -0
  244. package/dist/test/save-page-form.test.js.map +1 -0
  245. package/dist/test/search-menu.test.d.ts +1 -0
  246. package/dist/test/search-menu.test.js +42 -0
  247. package/dist/test/search-menu.test.js.map +1 -0
  248. package/dist/test/user-menu.test.d.ts +1 -0
  249. package/dist/test/user-menu.test.js +28 -0
  250. package/dist/test/user-menu.test.js.map +1 -0
  251. package/dist/test/wayback-slider.test.d.ts +1 -0
  252. package/dist/test/wayback-slider.test.js +80 -0
  253. package/dist/test/wayback-slider.test.js.map +1 -0
  254. package/eslint.config.mjs +53 -0
  255. package/package.json +47 -37
  256. package/prettier.config.js +9 -0
  257. package/src/assets/img/hamburger.ts +49 -0
  258. package/src/assets/img/{ia-icon.js → ia-icon.ts} +7 -16
  259. package/src/assets/img/{icon-audio.js → icon-audio.ts} +7 -2
  260. package/src/assets/img/icon-close.ts +20 -0
  261. package/src/assets/img/icon-donate-unpadded.ts +19 -0
  262. package/src/assets/img/icon-donate.ts +18 -0
  263. package/src/assets/img/icon-ellipses.ts +19 -0
  264. package/src/assets/img/icon-ia-logo.ts +30 -0
  265. package/src/assets/img/icon-images.ts +19 -0
  266. package/src/assets/img/icon-search.ts +19 -0
  267. package/src/assets/img/icon-software.ts +18 -0
  268. package/src/assets/img/icon-texts.ts +18 -0
  269. package/src/assets/img/{icon-upload-unpadded.js → icon-upload-unpadded.ts} +6 -2
  270. package/src/assets/img/icon-upload.ts +21 -0
  271. package/src/assets/img/icon-user.ts +19 -0
  272. package/src/assets/img/icon-video.ts +19 -0
  273. package/src/assets/img/icon-web.ts +19 -0
  274. package/src/assets/img/icon.ts +8 -0
  275. package/src/assets/img/icons.ts +33 -0
  276. package/src/assets/img/{wordmark-stacked.js → wordmark-stacked.ts} +1 -1
  277. package/src/data/{menus.js → menus.ts} +172 -135
  278. package/src/desktop-subnav.ts +49 -0
  279. package/src/dropdown-menu.ts +105 -0
  280. package/src/{ia-topnav.js → ia-topnav.ts} +130 -127
  281. package/src/lib/formatUrl.ts +2 -0
  282. package/src/lib/{keyboard-navigation.js → keyboard-navigation.ts} +53 -23
  283. package/src/lib/location-handler.ts +5 -0
  284. package/src/lib/makeBooleanString.ts +12 -0
  285. package/src/lib/query-handler.ts +7 -0
  286. package/src/lib/toSentenceCase.ts +10 -0
  287. package/src/{login-button.js → login-button.ts} +27 -31
  288. package/src/{media-button.js → media-button.ts} +39 -49
  289. package/src/media-menu.ts +143 -0
  290. package/src/{media-slider.js → media-slider.ts} +53 -41
  291. package/src/media-subnav.ts +132 -0
  292. package/src/models.ts +114 -0
  293. package/src/more-slider.ts +42 -0
  294. package/src/nav-search.ts +113 -0
  295. package/src/primary-nav.ts +266 -0
  296. package/src/save-page-form.ts +59 -0
  297. package/src/search-menu.ts +156 -0
  298. package/src/signed-out-dropdown.ts +11 -0
  299. package/src/styles/{base.js → base.ts} +2 -2
  300. package/src/styles/{desktop-subnav.js → desktop-subnav.ts} +2 -2
  301. package/src/styles/{dropdown-menu.js → dropdown-menu.ts} +4 -2
  302. package/src/styles/{ia-topnav.js → ia-topnav.ts} +1 -1
  303. package/src/styles/{login-button.js → login-button.ts} +1 -1
  304. package/src/styles/{media-button.js → media-button.ts} +2 -2
  305. package/src/styles/{media-menu.js → media-menu.ts} +1 -1
  306. package/src/styles/{media-slider.js → media-slider.ts} +1 -1
  307. package/src/styles/media-subnav.ts +159 -0
  308. package/src/styles/{more-slider.js → more-slider.ts} +1 -1
  309. package/src/styles/{nav-search.js → nav-search.ts} +2 -2
  310. package/src/styles/{primary-nav.js → primary-nav.ts} +2 -3
  311. package/src/styles/{save-page-form.js → save-page-form.ts} +7 -7
  312. package/src/styles/{search-menu.js → search-menu.ts} +1 -1
  313. package/src/styles/{signed-out-dropdown.js → signed-out-dropdown.ts} +1 -1
  314. package/src/styles/{user-menu.js → user-menu.ts} +1 -1
  315. package/src/styles/{wayback-search.js → wayback-search.ts} +3 -3
  316. package/src/styles/wayback-slider.ts +33 -0
  317. package/src/tracked-element.ts +32 -0
  318. package/src/user-menu.ts +57 -0
  319. package/src/wayback-search.ts +10 -0
  320. package/src/wayback-slider.ts +88 -0
  321. package/ssl/server.crt +22 -0
  322. package/ssl/server.key +28 -0
  323. package/test/assets/img/hamburger.test.ts +18 -0
  324. package/test/assets/img/user.test.ts +15 -0
  325. package/test/data/menus.test.ts +15 -0
  326. package/test/{dropdown-menu.test.js → dropdown-menu.test.ts} +4 -4
  327. package/test/{ia-icon.test.js → ia-icon.test.ts} +6 -4
  328. package/test/ia-topnav.test.ts +344 -0
  329. package/test/login-button.test.ts +19 -0
  330. package/test/media-button.test.ts +19 -0
  331. package/test/{media-menu.test.js → media-menu.test.ts} +14 -12
  332. package/test/media-slider.test.ts +63 -0
  333. package/test/more-slider.test.ts +21 -0
  334. package/test/nav-search.test.ts +70 -0
  335. package/test/primary-nav.test.ts +110 -0
  336. package/test/save-page-form.test.ts +62 -0
  337. package/test/{search-menu.test.js → search-menu.test.ts} +19 -10
  338. package/test/{user-menu.test.js → user-menu.test.ts} +10 -9
  339. package/test/wayback-slider.test.ts +97 -0
  340. package/tsconfig.json +31 -0
  341. package/web-dev-server.config.mjs +32 -0
  342. package/web-test-runner.config.mjs +41 -0
  343. package/.eslintrc +0 -16
  344. package/index.d.ts +0 -109
  345. package/src/assets/img/hamburger.js +0 -38
  346. package/src/assets/img/icon-close.js +0 -16
  347. package/src/assets/img/icon-donate-unpadded.js +0 -16
  348. package/src/assets/img/icon-donate.js +0 -15
  349. package/src/assets/img/icon-ellipses.js +0 -15
  350. package/src/assets/img/icon-ia-logo.js +0 -22
  351. package/src/assets/img/icon-images.js +0 -15
  352. package/src/assets/img/icon-search.js +0 -15
  353. package/src/assets/img/icon-software.js +0 -15
  354. package/src/assets/img/icon-texts.js +0 -15
  355. package/src/assets/img/icon-upload.js +0 -15
  356. package/src/assets/img/icon-user.js +0 -15
  357. package/src/assets/img/icon-video.js +0 -15
  358. package/src/assets/img/icon-web.js +0 -15
  359. package/src/assets/img/icon.js +0 -18
  360. package/src/assets/img/icons.js +0 -33
  361. package/src/desktop-subnav.js +0 -45
  362. package/src/dropdown-menu.js +0 -110
  363. package/src/lib/formatUrl.js +0 -1
  364. package/src/lib/location-handler.js +0 -5
  365. package/src/lib/query-handler.js +0 -7
  366. package/src/lib/toSentenceCase.js +0 -8
  367. package/src/media-menu.js +0 -154
  368. package/src/media-subnav.js +0 -112
  369. package/src/more-slider.js +0 -33
  370. package/src/nav-search.js +0 -111
  371. package/src/primary-nav.js +0 -258
  372. package/src/save-page-form.js +0 -59
  373. package/src/search-menu.js +0 -145
  374. package/src/signed-out-dropdown.js +0 -10
  375. package/src/styles/media-subnav.js +0 -156
  376. package/src/styles/wayback-slider.js +0 -30
  377. package/src/tracked-element.js +0 -29
  378. package/src/user-menu.js +0 -56
  379. package/src/wayback-search.js +0 -18
  380. package/src/wayback-slider.js +0 -87
  381. package/test/assets/img/hamburger.test.js +0 -15
  382. package/test/assets/img/user.test.js +0 -15
  383. package/test/data/menus.test.js +0 -19
  384. package/test/ia-topnav.test.js +0 -273
  385. package/test/login-button.test.js +0 -15
  386. package/test/media-button.test.js +0 -19
  387. package/test/media-slider.test.js +0 -57
  388. package/test/more-slider.test.js +0 -13
  389. package/test/nav-search.test.js +0 -61
  390. package/test/primary-nav.test.js +0 -82
  391. package/test/save-page-form.test.js +0 -35
  392. package/test/wayback-slider.test.js +0 -80
  393. /package/{index.js → index.ts} +0 -0
@@ -0,0 +1,668 @@
1
+ // @see https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md
2
+ export const defaultTopNavConfig = {
3
+ // Google Analytics event category
4
+ eventCategory: 'TopNav',
5
+ // Array of strings representing the values of options that should be hidden from search options
6
+ hiddenSearchOptions: [],
7
+ // Default value, if more accurate value is not passed in to `buildTopNavMenus()`
8
+ waybackPagesArchived: '740 billion',
9
+ };
10
+ /**
11
+ * Creates archive.org top navigation configuration
12
+ * @param { string } userid archive.org account (immutable) userid
13
+ * @param { boolean } localLinks passing in false will ensure all links begin: https://archive.org
14
+ * @param { string } waybackPagesArchived label readable 'how many pages in WayBack machine?'
15
+ * If you don't pass in something, you'll get the potentially
16
+ * older/less accurate version. Otherwise,
17
+ * @see waybackPagesArchivedFN() (below) (please cache it)
18
+ * for a live service accurate count result.
19
+ * @param { string } itemIdentifier The current item being viewed, to populate admin menu items
20
+ * @returns { object }
21
+ */
22
+ export function buildTopNavMenus(userid = '___USERID___', baseHost = 'https://archive.org', waybackPagesArchived = '', itemIdentifier = '') {
23
+ if (waybackPagesArchived)
24
+ defaultTopNavConfig.waybackPagesArchived = waybackPagesArchived; // update to more accurate val
25
+ return {
26
+ audio: {
27
+ heading: 'Internet Archive Audio',
28
+ iconLinks: [
29
+ {
30
+ icon: `${baseHost}/services/img/etree`,
31
+ title: 'Live Music Archive',
32
+ url: `${baseHost}/details/etree`,
33
+ },
34
+ {
35
+ icon: `${baseHost}/services/img/librivoxaudio`,
36
+ title: 'Librivox Free Audio',
37
+ url: `${baseHost}/details/librivoxaudio`,
38
+ },
39
+ ],
40
+ featuredLinks: [
41
+ {
42
+ title: 'All Audio',
43
+ url: `${baseHost}/details/audio`,
44
+ },
45
+ {
46
+ title: 'Grateful Dead',
47
+ url: `${baseHost}/details/GratefulDead`,
48
+ },
49
+ {
50
+ title: 'Netlabels',
51
+ url: `${baseHost}/details/netlabels`,
52
+ },
53
+ {
54
+ title: 'Old Time Radio',
55
+ url: `${baseHost}/details/oldtimeradio`,
56
+ },
57
+ {
58
+ title: '78 RPMs and Cylinder Recordings',
59
+ url: `${baseHost}/details/78rpm`,
60
+ },
61
+ ],
62
+ links: [
63
+ {
64
+ title: 'Audio Books & Poetry',
65
+ url: `${baseHost}/details/audio_bookspoetry`,
66
+ },
67
+ {
68
+ title: 'Computers, Technology and Science',
69
+ url: `${baseHost}/details/audio_tech`,
70
+ },
71
+ {
72
+ title: 'Music, Arts & Culture',
73
+ url: `${baseHost}/details/audio_music`,
74
+ },
75
+ {
76
+ title: 'News & Public Affairs',
77
+ url: `${baseHost}/details/audio_news`,
78
+ },
79
+ {
80
+ title: 'Spirituality & Religion',
81
+ url: `${baseHost}/details/audio_religion`,
82
+ },
83
+ {
84
+ title: 'Podcasts',
85
+ url: `${baseHost}/details/podcasts`,
86
+ },
87
+ {
88
+ title: 'Radio News Archive',
89
+ url: `${baseHost}/details/radio`,
90
+ },
91
+ ],
92
+ mobileAppsLinks: [],
93
+ browserExtensionsLinks: [],
94
+ archiveItLinks: [],
95
+ },
96
+ images: {
97
+ heading: 'Images',
98
+ iconLinks: [
99
+ {
100
+ icon: `${baseHost}/services/img/metropolitanmuseumofart-gallery`,
101
+ title: 'Metropolitan Museum',
102
+ url: `${baseHost}/details/metropolitanmuseumofart-gallery`,
103
+ },
104
+ {
105
+ icon: `${baseHost}/services/img/clevelandart`,
106
+ title: 'Cleveland Museum of Art',
107
+ url: `${baseHost}/details/clevelandart`,
108
+ },
109
+ ],
110
+ featuredLinks: [
111
+ {
112
+ title: 'All Images',
113
+ url: `${baseHost}/details/image`,
114
+ },
115
+ {
116
+ title: 'Flickr Commons',
117
+ url: `${baseHost}/details/flickrcommons`,
118
+ },
119
+ {
120
+ title: 'Occupy Wall Street Flickr',
121
+ url: `${baseHost}/details/flickr-ows`,
122
+ },
123
+ {
124
+ title: 'Cover Art',
125
+ url: `${baseHost}/details/coverartarchive`,
126
+ },
127
+ {
128
+ title: 'USGS Maps',
129
+ url: `${baseHost}/details/maps_usgs`,
130
+ },
131
+ ],
132
+ links: [
133
+ {
134
+ title: 'NASA Images',
135
+ url: `${baseHost}/details/nasa`,
136
+ },
137
+ {
138
+ title: 'Solar System Collection',
139
+ url: `${baseHost}/details/solarsystemcollection`,
140
+ },
141
+ {
142
+ title: 'Ames Research Center',
143
+ url: `${baseHost}/details/amesresearchcenterimagelibrary`,
144
+ },
145
+ ],
146
+ mobileAppsLinks: [],
147
+ browserExtensionsLinks: [],
148
+ archiveItLinks: [],
149
+ },
150
+ more: [
151
+ {
152
+ title: 'About',
153
+ url: `${baseHost}/about/`,
154
+ },
155
+ {
156
+ title: 'Blog',
157
+ url: 'https://blog.archive.org',
158
+ },
159
+ {
160
+ title: 'Projects',
161
+ url: `${baseHost}/projects/`,
162
+ },
163
+ {
164
+ title: 'Help',
165
+ url: `${baseHost}/about/faqs.php`,
166
+ },
167
+ {
168
+ title: 'Donate',
169
+ url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,
170
+ },
171
+ {
172
+ title: 'Contact',
173
+ url: `${baseHost}/about/contact`,
174
+ },
175
+ {
176
+ title: 'Jobs',
177
+ url: `${baseHost}/about/jobs`,
178
+ },
179
+ {
180
+ title: 'Volunteer',
181
+ url: `${baseHost}/about/volunteer-positions`,
182
+ },
183
+ {
184
+ title: 'People',
185
+ url: `${baseHost}/about/bios`,
186
+ },
187
+ ],
188
+ software: {
189
+ heading: 'Software',
190
+ iconLinks: [
191
+ {
192
+ icon: `${baseHost}/services/img/internetarcade`,
193
+ title: 'Internet Arcade',
194
+ url: `${baseHost}/details/internetarcade`,
195
+ },
196
+ {
197
+ icon: `${baseHost}/services/img/consolelivingroom`,
198
+ title: 'Console Living Room',
199
+ url: `${baseHost}/details/consolelivingroom`,
200
+ },
201
+ ],
202
+ featuredLinks: [
203
+ {
204
+ title: 'All Software',
205
+ url: `${baseHost}/details/software`,
206
+ },
207
+ {
208
+ title: 'Old School Emulation',
209
+ url: `${baseHost}/details/tosec`,
210
+ },
211
+ {
212
+ title: 'MS-DOS Games',
213
+ url: `${baseHost}/details/softwarelibrary_msdos_games`,
214
+ },
215
+ {
216
+ title: 'Historical Software',
217
+ url: `${baseHost}/details/historicalsoftware`,
218
+ },
219
+ {
220
+ title: 'Classic PC Games',
221
+ url: `${baseHost}/details/classicpcgames`,
222
+ },
223
+ {
224
+ title: 'Software Library',
225
+ url: `${baseHost}/details/softwarelibrary`,
226
+ },
227
+ ],
228
+ links: [
229
+ {
230
+ title: 'Kodi Archive and Support File',
231
+ url: `${baseHost}/details/kodi_archive`,
232
+ },
233
+ {
234
+ title: 'Vintage Software',
235
+ url: `${baseHost}/details/vintagesoftware`,
236
+ },
237
+ {
238
+ title: 'APK',
239
+ url: `${baseHost}/details/apkarchive`,
240
+ },
241
+ {
242
+ title: 'MS-DOS',
243
+ url: `${baseHost}/details/softwarelibrary_msdos`,
244
+ },
245
+ {
246
+ title: 'CD-ROM Software',
247
+ url: `${baseHost}/details/cd-roms`,
248
+ },
249
+ {
250
+ title: 'CD-ROM Software Library',
251
+ url: `${baseHost}/details/cdromsoftware`,
252
+ },
253
+ {
254
+ title: 'Software Sites',
255
+ url: `${baseHost}/details/softwaresites`,
256
+ },
257
+ {
258
+ title: 'Tucows Software Library',
259
+ url: `${baseHost}/details/tucows`,
260
+ },
261
+ {
262
+ title: 'Shareware CD-ROMs',
263
+ url: `${baseHost}/details/cdbbsarchive`,
264
+ },
265
+ {
266
+ title: 'Software Capsules Compilation',
267
+ url: `${baseHost}/details/softwarecapsules`,
268
+ },
269
+ {
270
+ title: 'CD-ROM Images',
271
+ url: `${baseHost}/details/cdromimages`,
272
+ },
273
+ {
274
+ title: 'ZX Spectrum',
275
+ url: `${baseHost}/details/softwarelibrary_zx_spectrum`,
276
+ },
277
+ {
278
+ title: 'DOOM Level CD',
279
+ url: `${baseHost}/details/doom-cds`,
280
+ },
281
+ ],
282
+ mobileAppsLinks: [],
283
+ browserExtensionsLinks: [],
284
+ archiveItLinks: [],
285
+ },
286
+ texts: {
287
+ heading: 'Texts',
288
+ iconLinks: [
289
+ {
290
+ title: 'Open Library',
291
+ icon: `${baseHost}/images/widgetOL.png`,
292
+ url: 'https://openlibrary.org/',
293
+ },
294
+ {
295
+ title: 'American Libraries',
296
+ icon: `${baseHost}/services/img/americana`,
297
+ url: `${baseHost}/details/americana`,
298
+ },
299
+ ],
300
+ featuredLinks: [
301
+ {
302
+ title: 'All Texts',
303
+ url: `${baseHost}/details/texts`,
304
+ },
305
+ {
306
+ title: 'Smithsonian Libraries',
307
+ url: `${baseHost}/details/smithsonian`,
308
+ },
309
+ {
310
+ title: 'FEDLINK (US)',
311
+ url: `${baseHost}/details/fedlink`,
312
+ },
313
+ {
314
+ title: 'Genealogy',
315
+ url: `${baseHost}/details/genealogy`,
316
+ },
317
+ {
318
+ title: 'Lincoln Collection',
319
+ url: `${baseHost}/details/lincolncollection`,
320
+ },
321
+ ],
322
+ links: [
323
+ {
324
+ title: 'American Libraries',
325
+ url: `${baseHost}/details/americana`,
326
+ },
327
+ {
328
+ title: 'Canadian Libraries',
329
+ url: `${baseHost}/details/toronto`,
330
+ },
331
+ {
332
+ title: 'Universal Library',
333
+ url: `${baseHost}/details/universallibrary`,
334
+ },
335
+ {
336
+ title: 'Project Gutenberg',
337
+ url: `${baseHost}/details/gutenberg`,
338
+ },
339
+ {
340
+ title: "Children's Library",
341
+ url: `${baseHost}/details/iacl`,
342
+ },
343
+ {
344
+ title: 'Biodiversity Heritage Library',
345
+ url: `${baseHost}/details/biodiversity`,
346
+ },
347
+ {
348
+ title: 'Books by Language',
349
+ url: `${baseHost}/details/booksbylanguage`,
350
+ },
351
+ {
352
+ title: 'Additional Collections',
353
+ url: `${baseHost}/details/additional_collections`,
354
+ },
355
+ ],
356
+ mobileAppsLinks: [],
357
+ browserExtensionsLinks: [],
358
+ archiveItLinks: [],
359
+ },
360
+ web: {
361
+ mobileAppsLinks: [
362
+ {
363
+ url: 'https://apps.apple.com/us/app/wayback-machine/id1201888313',
364
+ title: 'Wayback Machine (iOS)',
365
+ external: true,
366
+ },
367
+ {
368
+ url: 'https://play.google.com/store/apps/details?id=com.archive.waybackmachine&hl=en_US',
369
+ title: 'Wayback Machine (Android)',
370
+ external: true,
371
+ },
372
+ ],
373
+ browserExtensionsLinks: [
374
+ {
375
+ url: 'https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak',
376
+ title: 'Chrome',
377
+ external: true,
378
+ },
379
+ {
380
+ url: 'https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/',
381
+ title: 'Firefox',
382
+ external: true,
383
+ },
384
+ {
385
+ url: 'https://apps.apple.com/us/app/wayback-machine/id1472432422?mt=12',
386
+ title: 'Safari',
387
+ external: true,
388
+ },
389
+ {
390
+ url: 'https://microsoftedge.microsoft.com/addons/detail/wayback-machine/kjmickeoogghaimmomagaghnogelpcpn?hl=en-US',
391
+ title: 'Edge',
392
+ external: true,
393
+ },
394
+ ],
395
+ archiveItLinks: [
396
+ {
397
+ url: 'https://www.archive-it.org/explore',
398
+ title: 'Explore the Collections',
399
+ external: true,
400
+ },
401
+ {
402
+ url: 'https://www.archive-it.org/blog/learn-more/',
403
+ title: 'Learn More',
404
+ external: true,
405
+ },
406
+ {
407
+ url: 'https://www.archive-it.org/contact-us',
408
+ title: 'Build Collections',
409
+ external: true,
410
+ },
411
+ ],
412
+ heading: '',
413
+ iconLinks: [],
414
+ featuredLinks: [],
415
+ links: [],
416
+ },
417
+ video: {
418
+ heading: 'Video',
419
+ iconLinks: [
420
+ {
421
+ icon: `${baseHost}/services/img/tv`,
422
+ title: 'TV News',
423
+ url: `${baseHost}/details/tv`,
424
+ },
425
+ {
426
+ icon: `${baseHost}/services/img/911`,
427
+ title: 'Understanding 9/11',
428
+ url: `${baseHost}/details/911`,
429
+ },
430
+ ],
431
+ featuredLinks: [
432
+ {
433
+ title: 'All Video',
434
+ url: `${baseHost}/details/movies`,
435
+ },
436
+ {
437
+ title: 'Prelinger Archives',
438
+ url: `${baseHost}/details/prelinger`,
439
+ },
440
+ {
441
+ title: 'Democracy Now!',
442
+ url: `${baseHost}/details/democracy_now_vid`,
443
+ },
444
+ {
445
+ title: 'Occupy Wall Street',
446
+ url: `${baseHost}/details/occupywallstreet`,
447
+ },
448
+ {
449
+ title: 'TV NSA Clip Library',
450
+ url: `${baseHost}/details/nsa`,
451
+ },
452
+ ],
453
+ links: [
454
+ {
455
+ title: 'Animation & Cartoons',
456
+ url: `${baseHost}/details/animationandcartoons`,
457
+ },
458
+ {
459
+ title: 'Arts & Music',
460
+ url: `${baseHost}/details/artsandmusicvideos`,
461
+ },
462
+ {
463
+ title: 'Computers & Technology',
464
+ url: `${baseHost}/details/computersandtechvideos`,
465
+ },
466
+ {
467
+ title: 'Cultural & Academic Films',
468
+ url: `${baseHost}/details/culturalandacademicfilms`,
469
+ },
470
+ {
471
+ title: 'Ephemeral Films',
472
+ url: `${baseHost}/details/ephemera`,
473
+ },
474
+ {
475
+ title: 'Movies',
476
+ url: `${baseHost}/details/moviesandfilms`,
477
+ },
478
+ {
479
+ title: 'News & Public Affairs',
480
+ url: `${baseHost}/details/newsandpublicaffairs`,
481
+ },
482
+ {
483
+ title: 'Spirituality & Religion',
484
+ url: `${baseHost}/details/spiritualityandreligion`,
485
+ },
486
+ {
487
+ title: 'Sports Videos',
488
+ url: `${baseHost}/details/sports`,
489
+ },
490
+ {
491
+ title: 'Television',
492
+ url: `${baseHost}/details/television`,
493
+ },
494
+ {
495
+ title: 'Videogame Videos',
496
+ url: `${baseHost}/details/gamevideos`,
497
+ },
498
+ {
499
+ title: 'Vlogs',
500
+ url: `${baseHost}/details/vlogs`,
501
+ },
502
+ {
503
+ title: 'Youth Media',
504
+ url: `${baseHost}/details/youth_media`,
505
+ },
506
+ ],
507
+ mobileAppsLinks: [],
508
+ browserExtensionsLinks: [],
509
+ archiveItLinks: [],
510
+ },
511
+ user: [
512
+ {
513
+ url: `${baseHost}/create`,
514
+ title: 'Upload files',
515
+ analyticsEvent: 'UserUpload',
516
+ class: 'mobile-upload',
517
+ },
518
+ {
519
+ url: `${baseHost}/details/@${userid}`,
520
+ title: 'My uploads',
521
+ analyticsEvent: 'UserLibrary',
522
+ },
523
+ {
524
+ url: `${baseHost}/details/@${userid}/loans`,
525
+ title: 'My loans',
526
+ analyticsEvent: 'UserLoans',
527
+ },
528
+ {
529
+ url: `${baseHost}/details/fav-${userid}`,
530
+ title: 'My favorites',
531
+ analyticsEvent: 'UserFavorites',
532
+ },
533
+ {
534
+ url: `${baseHost}/details/@${userid}/lists`,
535
+ title: 'My lists',
536
+ analyticsEvent: 'UserLists',
537
+ },
538
+ {
539
+ url: `${baseHost}/details/@${userid}/collections`,
540
+ title: 'My collections',
541
+ analyticsEvent: 'UserCollections',
542
+ },
543
+ {
544
+ url: `${baseHost}/details/@${userid}/web-archive`,
545
+ title: 'My web archives',
546
+ analyticsEvent: 'UserWebArchive',
547
+ },
548
+ {
549
+ url: `${baseHost}/account/index.php?settings=1`,
550
+ title: 'Account settings',
551
+ analyticsEvent: 'UserSettings',
552
+ },
553
+ {
554
+ url: 'https://help.archive.org',
555
+ title: 'Get help',
556
+ analyticsEvent: 'UserHelp',
557
+ },
558
+ {
559
+ url: `${baseHost}/account/logout`,
560
+ title: 'Log out',
561
+ analyticsEvent: 'UserLogOut',
562
+ },
563
+ ],
564
+ userAdmin: [
565
+ {
566
+ title: 'ADMINS:',
567
+ },
568
+ {
569
+ title: 'item:',
570
+ },
571
+ {
572
+ url: `${baseHost}/editxml/${itemIdentifier}`,
573
+ title: 'edit xml',
574
+ analyticsEvent: 'AdminUserEditXML',
575
+ },
576
+ {
577
+ url: `${baseHost}/edit.php?redir=1&identifier=${itemIdentifier}`,
578
+ title: 'edit files',
579
+ analyticsEvent: 'AdminUserEditFiles',
580
+ },
581
+ {
582
+ url: `${baseHost}/download/${itemIdentifier}/`,
583
+ title: 'download',
584
+ analyticsEvent: 'AdminUserDownload',
585
+ },
586
+ {
587
+ url: `${baseHost}/metadata/${itemIdentifier}/`,
588
+ title: 'metadata',
589
+ analyticsEvent: 'AdminUserMetadata',
590
+ },
591
+ {
592
+ url: `https://catalogd.archive.org/history/${itemIdentifier}`,
593
+ title: 'history',
594
+ analyticsEvent: 'AdminUserHistory',
595
+ },
596
+ {
597
+ url: `${baseHost}/manage/${itemIdentifier}`,
598
+ title: 'manage',
599
+ analyticsEvent: 'AdminUserManager',
600
+ },
601
+ {
602
+ url: `${baseHost}/manage/${itemIdentifier}#make_dark`,
603
+ title: 'curate',
604
+ analyticsEvent: 'AdminUserCurate',
605
+ },
606
+ {
607
+ url: `${baseHost}/manage/${itemIdentifier}#modify_xml`,
608
+ title: 'modify xml',
609
+ analyticsEvent: 'AdminUserModifyXML',
610
+ },
611
+ ],
612
+ userAdminFlags: [
613
+ {
614
+ url: `${baseHost}/services/flags/admin.php?identifier=${itemIdentifier}`,
615
+ title: 'manage flags',
616
+ analyticsEvent: 'AdminUserManageFlags',
617
+ },
618
+ ],
619
+ signedOut: [
620
+ {
621
+ url: `${baseHost}/account/signup`,
622
+ title: 'Sign up for free',
623
+ analyticsEvent: 'AvatarMenu-Signup',
624
+ },
625
+ {
626
+ url: `${baseHost}/account/login`,
627
+ title: 'Log in',
628
+ analyticsEvent: 'AvatarMenu-Login',
629
+ },
630
+ ],
631
+ };
632
+ }
633
+ let waybackPagesArchivedCached;
634
+ /**
635
+ * Fetches accurate count of number of pages in WayBack Machine
636
+ * @returns { string }
637
+ */
638
+ export async function waybackPagesArchivedFN() {
639
+ if (waybackPagesArchivedCached)
640
+ return waybackPagesArchivedCached;
641
+ const counts = await (await fetch('https://archive.org/services/offshoot/home-page/mediacounts.php')).json();
642
+ if (counts.success) {
643
+ let label = '';
644
+ let n = parseInt(counts.value.counts.web, 10);
645
+ if (n > 1000) {
646
+ n /= 1000;
647
+ label = 'thousand';
648
+ }
649
+ if (n > 1000) {
650
+ n /= 1000;
651
+ label = 'million';
652
+ }
653
+ if (n > 1000) {
654
+ n /= 1000;
655
+ label = 'billion';
656
+ }
657
+ if (n > 1000) {
658
+ n /= 1000;
659
+ label = 'trillion';
660
+ }
661
+ waybackPagesArchivedCached = `${Math.round(n)} ${label}`;
662
+ }
663
+ else {
664
+ waybackPagesArchivedCached = '741 billion';
665
+ }
666
+ return waybackPagesArchivedCached;
667
+ }
668
+ //# sourceMappingURL=menus.js.map