@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 @@
1
+ coverage
package/README.md CHANGED
@@ -5,7 +5,7 @@ https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- yarn add @internetarchive/ia-topnav
8
+ npm i -S @internetarchive/ia-topnav
9
9
  ```
10
10
 
11
11
  ## Usage
@@ -13,7 +13,7 @@ yarn add @internetarchive/ia-topnav
13
13
  @see [www/index.html](www/index.html) for the simplest example with all the defaults
14
14
 
15
15
  * Demo app is in another directory: `/www/index.html`
16
- * `npm|yarn start` - runs local server in Demo directory which is in `/www` folder
16
+ * `npm run start` - runs local server in Demo directory which is in `/www` folder
17
17
  * you can also just use your preferred server
18
18
  * open demo: `http://localhost:8000/www/index.html`
19
19
 
@@ -118,30 +118,30 @@ Please see [src/data/menus.js](the menu objects) for our valid `menus` property.
118
118
  ## Prerequisite
119
119
 
120
120
  ```bash
121
- yarn install
121
+ npm install
122
122
  ```
123
123
 
124
124
  ## Start Development Server
125
125
 
126
126
  ```bash
127
- yarn start // start development server and typescript compiler
127
+ npm run start // start development server and typescript compiler
128
128
  ```
129
129
  then open demo - http://localhost:8000/www/index.html
130
130
 
131
131
  ## Testing
132
132
 
133
133
  ```bash
134
- yarn test
134
+ npm run test
135
135
  ```
136
136
 
137
137
  ## Testing via browserstack
138
138
 
139
139
  ```bash
140
- yarn test:bs
140
+ npm run test:bs
141
141
  ```
142
142
 
143
143
  ## Linting
144
144
 
145
145
  ```bash
146
- yarn lint
146
+ npm run lint
147
147
  ```
