@internetarchive/ia-topnav 0.0.0-webdev7666-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 (340) hide show
  1. package/.prettierignore +1 -0
  2. package/LICENSE +661 -0
  3. package/README.md +147 -0
  4. package/demo/app-root.ts +183 -0
  5. package/demo/index.html +27 -0
  6. package/dist/demo/app-root.d.ts +13 -0
  7. package/dist/demo/app-root.js +197 -0
  8. package/dist/demo/app-root.js.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.js +3 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/src/assets/img/hamburger.d.ts +7 -0
  13. package/dist/src/assets/img/hamburger.js +51 -0
  14. package/dist/src/assets/img/hamburger.js.map +1 -0
  15. package/dist/src/assets/img/ia-icon.d.ts +7 -0
  16. package/dist/src/assets/img/ia-icon.js +33 -0
  17. package/dist/src/assets/img/ia-icon.js.map +1 -0
  18. package/dist/src/assets/img/icon-audio.d.ts +2 -0
  19. package/dist/src/assets/img/icon-audio.js +28 -0
  20. package/dist/src/assets/img/icon-audio.js.map +1 -0
  21. package/dist/src/assets/img/icon-close.d.ts +2 -0
  22. package/dist/src/assets/img/icon-close.js +20 -0
  23. package/dist/src/assets/img/icon-close.js.map +1 -0
  24. package/dist/src/assets/img/icon-donate-unpadded.d.ts +2 -0
  25. package/dist/src/assets/img/icon-donate-unpadded.js +19 -0
  26. package/dist/src/assets/img/icon-donate-unpadded.js.map +1 -0
  27. package/dist/src/assets/img/icon-donate.d.ts +2 -0
  28. package/dist/src/assets/img/icon-donate.js +18 -0
  29. package/dist/src/assets/img/icon-donate.js.map +1 -0
  30. package/dist/src/assets/img/icon-ellipses.d.ts +2 -0
  31. package/dist/src/assets/img/icon-ellipses.js +19 -0
  32. package/dist/src/assets/img/icon-ellipses.js.map +1 -0
  33. package/dist/src/assets/img/icon-ia-logo.d.ts +2 -0
  34. package/dist/src/assets/img/icon-ia-logo.js +30 -0
  35. package/dist/src/assets/img/icon-ia-logo.js.map +1 -0
  36. package/dist/src/assets/img/icon-images.d.ts +2 -0
  37. package/dist/src/assets/img/icon-images.js +19 -0
  38. package/dist/src/assets/img/icon-images.js.map +1 -0
  39. package/dist/src/assets/img/icon-search.d.ts +2 -0
  40. package/dist/src/assets/img/icon-search.js +19 -0
  41. package/dist/src/assets/img/icon-search.js.map +1 -0
  42. package/dist/src/assets/img/icon-software.d.ts +2 -0
  43. package/dist/src/assets/img/icon-software.js +18 -0
  44. package/dist/src/assets/img/icon-software.js.map +1 -0
  45. package/dist/src/assets/img/icon-texts.d.ts +2 -0
  46. package/dist/src/assets/img/icon-texts.js +18 -0
  47. package/dist/src/assets/img/icon-texts.js.map +1 -0
  48. package/dist/src/assets/img/icon-upload-unpadded.d.ts +2 -0
  49. package/dist/src/assets/img/icon-upload-unpadded.js +18 -0
  50. package/dist/src/assets/img/icon-upload-unpadded.js.map +1 -0
  51. package/dist/src/assets/img/icon-upload.d.ts +2 -0
  52. package/dist/src/assets/img/icon-upload.js +21 -0
  53. package/dist/src/assets/img/icon-upload.js.map +1 -0
  54. package/dist/src/assets/img/icon-user.d.ts +2 -0
  55. package/dist/src/assets/img/icon-user.js +19 -0
  56. package/dist/src/assets/img/icon-user.js.map +1 -0
  57. package/dist/src/assets/img/icon-video.d.ts +2 -0
  58. package/dist/src/assets/img/icon-video.js +19 -0
  59. package/dist/src/assets/img/icon-video.js.map +1 -0
  60. package/dist/src/assets/img/icon-web.d.ts +2 -0
  61. package/dist/src/assets/img/icon-web.js +19 -0
  62. package/dist/src/assets/img/icon-web.js.map +1 -0
  63. package/dist/src/assets/img/icon.d.ts +5 -0
  64. package/dist/src/assets/img/icon.js +17 -0
  65. package/dist/src/assets/img/icon.js.map +1 -0
  66. package/dist/src/assets/img/icons.d.ts +18 -0
  67. package/dist/src/assets/img/icons.js +33 -0
  68. package/dist/src/assets/img/icons.js.map +1 -0
  69. package/dist/src/assets/img/wordmark-stacked.d.ts +2 -0
  70. package/dist/src/assets/img/wordmark-stacked.js +13 -0
  71. package/dist/src/assets/img/wordmark-stacked.js.map +1 -0
  72. package/dist/src/data/menus.d.ts +20 -0
  73. package/dist/src/data/menus.js +676 -0
  74. package/dist/src/data/menus.js.map +1 -0
  75. package/dist/src/desktop-subnav.d.ts +11 -0
  76. package/dist/src/desktop-subnav.js +55 -0
  77. package/dist/src/desktop-subnav.js.map +1 -0
  78. package/dist/src/dropdown-menu.d.ts +19 -0
  79. package/dist/src/dropdown-menu.js +116 -0
  80. package/dist/src/dropdown-menu.js.map +1 -0
  81. package/dist/src/ia-topnav.d.ts +67 -0
  82. package/dist/src/ia-topnav.js +312 -0
  83. package/dist/src/ia-topnav.js.map +1 -0
  84. package/dist/src/lib/format-url.d.ts +2 -0
  85. package/dist/src/lib/format-url.js +2 -0
  86. package/dist/src/lib/format-url.js.map +1 -0
  87. package/dist/src/lib/keyboard-navigation.d.ts +50 -0
  88. package/dist/src/lib/keyboard-navigation.js +136 -0
  89. package/dist/src/lib/keyboard-navigation.js.map +1 -0
  90. package/dist/src/lib/location-handler.d.ts +1 -0
  91. package/dist/src/lib/location-handler.js +5 -0
  92. package/dist/src/lib/location-handler.js.map +1 -0
  93. package/dist/src/lib/make-boolean-string.d.ts +2 -0
  94. package/dist/src/lib/make-boolean-string.js +12 -0
  95. package/dist/src/lib/make-boolean-string.js.map +1 -0
  96. package/dist/src/lib/query-handler.d.ts +4 -0
  97. package/dist/src/lib/query-handler.js +7 -0
  98. package/dist/src/lib/query-handler.js.map +1 -0
  99. package/dist/src/lib/t-sentence-case.d.ts +2 -0
  100. package/dist/src/lib/t-sentence-case.js +10 -0
  101. package/dist/src/lib/t-sentence-case.js.map +1 -0
  102. package/dist/src/login-button.d.ts +16 -0
  103. package/dist/src/login-button.js +83 -0
  104. package/dist/src/login-button.js.map +1 -0
  105. package/dist/src/media-button.d.ts +24 -0
  106. package/dist/src/media-button.js +119 -0
  107. package/dist/src/media-button.js.map +1 -0
  108. package/dist/src/media-menu.d.ts +20 -0
  109. package/dist/src/media-menu.js +148 -0
  110. package/dist/src/media-menu.js.map +1 -0
  111. package/dist/src/media-slider.d.ts +15 -0
  112. package/dist/src/media-slider.js +139 -0
  113. package/dist/src/media-slider.js.map +1 -0
  114. package/dist/src/media-subnav.d.ts +18 -0
  115. package/dist/src/media-subnav.js +126 -0
  116. package/dist/src/media-subnav.js.map +1 -0
  117. package/dist/src/models.d.ts +51 -0
  118. package/dist/src/models.js +2 -0
  119. package/dist/src/models.js.map +1 -0
  120. package/dist/src/more-slider.d.ts +10 -0
  121. package/dist/src/more-slider.js +50 -0
  122. package/dist/src/more-slider.js.map +1 -0
  123. package/dist/src/nav-search.d.ts +19 -0
  124. package/dist/src/nav-search.js +124 -0
  125. package/dist/src/nav-search.js.map +1 -0
  126. package/dist/src/primary-nav.d.ts +45 -0
  127. package/dist/src/primary-nav.js +280 -0
  128. package/dist/src/primary-nav.js.map +1 -0
  129. package/dist/src/save-page-form.d.ts +10 -0
  130. package/dist/src/save-page-form.js +63 -0
  131. package/dist/src/save-page-form.js.map +1 -0
  132. package/dist/src/search-menu.d.ts +20 -0
  133. package/dist/src/search-menu.js +162 -0
  134. package/dist/src/search-menu.js.map +1 -0
  135. package/dist/src/signed-out-dropdown.d.ts +4 -0
  136. package/dist/src/signed-out-dropdown.js +15 -0
  137. package/dist/src/signed-out-dropdown.js.map +1 -0
  138. package/dist/src/styles/base.d.ts +1 -0
  139. package/dist/src/styles/base.js +48 -0
  140. package/dist/src/styles/base.js.map +1 -0
  141. package/dist/src/styles/desktop-subnav.d.ts +2 -0
  142. package/dist/src/styles/desktop-subnav.js +37 -0
  143. package/dist/src/styles/desktop-subnav.js.map +1 -0
  144. package/dist/src/styles/dropdown-menu.d.ts +2 -0
  145. package/dist/src/styles/dropdown-menu.js +170 -0
  146. package/dist/src/styles/dropdown-menu.js.map +1 -0
  147. package/dist/src/styles/ia-topnav.d.ts +2 -0
  148. package/dist/src/styles/ia-topnav.js +87 -0
  149. package/dist/src/styles/ia-topnav.js.map +1 -0
  150. package/dist/src/styles/login-button.d.ts +2 -0
  151. package/dist/src/styles/login-button.js +82 -0
  152. package/dist/src/styles/login-button.js.map +1 -0
  153. package/dist/src/styles/media-button.d.ts +2 -0
  154. package/dist/src/styles/media-button.js +156 -0
  155. package/dist/src/styles/media-button.js.map +1 -0
  156. package/dist/src/styles/media-menu.d.ts +2 -0
  157. package/dist/src/styles/media-menu.js +66 -0
  158. package/dist/src/styles/media-menu.js.map +1 -0
  159. package/dist/src/styles/media-slider.d.ts +2 -0
  160. package/dist/src/styles/media-slider.js +81 -0
  161. package/dist/src/styles/media-slider.js.map +1 -0
  162. package/dist/src/styles/media-subnav.d.ts +2 -0
  163. package/dist/src/styles/media-subnav.js +159 -0
  164. package/dist/src/styles/media-subnav.js.map +1 -0
  165. package/dist/src/styles/more-slider.d.ts +2 -0
  166. package/dist/src/styles/more-slider.js +15 -0
  167. package/dist/src/styles/more-slider.js.map +1 -0
  168. package/dist/src/styles/nav-search.d.ts +2 -0
  169. package/dist/src/styles/nav-search.js +136 -0
  170. package/dist/src/styles/nav-search.js.map +1 -0
  171. package/dist/src/styles/primary-nav.d.ts +2 -0
  172. package/dist/src/styles/primary-nav.js +310 -0
  173. package/dist/src/styles/primary-nav.js.map +1 -0
  174. package/dist/src/styles/save-page-form.d.ts +2 -0
  175. package/dist/src/styles/save-page-form.js +54 -0
  176. package/dist/src/styles/save-page-form.js.map +1 -0
  177. package/dist/src/styles/search-menu.d.ts +2 -0
  178. package/dist/src/styles/search-menu.js +105 -0
  179. package/dist/src/styles/search-menu.js.map +1 -0
  180. package/dist/src/styles/signed-out-dropdown.d.ts +2 -0
  181. package/dist/src/styles/signed-out-dropdown.js +31 -0
  182. package/dist/src/styles/signed-out-dropdown.js.map +1 -0
  183. package/dist/src/styles/user-menu.d.ts +2 -0
  184. package/dist/src/styles/user-menu.js +31 -0
  185. package/dist/src/styles/user-menu.js.map +1 -0
  186. package/dist/src/styles/wayback-search.d.ts +2 -0
  187. package/dist/src/styles/wayback-search.js +48 -0
  188. package/dist/src/styles/wayback-search.js.map +1 -0
  189. package/dist/src/styles/wayback-slider.d.ts +2 -0
  190. package/dist/src/styles/wayback-slider.js +33 -0
  191. package/dist/src/styles/wayback-slider.js.map +1 -0
  192. package/dist/src/tracked-element.d.ts +5 -0
  193. package/dist/src/tracked-element.js +30 -0
  194. package/dist/src/tracked-element.js.map +1 -0
  195. package/dist/src/user-menu.d.ts +10 -0
  196. package/dist/src/user-menu.js +60 -0
  197. package/dist/src/user-menu.js.map +1 -0
  198. package/dist/src/wayback-search.d.ts +4 -0
  199. package/dist/src/wayback-search.js +14 -0
  200. package/dist/src/wayback-search.js.map +1 -0
  201. package/dist/src/wayback-slider.d.ts +18 -0
  202. package/dist/src/wayback-slider.js +99 -0
  203. package/dist/src/wayback-slider.js.map +1 -0
  204. package/dist/test/assets/img/hamburger.test.d.ts +1 -0
  205. package/dist/test/assets/img/hamburger.test.js +13 -0
  206. package/dist/test/assets/img/hamburger.test.js.map +1 -0
  207. package/dist/test/data/menus.test.d.ts +1 -0
  208. package/dist/test/data/menus.test.js +11 -0
  209. package/dist/test/data/menus.test.js.map +1 -0
  210. package/dist/test/dropdown-menu.test.d.ts +1 -0
  211. package/dist/test/dropdown-menu.test.js +20 -0
  212. package/dist/test/dropdown-menu.test.js.map +1 -0
  213. package/dist/test/ia-icon.test.d.ts +1 -0
  214. package/dist/test/ia-icon.test.js +11 -0
  215. package/dist/test/ia-icon.test.js.map +1 -0
  216. package/dist/test/ia-topnav.test.d.ts +1 -0
  217. package/dist/test/ia-topnav.test.js +232 -0
  218. package/dist/test/ia-topnav.test.js.map +1 -0
  219. package/dist/test/login-button.test.d.ts +1 -0
  220. package/dist/test/login-button.test.js +14 -0
  221. package/dist/test/login-button.test.js.map +1 -0
  222. package/dist/test/media-button.test.d.ts +1 -0
  223. package/dist/test/media-button.test.js +13 -0
  224. package/dist/test/media-button.test.js.map +1 -0
  225. package/dist/test/media-menu.test.d.ts +1 -0
  226. package/dist/test/media-menu.test.js +27 -0
  227. package/dist/test/media-menu.test.js.map +1 -0
  228. package/dist/test/media-slider.test.d.ts +1 -0
  229. package/dist/test/media-slider.test.js +47 -0
  230. package/dist/test/media-slider.test.js.map +1 -0
  231. package/dist/test/more-slider.test.d.ts +1 -0
  232. package/dist/test/more-slider.test.js +17 -0
  233. package/dist/test/more-slider.test.js.map +1 -0
  234. package/dist/test/nav-search.test.d.ts +1 -0
  235. package/dist/test/nav-search.test.js +47 -0
  236. package/dist/test/nav-search.test.js.map +1 -0
  237. package/dist/test/primary-nav.test.d.ts +1 -0
  238. package/dist/test/primary-nav.test.js +55 -0
  239. package/dist/test/primary-nav.test.js.map +1 -0
  240. package/dist/test/save-page-form.test.d.ts +1 -0
  241. package/dist/test/save-page-form.test.js +47 -0
  242. package/dist/test/save-page-form.test.js.map +1 -0
  243. package/dist/test/search-menu.test.d.ts +1 -0
  244. package/dist/test/search-menu.test.js +42 -0
  245. package/dist/test/search-menu.test.js.map +1 -0
  246. package/dist/test/user-menu.test.d.ts +1 -0
  247. package/dist/test/user-menu.test.js +28 -0
  248. package/dist/test/user-menu.test.js.map +1 -0
  249. package/dist/test/wayback-slider.test.d.ts +1 -0
  250. package/dist/test/wayback-slider.test.js +80 -0
  251. package/dist/test/wayback-slider.test.js.map +1 -0
  252. package/eslint.config.mjs +53 -0
  253. package/index.ts +3 -0
  254. package/package.json +71 -0
  255. package/prettier.config.js +9 -0
  256. package/src/assets/img/hamburger.ts +49 -0
  257. package/src/assets/img/ia-icon.ts +24 -0
  258. package/src/assets/img/icon-audio.ts +28 -0
  259. package/src/assets/img/icon-close.ts +20 -0
  260. package/src/assets/img/icon-donate-unpadded.ts +19 -0
  261. package/src/assets/img/icon-donate.ts +18 -0
  262. package/src/assets/img/icon-ellipses.ts +19 -0
  263. package/src/assets/img/icon-ia-logo.ts +30 -0
  264. package/src/assets/img/icon-images.ts +19 -0
  265. package/src/assets/img/icon-search.ts +19 -0
  266. package/src/assets/img/icon-software.ts +18 -0
  267. package/src/assets/img/icon-texts.ts +18 -0
  268. package/src/assets/img/icon-upload-unpadded.ts +18 -0
  269. package/src/assets/img/icon-upload.ts +21 -0
  270. package/src/assets/img/icon-user.ts +19 -0
  271. package/src/assets/img/icon-video.ts +19 -0
  272. package/src/assets/img/icon-web.ts +19 -0
  273. package/src/assets/img/icon.ts +8 -0
  274. package/src/assets/img/icons.ts +33 -0
  275. package/src/assets/img/wordmark-stacked.ts +13 -0
  276. package/src/data/menus.ts +691 -0
  277. package/src/desktop-subnav.ts +49 -0
  278. package/src/dropdown-menu.ts +106 -0
  279. package/src/ia-topnav.ts +323 -0
  280. package/src/lib/format-url.ts +2 -0
  281. package/src/lib/keyboard-navigation.ts +158 -0
  282. package/src/lib/location-handler.ts +5 -0
  283. package/src/lib/make-boolean-string.ts +12 -0
  284. package/src/lib/query-handler.ts +7 -0
  285. package/src/lib/t-sentence-case.ts +10 -0
  286. package/src/login-button.ts +75 -0
  287. package/src/media-button.ts +103 -0
  288. package/src/media-menu.ts +143 -0
  289. package/src/media-slider.ts +130 -0
  290. package/src/media-subnav.ts +132 -0
  291. package/src/models.ts +63 -0
  292. package/src/more-slider.ts +42 -0
  293. package/src/nav-search.ts +114 -0
  294. package/src/primary-nav.ts +266 -0
  295. package/src/save-page-form.ts +59 -0
  296. package/src/search-menu.ts +156 -0
  297. package/src/signed-out-dropdown.ts +11 -0
  298. package/src/styles/base.ts +48 -0
  299. package/src/styles/desktop-subnav.ts +37 -0
  300. package/src/styles/dropdown-menu.ts +170 -0
  301. package/src/styles/ia-topnav.ts +87 -0
  302. package/src/styles/login-button.ts +82 -0
  303. package/src/styles/media-button.ts +156 -0
  304. package/src/styles/media-menu.ts +66 -0
  305. package/src/styles/media-slider.ts +81 -0
  306. package/src/styles/media-subnav.ts +159 -0
  307. package/src/styles/more-slider.ts +15 -0
  308. package/src/styles/nav-search.ts +136 -0
  309. package/src/styles/primary-nav.ts +310 -0
  310. package/src/styles/save-page-form.ts +54 -0
  311. package/src/styles/search-menu.ts +105 -0
  312. package/src/styles/signed-out-dropdown.ts +31 -0
  313. package/src/styles/user-menu.ts +31 -0
  314. package/src/styles/wayback-search.ts +48 -0
  315. package/src/styles/wayback-slider.ts +33 -0
  316. package/src/tracked-element.ts +32 -0
  317. package/src/user-menu.ts +57 -0
  318. package/src/wayback-search.ts +10 -0
  319. package/src/wayback-slider.ts +88 -0
  320. package/ssl/server.crt +22 -0
  321. package/ssl/server.key +28 -0
  322. package/test/assets/img/hamburger.test.ts +18 -0
  323. package/test/data/menus.test.ts +15 -0
  324. package/test/dropdown-menu.test.ts +23 -0
  325. package/test/ia-icon.test.ts +15 -0
  326. package/test/ia-topnav.test.ts +343 -0
  327. package/test/login-button.test.ts +19 -0
  328. package/test/media-button.test.ts +19 -0
  329. package/test/media-menu.test.ts +42 -0
  330. package/test/media-slider.test.ts +63 -0
  331. package/test/more-slider.test.ts +21 -0
  332. package/test/nav-search.test.ts +70 -0
  333. package/test/primary-nav.test.ts +94 -0
  334. package/test/save-page-form.test.ts +62 -0
  335. package/test/search-menu.test.ts +58 -0
  336. package/test/user-menu.test.ts +34 -0
  337. package/test/wayback-slider.test.ts +97 -0
  338. package/tsconfig.json +31 -0
  339. package/web-dev-server.config.mjs +32 -0
  340. package/web-test-runner.config.mjs +41 -0
