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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/.prettierignore +1 -0
  2. package/README.md +8 -8
  3. package/demo/app-root.ts +183 -0
  4. package/demo/index.html +28 -0
  5. package/dist/demo/app-root.d.ts +13 -0
  6. package/dist/demo/app-root.js +197 -0
  7. package/dist/demo/app-root.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +3 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/src/assets/img/hamburger.d.ts +7 -0
  12. package/dist/src/assets/img/hamburger.js +51 -0
  13. package/dist/src/assets/img/hamburger.js.map +1 -0
  14. package/dist/src/assets/img/ia-icon.d.ts +7 -0
  15. package/dist/src/assets/img/ia-icon.js +33 -0
  16. package/dist/src/assets/img/ia-icon.js.map +1 -0
  17. package/dist/src/assets/img/icon-audio.d.ts +2 -0
  18. package/dist/src/assets/img/icon-audio.js +28 -0
  19. package/dist/src/assets/img/icon-audio.js.map +1 -0
  20. package/dist/src/assets/img/icon-close.d.ts +2 -0
  21. package/dist/src/assets/img/icon-close.js +20 -0
  22. package/dist/src/assets/img/icon-close.js.map +1 -0
  23. package/dist/src/assets/img/icon-donate-unpadded.d.ts +2 -0
  24. package/dist/src/assets/img/icon-donate-unpadded.js +19 -0
  25. package/dist/src/assets/img/icon-donate-unpadded.js.map +1 -0
  26. package/dist/src/assets/img/icon-donate.d.ts +2 -0
  27. package/dist/src/assets/img/icon-donate.js +18 -0
  28. package/dist/src/assets/img/icon-donate.js.map +1 -0
  29. package/dist/src/assets/img/icon-ellipses.d.ts +2 -0
  30. package/dist/src/assets/img/icon-ellipses.js +19 -0
  31. package/dist/src/assets/img/icon-ellipses.js.map +1 -0
  32. package/dist/src/assets/img/icon-ia-logo.d.ts +2 -0
  33. package/dist/src/assets/img/icon-ia-logo.js +30 -0
  34. package/dist/src/assets/img/icon-ia-logo.js.map +1 -0
  35. package/dist/src/assets/img/icon-images.d.ts +2 -0
  36. package/dist/src/assets/img/icon-images.js +19 -0
  37. package/dist/src/assets/img/icon-images.js.map +1 -0
  38. package/dist/src/assets/img/icon-search.d.ts +2 -0
  39. package/dist/src/assets/img/icon-search.js +19 -0
  40. package/dist/src/assets/img/icon-search.js.map +1 -0
  41. package/dist/src/assets/img/icon-software.d.ts +2 -0
  42. package/dist/src/assets/img/icon-software.js +18 -0
  43. package/dist/src/assets/img/icon-software.js.map +1 -0
  44. package/dist/src/assets/img/icon-texts.d.ts +2 -0
  45. package/dist/src/assets/img/icon-texts.js +18 -0
  46. package/dist/src/assets/img/icon-texts.js.map +1 -0
  47. package/dist/src/assets/img/icon-upload-unpadded.d.ts +2 -0
  48. package/dist/src/assets/img/icon-upload-unpadded.js +18 -0
  49. package/dist/src/assets/img/icon-upload-unpadded.js.map +1 -0
  50. package/dist/src/assets/img/icon-upload.d.ts +2 -0
  51. package/dist/src/assets/img/icon-upload.js +21 -0
  52. package/dist/src/assets/img/icon-upload.js.map +1 -0
  53. package/dist/src/assets/img/icon-user.d.ts +2 -0
  54. package/dist/src/assets/img/icon-user.js +19 -0
  55. package/dist/src/assets/img/icon-user.js.map +1 -0
  56. package/dist/src/assets/img/icon-video.d.ts +2 -0
  57. package/dist/src/assets/img/icon-video.js +19 -0
  58. package/dist/src/assets/img/icon-video.js.map +1 -0
  59. package/dist/src/assets/img/icon-web.d.ts +2 -0
  60. package/dist/src/assets/img/icon-web.js +19 -0
  61. package/dist/src/assets/img/icon-web.js.map +1 -0
  62. package/dist/src/assets/img/icon.d.ts +5 -0
  63. package/dist/src/assets/img/icon.js +17 -0
  64. package/dist/src/assets/img/icon.js.map +1 -0
  65. package/dist/src/assets/img/icons.d.ts +18 -0
  66. package/dist/src/assets/img/icons.js +33 -0
  67. package/dist/src/assets/img/icons.js.map +1 -0
  68. package/dist/src/assets/img/wordmark-stacked.d.ts +2 -0
  69. package/dist/src/assets/img/wordmark-stacked.js +13 -0
  70. package/dist/src/assets/img/wordmark-stacked.js.map +1 -0
  71. package/dist/src/data/menus.d.ts +13 -0
  72. package/dist/src/data/menus.js +643 -0
  73. package/dist/src/data/menus.js.map +1 -0
  74. package/dist/src/desktop-subnav.d.ts +11 -0
  75. package/dist/src/desktop-subnav.js +55 -0
  76. package/dist/src/desktop-subnav.js.map +1 -0
  77. package/dist/src/dropdown-menu.d.ts +21 -0
  78. package/dist/src/dropdown-menu.js +132 -0
  79. package/dist/src/dropdown-menu.js.map +1 -0
  80. package/dist/src/ia-topnav.d.ts +70 -0
  81. package/dist/src/ia-topnav.js +343 -0
  82. package/dist/src/ia-topnav.js.map +1 -0
  83. package/dist/src/lib/format-url.d.ts +2 -0
  84. package/dist/src/lib/format-url.js +2 -0
  85. package/dist/src/lib/format-url.js.map +1 -0
  86. package/dist/src/lib/keyboard-navigation.d.ts +45 -0
  87. package/dist/src/lib/keyboard-navigation.js +140 -0
  88. package/dist/src/lib/keyboard-navigation.js.map +1 -0
  89. package/dist/src/lib/location-handler.d.ts +1 -0
  90. package/dist/src/lib/location-handler.js +5 -0
  91. package/dist/src/lib/location-handler.js.map +1 -0
  92. package/dist/src/lib/make-boolean-string.d.ts +2 -0
  93. package/dist/src/lib/make-boolean-string.js +12 -0
  94. package/dist/src/lib/make-boolean-string.js.map +1 -0
  95. package/dist/src/lib/query-handler.d.ts +4 -0
  96. package/dist/src/lib/query-handler.js +7 -0
  97. package/dist/src/lib/query-handler.js.map +1 -0
  98. package/dist/src/lib/t-sentence-case.d.ts +2 -0
  99. package/dist/src/lib/t-sentence-case.js +10 -0
  100. package/dist/src/lib/t-sentence-case.js.map +1 -0
  101. package/dist/src/login-button.d.ts +16 -0
  102. package/dist/src/login-button.js +86 -0
  103. package/dist/src/login-button.js.map +1 -0
  104. package/dist/src/media-button.d.ts +24 -0
  105. package/dist/src/media-button.js +119 -0
  106. package/dist/src/media-button.js.map +1 -0
  107. package/dist/src/media-menu.d.ts +20 -0
  108. package/dist/src/media-menu.js +148 -0
  109. package/dist/src/media-menu.js.map +1 -0
  110. package/dist/src/media-slider.d.ts +15 -0
  111. package/dist/src/media-slider.js +139 -0
  112. package/dist/src/media-slider.js.map +1 -0
  113. package/dist/src/media-subnav.d.ts +18 -0
  114. package/dist/src/media-subnav.js +126 -0
  115. package/dist/src/media-subnav.js.map +1 -0
  116. package/dist/src/models.d.ts +51 -0
  117. package/dist/src/models.js +2 -0
  118. package/dist/src/models.js.map +1 -0
  119. package/dist/src/more-slider.d.ts +10 -0
  120. package/dist/src/more-slider.js +50 -0
  121. package/dist/src/more-slider.js.map +1 -0
  122. package/dist/src/nav-search.d.ts +19 -0
  123. package/dist/src/nav-search.js +127 -0
  124. package/dist/src/nav-search.js.map +1 -0
  125. package/dist/src/primary-nav.d.ts +46 -0
  126. package/dist/src/primary-nav.js +302 -0
  127. package/dist/src/primary-nav.js.map +1 -0
  128. package/dist/src/save-page-form.d.ts +10 -0
  129. package/dist/src/save-page-form.js +70 -0
  130. package/dist/src/save-page-form.js.map +1 -0
  131. package/dist/src/search-menu.d.ts +20 -0
  132. package/dist/src/search-menu.js +162 -0
  133. package/dist/src/search-menu.js.map +1 -0
  134. package/dist/src/signed-out-dropdown.d.ts +4 -0
  135. package/dist/src/signed-out-dropdown.js +15 -0
  136. package/dist/src/signed-out-dropdown.js.map +1 -0
  137. package/dist/src/styles/base.d.ts +1 -0
  138. package/dist/src/styles/base.js +48 -0
  139. package/dist/src/styles/base.js.map +1 -0
  140. package/dist/src/styles/desktop-subnav.d.ts +2 -0
  141. package/dist/src/styles/desktop-subnav.js +38 -0
  142. package/dist/src/styles/desktop-subnav.js.map +1 -0
  143. package/dist/src/styles/dropdown-menu.d.ts +2 -0
  144. package/dist/src/styles/dropdown-menu.js +171 -0
  145. package/dist/src/styles/dropdown-menu.js.map +1 -0
  146. package/dist/src/styles/ia-topnav.d.ts +2 -0
  147. package/dist/src/styles/ia-topnav.js +90 -0
  148. package/dist/src/styles/ia-topnav.js.map +1 -0
  149. package/dist/src/styles/login-button.d.ts +2 -0
  150. package/dist/src/styles/login-button.js +90 -0
  151. package/dist/src/styles/login-button.js.map +1 -0
  152. package/dist/src/styles/media-button.d.ts +2 -0
  153. package/dist/src/styles/media-button.js +156 -0
  154. package/dist/src/styles/media-button.js.map +1 -0
  155. package/dist/src/styles/media-menu.d.ts +2 -0
  156. package/dist/src/styles/media-menu.js +66 -0
  157. package/dist/src/styles/media-menu.js.map +1 -0
  158. package/dist/src/styles/media-slider.d.ts +2 -0
  159. package/dist/src/styles/media-slider.js +81 -0
  160. package/dist/src/styles/media-slider.js.map +1 -0
  161. package/dist/src/styles/media-subnav.d.ts +2 -0
  162. package/dist/src/styles/media-subnav.js +159 -0
  163. package/dist/src/styles/media-subnav.js.map +1 -0
  164. package/dist/src/styles/more-slider.d.ts +2 -0
  165. package/dist/src/styles/more-slider.js +15 -0
  166. package/dist/src/styles/more-slider.js.map +1 -0
  167. package/dist/src/styles/nav-search.d.ts +2 -0
  168. package/dist/src/styles/nav-search.js +136 -0
  169. package/dist/src/styles/nav-search.js.map +1 -0
  170. package/dist/src/styles/primary-nav.d.ts +2 -0
  171. package/dist/src/styles/primary-nav.js +311 -0
  172. package/dist/src/styles/primary-nav.js.map +1 -0
  173. package/dist/src/styles/save-page-form.d.ts +2 -0
  174. package/dist/src/styles/save-page-form.js +54 -0
  175. package/dist/src/styles/save-page-form.js.map +1 -0
  176. package/dist/src/styles/search-menu.d.ts +2 -0
  177. package/dist/src/styles/search-menu.js +118 -0
  178. package/dist/src/styles/search-menu.js.map +1 -0
  179. package/dist/src/styles/signed-out-dropdown.d.ts +2 -0
  180. package/dist/src/styles/signed-out-dropdown.js +31 -0
  181. package/dist/src/styles/signed-out-dropdown.js.map +1 -0
  182. package/dist/src/styles/user-menu.d.ts +2 -0
  183. package/dist/src/styles/user-menu.js +31 -0
  184. package/dist/src/styles/user-menu.js.map +1 -0
  185. package/dist/src/styles/wayback-search.d.ts +2 -0
  186. package/dist/src/styles/wayback-search.js +48 -0
  187. package/dist/src/styles/wayback-search.js.map +1 -0
  188. package/dist/src/styles/wayback-slider.d.ts +2 -0
  189. package/dist/src/styles/wayback-slider.js +33 -0
  190. package/dist/src/styles/wayback-slider.js.map +1 -0
  191. package/dist/src/tracked-element.d.ts +5 -0
  192. package/dist/src/tracked-element.js +30 -0
  193. package/dist/src/tracked-element.js.map +1 -0
  194. package/dist/src/user-menu.d.ts +8 -0
  195. package/dist/src/user-menu.js +43 -0
  196. package/dist/src/user-menu.js.map +1 -0
  197. package/dist/src/wayback-search.d.ts +4 -0
  198. package/dist/src/wayback-search.js +14 -0
  199. package/dist/src/wayback-search.js.map +1 -0
  200. package/dist/src/wayback-slider.d.ts +18 -0
  201. package/dist/src/wayback-slider.js +99 -0
  202. package/dist/src/wayback-slider.js.map +1 -0
  203. package/dist/test/assets/img/hamburger.test.d.ts +1 -0
  204. package/dist/test/assets/img/hamburger.test.js +13 -0
  205. package/dist/test/assets/img/hamburger.test.js.map +1 -0
  206. package/dist/test/data/menus.test.d.ts +1 -0
  207. package/dist/test/data/menus.test.js +11 -0
  208. package/dist/test/data/menus.test.js.map +1 -0
  209. package/dist/test/dropdown-menu.test.d.ts +1 -0
  210. package/dist/test/dropdown-menu.test.js +20 -0
  211. package/dist/test/dropdown-menu.test.js.map +1 -0
  212. package/dist/test/ia-icon.test.d.ts +1 -0
  213. package/dist/test/ia-icon.test.js +11 -0
  214. package/dist/test/ia-icon.test.js.map +1 -0
  215. package/dist/test/ia-topnav.test.d.ts +1 -0
  216. package/dist/test/ia-topnav.test.js +232 -0
  217. package/dist/test/ia-topnav.test.js.map +1 -0
  218. package/dist/test/login-button.test.d.ts +1 -0
  219. package/dist/test/login-button.test.js +14 -0
  220. package/dist/test/login-button.test.js.map +1 -0
  221. package/dist/test/media-button.test.d.ts +1 -0
  222. package/dist/test/media-button.test.js +13 -0
  223. package/dist/test/media-button.test.js.map +1 -0
  224. package/dist/test/media-menu.test.d.ts +1 -0
  225. package/dist/test/media-menu.test.js +27 -0
  226. package/dist/test/media-menu.test.js.map +1 -0
  227. package/dist/test/media-slider.test.d.ts +1 -0
  228. package/dist/test/media-slider.test.js +47 -0
  229. package/dist/test/media-slider.test.js.map +1 -0
  230. package/dist/test/more-slider.test.d.ts +1 -0
  231. package/dist/test/more-slider.test.js +17 -0
  232. package/dist/test/more-slider.test.js.map +1 -0
  233. package/dist/test/nav-search.test.d.ts +1 -0
  234. package/dist/test/nav-search.test.js +47 -0
  235. package/dist/test/nav-search.test.js.map +1 -0
  236. package/dist/test/primary-nav.test.d.ts +1 -0
  237. package/dist/test/primary-nav.test.js +55 -0
  238. package/dist/test/primary-nav.test.js.map +1 -0
  239. package/dist/test/save-page-form.test.d.ts +1 -0
  240. package/dist/test/save-page-form.test.js +47 -0
  241. package/dist/test/save-page-form.test.js.map +1 -0
  242. package/dist/test/search-menu.test.d.ts +1 -0
  243. package/dist/test/search-menu.test.js +42 -0
  244. package/dist/test/search-menu.test.js.map +1 -0
  245. package/dist/test/user-menu.test.d.ts +1 -0
  246. package/dist/test/user-menu.test.js +28 -0
  247. package/dist/test/user-menu.test.js.map +1 -0
  248. package/dist/test/wayback-slider.test.d.ts +1 -0
  249. package/dist/test/wayback-slider.test.js +80 -0
  250. package/dist/test/wayback-slider.test.js.map +1 -0
  251. package/eslint.config.mjs +53 -0
  252. package/index.ts +3 -0
  253. package/package.json +48 -37
  254. package/prettier.config.js +9 -0
  255. package/src/assets/img/hamburger.ts +49 -0
  256. package/src/assets/img/{ia-icon.js → ia-icon.ts} +7 -16
  257. package/src/assets/img/{icon-audio.js → icon-audio.ts} +7 -2
  258. package/src/assets/img/icon-close.ts +20 -0
  259. package/src/assets/img/icon-donate-unpadded.ts +19 -0
  260. package/src/assets/img/icon-donate.ts +18 -0
  261. package/src/assets/img/icon-ellipses.ts +19 -0
  262. package/src/assets/img/icon-ia-logo.ts +30 -0
  263. package/src/assets/img/icon-images.ts +19 -0
  264. package/src/assets/img/icon-search.ts +19 -0
  265. package/src/assets/img/icon-software.ts +18 -0
  266. package/src/assets/img/icon-texts.ts +18 -0
  267. package/src/assets/img/icon-upload-unpadded.ts +18 -0
  268. package/src/assets/img/icon-upload.ts +21 -0
  269. package/src/assets/img/icon-user.ts +19 -0
  270. package/src/assets/img/icon-video.ts +19 -0
  271. package/src/assets/img/icon-web.ts +19 -0
  272. package/src/assets/img/icon.ts +8 -0
  273. package/src/assets/img/icons.ts +33 -0
  274. package/src/assets/img/{wordmark-stacked.js → wordmark-stacked.ts} +2 -2
  275. package/src/data/{menus.js → menus.ts} +196 -213
  276. package/src/desktop-subnav.ts +49 -0
  277. package/src/dropdown-menu.ts +132 -0
  278. package/src/ia-topnav.ts +366 -0
  279. package/src/lib/format-url.ts +2 -0
  280. package/src/lib/keyboard-navigation.ts +166 -0
  281. package/src/lib/location-handler.ts +5 -0
  282. package/src/lib/make-boolean-string.ts +12 -0
  283. package/src/lib/query-handler.ts +7 -0
  284. package/src/lib/t-sentence-case.ts +10 -0
  285. package/src/login-button.ts +78 -0
  286. package/src/{media-button.js → media-button.ts} +39 -49
  287. package/src/media-menu.ts +143 -0
  288. package/src/media-slider.ts +131 -0
  289. package/src/media-subnav.ts +132 -0
  290. package/src/models.ts +63 -0
  291. package/src/more-slider.ts +42 -0
  292. package/src/nav-search.ts +117 -0
  293. package/src/primary-nav.ts +296 -0
  294. package/src/save-page-form.ts +66 -0
  295. package/src/search-menu.ts +156 -0
  296. package/src/signed-out-dropdown.ts +11 -0
  297. package/src/styles/{base.js → base.ts} +3 -3
  298. package/src/styles/{desktop-subnav.js → desktop-subnav.ts} +3 -2
  299. package/src/styles/{dropdown-menu.js → dropdown-menu.ts} +25 -4
  300. package/src/styles/{ia-topnav.js → ia-topnav.ts} +11 -5
  301. package/src/styles/{login-button.js → login-button.ts} +25 -4
  302. package/src/styles/{media-button.js → media-button.ts} +6 -5
  303. package/src/styles/{media-menu.js → media-menu.ts} +3 -7
  304. package/src/styles/{media-slider.js → media-slider.ts} +5 -5
  305. package/src/styles/media-subnav.ts +159 -0
  306. package/src/styles/{more-slider.js → more-slider.ts} +1 -1
  307. package/src/styles/{nav-search.js → nav-search.ts} +2 -2
  308. package/src/styles/{primary-nav.js → primary-nav.ts} +54 -46
  309. package/src/styles/{save-page-form.js → save-page-form.ts} +9 -8
  310. package/src/styles/{search-menu.js → search-menu.ts} +22 -3
  311. package/src/styles/{signed-out-dropdown.js → signed-out-dropdown.ts} +3 -3
  312. package/src/styles/{user-menu.js → user-menu.ts} +3 -3
  313. package/src/styles/{wayback-search.js → wayback-search.ts} +3 -3
  314. package/src/styles/wayback-slider.ts +33 -0
  315. package/src/tracked-element.ts +32 -0
  316. package/src/user-menu.ts +32 -0
  317. package/src/wayback-search.ts +10 -0
  318. package/src/wayback-slider.ts +88 -0
  319. package/ssl/server.crt +22 -0
  320. package/ssl/server.key +28 -0
  321. package/test/assets/img/hamburger.test.ts +18 -0
  322. package/test/data/menus.test.ts +15 -0
  323. package/test/{dropdown-menu.test.js → dropdown-menu.test.ts} +5 -7
  324. package/test/{ia-icon.test.js → ia-icon.test.ts} +6 -4
  325. package/test/ia-topnav.test.ts +343 -0
  326. package/test/login-button.test.ts +19 -0
  327. package/test/media-button.test.ts +19 -0
  328. package/test/{media-menu.test.js → media-menu.test.ts} +14 -12
  329. package/test/media-slider.test.ts +63 -0
  330. package/test/more-slider.test.ts +21 -0
  331. package/test/nav-search.test.ts +70 -0
  332. package/test/primary-nav.test.ts +94 -0
  333. package/test/save-page-form.test.ts +62 -0
  334. package/test/{search-menu.test.js → search-menu.test.ts} +19 -10
  335. package/test/{user-menu.test.js → user-menu.test.ts} +10 -9
  336. package/test/wayback-slider.test.ts +97 -0
  337. package/tsconfig.json +31 -0
  338. package/web-dev-server.config.mjs +32 -0
  339. package/web-test-runner.config.mjs +41 -0
  340. package/.eslintrc +0 -16
  341. package/index.d.ts +0 -109
  342. package/index.js +0 -3
  343. package/src/assets/img/icon-close.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-hamburger.js +0 -17
  347. package/src/assets/img/icon-ia-logo.js +0 -24
  348. package/src/assets/img/icon-images.js +0 -15
  349. package/src/assets/img/icon-search.js +0 -15
  350. package/src/assets/img/icon-software.js +0 -15
  351. package/src/assets/img/icon-texts.js +0 -15
  352. package/src/assets/img/icon-upload.js +0 -15
  353. package/src/assets/img/icon-user.js +0 -15
  354. package/src/assets/img/icon-video.js +0 -15
  355. package/src/assets/img/icon-web.js +0 -15
  356. package/src/assets/img/icon.js +0 -18
  357. package/src/assets/img/icons.js +0 -31
  358. package/src/desktop-subnav.js +0 -45
  359. package/src/dropdown-menu.js +0 -106
  360. package/src/ia-topnav.js +0 -307
  361. package/src/lib/formatUrl.js +0 -1
  362. package/src/lib/location-handler.js +0 -5
  363. package/src/lib/query-handler.js +0 -7
  364. package/src/lib/toSentenceCase.js +0 -8
  365. package/src/login-button.js +0 -79
  366. package/src/media-menu.js +0 -133
  367. package/src/media-slider.js +0 -104
  368. package/src/media-subnav.js +0 -112
  369. package/src/more-slider.js +0 -33
  370. package/src/nav-search.js +0 -125
  371. package/src/primary-nav.js +0 -223
  372. package/src/save-page-form.js +0 -59
  373. package/src/search-menu.js +0 -115
  374. package/src/signed-out-dropdown.js +0 -10
  375. package/src/styles/media-subnav.js +0 -156
  376. package/src/styles/wayback-slider.js +0 -30
  377. package/src/tracked-element.js +0 -27
  378. package/src/user-menu.js +0 -42
  379. package/src/wayback-search.js +0 -18
  380. package/src/wayback-slider.js +0 -87
  381. package/test/assets/img/hamburger.test.js +0 -15
  382. package/test/assets/img/user.test.js +0 -15
  383. package/test/data/menus.test.js +0 -19
  384. package/test/ia-topnav.test.js +0 -273
  385. package/test/login-button.test.js +0 -15
  386. package/test/media-button.test.js +0 -19
  387. package/test/media-slider.test.js +0 -57
  388. package/test/more-slider.test.js +0 -13
  389. package/test/nav-search.test.js +0 -61
  390. package/test/primary-nav.test.js +0 -82
  391. package/test/save-page-form.test.js +0 -35
  392. package/test/wayback-slider.test.js +0 -80