@@ -0,0 +1,186 @@
1
+ import { html, css, LitElement, TemplateResult } from 'lit';
2
+ import { customElement, query } from 'lit/decorators.js';
3
+ import '../src/ia-topnav';
4
+ import type TopNav from '../src/ia-topnav';
5
+
6
+ @customElement('app-root')
7
+ export class AppRoot extends LitElement {
8
+ @query('ia-topnav')
9
+ private topnav!: TopNav;
10
+
11
+ render() {
12
+ return html`
13
+ <ia-topnav> </ia-topnav>
14
+
15
+ ${this.devTools}
16
+ `;
17
+ }
18
+
19
+ private get devTools(): TemplateResult {
20
+ return html`
21
+ <div id="dev-tools">
22
+ <h1>Dev Tools</h1>
23
+
24
+ <h2>Username</h2>
25
+ <fieldset>
26
+ <button
27
+ @click=${() => {
28
+ this.topnav.screenName = 'brewster';
29
+ this.topnav.username = '@brewster';
30
+ }}
31
+ >
32
+ Switch username to brewster
33
+ </button>
34
+
35
+ <br />
36
+
37
+ <button
38
+ @click=${() => {
39
+ this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
40
+ this.topnav.username = '@test';
41
+ }}
42
+ >
43
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
44
+ </button>
45
+
46
+ <br />
47
+
48
+ <button
49
+ @click=${() => {
50
+ this.topnav.screenName =
51
+ 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
52
+ this.topnav.username = '@test';
53
+ }}
54
+ >
55
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
56
+ العجوز
57
+ </button>
58
+
59
+ <br />
60
+
61
+ <button
62
+ @click=${() => {
63
+ this.topnav.username = '';
64
+ this.topnav.screenName = '';
65
+ }}
66
+ >
67
+ Switch to logged out
68
+ </button>
69
+ </fieldset>
70
+
71
+ <h2>Local Links</h2>
72
+ <fieldset>
73
+ <button
74
+ @click=${() => {
75
+ this.topnav.localLinks = false;
76
+ }}
77
+ >
78
+ Disable local links
79
+ </button>
80
+ <button
81
+ @click=${() => {
82
+ this.topnav.localLinks = true;
83
+ }}
84
+ >
85
+ Enable local links
86
+ </button>
87
+ </fieldset>
88
+
89
+ <h2>Wayback Count</h2>
90
+ <fieldset>
91
+ <button
92
+ @click=${() => {
93
+ this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
94
+ }}
95
+ >
96
+ Change WB pages count
97
+ </button>
98
+
99
+ <button
100
+ @click=${() => {
101
+ this.topnav.waybackPagesArchived = '740 billion';
102
+ }}
103
+ >
104
+ Reset WB pages count
105
+ </button>
106
+ </fieldset>
107
+
108
+ <h2>Search</h2>
109
+ <fieldset>
110
+ <button
111
+ @click=${() => {
112
+ this.topnav.hideSearch = true;
113
+ }}
114
+ >
115
+ Hide Top Row Search button, like on mobile
116
+ </button>
117
+ <button
118
+ @click=${() => {
119
+ this.topnav.hideSearch = false;
120
+ }}
121
+ >
122
+ Show Top Row Search button, like on mobile
123
+ </button>
124
+ </fieldset>
125
+ </div>
126
+ `;
127
+ }
128
+
129
+ static styles = css`
130
+ :host {
131
+ display: block;
132
+ font-family: sans-serif;
133
+ }
134
+
135
+ #dev-tools {
136
+ margin: 1rem;
137
+ }
138
+ `;
139
+ }
140
+
141
+ // <center>
142
+ // <h1>demo </h1>
143
+
144
+ // < button
145
+ // onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
146
+ // switch username to brewster
147
+ // </button>
148
+ // < br />
149
+ // <button
150
+ // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
151
+ // switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
152
+ // </button>
153
+ // < br />
154
+ // <button
155
+ // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
156
+ // switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
157
+ // </button>
158
+ // < br />
159
+ // <br />
160
+ // < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
161
+ // switch to un - logged -in
162
+ // </button>
163
+
164
+ // < hr />
165
+
166
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
167
+ // switch localLinks false(change to https://archive.org)
168
+ // </button>
169
+ // < br />
170
+ // <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
171
+ // switch to localLinks(default, change links to start with /)
172
+ // </button>
173
+
174
+ // < hr />
175
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
176
+ // change WB pages count
177
+ // </button>
178
+
179
+ // < hr />
180
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
181
+ // HIDE Top Row Search button, like on mobile
182
+ // </button>
183
+ // < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
184
+ // SHOW Top Row Search button, like on mobile
185
+ // </button>
186
+ // </center>
@@ -0,0 +1,27 @@
1
+ <!doctype html>
2
+ <html lang="en-GB">
3
+
4
+ <head>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <meta charset="utf-8">
7
+ <style>
8
+ html {
9
+ font-size: 10px;
10
+ }
11
+
12
+ body {
13
+ background: #fafafa;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+ </style>
18
+ </head>
19
+
20
+ <body>
21
+ <app-root></app-root>
22
+
23
+ <script type="module" src="../dist/demo/app-root.js">
24
+ </script>
25
+ </body>
26
+
27
+ </html>
@@ -0,0 +1,8 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import '../src/ia-topnav';
3
+ export declare class AppRoot extends LitElement {
4
+ private topnav;
5
+ render(): TemplateResult<1>;
6
+ private get devTools();
7
+ static styles: import("lit").CSSResult;
8
+ }
@@ -0,0 +1,181 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, css, LitElement } from 'lit';
3
+ import { customElement, query } from 'lit/decorators.js';
4
+ import '../src/ia-topnav';
5
+ let AppRoot = class AppRoot extends LitElement {
6
+ render() {
7
+ return html `
8
+ <ia-topnav> </ia-topnav>
9
+
10
+ ${this.devTools}
11
+ `;
12
+ }
13
+ get devTools() {
14
+ return html `
15
+ <div id="dev-tools">
16
+ <h1>Dev Tools</h1>
17
+
18
+ <h2>Username</h2>
19
+ <fieldset>
20
+ <button
21
+ @click=${() => {
22
+ this.topnav.screenName = 'brewster';
23
+ this.topnav.username = '@brewster';
24
+ }}
25
+ >
26
+ Switch username to brewster
27
+ </button>
28
+
29
+ <br />
30
+
31
+ <button
32
+ @click=${() => {
33
+ this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
34
+ this.topnav.username = '@test';
35
+ }}
36
+ >
37
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
38
+ </button>
39
+
40
+ <br />
41
+
42
+ <button
43
+ @click=${() => {
44
+ this.topnav.screenName =
45
+ 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
46
+ this.topnav.username = '@test';
47
+ }}
48
+ >
49
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
50
+ العجوز
51
+ </button>
52
+
53
+ <br />
54
+
55
+ <button
56
+ @click=${() => {
57
+ this.topnav.username = '';
58
+ this.topnav.screenName = '';
59
+ }}
60
+ >
61
+ Switch to logged out
62
+ </button>
63
+ </fieldset>
64
+
65
+ <h2>Local Links</h2>
66
+ <fieldset>
67
+ <button
68
+ @click=${() => {
69
+ this.topnav.localLinks = false;
70
+ }}
71
+ >
72
+ Disable local links
73
+ </button>
74
+ <button
75
+ @click=${() => {
76
+ this.topnav.localLinks = true;
77
+ }}
78
+ >
79
+ Enable local links
80
+ </button>
81
+ </fieldset>
82
+
83
+ <h2>Wayback Count</h2>
84
+ <fieldset>
85
+ <button
86
+ @click=${() => {
87
+ this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
88
+ }}
89
+ >
90
+ Change WB pages count
91
+ </button>
92
+
93
+ <button
94
+ @click=${() => {
95
+ this.topnav.waybackPagesArchived = '740 billion';
96
+ }}
97
+ >
98
+ Reset WB pages count
99
+ </button>
100
+ </fieldset>
101
+
102
+ <h2>Search</h2>
103
+ <fieldset>
104
+ <button
105
+ @click=${() => {
106
+ this.topnav.hideSearch = true;
107
+ }}
108
+ >
109
+ Hide Top Row Search button, like on mobile
110
+ </button>
111
+ <button
112
+ @click=${() => {
113
+ this.topnav.hideSearch = false;
114
+ }}
115
+ >
116
+ Show Top Row Search button, like on mobile
117
+ </button>
118
+ </fieldset>
119
+ </div>
120
+ `;
121
+ }
122
+ };
123
+ AppRoot.styles = css `
124
+ :host {
125
+ display: block;
126
+ font-family: sans-serif;
127
+ }
128
+
129
+ #dev-tools {
130
+ margin: 1rem;
131
+ }
132
+ `;
133
+ __decorate([
134
+ query('ia-topnav')
135
+ ], AppRoot.prototype, "topnav", void 0);
136
+ AppRoot = __decorate([
137
+ customElement('app-root')
138
+ ], AppRoot);
139
+ export { AppRoot };
140
+ // <center>
141
+ // <h1>demo </h1>
142
+ // < button
143
+ // onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
144
+ // switch username to brewster
145
+ // </button>
146
+ // < br />
147
+ // <button
148
+ // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
149
+ // switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
150
+ // </button>
151
+ // < br />
152
+ // <button
153
+ // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
154
+ // switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
155
+ // </button>
156
+ // < br />
157
+ // <br />
158
+ // < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
159
+ // switch to un - logged -in
160
+ // </button>
161
+ // < hr />
162
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
163
+ // switch localLinks false(change to https://archive.org)
164
+ // </button>
165
+ // < br />
166
+ // <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
167
+ // switch to localLinks(default, change links to start with /)
168
+ // </button>
169
+ // < hr />
170
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
171
+ // change WB pages count
172
+ // </button>
173
+ // < hr />
174
+ // <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
175
+ // HIDE Top Row Search button, like on mobile
176
+ // </button>
177
+ // < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
178
+ // SHOW Top Row Search button, like on mobile
179
+ // </button>
180
+ // </center>
181
+ //# sourceMappingURL=app-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/app-root.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,kBAAkB,CAAC;AAInB,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAIrC,MAAM;QACJ,OAAO,IAAI,CAAA;;;QAGP,IAAI,CAAC,QAAQ;KAChB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAA;;;;;;;qBAOM,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QACrC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,6BAA6B,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU;gBACpB,uDAAuD,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAC9B,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;QACvD,CAAC;;;;;;qBAMQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,aAAa,CAAC;QACnD,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;;KAMR,CAAC;IACJ,CAAC;;AAEM,cAAM,GAAG,GAAG,CAAA;;;;;;;;;GASlB,AATY,CASX;AAjIM;IADP,KAAK,CAAC,WAAW,CAAC;uCACK;AAFb,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAoInB;;AAED,WAAW;AACX,mBAAmB;AAEnB,aAAa;AACb,sKAAsK;AACtK,kCAAkC;AAClC,cAAc;AACd,YAAY;AACZ,YAAY;AACZ,uLAAuL;AACvL,qDAAqD;AACrD,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,iNAAiN;AACjN,+EAA+E;AAC/E,cAAc;AACd,YAAY;AACZ,WAAW;AACX,2FAA2F;AAC3F,gCAAgC;AAChC,cAAc;AAEd,YAAY;AAEZ,8FAA8F;AAC9F,6DAA6D;AAC7D,gBAAgB;AAChB,cAAc;AACd,4FAA4F;AAC5F,kEAAkE;AAClE,YAAY;AAEZ,YAAY;AACZ,oHAAoH;AACpH,4BAA4B;AAC5B,kBAAkB;AAElB,gBAAgB;AAChB,iGAAiG;AACjG,qDAAqD;AACrD,sBAAsB;AACtB,qGAAqG;AACrG,yDAAyD;AACzD,0BAA0B;AAC1B,0BAA0B","sourcesContent":["import { html, css, LitElement, TemplateResult } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\nimport '../src/ia-topnav';\nimport type TopNav from '../src/ia-topnav';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n @query('ia-topnav')\n private topnav!: TopNav;\n\n render() {\n return html`\n <ia-topnav> </ia-topnav>\n\n ${this.devTools}\n `;\n }\n\n private get devTools(): TemplateResult {\n return html`\n <div id=\"dev-tools\">\n <h1>Dev Tools</h1>\n\n <h2>Username</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.screenName = 'brewster';\n this.topnav.username = '@brewster';\n }}\n >\n Switch username to brewster\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';\n this.topnav.username = '@test';\n }}\n >\n Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName =\n 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';\n this.topnav.username = '@test';\n }}\n >\n Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد\n العجوز\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.username = '';\n this.topnav.screenName = '';\n }}\n >\n Switch to logged out\n </button>\n </fieldset>\n\n <h2>Local Links</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.localLinks = false;\n }}\n >\n Disable local links\n </button>\n <button\n @click=${() => {\n this.topnav.localLinks = true;\n }}\n >\n Enable local links\n </button>\n </fieldset>\n\n <h2>Wayback Count</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = 'many, MAAAANNNY';\n }}\n >\n Change WB pages count\n </button>\n\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = '740 billion';\n }}\n >\n Reset WB pages count\n </button>\n </fieldset>\n\n <h2>Search</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.hideSearch = true;\n }}\n >\n Hide Top Row Search button, like on mobile\n </button>\n <button\n @click=${() => {\n this.topnav.hideSearch = false;\n }}\n >\n Show Top Row Search button, like on mobile\n </button>\n </fieldset>\n </div>\n `;\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n }\n\n #dev-tools {\n margin: 1rem;\n }\n `;\n}\n\n// <center>\n// <h1>demo </h1>\n\n// < button\n// onclick = \"document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')\" >\n// switch username to brewster\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز\n// </button>\n// < br />\n// <br />\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('username')\" >\n// switch to un - logged -in\n// </button>\n\n// < hr />\n\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('localLinks', false)\" >\n// switch localLinks false(change to https://archive.org)\n// </button>\n// < br />\n// <button onclick=\"document.querySelector('ia-topnav').removeAttribute('localLinks')\" >\n// switch to localLinks(default, change links to start with /)\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')\" >\n// change WB pages count\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('hideSearch', true)\" >\n// HIDE Top Row Search button, like on mobile\n// </button>\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('hideSearch')\" >\n// SHOW Top Row Search button, like on mobile\n// </button>\n// </center>\n"]}
@@ -0,0 +1,2 @@
1
+ import IATopNav from './src/ia-topnav';
2
+ export default IATopNav;
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import IATopNav from './src/ia-topnav';
2
+ export default IATopNav;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,eAAe,QAAQ,CAAC","sourcesContent":["import IATopNav from './src/ia-topnav';\n\nexport default IATopNav;\n"]}
@@ -0,0 +1,7 @@
1
+ import Icon from './icon';
2
+ export declare class HamBurger extends Icon {
3
+ static get styles(): import("lit").CSSResult;
4
+ static get closed(): import("lit").TemplateResult<1>;
5
+ static get opened(): import("lit").TemplateResult<1>;
6
+ render(): import("lit").TemplateResult<1>;
7
+ }
@@ -0,0 +1,51 @@
1
+ var HamBurger_1;
2
+ import { __decorate } from "tslib";
3
+ import { html, css } from 'lit';
4
+ import Icon from './icon';
5
+ import icons from './icons';
6
+ import { customElement } from 'lit/decorators.js';
7
+ let HamBurger = HamBurger_1 = 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
+ static get closed() {
21
+ return html `
22
+ <svg
23
+ viewBox="0 0 40 40"
24
+ xmlns="http://www.w3.org/2000/svg"
25
+ aria-labelledby="hamburgerTitleID hamburgerDescID"
26
+ >
27
+ <title id="hamburgerTitleID">Hamburger icon</title>
28
+ <desc id="hamburgerDescID">
29
+ An icon used to represent a menu that can be toggled by interacting
30
+ with this icon.
31
+ </desc>
32
+ <path
33
+ 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"
34
+ fill="#999"
35
+ fill-rule="evenodd"
36
+ />
37
+ </svg>
38
+ `;
39
+ }
40
+ static get opened() {
41
+ return icons.close;
42
+ }
43
+ render() {
44
+ return this.active ? HamBurger_1.opened : HamBurger_1.closed;
45
+ }
46
+ };
47
+ HamBurger = HamBurger_1 = __decorate([
48
+ customElement('icon-hamburger')
49
+ ], HamBurger);
50
+ export { HamBurger };
51
+ //# sourceMappingURL=hamburger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hamburger.js","sourceRoot":"","sources":["../../../../src/assets/img/hamburger.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG3C,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,IAAI;IACjC,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;KAST,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;KAiBV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAS,CAAC,MAAM,CAAC;IAC3D,CAAC;CACF,CAAA;AA1CY,SAAS;IADrB,aAAa,CAAC,gBAAgB,CAAC;GACnB,SAAS,CA0CrB","sourcesContent":["import { html, css } from 'lit';\nimport Icon from './icon';\nimport icons from './icons';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('icon-hamburger')\nexport class HamBurger extends Icon {\n static get styles() {\n return css`\n svg {\n display: block;\n height: 4rem;\n width: 4rem;\n }\n .fill-color {\n fill: var(--activeColor);\n }\n `;\n }\n\n static get closed() {\n return html`\n <svg\n viewBox=\"0 0 40 40\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"hamburgerTitleID hamburgerDescID\"\n >\n <title id=\"hamburgerTitleID\">Hamburger icon</title>\n <desc id=\"hamburgerDescID\">\n An icon used to represent a menu that can be toggled by interacting\n with this icon.\n </desc>\n <path\n 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\"\n fill=\"#999\"\n fill-rule=\"evenodd\"\n />\n </svg>\n `;\n }\n\n static get opened() {\n return icons.close;\n }\n\n render() {\n return this.active ? HamBurger.opened : HamBurger.closed;\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import './icons';
3
+ export declare class IAIcon extends LitElement {
4
+ icon: string;
5
+ static get icons(): Record<string, TemplateResult>;
6
+ render(): TemplateResult;
7
+ }
@@ -0,0 +1,33 @@
1
+ var IAIcon_1;
2
+ import { __decorate } from "tslib";
3
+ import { LitElement, html } from 'lit';
4
+ import './icons';
5
+ import { customElement, property } from 'lit/decorators.js';
6
+ let IAIcon = IAIcon_1 = class IAIcon extends LitElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.icon = '';
10
+ }
11
+ static get icons() {
12
+ return {
13
+ audio: html `<icon-audio></icon-audio>`,
14
+ ellipses: html `<icon-ellipses></icon-ellipses>`,
15
+ images: html `<icon-images></icon-images>`,
16
+ software: html `<icon-software></icon-software>`,
17
+ texts: html `<icon-texts></icon-texts>`,
18
+ video: html `<icon-video></icon-video>`,
19
+ web: html `<icon-web></icon-web>`,
20
+ };
21
+ }
22
+ render() {
23
+ return IAIcon_1.icons[this.icon];
24
+ }
25
+ };
26
+ __decorate([
27
+ property({ type: String })
28
+ ], IAIcon.prototype, "icon", void 0);
29
+ IAIcon = IAIcon_1 = __decorate([
30
+ customElement('ia-icon')
31
+ ], IAIcon);
32
+ export { IAIcon };
33
+ //# sourceMappingURL=ia-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-icon.js","sourceRoot":"","sources":["../../../../src/assets/img/ia-icon.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGrD,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;QACuB,SAAI,GAAG,EAAE,CAAC;IAiBxC,CAAC;IAfC,MAAM,KAAK,KAAK;QACd,OAAO;YACL,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,QAAQ,EAAE,IAAI,CAAA,iCAAiC;YAC/C,MAAM,EAAE,IAAI,CAAA,6BAA6B;YACzC,QAAQ,EAAE,IAAI,CAAA,iCAAiC;YAC/C,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,GAAG,EAAE,IAAI,CAAA,uBAAuB;SACjC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,QAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAjB6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCAAW;AAD3B,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAkBlB","sourcesContent":["import { LitElement, TemplateResult, html } from 'lit';\nimport './icons';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('ia-icon')\nexport class IAIcon extends LitElement {\n @property({ type: String }) icon = '';\n\n static get icons(): Record<string, TemplateResult> {\n return {\n audio: html`<icon-audio></icon-audio>`,\n ellipses: html`<icon-ellipses></icon-ellipses>`,\n images: html`<icon-images></icon-images>`,\n software: html`<icon-software></icon-software>`,\n texts: html`<icon-texts></icon-texts>`,\n video: html`<icon-video></icon-video>`,\n web: html`<icon-web></icon-web>`,\n };\n }\n\n render() {\n return IAIcon.icons[this.icon];\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").TemplateResult<1>;
2
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import { html } from 'lit';
2
+ export default html `
3
+ <svg
4
+ width="40px"
5
+ height="40px"
6
+ viewBox="0 0 40 40"
7
+ version="1.1"
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ aria-labelledby="audioTitleID audioDescID"
10
+ >
11
+ <title id="audioTitleID">Audio icon</title>
12
+ <desc id="audioDescID">An illustration of an audio speaker.</desc>
13
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
14
+ <g transform="translate(10, 8)" class="fill-color">
15
+ <path
16
+ 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"
17
+ ></path>
18
+ <ellipse
19
+ cx="10.2016028"
20
+ cy="16.5690777"
21
+ rx="1.35659611"
22
+ ry="1.34075134"
23
+ ></ellipse>
24
+ </g>
25
+ </g>
26
+ </svg>
27
+ `;
28
+ //# sourceMappingURL=icon-audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-audio.js","sourceRoot":"","sources":["../../../../src/assets/img/icon-audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,eAAe,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC","sourcesContent":["import { html } from 'lit';\n\nexport default html`\n <svg\n width=\"40px\"\n height=\"40px\"\n viewBox=\"0 0 40 40\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"audioTitleID audioDescID\"\n >\n <title id=\"audioTitleID\">Audio icon</title>\n <desc id=\"audioDescID\">An illustration of an audio speaker.</desc>\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(10, 8)\" class=\"fill-color\">\n <path\n 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\"\n ></path>\n <ellipse\n cx=\"10.2016028\"\n cy=\"16.5690777\"\n rx=\"1.35659611\"\n ry=\"1.34075134\"\n ></ellipse>\n </g>\n </g>\n </svg>\n`;\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").TemplateResult<1>;
2
+ export default _default;