@internetarchive/ia-topnav 1.3.8 → 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} +4 -5
  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,41 @@
1
+ // import { playwrightLauncher } from '@web/test-runner-playwright';
2
+
3
+ const filteredLogs = ['Running in dev mode', 'lit-html is in dev mode'];
4
+
5
+ export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
6
+ /** Test files to run */
7
+ files: 'dist/test/**/*.test.js',
8
+
9
+ /** Resolve bare module imports */
10
+ nodeResolve: {
11
+ exportConditions: ['browser', 'development'],
12
+ },
13
+
14
+ /** Filter out lit dev mode logs */
15
+ filterBrowserLogs(log) {
16
+ for (const arg of log.args) {
17
+ if (typeof arg === 'string' && filteredLogs.some(l => arg.includes(l))) {
18
+ return false;
19
+ }
20
+ }
21
+ return true;
22
+ },
23
+
24
+ /** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
25
+ // esbuildTarget: 'auto',
26
+
27
+ /** Amount of browsers to run concurrently */
28
+ // concurrentBrowsers: 2,
29
+
30
+ /** Amount of test files per browser to test concurrently */
31
+ // concurrency: 1,
32
+
33
+ /** Browsers to run tests on */
34
+ // browsers: [
35
+ // playwrightLauncher({ product: 'chromium' }),
36
+ // playwrightLauncher({ product: 'firefox' }),
37
+ // playwrightLauncher({ product: 'webkit' }),
38
+ // ],
39
+
40
+ // See documentation for all available options
41
+ });
package/.eslintrc DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "extends": ["../../.eslintrc.json"],
3
- "settings": {
4
- "import/resolver": {
5
- "node": {
6
- "extensions": [".js"]
7
- }
8
- }
9
- },
10
- "overrides": [{
11
- "files": ["test/**/*.js"],
12
- "rules": {
13
- "no-unused-expressions": "off"
14
- }
15
- }]
16
- }
package/index.d.ts DELETED
@@ -1,109 +0,0 @@
1
- import { LitElement } from 'lit';
2
-
3
- export interface IATopNavConfig {
4
- /**
5
- * Google Analytics event category
6
- */
7
- eventCategory: string;
8
-
9
- /**
10
- * Copy to display for number of pages archived at the top of the Wayback search form
11
- *
12
- * ie. "425 billion"
13
- */
14
- waybackPagesArchived: string;
15
-
16
- /**
17
- * Array of strings representing the values of options that should be hidden from search options
18
- */
19
- hiddenSearchOptions: [];
20
-
21
- /**
22
- * Map from dropdown item ids to any callout text that should be applied beside them
23
- */
24
- callouts?: Record<string, string>;
25
- }
26
-
27
- export interface IATopNavLink {
28
- /**
29
- * Link title
30
- */
31
- title: string;
32
-
33
- /**
34
- * Link url
35
- */
36
- url?: string;
37
- }
38
-
39
- export interface IATopNavIconLink extends IATopNavLink {
40
- /**
41
- * Icon URL
42
- */
43
- icon: string;
44
- }
45
-
46
- export interface IATopNavAnalyticsLink extends IATopNavLink {
47
- /**
48
- * Google analytics event name
49
- */
50
- analyticsEvent: string;
51
- }
52
-
53
- export interface IATopNavExternalLink extends IATopNavLink {
54
- /**
55
- * Is the link external or not
56
- */
57
- external: boolean;
58
- }
59
-
60
- export interface IATopNavMediaMenu {
61
- heading: string;
62
- iconLinks: IATopNavIconLink[];
63
- featuredLinks: IATopNavLink[];
64
- links: IATopNavLink[];
65
- }
66
-
67
- export interface IATopNavWaybackMenuConfig {
68
- mobileAppsLinks: IATopNavExternalLink[];
69
- browserExtensionsLinks: IATopNavExternalLink[];
70
- archiveItLinks: IATopNavExternalLink[];
71
- }
72
-
73
- export interface IATopNavMenuConfig {
74
- audio: IATopNavMediaMenu;
75
- images: IATopNavMediaMenu;
76
- more: IATopNavLink[];
77
- signedOut: IATopNavAnalyticsLink[];
78
- software: IATopNavMediaMenu;
79
- texts: IATopNavMediaMenu;
80
- user: IATopNavAnalyticsLink[];
81
- video: IATopNavMediaMenu;
82
- web: IATopNavWaybackMenuConfig;
83
- }
84
-
85
- export type IATopNavSecondIdentitySlotMode = 'allow' | '';
86
-
87
- export declare class IATopNav extends LitElement {
88
- localLinks?: boolean;
89
- baseHost?: string;
90
- config?: IATopNavConfig;
91
- hideSearch?: boolean;
92
- mediaBaseHost?: string;
93
- menuSliderOpen?: boolean;
94
- openMenu?: string;
95
- screenName?: string;
96
- searchIn?: string;
97
- searchQuery?: string;
98
- secondIdentitySlotMode?: IATopNavSecondIdentitySlotMode;
99
- selectedMenuOption?: string;
100
- username?: string;
101
- userProfileImagePath?: string;
102
- menus: IATopNavMenuConfig;
103
- /**
104
- * Copy to display for number of pages archived at the top of the Wayback search form
105
- *
106
- * ie. "425 billion"
107
- */
108
- waybackPagesArchived?: string;
109
- }
@@ -1,38 +0,0 @@
1
- import { html, css } from 'https://offshoot.prod.archive.org/lit.js';
2
- import Icon from './icon.js';
3
- import icons from './icons.js';
4
-
5
- class HamBurger extends Icon {
6
- static get styles() {
7
- return css`
8
- svg {
9
- display: block;
10
- height: 4rem;
11
- width: 4rem;
12
- }
13
- .fill-color {
14
- fill: var(--activeColor);
15
- }
16
- `;
17
- }
18
-
19
- static get closed() {
20
- return html`
21
- <svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-labelledby="hamburgerTitleID hamburgerDescID">
22
- <title id="hamburgerTitleID">Hamburger icon</title>
23
- <desc id="hamburgerDescID">An icon used to represent a menu that can be toggled by interacting with this icon.</desc>
24
- <path d="m30.5 26.5c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5z" fill="#999" fill-rule="evenodd"/>
25
- </svg>
26
- `;
27
- }
28
-
29
- static get opened() {
30
- return icons.close;
31
- }
32
-
33
- render() {
34
- return this.active ? HamBurger.opened : HamBurger.closed;
35
- }
36
- }
37
-
38
- customElements.define('icon-hamburger', HamBurger);
@@ -1,16 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- version="1.1"
9
- xmlns="http://www.w3.org/2000/svg"
10
- aria-labelledby="closeTitleID closeDescID"
11
- >
12
- <title id="closeTitleID">Close icon</title>
13
- <desc id="closeDescID">A line drawing of an X</desc>
14
- <path d="m29.1923882 10.8076118c.5857864.5857865.5857864 1.535534 0 2.1213204l-7.0711162 7.0703398 7.0711162 7.0717958c.5857864.5857864.5857864 1.5355339 0 2.1213204-.5857865.5857864-1.535534.5857864-2.1213204 0l-7.0717958-7.0711162-7.0703398 7.0711162c-.5857864.5857864-1.5355339.5857864-2.1213204 0-.5857864-.5857865-.5857864-1.535534 0-2.1213204l7.0706602-7.0717958-7.0706602-7.0703398c-.5857864-.5857864-.5857864-1.5355339 0-2.1213204.5857865-.5857864 1.535534-.5857864 2.1213204 0l7.0703398 7.0706602 7.0717958-7.0706602c.5857864-.5857864 1.5355339-.5857864 2.1213204 0z" class="fill-color" fill-rule="evenodd"/>
15
- </svg>
16
- `;
@@ -1,16 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:svg="http://www.w3.org/2000/svg"
10
- aria-labelledby="donateTitleID donateDescID"
11
- >
12
- <title id="donateTitleID">Donate icon</title>
13
- <desc id="donateDescID">An illustration of a heart shape</desc>
14
- <path class="fill-color" d="m32.6,8.12c-1.57,-1.51 -3.46,-2.21 -5.65,-2.11c-1,0.03 -2.14,0.51 -3.42,1.44c-1.28,0.92 -2.28,2.09 -3.03,3.51c-0.71,-1.41 -1.72,-2.59 -3,-3.51c-1.29,-0.93 -2.43,-1.41 -3.41,-1.44c-1.46,-0.07 -2.8,0.23 -4.02,0.88c-1.23,0.65 -2.21,1.6 -2.94,2.83c-0.74,1.24 -1.11,2.63 -1.12,4.17c-0.05,2.56 0.85,5.01 2.68,7.37c1.46,1.88 3.52,4.21 6.19,7.04c2.66,2.81 4.53,4.71 5.62,5.69c1,-0.88 2.85,-2.75 5.55,-5.6s4.81,-5.23 6.31,-7.13c1.81,-2.36 2.71,-4.81 2.66,-7.37c-0.04,-2.35 -0.83,-4.28 -2.4,-5.77z"/>
15
- </svg>
16
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="donateTitleID donateDescID"
10
- >
11
- <title id="donateTitleID">Donate icon</title>
12
- <desc id="donateDescID">An illustration of a heart shape</desc>
13
- <path class="fill-color" d="m30.0120362 11.0857287c-1.2990268-1.12627221-2.8599641-1.65258786-4.682812-1.57894699-.8253588.02475323-1.7674318.3849128-2.8262192 1.08047869-1.0587873.6955659-1.89622 1.5724492-2.512298 2.63065-.591311-1.0588196-1.4194561-1.9357029-2.4844351-2.63065-1.0649791-.69494706-2.0039563-1.05510663-2.8169316-1.08047869-1.2067699-.04950647-2.318187.17203498-3.3342513.66462439-1.0160643.4925893-1.82594378 1.2002224-2.42963831 2.1228992-.60369453.9226769-.91173353 1.9629315-.92411701 3.1207641-.03715043 1.9202322.70183359 3.7665141 2.21695202 5.5388457 1.2067699 1.4035084 2.912594 3.1606786 5.1174721 5.2715107 2.2048782 2.1108321 3.7565279 3.5356901 4.6549492 4.2745742.8253588-.6646243 2.355647-2.0647292 4.5908647-4.2003145s3.9747867-3.9171994 5.218707-5.3448422c1.502735-1.7723316 2.2355273-3.6186135 2.1983769-5.5388457-.0256957-1.7608832-.6875926-3.2039968-1.9866194-4.3302689z"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="ellipsesTitleID ellipsesDescID"
10
- >
11
- <title id="ellipsesTitleID">Ellipses icon</title>
12
- <desc id="ellipsesDescID">An illustration of text ellipses.</desc>
13
- <path class="fill-color" d="m10.5 17.5c1.3807119 0 2.5 1.1192881 2.5 2.5s-1.1192881 2.5-2.5 2.5c-1.38071187 0-2.5-1.1192881-2.5-2.5s1.11928813-2.5 2.5-2.5zm9.5 0c1.3807119 0 2.5 1.1192881 2.5 2.5s-1.1192881 2.5-2.5 2.5-2.5-1.1192881-2.5-2.5 1.1192881-2.5 2.5-2.5zm9.5 0c1.3807119 0 2.5 1.1192881 2.5 2.5s-1.1192881 2.5-2.5 2.5-2.5-1.1192881-2.5-2.5 1.1192881-2.5 2.5-2.5z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,22 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- class="ia-logo"
6
- viewBox="0 0 27 30"
7
- xmlns="http://www.w3.org/2000/svg"
8
- aria-labelledby="logoTitleID logoDescID"
9
- >
10
- <title id="logoTitleID">Internet Archive logo</title>
11
- <desc id="logoDescID">A line drawing of the Internet Archive headquarters building façade.</desc>
12
- <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
13
- <mask id="mask-2" fill="white">
14
- <path d="M26.6666667,28.6046512 L26.6666667,30 L0,30 L0.000283687943,28.6046512 L26.6666667,28.6046512 Z M25.6140351,26.5116279 L25.6140351,28.255814 L1.05263158,28.255814 L1.05263158,26.5116279 L25.6140351,26.5116279 Z M3.62469203,7.6744186 L3.91746909,7.82153285 L4.0639977,10.1739544 L4.21052632,13.9963932 L4.21052632,17.6725617 L4.0639977,22.255044 L4.03962296,25.3421929 L3.62469203,25.4651163 L2.16024641,25.4651163 L1.72094074,25.3421929 L1.55031755,22.255044 L1.40350877,17.6970339 L1.40350877,14.0211467 L1.55031755,10.1739544 L1.68423854,7.80887484 L1.98962322,7.6744186 L3.62469203,7.6744186 Z M24.6774869,7.6744186 L24.9706026,7.82153285 L25.1168803,10.1739544 L25.2631579,13.9963932 L25.2631579,17.6725617 L25.1168803,22.255044 L25.0927809,25.3421929 L24.6774869,25.4651163 L23.2130291,25.4651163 L22.7736357,25.3421929 L22.602418,22.255044 L22.4561404,17.6970339 L22.4561404,14.0211467 L22.602418,10.1739544 L22.7369262,7.80887484 L23.0420916,7.6744186 L24.6774869,7.6744186 Z M9.94042303,7.6744186 L10.2332293,7.82153285 L10.3797725,10.1739544 L10.5263158,13.9963932 L10.5263158,17.6725617 L10.3797725,22.255044 L10.3556756,25.3421929 L9.94042303,25.4651163 L8.47583122,25.4651163 L8.0362015,25.3421929 L7.86556129,22.255044 L7.71929825,17.6970339 L7.71929825,14.0211467 L7.86556129,10.1739544 L8.00005604,7.80887484 L8.30491081,7.6744186 L9.94042303,7.6744186 Z M18.0105985,7.6744186 L18.3034047,7.82153285 L18.449948,10.1739544 L18.5964912,13.9963932 L18.5964912,17.6725617 L18.449948,22.255044 L18.425851,25.3421929 L18.0105985,25.4651163 L16.5460067,25.4651163 L16.1066571,25.3421929 L15.9357367,22.255044 L15.7894737,17.6970339 L15.7894737,14.0211467 L15.9357367,10.1739544 L16.0702315,7.80887484 L16.3753664,7.6744186 L18.0105985,7.6744186 Z M25.6140351,4.53488372 L25.6140351,6.97674419 L1.05263158,6.97674419 L1.05263158,4.53488372 L25.6140351,4.53488372 Z M13.0806755,0 L25.9649123,2.93331338 L25.4484139,3.8372093 L0.771925248,3.8372093 L0,3.1041615 L13.0806755,0 Z" id="path-1"></path>
15
- </mask>
16
- <use fill="#FFFFFF" xlink:href="#path-1"></use>
17
- <g mask="url(#mask-2)" fill="#FFFFFF">
18
- <path d="M0,0 L26.6666667,0 L26.6666667,30 L0,30 L0,0 Z" id="swatch"></path>
19
- </g>
20
- </g>
21
- </svg>
22
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="imagesTitleID imagesDescID"
10
- >
11
- <title id="imagesTitleID">Images icon</title>
12
- <desc id="imagesDescID">An illustration of two photographs.</desc>
13
- <path class="fill-color" d="m20.8219178 15.3769871c0 1.1136708-.8767123 1.8932404-1.8630137 1.8932404s-1.9726027-.8909367-1.9726027-1.8932404c0-1.0023038.8767123-1.8932404 1.9726027-1.8932404.9863014 0 1.8630137.8909366 1.8630137 1.8932404zm-5.9178082-3.7864808h15.4520548v6.0138225l-1.9726028-3.3410125-2.6301369 6.3479237-2.1917809-2.67281-6.1369863 5.1228859h-2.5205479zm-1.7534247-1.6705063v14.9231892h18.8493151v-14.9231892zm-2.9589041 7.2388604c.2191781 0 1.9726028-.3341012 1.9726028-.3341012v-2.0046075l-4.1643836.5568354c.43835616 4.7887846.87671233 9.9116704 1.31506849 14.700455 6.02739731-.5568354 13.26027401-1.5591391 19.39726031-2.1159746-.1095891-.5568354-.1095891-2.0046075-.2191781-2.67281-.4383562.1113671-1.4246575 0-1.8630137.1113671v.8909367c-5.1506849.4454683-10.3013699 1.1136708-15.4520548 1.6705062.109589-.111367-.5479452-7.0161262-.9863014-10.8026071z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="searchTitleID searchDescID"
10
- >
11
- <title id="searchTitleID">Search icon</title>
12
- <desc id="searchDescID">An illustration of a magnifying glass.</desc>
13
- <path class="fill-color" d="m32.4526364 29.8875889-8.1719472-7.9751279c1.1046135-1.4876138 1.7652549-3.3102407 1.7652549-5.2846451 0-.101185-.0142895-.1981539-.030573-.2944743.0166158-.0976175.0309053-.196208.0309053-.2990145 0-4.9814145-4.152935-9.0343271-9.2572866-9.0343271-.0907218 0-.1781206.01394537-.2655193.02594487-.0880633-.0119995-.1747974-.02594487-.2655193-.02594487-5.1046839 0-9.25761889 4.0529126-9.25761889 9.0343271 0 .1011849.01395722.1981539.03057294.2947985-.01694804.0976176-.03090525.1958838-.03090525.2986903 0 4.9814145 4.1526027 9.0346514 9.2572866 9.0346514.0907218 0 .1777882-.0139454.2658516-.0262692.0873987.0123238.1741328.0262692.265187.0262692 1.7306942 0 3.3467399-.4747911 4.7338208-1.2852439l8.2882574 8.0886366c.3652137.3564177.843082.53414 1.3212826.53414.4782007 0 .9567336-.1780467 1.3212827-.53414.7294304-.7118622.7294304-1.8660845-.0003323-2.5782711zm-15.9526364-7.8875889c-.0832667-.0118703-.1652765-.0253024-.2513711-.0253024-2.8781993 0-5.2197212-2.3278242-5.2197212-5.1891862 0-.0974612-.013197-.1908615-.0289077-.2836371.0160249-.0940251.0292219-.1889874.0292219-.2880105 0-2.861362 2.3418361-5.1891861 5.2200354-5.1891861.0854662 0 .1677902-.0131198.2510569-.0246777.0826383.0115579.1649623.0246777.2510569.0246777 2.8781993 0 5.2197212 2.3278241 5.2197212 5.1891861 0 .0974612.0135112.1908616.0289077.2839496-.0157107.0940251-.0295361.1886749-.0295361.287698 0 2.861362-2.3415219 5.1891862-5.2197212 5.1891862-.0860946 0-.1684187.0134321-.2507427.0253024z" fill-rule="evenodd" />
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="softwareTitleID softwareDescID"
10
- >
11
- <title id="softwareTitleID">Software icon</title>
12
- <desc id="softwareDescID">An illustration of a 3.5" floppy disk.</desc>
13
- <path class="fill-color" d="m32 30.6900373v-21.44521088c0-.82988428-.4156786-1.24482642-1.2470357-1.24482642h-21.50592858c-.83135715 0-1.24703572.4221795-1.24703572 1.26653851v21.44521089c0 .8588337.41567857 1.2882506 1.24703572 1.2882506h21.48327168c.8458575 0 1.2687863-.4366542 1.2687863-1.3099627zm-5.9950155-20.4410268v6.114667c0 .6694561-.3428744 1.0041841-1.0286232 1.0041841h-10.1294464c-.2622159 0-.4773054-.0802141-.6452685-.2406423s-.2519447-.3642806-.2519447-.6115572v-6.1363791l.0217506-.1311772h12.0326259zm-4.9437353.8295827v5.0010178h3.0405558v-5.0010178zm-9.7134658 18.8035735v-7.753025c0-.5241057.1604108-.9025595.4812325-1.1353613.1897138-.1453504.4011782-.2180256.6343932-.2180256h14.7451099c.3208217 0 .5905898.1091636.8093044.3274907s.3280719.5023936.3280719.8521995v7.8181612l-.0217506.1094652h-16.9772676z"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="textsTitleID textsDescID"
10
- >
11
- <title id="textsTitleID">Texts icon</title>
12
- <desc id="textsDescID">An illustration of an open book.</desc>
13
- <path class="fill-color" d="m10.3323235 11.0007023h6.9060825c.8851083 0 1.5847122.3064258 2.0988114.9192774v14.4324451h-.6460032c-.1435563-.120323-.3528315-.2434552-.6278257-.3693964-.2749942-.1259413-.5201585-.2191097-.7354929-.2795053l-.3048241-.1081503h-5.7042647c-.3108832 0-.5621067-.0601615-.7536705-.1804846-.0717781-.0599274-.1256117-.1439663-.1615008-.2521166-.0358891-.1081502-.0598928-.2043619-.0720112-.2886348v-13.8741368zm19.1752505 0v13.603761c-.0717781.3361555-.2211606.5943584-.4481473.7746089-.0717781.0599274-.1733862.1079162-.304824.1439663-.1314379.0360501-.2451643.0601615-.3411793.0723343h-5.5965975c-.9568865.2640552-1.5068748.5164059-1.649965.757052h-.6634817v-14.4324451c.5140992-.6128516 1.2076439-.9192774 2.0806339-.9192774h6.92426zm1.3814961.6489017-.1796783 15.2976474c-.0955489 0-1.0342578.0119386-2.8161268.035816-1.7818691.0238773-3.3006293.0898911-4.5562806.1980414-1.2556514.1081503-1.9613144.2884008-2.1169891.5407514-.0955488.1924233-.5439291.273419-1.345141.2429871-.8012118-.0304319-1.3155441-.1776755-1.5429969-.4417308-.334654-.3843783-3.4558378-.5765674-9.36355164-.5765674v-15.3875385l-.96830576.3960828v16.2702977c6.4096947-.2041278 9.7760429-.0840388 10.0990445.3602669.2391051.276228.9864833.414342 2.2421347.414342.1915638 0 .4187835-.0210682.6816593-.0632047s.4810068-.0870821.6543929-.1348367c.1733862-.0477547.2719646-.0838048.2957353-.1081503.0838965-.1563732.9599161-.2675666 2.6280587-.3335805 1.6681426-.0660138 3.3213703-.0931684 4.9596831-.0814638l2.4392915.0182591v-16.2344816z"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="uploadTitleID uploadDescID"
10
- >
11
- <title id="uploadTitleID">Upload icon</title>
12
- <desc id="uploadDescID">An illustration of a horizontal line over an up pointing arrow.</desc>
13
- <path class="fill-color" d="m20 12.8 8 10.4h-4.8v8.8h-6.4v-8.8h-4.8zm12-4.8v3.2h-24v-3.2z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- width="40"
6
- height="40"
7
- viewBox="0 0 40 40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="userTitleID userDescID"
10
- >
11
- <title id="userTitleID">User icon</title>
12
- <desc id="userDescID">An illustration of a person's head and chest.</desc>
13
- <path class="fill-color" d="m20.7130435 18.0434783c-3.5658385 0-6.4565218-2.9198821-6.4565218-6.5217392 0-3.60185703 2.8906833-6.5217391 6.4565218-6.5217391s6.4565217 2.91988207 6.4565217 6.5217391c0 3.6018571-2.8906832 6.5217392-6.4565217 6.5217392zm-12.9130435 16.9565217c0-7.9240855 5.7813665-14.3478261 12.9130435-14.3478261s12.9130435 6.4237406 12.9130435 14.3478261z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="videoTitleID videoDescID"
10
- >
11
- <title id="videoTitleID">Video icon</title>
12
- <desc id="videoDescID">An illustration of two cells of a film strip.</desc>
13
- <path class="fill-color" d="m31.0117647 12.0677966c0 .4067797-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711864-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067797-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711864-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711865-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.3898305c0 .4067797-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711864-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711865-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.2711865-.7058823-.6779661v-.6779661c0-.4067797.2823529-.6779661.7058823-.6779661h1.2705883c.4235294 0 .7058823.2711864.7058823.6779661zm-4.0941176-10.440678c0 .5423729-.4235295.9491525-.9882353.9491525h-11.5764706c-.5647059 0-.9882353-.4067796-.9882353-.9491525v-6.9152542c0-.5423729.4235294-.9491526.9882353-.9491526h11.5764706c.5647058 0 .9882353.4067797.9882353.9491526zm-.1411765 11.2542373c0 .5423729-.4235294.9491525-.9882353.9491525h-11.5764706c-.5647059 0-.9882353-.4067796-.9882353-.9491525v-6.9152542c0-.5423729.4235294-.9491526.9882353-.9491526h11.5764706c.5647059 0 .9882353.4067797.9882353.9491526zm-14.9647059-17.220339c0 .4067797-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711864-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067797-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711864-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711865-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.3898305c0 .4067797-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711864-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711865-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm0 3.2542373c0 .4067796-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.2711865-.70588236-.6779661v-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661zm20.0470588-20.4745763h-.8470588v.27118644.6779661c0 .40677966-.2823529.6779661-.7058823.6779661h-1.2705883c-.4235294 0-.7058823-.27118644-.7058823-.6779661v-.6779661-.27118644h-16.5176471v.27118644.6779661c0 .40677966-.2823529.6779661-.7058823.6779661h-1.27058828c-.42352941 0-.70588236-.27118644-.70588236-.6779661v-.6779661-.27118644h-1.12941176v24h1.12941176v-.2711864-.6779661c0-.4067797.28235295-.6779661.70588236-.6779661h1.27058828c.4235294 0 .7058823.2711864.7058823.6779661v.6779661.2711864h16.6588235v-.2711864-.6779661c0-.4067797.282353-.6779661.7058824-.6779661h1.2705882c.4235294 0 .7058824.2711864.7058824.6779661v.6779661.2711864h.8470588v-24z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,15 +0,0 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default html`
4
- <svg
5
- height="40"
6
- viewBox="0 0 40 40"
7
- width="40"
8
- xmlns="http://www.w3.org/2000/svg"
9
- aria-labelledby="webTitleID webDescID"
10
- >
11
- <title id="webTitleID">Web icon</title>
12
- <desc id="webDescID">An illustration of a computer application window</desc>
13
- <path class="fill-color" d="m8 28.7585405v-8.1608108-9.3577297h24v9.3577297 8.1608108zm14.2702703-15.8863783h-12.43243246v2.6114594h12.43243246zm7.7837838 14.0365946v-7.0727027-1.8497838h-20.21621626v1.8497838 7.0727027zm-3.7837838-14.0365946h-2.7027027v2.6114594h2.7027027zm4 0h-2.7027027v2.6114594h2.7027027z" fill-rule="evenodd"/>
14
- </svg>
15
- `;
@@ -1,18 +0,0 @@
1
- import { LitElement } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- class Icon extends LitElement {
4
- constructor() {
5
- super();
6
- this.fill = 'fff';
7
- this.active = false;
8
- }
9
-
10
- static get properties() {
11
- return {
12
- fill: { type: String },
13
- active: { type: Boolean },
14
- };
15
- }
16
- }
17
-
18
- export default Icon;
@@ -1,33 +0,0 @@
1
- import audio from './icon-audio.js';
2
- import close from './icon-close.js';
3
- import donate from './icon-donate.js';
4
- import donateUnpadded from './icon-donate-unpadded.js';
5
- import ellipses from './icon-ellipses.js';
6
- import iaLogo from './icon-ia-logo.js';
7
- import images from './icon-images.js';
8
- import search from './icon-search.js';
9
- import software from './icon-software.js';
10
- import texts from './icon-texts.js';
11
- import upload from './icon-upload.js';
12
- import uploadUnpadded from './icon-upload-unpadded.js';
13
- import user from './icon-user.js';
14
- import video from './icon-video.js';
15
- import web from './icon-web.js';
16
-
17
- export default {
18
- audio,
19
- close,
20
- donate,
21
- donateUnpadded,
22
- ellipses,
23
- iaLogo,
24
- images,
25
- search,
26
- software,
27
- texts,
28
- upload,
29
- uploadUnpadded,
30
- user,
31
- video,
32
- web,
33
- };
@@ -1,45 +0,0 @@
1
- import { html, nothing } from 'https://offshoot.prod.archive.org/lit.js';
2
- import TrackedElement from './tracked-element.js';
3
- import desktopSubnavCSS from './styles/desktop-subnav.js';
4
- import icons from './assets/img/icons.js';
5
- import formatUrl from './lib/formatUrl.js';
6
-
7
- class DesktopSubnav extends TrackedElement {
8
- static get styles() {
9
- return desktopSubnavCSS;
10
- }
11
-
12
- static get properties() {
13
- return {
14
- baseHost: { type: String },
15
- menuItems: { type: Array },
16
- };
17
- }
18
-
19
- get listItems() {
20
- return this.menuItems ? this.menuItems.map(link => (
21
- html`
22
- <li>
23
- <a class="${link.title.toLowerCase()}" href="${formatUrl(link.url, this.baseHost)}">${link.title}${DesktopSubnav.iconFor(link.title)}</a>
24
- </li>
25
- `
26
- )) : nothing;
27
- }
28
-
29
- static iconFor(title) {
30
- const subnavIcons = {
31
- Donate: icons.donate
32
- };
33
- return subnavIcons[title] ? subnavIcons[title] : html``;
34
- }
35
-
36
- render() {
37
- return html`
38
- <ul>
39
- ${this.listItems}
40
- </ul>
41
- `;
42
- }
43
- }
44
-
45
- customElements.define('desktop-subnav', DesktopSubnav);
@@ -1,110 +0,0 @@
1
- import { html, nothing } from 'https://offshoot.prod.archive.org/lit.js';
2
- import TrackedElement from './tracked-element.js';
3
- import dropdownMenuCSS from './styles/dropdown-menu.js';
4
- import formatUrl from './lib/formatUrl.js';
5
- import icons from './assets/img/icons.js';
6
-
7
- class DropdownMenu extends TrackedElement {
8
- static get styles() {
9
- return dropdownMenuCSS;
10
- }
11
-
12
- static get properties() {
13
- return {
14
- baseHost: { type: String },
15
- config: { type: Object },
16
- hideSearch: { type: Boolean },
17
- menuItems: { type: Array },
18
- animate: { type: Boolean },
19
- open: { type: Boolean },
20
- };
21
- }
22
-
23
- constructor() {
24
- super();
25
- this.config = {};
26
- this.menuItems = [];
27
- this.open = false;
28
- this.animate = false;
29
- }
30
-
31
- get dropdownItems() {
32
- if (!this.menuItems) return nothing;
33
-
34
- if (!Array.isArray(this.menuItems[0])) {
35
- return this.dropdownSection(this.menuItems);
36
- }
37
- return this.menuItems.map((submenu, i) => {
38
- const joiner = i ? DropdownMenu.dropdownDivider : html``;
39
- return [joiner, ...this.dropdownSection(submenu)];
40
- });
41
- }
42
-
43
- static get dropdownDivider() {
44
- return html`<li role="presentation" class="divider"></li>`;
45
- }
46
-
47
- dropdownSection(submenu) {
48
- return submenu.map(item => (
49
- html`
50
- <li>${item.url ? this.dropdownLink(item) : DropdownMenu.dropdownText(item)}</li>
51
- `
52
- ));
53
- }
54
-
55
- dropdownLink(link) {
56
- const calloutText = this.config.callouts?.[link.title];
57
- return html`<a
58
- href="${formatUrl(link.url, this.baseHost)}"
59
- class="${link.class}"
60
- tabindex="${this.open ? '' : '-1'}"
61
- @click=${this.trackClick}
62
- data-event-click-tracking="${this.config.eventCategory}|Nav${link.analyticsEvent}"
63
- aria-label=${calloutText ? `New feature: ${link.title}` : nothing}>
64
- ${link.class === 'mobile-upload' ? icons.uploadUnpadded : nothing}
65
- ${link.title}
66
- ${calloutText ? html`<span class="callout" aria-hidden="true">${calloutText}</span>` : nothing}
67
- </a>`;
68
- }
69
-
70
- static dropdownText(item) {
71
- return html`<span class="info-item">${item.title}</span>`;
72
- }
73
-
74
- get menuClass() {
75
- const hiddenClass = this.hideSearch ? ' search-hidden' : '';
76
- if (this.open) {
77
- return `open${hiddenClass}`;
78
- }
79
- if (this.animate) {
80
- return `closed${hiddenClass}`;
81
- }
82
- return `initial${hiddenClass}`;
83
- }
84
-
85
- get ariaHidden() {
86
- return Boolean(!this.open).toString();
87
- }
88
-
89
- get ariaExpanded() {
90
- return Boolean(this.open).toString();
91
- }
92
-
93
- render() {
94
- return html`
95
- <div class="nav-container">
96
- <nav
97
- class="${this.menuClass}"
98
- aria-hidden="${this.ariaHidden}"
99
- aria-expanded="${this.ariaExpanded}"
100
- >
101
- <ul>
102
- ${this.dropdownItems}
103
- </ul>
104
- </nav>
105
- </div>
106
- `;
107
- }
108
- }
109
-
110
- export default DropdownMenu;
@@ -1 +0,0 @@
1
- export default (url, baseHost) => (/^https?:/.test(url) ? url : `${baseHost}${url}`);