@@ -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
 
@@ -45,7 +45,7 @@ export default IATopNav;
45
45
  --grey80: #ccc;
46
46
  --errorYellow: #ffcd27;
47
47
 
48
- --linkColor: #428bca;
48
+ --linkColor: #4b64ff;
49
49
  --linkHoverColor: var(--white);
50
50
  --subnavLinkColor: var(--grey66);
51
51
  --primaryTextColor: var(--white);
@@ -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,183 @@
1
+ import { html, css, LitElement, TemplateResult } from 'lit';
2
+ import { customElement, query, state } from 'lit/decorators.js';
3
+ import '../src/ia-topnav';
4
+ import type { IATopNav } from '../src/ia-topnav';
5
+
6
+ @customElement('app-root')
7
+ export class AppRoot extends LitElement {
8
+ @query('ia-topnav')
9
+ private topnav!: IATopNav;
10
+
11
+ @state() private admin = false;
12
+
13
+ @state() private canManageFlags = false;
14
+
15
+ @state() private username = '@foo';
16
+
17
+ @state() private screenName = '@foo-user';
18
+
19
+ @state() private itemIdentifier = '';
20
+
21
+ render() {
22
+ return html`
23
+ <ia-topnav
24
+ ?admin=${this.admin}
25
+ ?canManageFlags=${this.canManageFlags}
26
+ .username=${this.username}
27
+ .screenName=${this.screenName}
28
+ .itemIdentifier=${this.itemIdentifier}
29
+ >
30
+ </ia-topnav>
31
+
32
+ ${this.devTools}
33
+ `;
34
+ }
35
+
36
+ private get devTools(): TemplateResult {
37
+ return html`
38
+ <div id="dev-tools">
39
+ <h1>Dev Tools</h1>
40
+
41
+ <h2>User menu</h2>
42
+ <fieldset>
43
+ <ul>
44
+ <li>
45
+ <button
46
+ @click=${() => {
47
+ this.screenName = 'brewster';
48
+ this.username = '@brewster';
49
+ }}
50
+ >
51
+ Switch username to brewster
52
+ </button>
53
+ </li>
54
+
55
+ <li>
56
+ <button
57
+ @click=${() => {
58
+ this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
59
+ this.username = '@test';
60
+ }}
61
+ >
62
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
63
+ </button>
64
+ </li>
65
+
66
+ <li>
67
+ <button
68
+ @click=${() => {
69
+ this.screenName =
70
+ 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
71
+ this.username = '@test';
72
+ }}
73
+ >
74
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور
75
+ محمد العجوز
76
+ </button>
77
+ </li>
78
+
79
+ <li>
80
+ <button
81
+ @click=${() => {
82
+ this.username = '';
83
+ this.screenName = '';
84
+ }}
85
+ >
86
+ Switch to logged out
87
+ </button>
88
+ </li>
89
+
90
+ <li>
91
+ <button
92
+ @click=${() => {
93
+ this.itemIdentifier = this.admin ? '' : 'boop';
94
+ this.admin = !this.admin;
95
+ }}
96
+ >
97
+ Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires
98
+ logged in)
99
+ </button>
100
+ </li>
101
+
102
+ <li>
103
+ <button
104
+ @click=${() => {
105
+ this.canManageFlags = !this.canManageFlags;
106
+ }}
107
+ >
108
+ Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})
109
+ (requires admin mode)
110
+ </button>
111
+ </li>
112
+ </ul>
113
+ </fieldset>
114
+
115
+ <h2>Local Links</h2>
116
+ <fieldset>
117
+ <button
118
+ @click=${() => {
119
+ this.topnav.localLinks = false;
120
+ }}
121
+ >
122
+ Disable local links
123
+ </button>
124
+ <button
125
+ @click=${() => {
126
+ this.topnav.localLinks = true;
127
+ }}
128
+ >
129
+ Enable local links
130
+ </button>
131
+ </fieldset>
132
+
133
+ <h2>Wayback Count</h2>
134
+ <fieldset>
135
+ <button
136
+ @click=${() => {
137
+ this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
138
+ }}
139
+ >
140
+ Change WB pages count
141
+ </button>
142
+
143
+ <button
144
+ @click=${() => {
145
+ this.topnav.waybackPagesArchived = '740 billion';
146
+ }}
147
+ >
148
+ Reset WB pages count
149
+ </button>
150
+ </fieldset>
151
+
152
+ <h2>Search</h2>
153
+ <fieldset>
154
+ <button
155
+ @click=${() => {
156
+ this.topnav.hideSearch = true;
157
+ }}
158
+ >
159
+ Hide Top Row Search button, like on mobile
160
+ </button>
161
+ <button
162
+ @click=${() => {
163
+ this.topnav.hideSearch = false;
164
+ }}
165
+ >
166
+ Show Top Row Search button, like on mobile
167
+ </button>
168
+ </fieldset>
169
+ </div>
170
+ `;
171
+ }
172
+
173
+ static styles = css`
174
+ :host {
175
+ display: block;
176
+ font-family: sans-serif;
177
+ }
178
+
179
+ #dev-tools {
180
+ margin: 1rem;
181
+ }
182
+ `;
183
+ }
@@ -0,0 +1,28 @@
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
+ <title>Internet Archive topnav component</title>
8
+ <style>
9
+ html {
10
+ font-size: 10px;
11
+ }
12
+
13
+ body {
14
+ background: #fafafa;
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+ </style>
19
+ </head>
20
+
21
+ <body>
22
+ <app-root></app-root>
23
+
24
+ <script type="module" src="../dist/demo/app-root.js">
25
+ </script>
26
+ </body>
27
+
28
+ </html>
@@ -0,0 +1,13 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ import '../src/ia-topnav';
3
+ export declare class AppRoot extends LitElement {
4
+ private topnav;
5
+ private admin;
6
+ private canManageFlags;
7
+ private username;
8
+ private screenName;
9
+ private itemIdentifier;
10
+ render(): TemplateResult<1>;
11
+ private get devTools();
12
+ static styles: import("lit").CSSResult;
13
+ }
@@ -0,0 +1,197 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, css, LitElement } from 'lit';
3
+ import { customElement, query, state } from 'lit/decorators.js';
4
+ import '../src/ia-topnav';
5
+ let AppRoot = class AppRoot extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.admin = false;
9
+ this.canManageFlags = false;
10
+ this.username = '@foo';
11
+ this.screenName = '@foo-user';
12
+ this.itemIdentifier = '';
13
+ }
14
+ render() {
15
+ return html `
16
+ <ia-topnav
17
+ ?admin=${this.admin}
18
+ ?canManageFlags=${this.canManageFlags}
19
+ .username=${this.username}
20
+ .screenName=${this.screenName}
21
+ .itemIdentifier=${this.itemIdentifier}
22
+ >
23
+ </ia-topnav>
24
+
25
+ ${this.devTools}
26
+ `;
27
+ }
28
+ get devTools() {
29
+ return html `
30
+ <div id="dev-tools">
31
+ <h1>Dev Tools</h1>
32
+
33
+ <h2>User menu</h2>
34
+ <fieldset>
35
+ <ul>
36
+ <li>
37
+ <button
38
+ @click=${() => {
39
+ this.screenName = 'brewster';
40
+ this.username = '@brewster';
41
+ }}
42
+ >
43
+ Switch username to brewster
44
+ </button>
45
+ </li>
46
+
47
+ <li>
48
+ <button
49
+ @click=${() => {
50
+ this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
51
+ this.username = '@test';
52
+ }}
53
+ >
54
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
55
+ </button>
56
+ </li>
57
+
58
+ <li>
59
+ <button
60
+ @click=${() => {
61
+ this.screenName =
62
+ 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
63
+ this.username = '@test';
64
+ }}
65
+ >
66
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور
67
+ محمد العجوز
68
+ </button>
69
+ </li>
70
+
71
+ <li>
72
+ <button
73
+ @click=${() => {
74
+ this.username = '';
75
+ this.screenName = '';
76
+ }}
77
+ >
78
+ Switch to logged out
79
+ </button>
80
+ </li>
81
+
82
+ <li>
83
+ <button
84
+ @click=${() => {
85
+ this.itemIdentifier = this.admin ? '' : 'boop';
86
+ this.admin = !this.admin;
87
+ }}
88
+ >
89
+ Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires
90
+ logged in)
91
+ </button>
92
+ </li>
93
+
94
+ <li>
95
+ <button
96
+ @click=${() => {
97
+ this.canManageFlags = !this.canManageFlags;
98
+ }}
99
+ >
100
+ Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})
101
+ (requires admin mode)
102
+ </button>
103
+ </li>
104
+ </ul>
105
+ </fieldset>
106
+
107
+ <h2>Local Links</h2>
108
+ <fieldset>
109
+ <button
110
+ @click=${() => {
111
+ this.topnav.localLinks = false;
112
+ }}
113
+ >
114
+ Disable local links
115
+ </button>
116
+ <button
117
+ @click=${() => {
118
+ this.topnav.localLinks = true;
119
+ }}
120
+ >
121
+ Enable local links
122
+ </button>
123
+ </fieldset>
124
+
125
+ <h2>Wayback Count</h2>
126
+ <fieldset>
127
+ <button
128
+ @click=${() => {
129
+ this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
130
+ }}
131
+ >
132
+ Change WB pages count
133
+ </button>
134
+
135
+ <button
136
+ @click=${() => {
137
+ this.topnav.waybackPagesArchived = '740 billion';
138
+ }}
139
+ >
140
+ Reset WB pages count
141
+ </button>
142
+ </fieldset>
143
+
144
+ <h2>Search</h2>
145
+ <fieldset>
146
+ <button
147
+ @click=${() => {
148
+ this.topnav.hideSearch = true;
149
+ }}
150
+ >
151
+ Hide Top Row Search button, like on mobile
152
+ </button>
153
+ <button
154
+ @click=${() => {
155
+ this.topnav.hideSearch = false;
156
+ }}
157
+ >
158
+ Show Top Row Search button, like on mobile
159
+ </button>
160
+ </fieldset>
161
+ </div>
162
+ `;
163
+ }
164
+ };
165
+ AppRoot.styles = css `
166
+ :host {
167
+ display: block;
168
+ font-family: sans-serif;
169
+ }
170
+
171
+ #dev-tools {
172
+ margin: 1rem;
173
+ }
174
+ `;
175
+ __decorate([
176
+ query('ia-topnav')
177
+ ], AppRoot.prototype, "topnav", void 0);
178
+ __decorate([
179
+ state()
180
+ ], AppRoot.prototype, "admin", void 0);
181
+ __decorate([
182
+ state()
183
+ ], AppRoot.prototype, "canManageFlags", void 0);
184
+ __decorate([
185
+ state()
186
+ ], AppRoot.prototype, "username", void 0);
187
+ __decorate([
188
+ state()
189
+ ], AppRoot.prototype, "screenName", void 0);
190
+ __decorate([
191
+ state()
192
+ ], AppRoot.prototype, "itemIdentifier", void 0);
193
+ AppRoot = __decorate([
194
+ customElement('app-root')
195
+ ], AppRoot);
196
+ export { AppRoot };
197
+ //# sourceMappingURL=app-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/app-root.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, css, LitElement, TemplateResult } from 'lit';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport '../src/ia-topnav';\nimport type { IATopNav } from '../src/ia-topnav';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n @query('ia-topnav')\n private topnav!: IATopNav;\n\n @state() private admin = false;\n\n @state() private canManageFlags = false;\n\n @state() private username = '@foo';\n\n @state() private screenName = '@foo-user';\n\n @state() private itemIdentifier = '';\n\n render() {\n return html`\n <ia-topnav\n ?admin=${this.admin}\n ?canManageFlags=${this.canManageFlags}\n .username=${this.username}\n .screenName=${this.screenName}\n .itemIdentifier=${this.itemIdentifier}\n >\n </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>User menu</h2>\n <fieldset>\n <ul>\n <li>\n <button\n @click=${() => {\n this.screenName = 'brewster';\n this.username = '@brewster';\n }}\n >\n Switch username to brewster\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';\n this.username = '@test';\n }}\n >\n Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.screenName =\n 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';\n this.username = '@test';\n }}\n >\n Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور\n محمد العجوز\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.username = '';\n this.screenName = '';\n }}\n >\n Switch to logged out\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.itemIdentifier = this.admin ? '' : 'boop';\n this.admin = !this.admin;\n }}\n >\n Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires\n logged in)\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.canManageFlags = !this.canManageFlags;\n }}\n >\n Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})\n (requires admin mode)\n </button>\n </li>\n </ul>\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"]}
@@ -0,0 +1,2 @@
1
+ import { IATopNav } from './src/ia-topnav';
2
+ export { IATopNav };
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ import { IATopNav } from './src/ia-topnav';
2
+ export { IATopNav };
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["import { IATopNav } from './src/ia-topnav';\n\nexport { 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"]}