@internetarchive/ia-topnav 2.1.0 → 2.1.1-webdev-8723.0
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.
- package/.prettierignore +1 -1
- package/LICENSE +661 -661
- package/README.md +147 -147
- package/demo/index.html +28 -28
- package/dist/index.js.map +1 -1
- package/dist/src/data/menus.js +1 -1
- package/dist/src/data/menus.js.map +1 -1
- package/dist/src/models.js.map +1 -1
- package/dist/src/styles/base.js +45 -45
- package/dist/src/styles/base.js.map +1 -1
- package/dist/src/styles/dropdown-menu.js +169 -169
- package/dist/src/styles/dropdown-menu.js.map +1 -1
- package/dist/src/styles/ia-topnav.js +82 -82
- package/dist/src/styles/ia-topnav.js.map +1 -1
- package/dist/src/styles/login-button.js +87 -87
- package/dist/src/styles/login-button.js.map +1 -1
- package/dist/src/styles/media-button.js +153 -153
- package/dist/src/styles/media-button.js.map +1 -1
- package/dist/src/styles/media-menu.js +63 -63
- package/dist/src/styles/media-menu.js.map +1 -1
- package/dist/src/styles/media-slider.js +78 -78
- package/dist/src/styles/media-slider.js.map +1 -1
- package/dist/src/styles/media-subnav.js +152 -152
- package/dist/src/styles/media-subnav.js.map +1 -1
- package/dist/src/styles/primary-nav.js +353 -353
- package/dist/src/styles/primary-nav.js.map +1 -1
- package/dist/src/styles/save-page-form.js +51 -51
- package/dist/src/styles/save-page-form.js.map +1 -1
- package/dist/src/styles/wayback-search.js +45 -45
- package/dist/src/styles/wayback-search.js.map +1 -1
- package/dist/src/styles/wayback-slider.js +26 -26
- package/dist/src/styles/wayback-slider.js.map +1 -1
- package/eslint.config.mjs +53 -53
- package/index.ts +3 -3
- package/package.json +72 -72
- package/prettier.config.js +9 -9
- package/src/data/menus.ts +1 -1
- package/src/models.ts +68 -68
- package/src/styles/base.ts +49 -49
- package/src/styles/dropdown-menu.ts +173 -173
- package/src/styles/ia-topnav.ts +86 -86
- package/src/styles/login-button.ts +91 -91
- package/src/styles/media-button.ts +157 -157
- package/src/styles/media-menu.ts +67 -67
- package/src/styles/media-slider.ts +82 -82
- package/src/styles/media-subnav.ts +160 -160
- package/src/styles/primary-nav.ts +357 -357
- package/src/styles/save-page-form.ts +55 -55
- package/src/styles/wayback-search.ts +49 -49
- package/src/styles/wayback-slider.ts +34 -34
- package/ssl/server.key +28 -28
- package/tsconfig.json +31 -31
- package/web-dev-server.config.mjs +32 -32
- package/web-test-runner.config.mjs +41 -41
package/src/models.ts
CHANGED
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The pixel width at which ia-topnav switches from mobile to desktop layout.
|
|
3
|
-
* Desktop styles apply at `min-width: TOPNAV_MOBILE_BREAKPOINT px`.
|
|
4
|
-
* Mobile styles apply at `max-width: (TOPNAV_MOBILE_BREAKPOINT - 1) px`.
|
|
5
|
-
*
|
|
6
|
-
* Exported so that host applications can derive their own media queries from
|
|
7
|
-
* this value rather than hard-coding it independently.
|
|
8
|
-
*/
|
|
9
|
-
export const TOPNAV_MOBILE_BREAKPOINT = 890;
|
|
10
|
-
|
|
11
|
-
export interface IATopNavConfig {
|
|
12
|
-
/**
|
|
13
|
-
* Google Analytics event category
|
|
14
|
-
*/
|
|
15
|
-
eventCategory?: string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Copy to display for number of pages archived at the top of the Wayback search form
|
|
19
|
-
*
|
|
20
|
-
* ie. "425 billion"
|
|
21
|
-
*/
|
|
22
|
-
waybackPagesArchived?: string;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Map from dropdown item ids to any callout text that should be applied beside them
|
|
26
|
-
*/
|
|
27
|
-
callouts?: Record<string, string>;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface IATopNavLink {
|
|
31
|
-
title: string;
|
|
32
|
-
|
|
33
|
-
url?: string;
|
|
34
|
-
|
|
35
|
-
class?: string;
|
|
36
|
-
|
|
37
|
-
icon?: string;
|
|
38
|
-
|
|
39
|
-
analyticsEvent?: string;
|
|
40
|
-
|
|
41
|
-
external?: boolean;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export interface IATopNavMediaMenu {
|
|
45
|
-
heading: string;
|
|
46
|
-
iconLinks: IATopNavLink[];
|
|
47
|
-
featuredLinks: IATopNavLink[];
|
|
48
|
-
links: IATopNavLink[];
|
|
49
|
-
mobileAppsLinks: IATopNavLink[];
|
|
50
|
-
browserExtensionsLinks: IATopNavLink[];
|
|
51
|
-
archiveItLinks: IATopNavLink[];
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface IATopNavMenuConfig {
|
|
55
|
-
audio: IATopNavMediaMenu;
|
|
56
|
-
images: IATopNavMediaMenu;
|
|
57
|
-
more: IATopNavMediaMenu;
|
|
58
|
-
signedOut: IATopNavLink[];
|
|
59
|
-
software: IATopNavMediaMenu;
|
|
60
|
-
texts: IATopNavMediaMenu;
|
|
61
|
-
user: IATopNavLink[];
|
|
62
|
-
userAdmin: IATopNavLink[];
|
|
63
|
-
userAdminFlags: IATopNavLink[];
|
|
64
|
-
video: IATopNavMediaMenu;
|
|
65
|
-
web: IATopNavMediaMenu;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export type IATopNavSecondIdentitySlotMode = 'allow' | '';
|
|
1
|
+
/**
|
|
2
|
+
* The pixel width at which ia-topnav switches from mobile to desktop layout.
|
|
3
|
+
* Desktop styles apply at `min-width: TOPNAV_MOBILE_BREAKPOINT px`.
|
|
4
|
+
* Mobile styles apply at `max-width: (TOPNAV_MOBILE_BREAKPOINT - 1) px`.
|
|
5
|
+
*
|
|
6
|
+
* Exported so that host applications can derive their own media queries from
|
|
7
|
+
* this value rather than hard-coding it independently.
|
|
8
|
+
*/
|
|
9
|
+
export const TOPNAV_MOBILE_BREAKPOINT = 890;
|
|
10
|
+
|
|
11
|
+
export interface IATopNavConfig {
|
|
12
|
+
/**
|
|
13
|
+
* Google Analytics event category
|
|
14
|
+
*/
|
|
15
|
+
eventCategory?: string;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Copy to display for number of pages archived at the top of the Wayback search form
|
|
19
|
+
*
|
|
20
|
+
* ie. "425 billion"
|
|
21
|
+
*/
|
|
22
|
+
waybackPagesArchived?: string;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Map from dropdown item ids to any callout text that should be applied beside them
|
|
26
|
+
*/
|
|
27
|
+
callouts?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface IATopNavLink {
|
|
31
|
+
title: string;
|
|
32
|
+
|
|
33
|
+
url?: string;
|
|
34
|
+
|
|
35
|
+
class?: string;
|
|
36
|
+
|
|
37
|
+
icon?: string;
|
|
38
|
+
|
|
39
|
+
analyticsEvent?: string;
|
|
40
|
+
|
|
41
|
+
external?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface IATopNavMediaMenu {
|
|
45
|
+
heading: string;
|
|
46
|
+
iconLinks: IATopNavLink[];
|
|
47
|
+
featuredLinks: IATopNavLink[];
|
|
48
|
+
links: IATopNavLink[];
|
|
49
|
+
mobileAppsLinks: IATopNavLink[];
|
|
50
|
+
browserExtensionsLinks: IATopNavLink[];
|
|
51
|
+
archiveItLinks: IATopNavLink[];
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface IATopNavMenuConfig {
|
|
55
|
+
audio: IATopNavMediaMenu;
|
|
56
|
+
images: IATopNavMediaMenu;
|
|
57
|
+
more: IATopNavMediaMenu;
|
|
58
|
+
signedOut: IATopNavLink[];
|
|
59
|
+
software: IATopNavMediaMenu;
|
|
60
|
+
texts: IATopNavMediaMenu;
|
|
61
|
+
user: IATopNavLink[];
|
|
62
|
+
userAdmin: IATopNavLink[];
|
|
63
|
+
userAdminFlags: IATopNavLink[];
|
|
64
|
+
video: IATopNavMediaMenu;
|
|
65
|
+
web: IATopNavMediaMenu;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export type IATopNavSecondIdentitySlotMode = 'allow' | '';
|
package/src/styles/base.ts
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import { TOPNAV_MOBILE_BREAKPOINT } from '../models';
|
|
3
|
-
|
|
4
|
-
export const subnavListCSS = css`
|
|
5
|
-
h4 {
|
|
6
|
-
font-size: 1.6rem;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
a {
|
|
10
|
-
text-decoration: none;
|
|
11
|
-
color: var(--activeColor);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
ul {
|
|
15
|
-
padding: 0;
|
|
16
|
-
margin: 0;
|
|
17
|
-
list-style: none;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
li + li {
|
|
21
|
-
padding-top: 1.5rem;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
|
|
25
|
-
h4 {
|
|
26
|
-
margin: 0 0 1rem 0;
|
|
27
|
-
font-weight: 100;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
ul {
|
|
31
|
-
font-size: 1.3rem;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
li {
|
|
35
|
-
padding-bottom: 0.5rem;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
li + li {
|
|
39
|
-
padding-top: 0;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
li a {
|
|
43
|
-
display: block;
|
|
44
|
-
overflow: hidden;
|
|
45
|
-
white-space: nowrap;
|
|
46
|
-
text-overflow: ellipsis;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
`;
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
import { TOPNAV_MOBILE_BREAKPOINT } from '../models';
|
|
3
|
+
|
|
4
|
+
export const subnavListCSS = css`
|
|
5
|
+
h4 {
|
|
6
|
+
font-size: 1.6rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
a {
|
|
10
|
+
text-decoration: none;
|
|
11
|
+
color: var(--activeColor);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
ul {
|
|
15
|
+
padding: 0;
|
|
16
|
+
margin: 0;
|
|
17
|
+
list-style: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
li + li {
|
|
21
|
+
padding-top: 1.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
|
|
25
|
+
h4 {
|
|
26
|
+
margin: 0 0 1rem 0;
|
|
27
|
+
font-weight: 100;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ul {
|
|
31
|
+
font-size: 1.3rem;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
li {
|
|
35
|
+
padding-bottom: 0.5rem;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
li + li {
|
|
39
|
+
padding-top: 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
li a {
|
|
43
|
+
display: block;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
white-space: nowrap;
|
|
46
|
+
text-overflow: ellipsis;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
`;
|
|
@@ -1,173 +1,173 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
import { TOPNAV_MOBILE_BREAKPOINT } from '../models';
|
|
3
|
-
|
|
4
|
-
export default css`
|
|
5
|
-
.nav-container {
|
|
6
|
-
position: relative;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
nav {
|
|
10
|
-
position: absolute;
|
|
11
|
-
right: 0;
|
|
12
|
-
z-index: 4;
|
|
13
|
-
overflow: hidden;
|
|
14
|
-
font-size: 1.6rem;
|
|
15
|
-
background-color: var(--dropdownMenuBg);
|
|
16
|
-
transition-property: top;
|
|
17
|
-
transition-duration: 0.2s;
|
|
18
|
-
transition-timing-function: ease;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.initial,
|
|
22
|
-
.closed {
|
|
23
|
-
top: var(--topOffset, -1500px);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.closed {
|
|
27
|
-
transition-duration: 0.5s;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.open {
|
|
31
|
-
max-width: 100vw;
|
|
32
|
-
overflow: auto;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
h3 {
|
|
36
|
-
padding: 0.6rem 2rem;
|
|
37
|
-
margin: 0;
|
|
38
|
-
font-size: inherit;
|
|
39
|
-
overflow: hidden;
|
|
40
|
-
text-overflow: ellipsis;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
ul {
|
|
44
|
-
padding: 0.4rem 0 0.7rem 0;
|
|
45
|
-
margin: 0;
|
|
46
|
-
list-style: none;
|
|
47
|
-
/* viewport height - nav height + bottom nav border */
|
|
48
|
-
max-height: calc(100vh - 7.2rem + 1px);
|
|
49
|
-
overflow: auto;
|
|
50
|
-
box-sizing: border-box;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.divider {
|
|
54
|
-
margin: 0.5rem 0;
|
|
55
|
-
border-bottom: 1px solid var(--dropdownMenuDivider);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
a,
|
|
59
|
-
.info-item {
|
|
60
|
-
display: block;
|
|
61
|
-
color: var(--primaryTextColor);
|
|
62
|
-
text-decoration: none;
|
|
63
|
-
padding: 1rem 2rem;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.info-item {
|
|
67
|
-
font-size: 0.8em;
|
|
68
|
-
color: var(--dropdownMenuInfoItem);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.callout {
|
|
72
|
-
position: absolute;
|
|
73
|
-
margin-left: 10px;
|
|
74
|
-
padding: 0 5px;
|
|
75
|
-
border-radius: 2px;
|
|
76
|
-
background: #fee257;
|
|
77
|
-
color: #2c2c2c;
|
|
78
|
-
font-size: 1.4rem;
|
|
79
|
-
font-weight: bold;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
a.mobile-upload {
|
|
83
|
-
display: flex;
|
|
84
|
-
justify-content: left;
|
|
85
|
-
align-items: center;
|
|
86
|
-
}
|
|
87
|
-
a.mobile-upload svg {
|
|
88
|
-
fill: var(--white);
|
|
89
|
-
margin-right: 1rem;
|
|
90
|
-
height: 1.4rem;
|
|
91
|
-
width: 1.4rem;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
@media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
|
|
95
|
-
nav {
|
|
96
|
-
display: flex;
|
|
97
|
-
overflow: visible;
|
|
98
|
-
top: 0;
|
|
99
|
-
left: auto;
|
|
100
|
-
right: var(--dropdownMenuRight, 0);
|
|
101
|
-
z-index: 5;
|
|
102
|
-
transition: opacity 0.2s ease-in-out;
|
|
103
|
-
font-size: 1.4rem;
|
|
104
|
-
border-radius: 2px;
|
|
105
|
-
background: var(--primaryTextColor);
|
|
106
|
-
box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
nav:after {
|
|
110
|
-
position: absolute;
|
|
111
|
-
right: 7px;
|
|
112
|
-
top: -7px;
|
|
113
|
-
width: 12px;
|
|
114
|
-
height: 7px;
|
|
115
|
-
box-sizing: border-box;
|
|
116
|
-
color: var(--white);
|
|
117
|
-
content: '';
|
|
118
|
-
border-bottom: 7px solid currentColor;
|
|
119
|
-
border-left: 6px solid transparent;
|
|
120
|
-
border-right: 6px solid transparent;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
h3 {
|
|
124
|
-
display: none;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
ul {
|
|
128
|
-
/* viewport height - nav height + bottom nav border */
|
|
129
|
-
max-height: calc(100vh - 8.5rem + 1px);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.divider {
|
|
133
|
-
border-bottom-color: var(--dropdownMenuDivider);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
a {
|
|
137
|
-
padding: 0.5rem 2rem;
|
|
138
|
-
color: var(--inverseTextColor);
|
|
139
|
-
transition:
|
|
140
|
-
background 0.1s ease-out,
|
|
141
|
-
color 0.1s ease-out;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.info-item {
|
|
145
|
-
padding: 0.5rem 2rem;
|
|
146
|
-
font-size: 0.8em;
|
|
147
|
-
color: var(--inverseDropdownMenuInfoItem);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
a:hover,
|
|
151
|
-
a:active,
|
|
152
|
-
a:focus {
|
|
153
|
-
color: var(--linkHoverColor);
|
|
154
|
-
background: var(--linkColor);
|
|
155
|
-
outline: none;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
.initial,
|
|
159
|
-
.closed {
|
|
160
|
-
opacity: 0;
|
|
161
|
-
transition-duration: 0.2s;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
.open {
|
|
165
|
-
opacity: 1;
|
|
166
|
-
overflow: visible;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
a.mobile-upload {
|
|
170
|
-
display: none;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
`;
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
import { TOPNAV_MOBILE_BREAKPOINT } from '../models';
|
|
3
|
+
|
|
4
|
+
export default css`
|
|
5
|
+
.nav-container {
|
|
6
|
+
position: relative;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
nav {
|
|
10
|
+
position: absolute;
|
|
11
|
+
right: 0;
|
|
12
|
+
z-index: 4;
|
|
13
|
+
overflow: hidden;
|
|
14
|
+
font-size: 1.6rem;
|
|
15
|
+
background-color: var(--dropdownMenuBg);
|
|
16
|
+
transition-property: top;
|
|
17
|
+
transition-duration: 0.2s;
|
|
18
|
+
transition-timing-function: ease;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.initial,
|
|
22
|
+
.closed {
|
|
23
|
+
top: var(--topOffset, -1500px);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.closed {
|
|
27
|
+
transition-duration: 0.5s;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.open {
|
|
31
|
+
max-width: 100vw;
|
|
32
|
+
overflow: auto;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
h3 {
|
|
36
|
+
padding: 0.6rem 2rem;
|
|
37
|
+
margin: 0;
|
|
38
|
+
font-size: inherit;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
text-overflow: ellipsis;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
ul {
|
|
44
|
+
padding: 0.4rem 0 0.7rem 0;
|
|
45
|
+
margin: 0;
|
|
46
|
+
list-style: none;
|
|
47
|
+
/* viewport height - nav height + bottom nav border */
|
|
48
|
+
max-height: calc(100vh - 7.2rem + 1px);
|
|
49
|
+
overflow: auto;
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.divider {
|
|
54
|
+
margin: 0.5rem 0;
|
|
55
|
+
border-bottom: 1px solid var(--dropdownMenuDivider);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
a,
|
|
59
|
+
.info-item {
|
|
60
|
+
display: block;
|
|
61
|
+
color: var(--primaryTextColor);
|
|
62
|
+
text-decoration: none;
|
|
63
|
+
padding: 1rem 2rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.info-item {
|
|
67
|
+
font-size: 0.8em;
|
|
68
|
+
color: var(--dropdownMenuInfoItem);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.callout {
|
|
72
|
+
position: absolute;
|
|
73
|
+
margin-left: 10px;
|
|
74
|
+
padding: 0 5px;
|
|
75
|
+
border-radius: 2px;
|
|
76
|
+
background: #fee257;
|
|
77
|
+
color: #2c2c2c;
|
|
78
|
+
font-size: 1.4rem;
|
|
79
|
+
font-weight: bold;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
a.mobile-upload {
|
|
83
|
+
display: flex;
|
|
84
|
+
justify-content: left;
|
|
85
|
+
align-items: center;
|
|
86
|
+
}
|
|
87
|
+
a.mobile-upload svg {
|
|
88
|
+
fill: var(--white);
|
|
89
|
+
margin-right: 1rem;
|
|
90
|
+
height: 1.4rem;
|
|
91
|
+
width: 1.4rem;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
@media (min-width: ${TOPNAV_MOBILE_BREAKPOINT}px) {
|
|
95
|
+
nav {
|
|
96
|
+
display: flex;
|
|
97
|
+
overflow: visible;
|
|
98
|
+
top: 0;
|
|
99
|
+
left: auto;
|
|
100
|
+
right: var(--dropdownMenuRight, 0);
|
|
101
|
+
z-index: 5;
|
|
102
|
+
transition: opacity 0.2s ease-in-out;
|
|
103
|
+
font-size: 1.4rem;
|
|
104
|
+
border-radius: 2px;
|
|
105
|
+
background: var(--primaryTextColor);
|
|
106
|
+
box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
nav:after {
|
|
110
|
+
position: absolute;
|
|
111
|
+
right: 7px;
|
|
112
|
+
top: -7px;
|
|
113
|
+
width: 12px;
|
|
114
|
+
height: 7px;
|
|
115
|
+
box-sizing: border-box;
|
|
116
|
+
color: var(--white);
|
|
117
|
+
content: '';
|
|
118
|
+
border-bottom: 7px solid currentColor;
|
|
119
|
+
border-left: 6px solid transparent;
|
|
120
|
+
border-right: 6px solid transparent;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
h3 {
|
|
124
|
+
display: none;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
ul {
|
|
128
|
+
/* viewport height - nav height + bottom nav border */
|
|
129
|
+
max-height: calc(100vh - 8.5rem + 1px);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.divider {
|
|
133
|
+
border-bottom-color: var(--dropdownMenuDivider);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
a {
|
|
137
|
+
padding: 0.5rem 2rem;
|
|
138
|
+
color: var(--inverseTextColor);
|
|
139
|
+
transition:
|
|
140
|
+
background 0.1s ease-out,
|
|
141
|
+
color 0.1s ease-out;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.info-item {
|
|
145
|
+
padding: 0.5rem 2rem;
|
|
146
|
+
font-size: 0.8em;
|
|
147
|
+
color: var(--inverseDropdownMenuInfoItem);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
a:hover,
|
|
151
|
+
a:active,
|
|
152
|
+
a:focus {
|
|
153
|
+
color: var(--linkHoverColor);
|
|
154
|
+
background: var(--linkColor);
|
|
155
|
+
outline: none;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.initial,
|
|
159
|
+
.closed {
|
|
160
|
+
opacity: 0;
|
|
161
|
+
transition-duration: 0.2s;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.open {
|
|
165
|
+
opacity: 1;
|
|
166
|
+
overflow: visible;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
a.mobile-upload {
|
|
170
|
+
display: none;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
`;
|