@@ -0,0 +1,159 @@
1
+ import { css } from 'lit';
2
+ import { subnavListCSS } from './base';
3
+
4
+ export default [
5
+ subnavListCSS,
6
+ css`
7
+ img {
8
+ display: block;
9
+ width: 90px;
10
+ height: 90px;
11
+ margin: 0 auto 1rem auto;
12
+ border-radius: 45px;
13
+ }
14
+
15
+ h3 {
16
+ margin-top: 0;
17
+ font-size: 1.8rem;
18
+ }
19
+
20
+ .icon-links {
21
+ display: -webkit-box;
22
+ display: -ms-flexbox;
23
+ display: flex;
24
+ -webkit-box-pack: space-evenly;
25
+ -ms-flex-pack: space-evenly;
26
+ justify-content: space-evenly;
27
+ text-align: center;
28
+ }
29
+
30
+ .icon-links a {
31
+ display: inline-block;
32
+ width: 12rem;
33
+ margin-bottom: 1.5rem;
34
+ overflow: hidden;
35
+ white-space: nowrap;
36
+ text-align: center;
37
+ text-overflow: ellipsis;
38
+ }
39
+
40
+ .icon-links a + a {
41
+ margin-left: 2rem;
42
+ }
43
+
44
+ .featured h4 {
45
+ display: none;
46
+ }
47
+
48
+ @media (min-width: 890px) {
49
+ :host {
50
+ display: -ms-grid;
51
+ display: grid;
52
+ -ms-grid-columns: 40% 20% 40%;
53
+ grid-template-columns: 40% 20% 40%;
54
+ }
55
+
56
+ .wayback-search {
57
+ -ms-grid-column: 1;
58
+ -ms-grid-column-span: 3;
59
+ grid-column: 1 / 4;
60
+ }
61
+
62
+ h3 {
63
+ display: none;
64
+ }
65
+
66
+ .icon-links {
67
+ -ms-grid-column: 1;
68
+ }
69
+
70
+ .icon-links a {
71
+ padding-top: 3.5rem;
72
+ max-width: 16rem;
73
+ }
74
+
75
+ .links {
76
+ padding: 0 1.5rem;
77
+ }
78
+
79
+ .featured {
80
+ -ms-grid-column: 2;
81
+ }
82
+
83
+ .featured h4 {
84
+ display: block;
85
+ }
86
+
87
+ .top {
88
+ -ms-grid-column: 3;
89
+ }
90
+
91
+ .top ul {
92
+ display: -ms-grid;
93
+ display: grid;
94
+ -ms-grid-columns: 50% 3rem 50%;
95
+ grid-template-columns: 50% 50%;
96
+ -ms-grid-rows: (auto) [7];
97
+ grid-template-rows: repeat(7, auto);
98
+ grid-column-gap: 3rem;
99
+ grid-auto-flow: column;
100
+ }
101
+ .top ul > *:nth-child(1) {
102
+ -ms-grid-row: 1;
103
+ -ms-grid-column: 1;
104
+ }
105
+ .top ul > *:nth-child(2) {
106
+ -ms-grid-row: 2;
107
+ -ms-grid-column: 1;
108
+ }
109
+ .top ul > *:nth-child(3) {
110
+ -ms-grid-row: 3;
111
+ -ms-grid-column: 1;
112
+ }
113
+ .top ul > *:nth-child(4) {
114
+ -ms-grid-row: 4;
115
+ -ms-grid-column: 1;
116
+ }
117
+ .top ul > *:nth-child(5) {
118
+ -ms-grid-row: 5;
119
+ -ms-grid-column: 1;
120
+ }
121
+ .top ul > *:nth-child(6) {
122
+ -ms-grid-row: 6;
123
+ -ms-grid-column: 1;
124
+ }
125
+ .top ul > *:nth-child(7) {
126
+ -ms-grid-row: 7;
127
+ -ms-grid-column: 1;
128
+ }
129
+ .top ul > *:nth-child(8) {
130
+ -ms-grid-row: 1;
131
+ -ms-grid-column: 3;
132
+ }
133
+ .top ul > *:nth-child(9) {
134
+ -ms-grid-row: 2;
135
+ -ms-grid-column: 3;
136
+ }
137
+ .top ul > *:nth-child(10) {
138
+ -ms-grid-row: 3;
139
+ -ms-grid-column: 3;
140
+ }
141
+ .top ul > *:nth-child(11) {
142
+ -ms-grid-row: 4;
143
+ -ms-grid-column: 3;
144
+ }
145
+ .top ul > *:nth-child(12) {
146
+ -ms-grid-row: 5;
147
+ -ms-grid-column: 3;
148
+ }
149
+ .top ul > *:nth-child(13) {
150
+ -ms-grid-row: 6;
151
+ -ms-grid-column: 3;
152
+ }
153
+ .top ul > *:nth-child(14) {
154
+ -ms-grid-row: 7;
155
+ -ms-grid-column: 3;
156
+ }
157
+ }
158
+ `,
159
+ ];
@@ -0,0 +1,15 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ ul {
5
+ padding: 0;
6
+ margin: -1rem 0 0 0;
7
+ list-style: none;
8
+ }
9
+ a {
10
+ display: block;
11
+ padding: 1rem 0;
12
+ text-decoration: none;
13
+ color: var(--activeColor);
14
+ }
15
+ `;
@@ -0,0 +1,136 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ input[type='text'] {
5
+ color: var(--grey13);
6
+ }
7
+
8
+ input:focus {
9
+ outline: none;
10
+ }
11
+ button {
12
+ background: none;
13
+ color: inherit;
14
+ border: none;
15
+ font: inherit;
16
+ cursor: pointer;
17
+ }
18
+ button:focus {
19
+ outline: none;
20
+ }
21
+ .search {
22
+ padding-top: 0;
23
+ margin-right: 0.5rem;
24
+ }
25
+ .search svg {
26
+ position: relative;
27
+ fill: var(--activeSearchColor);
28
+ }
29
+ .search-activated {
30
+ display: -webkit-box;
31
+ display: -ms-flexbox;
32
+ display: flex;
33
+ position: absolute;
34
+ top: 0;
35
+ right: 4rem;
36
+ bottom: 0;
37
+ left: 4rem;
38
+ z-index: 3;
39
+ padding: 0.5rem 0.2rem;
40
+ border-radius: 1rem 1rem 0 0;
41
+ background: var(--searchActiveBg);
42
+ }
43
+ .search-inactive {
44
+ display: none;
45
+ }
46
+ .search-activated .highlight,
47
+ .search-activated .search {
48
+ background: var(--searchActiveInputBg);
49
+ border-radius: 0.5rem;
50
+ }
51
+ .search-activated .highlight {
52
+ display: -webkit-box;
53
+ display: -ms-flexbox;
54
+ display: flex;
55
+ width: 100%;
56
+ margin: 0 0.5rem;
57
+ }
58
+ .search-activated .search {
59
+ height: 100%;
60
+ padding: 0;
61
+ margin-right: 0;
62
+ -ms-flex-item-align: center;
63
+ -ms-grid-row-align: center;
64
+ align-self: center;
65
+ }
66
+ .search-activated .search svg {
67
+ height: 3rem;
68
+ width: 3rem;
69
+ }
70
+ .search-activated .search-field {
71
+ width: 100%;
72
+ height: 100%;
73
+ box-sizing: border-box;
74
+ padding-left: 1rem;
75
+ border-radius: 0.5rem;
76
+ border: none;
77
+ font-size: 1.6rem;
78
+ text-align: center;
79
+ }
80
+ .search-activated .search-field:focus {
81
+ outline: none;
82
+ }
83
+ @keyframes fade-in {
84
+ 0% {
85
+ opacity: 0;
86
+ }
87
+ 100% {
88
+ opacity: 1;
89
+ }
90
+ }
91
+ .fade-in {
92
+ animation: fade-in 0.2s forwards;
93
+ }
94
+
95
+ @media (min-width: 890px) {
96
+ .search svg {
97
+ display: inline;
98
+ width: 2.8rem;
99
+ height: 2.8rem;
100
+ vertical-align: -14px;
101
+ }
102
+ .search path {
103
+ fill: var(--desktopSearchIconFill);
104
+ }
105
+
106
+ .search-inactive,
107
+ .search-activated {
108
+ display: block;
109
+ position: static;
110
+ padding: 1.1rem 0.2rem;
111
+ background: transparent;
112
+ }
113
+
114
+ .search-activated .highlight {
115
+ width: 13rem;
116
+ height: 2.8rem;
117
+ -webkit-box-orient: horizontal;
118
+ -webkit-box-direction: reverse;
119
+ -ms-flex-direction: row-reverse;
120
+ flex-direction: row-reverse;
121
+ }
122
+
123
+ .search-activated .search-field {
124
+ width: calc(100% - 28px);
125
+ height: 100%;
126
+ padding-left: 0;
127
+ font-size: 1.4rem;
128
+ text-align: left;
129
+ }
130
+
131
+ .search-activated .search svg {
132
+ width: 2.8rem;
133
+ height: 2.8rem;
134
+ }
135
+ }
136
+ `;
@@ -0,0 +1,310 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ button:focus,
5
+ input:focus {
6
+ outline: none;
7
+ }
8
+
9
+ nav {
10
+ position: relative;
11
+ display: flex;
12
+ height: 4rem;
13
+ grid-template-areas: 'hamburger empty heart search user';
14
+ -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem 4rem;
15
+ grid-template-columns: 4rem auto 4rem 4rem 4rem;
16
+ -ms-grid-rows: 100%;
17
+ grid-template-rows: 100%;
18
+ background: var(--primaryNavBg);
19
+ border-bottom: 1px solid var(--primaryNavBottomBorder);
20
+ }
21
+
22
+ nav.hide-search {
23
+ grid-template-areas: 'hamburger empty heart user';
24
+ -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem;
25
+ grid-template-columns: 4rem auto 4rem 4rem;
26
+ }
27
+
28
+ .right-side-section {
29
+ display: flex;
30
+ margin-left: auto;
31
+ user-select: none;
32
+ }
33
+ button {
34
+ background: none;
35
+ color: inherit;
36
+ border: none;
37
+ font: inherit;
38
+ cursor: pointer;
39
+ }
40
+
41
+ .branding {
42
+ position: static;
43
+ float: left;
44
+ margin: 0 !important;
45
+ padding: 0 5px 0 10px;
46
+ -webkit-transform: translate(0, 0);
47
+ -ms-transform: translate(0, 0);
48
+ transform: translate(0, 0);
49
+ }
50
+
51
+ slot,
52
+ .branding {
53
+ display: flex;
54
+ justify-content: left;
55
+ align-items: center;
56
+ }
57
+
58
+ media-menu {
59
+ flex: 1;
60
+ justify-self: stretch;
61
+ }
62
+
63
+ .ia-logo {
64
+ height: 3rem;
65
+ width: 2.7rem;
66
+ display: inline-block;
67
+ }
68
+ .ia-wordmark {
69
+ height: 3rem;
70
+ width: 9.5rem;
71
+ }
72
+ .ia-logo,
73
+ .ia-wordmark {
74
+ margin-right: 5px;
75
+ }
76
+
77
+ .hamburger {
78
+ -ms-grid-row: 1;
79
+ -ms-grid-column: 1;
80
+ grid-area: hamburger;
81
+ padding: 0;
82
+ }
83
+ .hamburger svg {
84
+ height: 4rem;
85
+ width: 4rem;
86
+ fill: var(--activeColor);
87
+ }
88
+
89
+ .mobile-donate-link {
90
+ display: inline-block;
91
+ }
92
+ .mobile-donate-link svg {
93
+ height: 4rem;
94
+ width: 4rem;
95
+ }
96
+ .mobile-donate-link .fill-color {
97
+ fill: rgb(255, 0, 0);
98
+ }
99
+
100
+ .sr-only {
101
+ position: absolute;
102
+ width: 1px;
103
+ height: 1px;
104
+ margin: -1px;
105
+ padding: 0;
106
+ border: 0;
107
+ overflow: hidden;
108
+ white-space: nowrap;
109
+ clip: rect(1px, 1px, 1px, 1px);
110
+ -webkit-clip-path: inset(50%);
111
+ clip-path: inset(50%);
112
+ user-select: none;
113
+ }
114
+
115
+ .search-trigger {
116
+ padding: 0;
117
+ }
118
+ .search-trigger svg {
119
+ height: 4rem;
120
+ width: 4rem;
121
+ }
122
+ .search-trigger .fill-color {
123
+ fill: var(--iconFill);
124
+ }
125
+
126
+ .search-activated {
127
+ position: relative;
128
+ z-index: 3;
129
+ }
130
+
131
+ .upload {
132
+ display: none;
133
+ }
134
+
135
+ .upload span {
136
+ display: none;
137
+ }
138
+
139
+ .upload svg {
140
+ height: 3rem;
141
+ width: 3rem;
142
+ }
143
+
144
+ .screen-name {
145
+ display: none;
146
+ font-size: 1.3rem;
147
+ vertical-align: middle;
148
+ text-transform: uppercase;
149
+ }
150
+
151
+ .user-menu {
152
+ color: var(--lightTextColor);
153
+ padding: 0.5rem;
154
+ height: 100%;
155
+ }
156
+
157
+ button.user-menu:hover,
158
+ button.user-menu:focus {
159
+ color: var(--linkHoverColor);
160
+ outline: none;
161
+ }
162
+
163
+ .user-menu.active {
164
+ border-radius: 1rem 1rem 0 0;
165
+ background: var(--activeButtonBg);
166
+ }
167
+
168
+ .user-menu img {
169
+ display: block;
170
+ width: 3rem;
171
+ height: 3rem;
172
+ }
173
+
174
+ .link-home {
175
+ text-decoration: none;
176
+ display: inline-flex;
177
+ }
178
+ a.link-home:focus,
179
+ a.link-home:focus-visible {
180
+ outline-offset: 1px;
181
+ }
182
+
183
+ @media only screen and (min-width: 890px) and (max-device-width: 905px) {
184
+ .branding.second-logo {
185
+ padding-right: 0;
186
+ }
187
+ }
188
+
189
+ @media (min-width: 906px) {
190
+ .branding.second-logo {
191
+ padding-right: 20px;
192
+ }
193
+ }
194
+
195
+ @media (max-width: 889px) {
196
+ slot[name='opt-sec-logo'] {
197
+ display: none;
198
+ }
199
+
200
+ .right-side-section {
201
+ display: initial;
202
+ }
203
+ .right-side-section .user-info {
204
+ float: right;
205
+ }
206
+ }
207
+
208
+ @media (min-width: 890px) {
209
+ :host {
210
+ --userIconWidth: 3.2rem;
211
+ --userIconHeight: 3.2rem;
212
+ }
213
+
214
+ nav {
215
+ display: flex;
216
+ z-index: 4;
217
+ height: 5rem;
218
+ padding-right: 1.5rem;
219
+ }
220
+
221
+ slot[name='opt-sec-logo-mobile'] {
222
+ display: none;
223
+ }
224
+
225
+ .ia-logo,
226
+ .ia-wordmark {
227
+ margin-right: 10px;
228
+ }
229
+
230
+ .hamburger,
231
+ .search-trigger,
232
+ .mobile-donate-link {
233
+ display: none;
234
+ }
235
+
236
+ .user-info {
237
+ display: block;
238
+ float: right;
239
+ vertical-align: middle;
240
+ height: 100%;
241
+ }
242
+
243
+ .user-info .user-menu img {
244
+ height: 3rem;
245
+ width: 3rem;
246
+ margin-right: 0.5rem;
247
+ }
248
+
249
+ .user-menu {
250
+ padding: 1rem 0.5rem;
251
+ }
252
+ .user-menu.active {
253
+ background: transparent;
254
+ }
255
+
256
+ .user-menu img {
257
+ display: inline-block;
258
+ vertical-align: middle;
259
+ margin-right: 0.5rem;
260
+ }
261
+
262
+ .upload {
263
+ display: block;
264
+ padding: 1rem 0.5rem;
265
+ float: right;
266
+ font-size: 1.4rem;
267
+ text-transform: uppercase;
268
+ text-decoration: none;
269
+ color: var(--lightTextColor);
270
+ }
271
+ .upload:active,
272
+ .upload:focus,
273
+ .upload:hover {
274
+ color: var(--linkHoverColor);
275
+ }
276
+ .upload:focus-visible {
277
+ outline: none;
278
+ }
279
+
280
+ .upload svg {
281
+ vertical-align: middle;
282
+ fill: var(--iconFill);
283
+ }
284
+
285
+ .upload:hover svg,
286
+ .upload:focus svg,
287
+ .upload:active svg {
288
+ fill: var(--linkHoverColor);
289
+ }
290
+
291
+ nav-search {
292
+ float: right;
293
+ margin-left: 1rem;
294
+ }
295
+ }
296
+
297
+ @media (min-width: 990px) {
298
+ .screen-name {
299
+ display: inline-block;
300
+ text-overflow: ellipsis;
301
+ overflow: hidden;
302
+ white-space: nowrap;
303
+ max-width: 165px;
304
+ }
305
+
306
+ .upload span {
307
+ display: inline;
308
+ }
309
+ }
310
+ `;
@@ -0,0 +1,54 @@
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ div {
5
+ display: grid;
6
+ grid-template-columns: 1fr auto;
7
+ grid-column-gap: 0.8rem;
8
+ margin: 0;
9
+ padding: 0;
10
+ border: none;
11
+ }
12
+
13
+ input[type='text'] {
14
+ width: 100%;
15
+ height: 3rem;
16
+ box-sizing: border-box;
17
+ border: 1px solid var(--savePageInputBorder);
18
+ border-radius: 0.5rem;
19
+ color: var(--grey13);
20
+ font-size: inherit;
21
+ }
22
+
23
+ input[type='submit'] {
24
+ -webkit-appearance: none;
25
+ -moz-appearance: none;
26
+ appearance: none;
27
+ padding: 0.4rem 0.8rem;
28
+ font: normal 1.3rem var(--themeFontFamily);
29
+ text-transform: uppercase;
30
+ color: var(--savePageSubmitText);
31
+ border: none;
32
+ border-radius: 16px;
33
+ background: var(--savePageSubmitBg);
34
+ cursor: pointer;
35
+ }
36
+
37
+ .error {
38
+ display: none;
39
+ margin-top: 0.5rem;
40
+ font-weight: bold;
41
+ color: var(--savePageErrorText);
42
+ }
43
+
44
+ .visible {
45
+ display: block;
46
+ }
47
+
48
+ @media (min-width: 890px) {
49
+ h3 {
50
+ margin-top: 0;
51
+ font: normal 100 1.6rem var(--themeFontFamily);
52
+ }
53
+ }
54
+ `;