@internetarchive/ia-topnav 1.3.9 → 1.3.10-webdev-7394.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 (389) 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 +116 -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 +124 -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/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/package.json +47 -37
  253. package/prettier.config.js +9 -0
  254. package/src/assets/img/hamburger.ts +49 -0
  255. package/src/assets/img/{ia-icon.js → ia-icon.ts} +7 -16
  256. package/src/assets/img/{icon-audio.js → icon-audio.ts} +7 -2
  257. package/src/assets/img/icon-close.ts +20 -0
  258. package/src/assets/img/icon-donate-unpadded.ts +19 -0
  259. package/src/assets/img/icon-donate.ts +18 -0
  260. package/src/assets/img/icon-ellipses.ts +19 -0
  261. package/src/assets/img/icon-ia-logo.ts +30 -0
  262. package/src/assets/img/icon-images.ts +19 -0
  263. package/src/assets/img/icon-search.ts +19 -0
  264. package/src/assets/img/icon-software.ts +18 -0
  265. package/src/assets/img/icon-texts.ts +18 -0
  266. package/src/assets/img/{icon-upload-unpadded.js → icon-upload-unpadded.ts} +6 -2
  267. package/src/assets/img/icon-upload.ts +21 -0
  268. package/src/assets/img/icon-user.ts +19 -0
  269. package/src/assets/img/icon-video.ts +19 -0
  270. package/src/assets/img/icon-web.ts +19 -0
  271. package/src/assets/img/icon.ts +8 -0
  272. package/src/assets/img/icons.ts +33 -0
  273. package/src/assets/img/{wordmark-stacked.js → wordmark-stacked.ts} +1 -1
  274. package/src/data/{menus.js → menus.ts} +172 -135
  275. package/src/desktop-subnav.ts +49 -0
  276. package/src/dropdown-menu.ts +106 -0
  277. package/src/{ia-topnav.js → ia-topnav.ts} +130 -127
  278. package/src/lib/formatUrl.ts +2 -0
  279. package/src/lib/{keyboard-navigation.js → keyboard-navigation.ts} +53 -23
  280. package/src/lib/location-handler.ts +5 -0
  281. package/src/lib/makeBooleanString.ts +12 -0
  282. package/src/lib/query-handler.ts +7 -0
  283. package/src/lib/toSentenceCase.ts +10 -0
  284. package/src/{login-button.js → login-button.ts} +27 -31
  285. package/src/{media-button.js → media-button.ts} +39 -49
  286. package/src/media-menu.ts +143 -0
  287. package/src/{media-slider.js → media-slider.ts} +53 -41
  288. package/src/media-subnav.ts +132 -0
  289. package/src/models.ts +114 -0
  290. package/src/more-slider.ts +42 -0
  291. package/src/nav-search.ts +114 -0
  292. package/src/primary-nav.ts +266 -0
  293. package/src/save-page-form.ts +59 -0
  294. package/src/search-menu.ts +156 -0
  295. package/src/signed-out-dropdown.ts +11 -0
  296. package/src/styles/{base.js → base.ts} +2 -2
  297. package/src/styles/{desktop-subnav.js → desktop-subnav.ts} +2 -2
  298. package/src/styles/{dropdown-menu.js → dropdown-menu.ts} +4 -2
  299. package/src/styles/{ia-topnav.js → ia-topnav.ts} +1 -1
  300. package/src/styles/{login-button.js → login-button.ts} +1 -1
  301. package/src/styles/{media-button.js → media-button.ts} +2 -2
  302. package/src/styles/{media-menu.js → media-menu.ts} +1 -1
  303. package/src/styles/{media-slider.js → media-slider.ts} +1 -1
  304. package/src/styles/media-subnav.ts +159 -0
  305. package/src/styles/{more-slider.js → more-slider.ts} +1 -1
  306. package/src/styles/{nav-search.js → nav-search.ts} +2 -2
  307. package/src/styles/{primary-nav.js → primary-nav.ts} +2 -3
  308. package/src/styles/{save-page-form.js → save-page-form.ts} +7 -7
  309. package/src/styles/{search-menu.js → search-menu.ts} +1 -1
  310. package/src/styles/{signed-out-dropdown.js → signed-out-dropdown.ts} +1 -1
  311. package/src/styles/{user-menu.js → user-menu.ts} +1 -1
  312. package/src/styles/{wayback-search.js → wayback-search.ts} +3 -3
  313. package/src/styles/wayback-slider.ts +33 -0
  314. package/src/tracked-element.ts +32 -0
  315. package/src/user-menu.ts +57 -0
  316. package/src/wayback-search.ts +10 -0
  317. package/src/wayback-slider.ts +88 -0
  318. package/ssl/server.crt +22 -0
  319. package/ssl/server.key +28 -0
  320. package/test/assets/img/hamburger.test.ts +18 -0
  321. package/test/data/menus.test.ts +15 -0
  322. package/test/{dropdown-menu.test.js → dropdown-menu.test.ts} +5 -7
  323. package/test/{ia-icon.test.js → ia-icon.test.ts} +6 -4
  324. package/test/ia-topnav.test.ts +344 -0
  325. package/test/login-button.test.ts +19 -0
  326. package/test/media-button.test.ts +19 -0
  327. package/test/{media-menu.test.js → media-menu.test.ts} +14 -12
  328. package/test/media-slider.test.ts +63 -0
  329. package/test/more-slider.test.ts +21 -0
  330. package/test/nav-search.test.ts +70 -0
  331. package/test/primary-nav.test.ts +94 -0
  332. package/test/save-page-form.test.ts +62 -0
  333. package/test/{search-menu.test.js → search-menu.test.ts} +19 -10
  334. package/test/{user-menu.test.js → user-menu.test.ts} +10 -9
  335. package/test/wayback-slider.test.ts +97 -0
  336. package/tsconfig.json +31 -0
  337. package/web-dev-server.config.mjs +32 -0
  338. package/web-test-runner.config.mjs +41 -0
  339. package/.eslintrc +0 -16
  340. package/index.d.ts +0 -109
  341. package/src/assets/img/hamburger.js +0 -38
  342. package/src/assets/img/icon-close.js +0 -16
  343. package/src/assets/img/icon-donate-unpadded.js +0 -16
  344. package/src/assets/img/icon-donate.js +0 -15
  345. package/src/assets/img/icon-ellipses.js +0 -15
  346. package/src/assets/img/icon-ia-logo.js +0 -22
  347. package/src/assets/img/icon-images.js +0 -15
  348. package/src/assets/img/icon-search.js +0 -15
  349. package/src/assets/img/icon-software.js +0 -15
  350. package/src/assets/img/icon-texts.js +0 -15
  351. package/src/assets/img/icon-upload.js +0 -15
  352. package/src/assets/img/icon-user.js +0 -15
  353. package/src/assets/img/icon-video.js +0 -15
  354. package/src/assets/img/icon-web.js +0 -15
  355. package/src/assets/img/icon.js +0 -18
  356. package/src/assets/img/icons.js +0 -33
  357. package/src/desktop-subnav.js +0 -45
  358. package/src/dropdown-menu.js +0 -110
  359. package/src/lib/formatUrl.js +0 -1
  360. package/src/lib/location-handler.js +0 -5
  361. package/src/lib/query-handler.js +0 -7
  362. package/src/lib/toSentenceCase.js +0 -8
  363. package/src/media-menu.js +0 -154
  364. package/src/media-subnav.js +0 -112
  365. package/src/more-slider.js +0 -33
  366. package/src/nav-search.js +0 -111
  367. package/src/primary-nav.js +0 -258
  368. package/src/save-page-form.js +0 -59
  369. package/src/search-menu.js +0 -145
  370. package/src/signed-out-dropdown.js +0 -10
  371. package/src/styles/media-subnav.js +0 -156
  372. package/src/styles/wayback-slider.js +0 -30
  373. package/src/tracked-element.js +0 -29
  374. package/src/user-menu.js +0 -56
  375. package/src/wayback-search.js +0 -18
  376. package/src/wayback-slider.js +0 -87
  377. package/test/assets/img/hamburger.test.js +0 -15
  378. package/test/assets/img/user.test.js +0 -15
  379. package/test/data/menus.test.js +0 -19
  380. package/test/ia-topnav.test.js +0 -273
  381. package/test/login-button.test.js +0 -15
  382. package/test/media-button.test.js +0 -19
  383. package/test/media-slider.test.js +0 -57
  384. package/test/more-slider.test.js +0 -13
  385. package/test/nav-search.test.js +0 -61
  386. package/test/primary-nav.test.js +0 -82
  387. package/test/save-page-form.test.js +0 -35
  388. package/test/wayback-slider.test.js +0 -80
  389. /package/{index.js → index.ts} +0 -0
