@internetarchive/ia-topnav 1.3.5 → 1.3.6

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 (84) hide show
  1. package/.eslintrc +16 -16
  2. package/LICENSE +661 -661
  3. package/README.md +147 -147
  4. package/index.d.ts +109 -109
  5. package/index.js +3 -3
  6. package/package.json +61 -61
  7. package/src/assets/img/hamburger.js +38 -38
  8. package/src/assets/img/ia-icon.js +33 -33
  9. package/src/assets/img/icon-audio.js +23 -23
  10. package/src/assets/img/icon-close.js +16 -16
  11. package/src/assets/img/icon-donate-unpadded.js +16 -16
  12. package/src/assets/img/icon-donate.js +15 -15
  13. package/src/assets/img/icon-ellipses.js +15 -15
  14. package/src/assets/img/icon-ia-logo.js +22 -22
  15. package/src/assets/img/icon-images.js +15 -15
  16. package/src/assets/img/icon-search.js +15 -15
  17. package/src/assets/img/icon-software.js +15 -15
  18. package/src/assets/img/icon-texts.js +15 -15
  19. package/src/assets/img/icon-upload-unpadded.js +14 -14
  20. package/src/assets/img/icon-upload.js +15 -15
  21. package/src/assets/img/icon-user.js +15 -15
  22. package/src/assets/img/icon-video.js +15 -15
  23. package/src/assets/img/icon-web.js +15 -15
  24. package/src/assets/img/icon.js +18 -18
  25. package/src/assets/img/icons.js +33 -33
  26. package/src/assets/img/wordmark-stacked.js +13 -13
  27. package/src/data/menus.js +646 -646
  28. package/src/desktop-subnav.js +45 -45
  29. package/src/dropdown-menu.js +109 -109
  30. package/src/ia-topnav.js +314 -314
  31. package/src/lib/formatUrl.js +1 -1
  32. package/src/lib/location-handler.js +5 -5
  33. package/src/lib/query-handler.js +7 -7
  34. package/src/lib/toSentenceCase.js +8 -8
  35. package/src/login-button.js +79 -79
  36. package/src/media-button.js +113 -113
  37. package/src/media-menu.js +133 -133
  38. package/src/media-slider.js +104 -104
  39. package/src/media-subnav.js +112 -112
  40. package/src/more-slider.js +33 -33
  41. package/src/nav-search.js +117 -125
  42. package/src/primary-nav.js +224 -224
  43. package/src/save-page-form.js +59 -59
  44. package/src/search-menu.js +115 -115
  45. package/src/signed-out-dropdown.js +10 -10
  46. package/src/styles/base.js +48 -48
  47. package/src/styles/desktop-subnav.js +37 -37
  48. package/src/styles/dropdown-menu.js +166 -166
  49. package/src/styles/ia-topnav.js +87 -87
  50. package/src/styles/login-button.js +79 -79
  51. package/src/styles/media-button.js +156 -156
  52. package/src/styles/media-menu.js +70 -70
  53. package/src/styles/media-slider.js +81 -81
  54. package/src/styles/media-subnav.js +156 -156
  55. package/src/styles/more-slider.js +15 -15
  56. package/src/styles/nav-search.js +136 -136
  57. package/src/styles/primary-nav.js +300 -300
  58. package/src/styles/save-page-form.js +54 -54
  59. package/src/styles/search-menu.js +99 -99
  60. package/src/styles/signed-out-dropdown.js +31 -31
  61. package/src/styles/user-menu.js +31 -31
  62. package/src/styles/wayback-search.js +48 -48
  63. package/src/styles/wayback-slider.js +30 -30
  64. package/src/tracked-element.js +27 -27
  65. package/src/user-menu.js +42 -42
  66. package/src/wayback-search.js +18 -18
  67. package/src/wayback-slider.js +87 -87
  68. package/test/assets/img/hamburger.test.js +15 -15
  69. package/test/assets/img/user.test.js +15 -15
  70. package/test/data/menus.test.js +19 -19
  71. package/test/dropdown-menu.test.js +25 -25
  72. package/test/ia-icon.test.js +13 -13
  73. package/test/ia-topnav.test.js +273 -273
  74. package/test/login-button.test.js +15 -15
  75. package/test/media-button.test.js +19 -19
  76. package/test/media-menu.test.js +40 -40
  77. package/test/media-slider.test.js +57 -57
  78. package/test/more-slider.test.js +13 -13
  79. package/test/nav-search.test.js +61 -61
  80. package/test/primary-nav.test.js +82 -82
  81. package/test/save-page-form.test.js +35 -35
  82. package/test/search-menu.test.js +49 -49
  83. package/test/user-menu.test.js +33 -33
  84. package/test/wayback-slider.test.js +80 -80
@@ -1,300 +1,300 @@
1
- import { css } from 'https://offshoot.prod.archive.org/lit.js';
2
-
3
- export default css`
4
- button:focus,
5
- a:focus,
6
- input:focus {
7
- outline: none;
8
- }
9
-
10
- nav {
11
- position: relative;
12
- display: -ms-grid;
13
- display: grid;
14
- height: 4rem;
15
- grid-template-areas: 'hamburger empty heart search user';
16
- -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem 4rem;
17
- grid-template-columns: 4rem auto 4rem 4rem 4rem;
18
- -ms-grid-rows: 100%;
19
- grid-template-rows: 100%;
20
- background: var(--primaryNavBg);
21
- border-bottom: 1px solid var(--primaryNavBottomBorder);
22
- }
23
-
24
- nav.hide-search {
25
- grid-template-areas: 'hamburger empty heart user';
26
- -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem;
27
- grid-template-columns: 4rem auto 4rem 4rem;
28
- }
29
-
30
- .right-side-section {
31
- display: flex;
32
- user-select: none;
33
- }
34
- button {
35
- background: none;
36
- color: inherit;
37
- border: none;
38
- font: inherit;
39
- cursor: pointer;
40
- }
41
-
42
- .branding {
43
- position: static;
44
- float: left;
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
- grid-column-start: hamburger-start;
60
- grid-column-end: user-end;
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 svg {
90
- height: 4rem;
91
- width: 4rem;
92
- }
93
- .mobile-donate-link .fill-color {
94
- fill: rgb(255, 0, 0);
95
- }
96
-
97
- .sr-only {
98
- position: absolute;
99
- width: 1px;
100
- height: 1px;
101
- margin: -1px;
102
- padding: 0;
103
- border: 0;
104
- overflow: hidden;
105
- white-space: nowrap;
106
- clip: rect(1px, 1px, 1px, 1px);
107
- -webkit-clip-path: inset(50%);
108
- clip-path: inset(50%);
109
- user-select: none;
110
- }
111
-
112
- .search-trigger {
113
- padding: 0;
114
- }
115
- .search-trigger svg {
116
- height: 4rem;
117
- width: 4rem;
118
- }
119
- .search-trigger .fill-color {
120
- fill: var(--iconFill);
121
- }
122
-
123
- .search-activated {
124
- position: relative;
125
- z-index: 3;
126
- }
127
-
128
- .upload {
129
- display: none;
130
- }
131
-
132
- .upload span {
133
- display: none;
134
- }
135
-
136
- .upload svg {
137
- height: 3rem;
138
- width: 3rem;
139
- }
140
-
141
- .screen-name {
142
- display: none;
143
- font-size: 1.3rem;
144
- vertical-align: middle;
145
- text-transform: uppercase;
146
- }
147
-
148
- .user-menu {
149
- color: var(--lightTextColor);
150
- padding: 0.5rem;
151
- height: 100%;
152
- }
153
-
154
- .user-menu:hover {
155
- color: var(--linkHoverColor);
156
- }
157
-
158
- .user-menu.active {
159
- border-radius: 1rem 1rem 0 0;
160
- background: var(--activeButtonBg);
161
- }
162
-
163
- .user-menu img {
164
- display: block;
165
- width: 3rem;
166
- height: 3rem;
167
- }
168
-
169
- .link-home {
170
- text-decoration: none;
171
- display: inline-flex;
172
- }
173
-
174
- @media only screen and (min-width: 890px) and (max-device-width: 905px) {
175
- .branding.second-logo {
176
- padding-right: 0;
177
- }
178
- }
179
-
180
- @media (min-width: 906px) {
181
- .branding.second-logo {
182
- padding-right: 20px;
183
- }
184
- }
185
-
186
- @media (max-width: 889px) {
187
- slot[name='opt-sec-logo'] {
188
- display: none;
189
- }
190
- }
191
-
192
- @media (min-width: 890px) {
193
- :host {
194
- --userIconWidth: 3.2rem;
195
- --userIconHeight: 3.2rem;
196
- }
197
-
198
- .right-side-section {
199
- display: contents;
200
- }
201
-
202
- nav {
203
- display: block;
204
- z-index: 4;
205
- height: 5rem;
206
- padding-right: 1.5rem;
207
- }
208
-
209
- slot[name='opt-sec-logo-mobile'] {
210
- display: none;
211
- }
212
-
213
- .branding {
214
- margin-top: 1rem;
215
- }
216
-
217
- .ia-logo,
218
- .ia-wordmark {
219
- margin-right: 10px;
220
- }
221
-
222
- .hamburger,
223
- .search-trigger,
224
- .mobile-donate-link {
225
- display: none;
226
- }
227
-
228
- .user-info {
229
- display: block;
230
- float: right;
231
- vertical-align: middle;
232
- height: 100%;
233
- }
234
-
235
- .user-info .user-menu img {
236
- height: 3rem;
237
- width: 3rem;
238
- margin-right: 0.5rem;
239
- }
240
-
241
- .user-menu {
242
- padding: 1rem 0.5rem;
243
- }
244
- .user-menu.active {
245
- background: transparent;
246
- }
247
-
248
- .user-menu img {
249
- display: inline-block;
250
- vertical-align: middle;
251
- margin-right: 0.5rem;
252
- }
253
-
254
- .upload {
255
- display: block;
256
- padding: 1rem 0.5rem;
257
- float: right;
258
- font-size: 1.4rem;
259
- text-transform: uppercase;
260
- text-decoration: none;
261
- color: var(--lightTextColor);
262
- }
263
- .upload:active,
264
- .upload:focus,
265
- .upload:hover {
266
- color: var(--linkHoverColor);
267
- }
268
-
269
- .upload svg {
270
- vertical-align: middle;
271
- fill: var(--iconFill);
272
- }
273
-
274
- .upload:hover svg,
275
- .upload:focus svg,
276
- .upload:active svg {
277
- fill: var(--linkHoverColor);
278
- }
279
-
280
- nav-search {
281
- float: right;
282
- margin-left: 1rem;
283
- }
284
-
285
- }
286
-
287
- @media (min-width: 990px) {
288
- .screen-name {
289
- display: inline-block;
290
- text-overflow: ellipsis;
291
- overflow: hidden;
292
- white-space: nowrap;
293
- max-width: 165px;
294
- }
295
-
296
- .upload span {
297
- display: inline;
298
- }
299
- }
300
- `;
1
+ import { css } from 'https://offshoot.prod.archive.org/lit.js';
2
+
3
+ export default css`
4
+ button:focus,
5
+ a:focus,
6
+ input:focus {
7
+ outline: none;
8
+ }
9
+
10
+ nav {
11
+ position: relative;
12
+ display: -ms-grid;
13
+ display: grid;
14
+ height: 4rem;
15
+ grid-template-areas: 'hamburger empty heart search user';
16
+ -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem 4rem;
17
+ grid-template-columns: 4rem auto 4rem 4rem 4rem;
18
+ -ms-grid-rows: 100%;
19
+ grid-template-rows: 100%;
20
+ background: var(--primaryNavBg);
21
+ border-bottom: 1px solid var(--primaryNavBottomBorder);
22
+ }
23
+
24
+ nav.hide-search {
25
+ grid-template-areas: 'hamburger empty heart user';
26
+ -ms-grid-columns: 4rem minmax(1rem, 100%) 4rem 4rem;
27
+ grid-template-columns: 4rem auto 4rem 4rem;
28
+ }
29
+
30
+ .right-side-section {
31
+ display: flex;
32
+ user-select: none;
33
+ }
34
+ button {
35
+ background: none;
36
+ color: inherit;
37
+ border: none;
38
+ font: inherit;
39
+ cursor: pointer;
40
+ }
41
+
42
+ .branding {
43
+ position: static;
44
+ float: left;
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
+ grid-column-start: hamburger-start;
60
+ grid-column-end: user-end;
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 svg {
90
+ height: 4rem;
91
+ width: 4rem;
92
+ }
93
+ .mobile-donate-link .fill-color {
94
+ fill: rgb(255, 0, 0);
95
+ }
96
+
97
+ .sr-only {
98
+ position: absolute;
99
+ width: 1px;
100
+ height: 1px;
101
+ margin: -1px;
102
+ padding: 0;
103
+ border: 0;
104
+ overflow: hidden;
105
+ white-space: nowrap;
106
+ clip: rect(1px, 1px, 1px, 1px);
107
+ -webkit-clip-path: inset(50%);
108
+ clip-path: inset(50%);
109
+ user-select: none;
110
+ }
111
+
112
+ .search-trigger {
113
+ padding: 0;
114
+ }
115
+ .search-trigger svg {
116
+ height: 4rem;
117
+ width: 4rem;
118
+ }
119
+ .search-trigger .fill-color {
120
+ fill: var(--iconFill);
121
+ }
122
+
123
+ .search-activated {
124
+ position: relative;
125
+ z-index: 3;
126
+ }
127
+
128
+ .upload {
129
+ display: none;
130
+ }
131
+
132
+ .upload span {
133
+ display: none;
134
+ }
135
+
136
+ .upload svg {
137
+ height: 3rem;
138
+ width: 3rem;
139
+ }
140
+
141
+ .screen-name {
142
+ display: none;
143
+ font-size: 1.3rem;
144
+ vertical-align: middle;
145
+ text-transform: uppercase;
146
+ }
147
+
148
+ .user-menu {
149
+ color: var(--lightTextColor);
150
+ padding: 0.5rem;
151
+ height: 100%;
152
+ }
153
+
154
+ .user-menu:hover {
155
+ color: var(--linkHoverColor);
156
+ }
157
+
158
+ .user-menu.active {
159
+ border-radius: 1rem 1rem 0 0;
160
+ background: var(--activeButtonBg);
161
+ }
162
+
163
+ .user-menu img {
164
+ display: block;
165
+ width: 3rem;
166
+ height: 3rem;
167
+ }
168
+
169
+ .link-home {
170
+ text-decoration: none;
171
+ display: inline-flex;
172
+ }
173
+
174
+ @media only screen and (min-width: 890px) and (max-device-width: 905px) {
175
+ .branding.second-logo {
176
+ padding-right: 0;
177
+ }
178
+ }
179
+
180
+ @media (min-width: 906px) {
181
+ .branding.second-logo {
182
+ padding-right: 20px;
183
+ }
184
+ }
185
+
186
+ @media (max-width: 889px) {
187
+ slot[name='opt-sec-logo'] {
188
+ display: none;
189
+ }
190
+ }
191
+
192
+ @media (min-width: 890px) {
193
+ :host {
194
+ --userIconWidth: 3.2rem;
195
+ --userIconHeight: 3.2rem;
196
+ }
197
+
198
+ .right-side-section {
199
+ display: contents;
200
+ }
201
+
202
+ nav {
203
+ display: block;
204
+ z-index: 4;
205
+ height: 5rem;
206
+ padding-right: 1.5rem;
207
+ }
208
+
209
+ slot[name='opt-sec-logo-mobile'] {
210
+ display: none;
211
+ }
212
+
213
+ .branding {
214
+ margin-top: 1rem;
215
+ }
216
+
217
+ .ia-logo,
218
+ .ia-wordmark {
219
+ margin-right: 10px;
220
+ }
221
+
222
+ .hamburger,
223
+ .search-trigger,
224
+ .mobile-donate-link {
225
+ display: none;
226
+ }
227
+
228
+ .user-info {
229
+ display: block;
230
+ float: right;
231
+ vertical-align: middle;
232
+ height: 100%;
233
+ }
234
+
235
+ .user-info .user-menu img {
236
+ height: 3rem;
237
+ width: 3rem;
238
+ margin-right: 0.5rem;
239
+ }
240
+
241
+ .user-menu {
242
+ padding: 1rem 0.5rem;
243
+ }
244
+ .user-menu.active {
245
+ background: transparent;
246
+ }
247
+
248
+ .user-menu img {
249
+ display: inline-block;
250
+ vertical-align: middle;
251
+ margin-right: 0.5rem;
252
+ }
253
+
254
+ .upload {
255
+ display: block;
256
+ padding: 1rem 0.5rem;
257
+ float: right;
258
+ font-size: 1.4rem;
259
+ text-transform: uppercase;
260
+ text-decoration: none;
261
+ color: var(--lightTextColor);
262
+ }
263
+ .upload:active,
264
+ .upload:focus,
265
+ .upload:hover {
266
+ color: var(--linkHoverColor);
267
+ }
268
+
269
+ .upload svg {
270
+ vertical-align: middle;
271
+ fill: var(--iconFill);
272
+ }
273
+
274
+ .upload:hover svg,
275
+ .upload:focus svg,
276
+ .upload:active svg {
277
+ fill: var(--linkHoverColor);
278
+ }
279
+
280
+ nav-search {
281
+ float: right;
282
+ margin-left: 1rem;
283
+ }
284
+
285
+ }
286
+
287
+ @media (min-width: 990px) {
288
+ .screen-name {
289
+ display: inline-block;
290
+ text-overflow: ellipsis;
291
+ overflow: hidden;
292
+ white-space: nowrap;
293
+ max-width: 165px;
294
+ }
295
+
296
+ .upload span {
297
+ display: inline;
298
+ }
299
+ }
300
+ `;