@@ -0,0 +1,80 @@
1
+ import { html, fixture, expect } from '@open-wc/testing';
2
+ import '../src/wayback-slider';
3
+ const component = ({ archiveItLinks, browserExtensionsLinks, config, mobileAppsLinks, }) => html `
4
+ <wayback-slider
5
+ baseHost="archive.org"
6
+ .config=${config}
7
+ .archiveItLinks=${archiveItLinks}
8
+ .browserExtensionsLinks=${browserExtensionsLinks}
9
+ .mobileAppsLinks=${mobileAppsLinks}
10
+ ></wayback-slider>
11
+ `;
12
+ const buildDefaults = () => ({
13
+ config: {},
14
+ archiveItLinks: [
15
+ {
16
+ url: '1',
17
+ title: 'first',
18
+ },
19
+ {
20
+ url: '2',
21
+ title: 'second',
22
+ },
23
+ ],
24
+ browserExtensionsLinks: [
25
+ {
26
+ url: '3',
27
+ title: 'third',
28
+ },
29
+ {
30
+ url: '4',
31
+ title: 'fourth',
32
+ },
33
+ ],
34
+ mobileAppsLinks: [
35
+ {
36
+ url: '5',
37
+ title: 'fifth',
38
+ },
39
+ {
40
+ url: '6',
41
+ title: 'sixth',
42
+ },
43
+ ],
44
+ });
45
+ describe('<wayback-slider>', () => {
46
+ it('renders the links passed in via the archiveItLinks prop', async () => {
47
+ var _a, _b;
48
+ const options = buildDefaults();
49
+ const el = await fixture(component(options));
50
+ const anchors = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.archive-it a')) !== null && _b !== void 0 ? _b : [];
51
+ options.archiveItLinks.forEach((link, i) => {
52
+ const anchor = anchors[i];
53
+ expect(anchor.innerText).to.equal(link.title);
54
+ expect(anchor.getAttribute('href')).to.contain(link.url);
55
+ });
56
+ });
57
+ it('renders the links passed in via the browserExtensionsLinks prop', async () => {
58
+ var _a, _b;
59
+ const options = buildDefaults();
60
+ const el = await fixture(component(options));
61
+ const anchors = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.browser-extensions a')) !== null && _b !== void 0 ? _b : [];
62
+ options.browserExtensionsLinks.forEach((link, i) => {
63
+ const anchor = anchors[i];
64
+ expect(anchor.innerText).to.equal(link.title);
65
+ expect(anchor.getAttribute('href')).to.contain(link.url);
66
+ });
67
+ });
68
+ it('renders the links passed in via the mobileAppsLinks prop', async () => {
69
+ var _a, _b;
70
+ const options = buildDefaults();
71
+ const el = await fixture(component(options));
72
+ const anchors = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.mobile-apps a')) !== null && _b !== void 0 ? _b : [];
73
+ options.mobileAppsLinks.forEach((link, i) => {
74
+ const anchor = anchors[i];
75
+ expect(anchor.innerText).to.equal(link.title);
76
+ expect(anchor.getAttribute('href')).to.contain(link.url);
77
+ });
78
+ });
79
+ });
80
+ //# sourceMappingURL=wayback-slider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wayback-slider.test.js","sourceRoot":"","sources":["../../test/wayback-slider.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, fixture, expect } from '@open-wc/testing';\n\nimport '../src/wayback-slider';\nimport type { IATopNavLink } from '../src/models';\n\nconst component = ({\n archiveItLinks,\n browserExtensionsLinks,\n config,\n mobileAppsLinks,\n}: {\n archiveItLinks: IATopNavLink[];\n browserExtensionsLinks: IATopNavLink[];\n config: Record<string, unknown>;\n mobileAppsLinks: IATopNavLink[];\n}) => html`\n <wayback-slider\n baseHost=\"archive.org\"\n .config=${config}\n .archiveItLinks=${archiveItLinks}\n .browserExtensionsLinks=${browserExtensionsLinks}\n .mobileAppsLinks=${mobileAppsLinks}\n ></wayback-slider>\n`;\n\nconst buildDefaults = () => ({\n config: {},\n archiveItLinks: [\n {\n url: '1',\n title: 'first',\n },\n {\n url: '2',\n title: 'second',\n },\n ],\n browserExtensionsLinks: [\n {\n url: '3',\n title: 'third',\n },\n {\n url: '4',\n title: 'fourth',\n },\n ],\n mobileAppsLinks: [\n {\n url: '5',\n title: 'fifth',\n },\n {\n url: '6',\n title: 'sixth',\n },\n ],\n});\n\ndescribe('<wayback-slider>', () => {\n it('renders the links passed in via the archiveItLinks prop', async () => {\n const options = buildDefaults();\n const el = await fixture(component(options));\n const anchors = el.shadowRoot?.querySelectorAll('.archive-it a') ?? [];\n\n options.archiveItLinks.forEach((link, i) => {\n const anchor = anchors[i] as HTMLAnchorElement;\n expect(anchor.innerText).to.equal(link.title);\n expect(anchor.getAttribute('href')).to.contain(link.url);\n });\n });\n\n it('renders the links passed in via the browserExtensionsLinks prop', async () => {\n const options = buildDefaults();\n const el = await fixture(component(options));\n const anchors =\n el.shadowRoot?.querySelectorAll('.browser-extensions a') ?? [];\n\n options.browserExtensionsLinks.forEach((link, i) => {\n const anchor = anchors[i] as HTMLAnchorElement;\n expect(anchor.innerText).to.equal(link.title);\n expect(anchor.getAttribute('href')).to.contain(link.url);\n });\n });\n\n it('renders the links passed in via the mobileAppsLinks prop', async () => {\n const options = buildDefaults();\n const el = await fixture(component(options));\n const anchors = el.shadowRoot?.querySelectorAll('.mobile-apps a') ?? [];\n\n options.mobileAppsLinks.forEach((link, i) => {\n const anchor = anchors[i] as HTMLAnchorElement;\n expect(anchor.innerText).to.equal(link.title);\n expect(anchor.getAttribute('href')).to.contain(link.url);\n });\n });\n});\n"]}
@@ -0,0 +1,53 @@
1
+ import typescriptEslint from '@typescript-eslint/eslint-plugin';
2
+ import html from 'eslint-plugin-html';
3
+ import tsParser from '@typescript-eslint/parser';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import js from '@eslint/js';
7
+ import { FlatCompat } from '@eslint/eslintrc';
8
+
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = path.dirname(__filename);
11
+ const compat = new FlatCompat({
12
+ baseDirectory: __dirname,
13
+ recommendedConfig: js.configs.recommended,
14
+ allConfig: js.configs.all,
15
+ });
16
+
17
+ export default [
18
+ ...compat.extends('plugin:@typescript-eslint/recommended'),
19
+ {
20
+ plugins: {
21
+ '@typescript-eslint': typescriptEslint,
22
+ html,
23
+ },
24
+
25
+ languageOptions: {
26
+ parser: tsParser,
27
+ },
28
+
29
+ settings: {
30
+ 'import/resolver': {
31
+ node: {
32
+ extensions: ['.ts', '.tsx'],
33
+ moduleDirectory: ['node_modules', 'src', 'demo'],
34
+ },
35
+ },
36
+ },
37
+
38
+ rules: {
39
+ '@typescript-eslint/no-unsafe-function-type': 'warn',
40
+ '@typescript-eslint/no-unused-vars': 'warn',
41
+ '@typescript-eslint/no-explicit-any': 'warn',
42
+ },
43
+ },
44
+ {
45
+ ignores: ['**/*.js', '**/*.mjs'],
46
+ },
47
+ {
48
+ files: ['**/*.test.ts'],
49
+ rules: {
50
+ '@typescript-eslint/no-unused-expressions': 'off',
51
+ },
52
+ },
53
+ ];
package/package.json CHANGED
@@ -1,44 +1,60 @@
1
1
  {
2
2
  "name": "@internetarchive/ia-topnav",
3
- "version": "1.3.9",
3
+ "version": "1.3.10-webdev-7394.1",
4
4
  "description": "Top nav for Internet Archive",
5
5
  "license": "AGPL-3.0-only",
6
- "main": "index.js",
7
- "module": "index.js",
8
- "types": "index.d.ts",
6
+ "main": "dist/index.js",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
9
  "type": "module",
10
10
  "publishConfig": {
11
11
  "access": "public"
12
12
  },
13
13
  "scripts": {
14
- "start": "cd ../../www/ && web-dev-server --app-index ./index.html --node-resolve --watch --open",
15
- "lint:eslint": "eslint --ext .js . --ignore-path .gitignore",
16
- "format:eslint": "eslint --ext .js . --fix --ignore-path .gitignore",
17
- "lint:prettier": "prettier \"**/*.js\" --check --ignore-path .gitignore",
18
- "format:prettier": "prettier \"**/*.js\" --write --ignore-path .gitignore",
19
- "lint": "npm run lint:eslint",
20
- "format": "npm run format:eslint && npm run format:prettier",
21
- "test": "ulimit -v unlimited; web-test-runner 'test/**/*.test.js' --node-resolve --coverage --puppeteer"
14
+ "start": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wds\"",
15
+ "prepare": "rimraf dist && tsc && husky install",
16
+ "build": "tsc",
17
+ "lint": "eslint . && prettier \"**/*.ts\" --check",
18
+ "format": "eslint . --fix && prettier \"**/*.ts\" --write",
19
+ "circular": "madge --circular --extensions ts .",
20
+ "test": "tsc && npm run lint && npm run circular && wtr --coverage",
21
+ "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
22
+ "ghpages:build": "rimraf ghpages && npm run prepare && vite build",
23
+ "ghpages:publish": "npm run ghpages:prepare -e $(git branch --show-current)",
24
+ "ghpages:prepare": "npm run ghpages:build && touch ghpages/.nojekyll && npm run ghpages:generate",
25
+ "ghpages:generate": "gh-pages -t -d ghpages -m \"Build for $(git log --pretty=format:\"%h %an %ai %s\" -n1) [skip ci]\""
22
26
  },
23
27
  "dependencies": {
24
- "@internetarchive/ia-wayback-search": "0.2.5"
28
+ "@internetarchive/ia-wayback-search": "0.2.6-webdev-7393.6",
29
+ "lit": "^2.8.0"
25
30
  },
26
31
  "devDependencies": {
27
- "@open-wc/demoing-storybook": "^2.4.7",
28
- "@open-wc/eslint-config": "^8.0.2",
29
- "@open-wc/polyfills-loader": "^0.3.3",
30
- "@open-wc/prettier-config": "^1.1.0",
31
- "@open-wc/testing": "^3.1.6",
32
- "@storybook/react": "^6.5.12",
33
- "@web/dev-server": "^0.3.6",
34
- "@web/test-runner": "^0.14.0",
35
- "@web/test-runner-puppeteer": "^0.10.5",
36
- "eslint": "^8.24.0",
37
- "eslint-plugin-lit": "^1.6.1",
38
- "gulp": "^4.0.2",
39
- "husky": "^8.0.1",
40
- "lint-staged": "^13.0.3",
41
- "sinon": "^14.0.1"
32
+ "@open-wc/eslint-config": "^12.0.3",
33
+ "@open-wc/testing": "^4.0.0",
34
+ "@types/mocha": "^10.0.10",
35
+ "@typescript-eslint/eslint-plugin": "^8.19.1",
36
+ "@typescript-eslint/parser": "^8.19.1",
37
+ "@web/dev-server": "^0.4.6",
38
+ "@web/test-runner": "^0.20.0",
39
+ "concurrently": "^9.1.2",
40
+ "eslint": "^9.24.0",
41
+ "eslint-config-prettier": "^10.1.1",
42
+ "eslint-plugin-html": "^8.1.2",
43
+ "eslint-plugin-import": "^2.31.0",
44
+ "eslint-plugin-lit": "^2.0.0",
45
+ "eslint-plugin-lit-a11y": "^4.1.4",
46
+ "eslint-plugin-no-only-tests": "^3.3.0",
47
+ "eslint-plugin-wc": "^3.0.0",
48
+ "gh-pages": "^6.3.0",
49
+ "husky": "^9.1.7",
50
+ "madge": "^8.0.0",
51
+ "prettier": "^3.4.2",
52
+ "rimraf": "^6.0.1",
53
+ "sinon": "^20.0.0",
54
+ "ts-lit-plugin": "^2.0.2",
55
+ "tslib": "^2.8.1",
56
+ "typescript": "^5.7.2",
57
+ "vite": "^6.0.7"
42
58
  },
43
59
  "husky": {
44
60
  "hooks": {
@@ -46,16 +62,10 @@
46
62
  }
47
63
  },
48
64
  "lint-staged": {
49
- "*.js": [
65
+ "*.ts": [
50
66
  "eslint --fix",
67
+ "prettier --write",
51
68
  "git add"
52
69
  ]
53
- },
54
- "eslintConfig": {
55
- "extends": [
56
- "@open-wc/eslint-config",
57
- "eslint-config-prettier"
58
- ]
59
- },
60
- "prettier": "@open-wc/prettier-config"
70
+ }
61
71
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @see https://prettier.io/docs/configuration
3
+ * @type {import("prettier").Config}
4
+ */
5
+ const config = {
6
+ singleQuote: true,
7
+ };
8
+
9
+ export default config;
@@ -0,0 +1,49 @@
1
+ import { html, css } from 'lit';
2
+ import Icon from './icon';
3
+ import icons from './icons';
4
+ import { customElement } from 'lit/decorators.js';
5
+
6
+ @customElement('icon-hamburger')
7
+ export class HamBurger extends Icon {
8
+ static get styles() {
9
+ return css`
10
+ svg {
11
+ display: block;
12
+ height: 4rem;
13
+ width: 4rem;
14
+ }
15
+ .fill-color {
16
+ fill: var(--activeColor);
17
+ }
18
+ `;
19
+ }
20
+
21
+ static get closed() {
22
+ return html`
23
+ <svg
24
+ viewBox="0 0 40 40"
25
+ xmlns="http://www.w3.org/2000/svg"
26
+ aria-labelledby="hamburgerTitleID hamburgerDescID"
27
+ >
28
+ <title id="hamburgerTitleID">Hamburger icon</title>
29
+ <desc id="hamburgerDescID">
30
+ An icon used to represent a menu that can be toggled by interacting
31
+ with this icon.
32
+ </desc>
33
+ <path
34
+ 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"
35
+ fill="#999"
36
+ fill-rule="evenodd"
37
+ />
38
+ </svg>
39
+ `;
40
+ }
41
+
42
+ static get opened() {
43
+ return icons.close;
44
+ }
45
+
46
+ render() {
47
+ return this.active ? HamBurger.opened : HamBurger.closed;
48
+ }
49
+ }
@@ -1,19 +1,12 @@
1
- import { LitElement, html } from 'https://offshoot.prod.archive.org/lit.js';
2
- import './icons.js';
1
+ import { LitElement, TemplateResult, html } from 'lit';
2
+ import './icons';
3
+ import { customElement, property } from 'lit/decorators.js';
3
4
 
4
- class IAIcon extends LitElement {
5
- constructor() {
6
- super();
7
- this.icon = '';
8
- }
9
-
10
- static get properties() {
11
- return {
12
- icon: { type: String },
13
- };
14
- }
5
+ @customElement('ia-icon')
6
+ export class IAIcon extends LitElement {
7
+ @property({ type: String }) icon = '';
15
8
 
16
- static get icons() {
9
+ static get icons(): Record<string, TemplateResult> {
17
10
  return {
18
11
  audio: html`<icon-audio></icon-audio>`,
19
12
  ellipses: html`<icon-ellipses></icon-ellipses>`,
@@ -29,5 +22,3 @@ class IAIcon extends LitElement {
29
22
  return IAIcon.icons[this.icon];
30
23
  }
31
24
  }
32
-
33
- customElements.define('ia-icon', IAIcon);
@@ -1,4 +1,4 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
1
+ import { html } from 'lit';
2
2
 
3
3
  export default html`
4
4
  <svg
@@ -16,7 +16,12 @@ export default html`
16
16
  <path
17
17
  d="M19.4264564,11.8585048 L19.4264564,20.7200433 C19.4264564,22.3657576 18.8838179,23.2519114 16.8489237,23.2519114 C12.2364969,23.125318 7.75972977,23.125318 3.14730298,23.2519114 C1.24806842,23.2519114 0.569770368,22.492351 0.569770368,20.7200433 L0.569770368,2.74377955 C0.569770368,1.09806526 1.11240881,0.211911416 3.14730298,0.211911416 C7.75972977,0.338504822 12.2364969,0.338504822 16.8489237,0.211911416 C18.7481583,0.211911416 19.4264564,0.971471855 19.4264564,2.74377955 C19.2907967,5.78202131 19.4264564,8.82026306 19.4264564,11.8585048 L19.4264564,11.8585048 Z M10.0659432,2.74377955 C8.16670861,2.74377955 6.67445288,4.13630702 6.67445288,5.90861471 C6.67445288,7.6809224 8.16670861,9.07344988 10.0659432,9.07344988 C11.9651777,9.07344988 13.4574335,7.6809224 13.4574335,5.90861471 C13.4574335,4.13630702 11.8295181,2.74377955 10.0659432,2.74377955 L10.0659432,2.74377955 Z M10.0659432,11.4787246 C7.21709133,11.4787246 5.04653754,13.6308125 5.04653754,16.1626806 C5.04653754,18.8211422 7.35275094,20.8466367 10.0659432,20.8466367 C12.914795,20.8466367 15.0853488,18.6945488 15.0853488,16.1626806 C15.0853488,13.6308125 12.7791354,11.4787246 10.0659432,11.4787246 L10.0659432,11.4787246 Z"
18
18
  ></path>
19
- <ellipse cx="10.2016028" cy="16.5690777" rx="1.35659611" ry="1.34075134"></ellipse>
19
+ <ellipse
20
+ cx="10.2016028"
21
+ cy="16.5690777"
22
+ rx="1.35659611"
23
+ ry="1.34075134"
24
+ ></ellipse>
20
25
  </g>
21
26
  </g>
22
27
  </svg>
@@ -0,0 +1,20 @@
1
+ import { html } from 'lit';
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
15
+ 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"
16
+ class="fill-color"
17
+ fill-rule="evenodd"
18
+ />
19
+ </svg>
20
+ `;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
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
15
+ class="fill-color"
16
+ 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"
17
+ />
18
+ </svg>
19
+ `;
@@ -0,0 +1,18 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ />
17
+ </svg>
18
+ `;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ fill-rule="evenodd"
17
+ />
18
+ </svg>
19
+ `;
@@ -0,0 +1,30 @@
1
+ import { html } from 'lit';
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">
12
+ A line drawing of the Internet Archive headquarters building façade.
13
+ </desc>
14
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
15
+ <mask id="mask-2" fill="white">
16
+ <path
17
+ 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"
18
+ id="path-1"
19
+ ></path>
20
+ </mask>
21
+ <use fill="#FFFFFF" xlink:href="#path-1"></use>
22
+ <g mask="url(#mask-2)" fill="#FFFFFF">
23
+ <path
24
+ d="M0,0 L26.6666667,0 L26.6666667,30 L0,30 L0,0 Z"
25
+ id="swatch"
26
+ ></path>
27
+ </g>
28
+ </g>
29
+ </svg>
30
+ `;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ fill-rule="evenodd"
17
+ />
18
+ </svg>
19
+ `;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ fill-rule="evenodd"
17
+ />
18
+ </svg>
19
+ `;
@@ -0,0 +1,18 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ />
17
+ </svg>
18
+ `;
@@ -0,0 +1,18 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ />
17
+ </svg>
18
+ `;
@@ -1,4 +1,4 @@
1
- import { html } from 'https://offshoot.prod.archive.org/lit.js';
1
+ import { html } from 'lit';
2
2
 
3
3
  export default html`
4
4
  <svg
@@ -9,6 +9,10 @@ export default html`
9
9
  aria-labelledby="uploadTitleID uploadDescID"
10
10
  >
11
11
  <title id="uploadTitleID">Upload files</title>
12
- <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"/>
12
+ <path
13
+ class="fill-color"
14
+ d="m20 12.8 8 10.4h-4.8v8.8h-6.4v-8.8h-4.8zm12-4.8v3.2h-24v-3.2z"
15
+ fill-rule="evenodd"
16
+ />
13
17
  </svg>
14
18
  `;
@@ -0,0 +1,21 @@
1
+ import { html } from 'lit';
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">
13
+ An illustration of a horizontal line over an up pointing arrow.
14
+ </desc>
15
+ <path
16
+ class="fill-color"
17
+ d="m20 12.8 8 10.4h-4.8v8.8h-6.4v-8.8h-4.8zm12-4.8v3.2h-24v-3.2z"
18
+ fill-rule="evenodd"
19
+ />
20
+ </svg>
21
+ `;
@@ -0,0 +1,19 @@
1
+ import { html } from 'lit';
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
14
+ class="fill-color"
15
+ 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"
16
+ fill-rule="evenodd"
17
+ />
18
+ </svg>
19
+ `;