@internetarchive/ia-topnav 2.0.0 → 2.0.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 (52) hide show
  1. package/dist/src/data/menus.js.map +1 -1
  2. package/dist/src/dropdown-menu.d.ts +3 -4
  3. package/dist/src/dropdown-menu.js +33 -40
  4. package/dist/src/dropdown-menu.js.map +1 -1
  5. package/dist/src/ia-topnav.d.ts +3 -0
  6. package/dist/src/ia-topnav.js +13 -3
  7. package/dist/src/ia-topnav.js.map +1 -1
  8. package/dist/src/login-button.d.ts +3 -0
  9. package/dist/src/login-button.js +11 -1
  10. package/dist/src/login-button.js.map +1 -1
  11. package/dist/src/models.js.map +1 -1
  12. package/dist/src/primary-nav.d.ts +4 -0
  13. package/dist/src/primary-nav.js +20 -1
  14. package/dist/src/primary-nav.js.map +1 -1
  15. package/dist/src/signed-out-dropdown.d.ts +2 -1
  16. package/dist/src/signed-out-dropdown.js +1 -2
  17. package/dist/src/signed-out-dropdown.js.map +1 -1
  18. package/dist/src/styles/dropdown-menu.js +169 -168
  19. package/dist/src/styles/dropdown-menu.js.map +1 -1
  20. package/dist/src/styles/ia-topnav.js +82 -82
  21. package/dist/src/styles/ia-topnav.js.map +1 -1
  22. package/dist/src/styles/primary-nav.js +353 -353
  23. package/dist/src/styles/primary-nav.js.map +1 -1
  24. package/dist/src/user-menu.d.ts +2 -2
  25. package/dist/src/user-menu.js +14 -15
  26. package/dist/src/user-menu.js.map +1 -1
  27. package/dist/test/ia-topnav.test.js +9 -9
  28. package/dist/test/ia-topnav.test.js.map +1 -1
  29. package/dist/test/primary-nav.test.js +7 -7
  30. package/dist/test/primary-nav.test.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/data/menus.ts +650 -650
  33. package/src/dropdown-menu.ts +132 -132
  34. package/src/ia-topnav.ts +17 -3
  35. package/src/login-button.ts +12 -1
  36. package/src/models.ts +58 -58
  37. package/src/primary-nav.ts +24 -1
  38. package/src/signed-out-dropdown.ts +11 -11
  39. package/src/styles/dropdown-menu.ts +172 -171
  40. package/src/styles/ia-topnav.ts +85 -85
  41. package/src/styles/primary-nav.ts +356 -356
  42. package/src/user-menu.ts +31 -32
  43. package/test/ia-topnav.test.ts +282 -282
  44. package/test/primary-nav.test.ts +135 -135
  45. package/dist/src/styles/signed-out-dropdown.d.ts +0 -2
  46. package/dist/src/styles/signed-out-dropdown.js +0 -31
  47. package/dist/src/styles/signed-out-dropdown.js.map +0 -1
  48. package/dist/src/styles/user-menu.d.ts +0 -2
  49. package/dist/src/styles/user-menu.js +0 -31
  50. package/dist/src/styles/user-menu.js.map +0 -1
  51. package/src/styles/signed-out-dropdown.ts +0 -31
  52. package/src/styles/user-menu.ts +0 -31
@@ -1,171 +1,172 @@
1
- import { css } from 'lit';
2
-
3
- export default css`
4
- .nav-container {
5
- position: relative;
6
- }
7
-
8
- nav {
9
- position: absolute;
10
- right: 0;
11
- z-index: 4;
12
- overflow: hidden;
13
- font-size: 1.6rem;
14
- background-color: var(--dropdownMenuBg);
15
- transition-property: top;
16
- transition-duration: 0.2s;
17
- transition-timing-function: ease;
18
- }
19
-
20
- .initial,
21
- .closed {
22
- top: var(--topOffset, -1500px);
23
- }
24
-
25
- .closed {
26
- transition-duration: 0.5s;
27
- }
28
-
29
- .open {
30
- max-width: 100vw;
31
- overflow: auto;
32
- }
33
-
34
- h3 {
35
- padding: 0.6rem 2rem;
36
- margin: 0;
37
- font-size: inherit;
38
- overflow: hidden;
39
- text-overflow: ellipsis;
40
- }
41
-
42
- ul {
43
- padding: 0.4rem 0 0.7rem 0;
44
- margin: 0;
45
- list-style: none;
46
- /* viewport height - nav height + bottom nav border */
47
- max-height: calc(100vh - 7.2rem + 1px);
48
- overflow: auto;
49
- box-sizing: border-box;
50
- }
51
-
52
- .divider {
53
- margin: 0.5rem 0;
54
- border-bottom: 1px solid var(--dropdownMenuDivider);
55
- }
56
-
57
- a,
58
- .info-item {
59
- display: block;
60
- color: var(--primaryTextColor);
61
- text-decoration: none;
62
- padding: 1rem 2rem;
63
- }
64
-
65
- .info-item {
66
- font-size: 0.8em;
67
- color: var(--dropdownMenuInfoItem);
68
- }
69
-
70
- .callout {
71
- position: absolute;
72
- margin-left: 10px;
73
- padding: 0 5px;
74
- border-radius: 2px;
75
- background: #fee257;
76
- color: #2c2c2c;
77
- font-size: 1.4rem;
78
- font-weight: bold;
79
- }
80
-
81
- a.mobile-upload {
82
- display: flex;
83
- justify-content: left;
84
- align-items: center;
85
- }
86
- a.mobile-upload svg {
87
- fill: var(--white);
88
- margin-right: 1rem;
89
- height: 1.4rem;
90
- width: 1.4rem;
91
- }
92
-
93
- @media (min-width: 890px) {
94
- nav {
95
- display: flex;
96
- overflow: visible;
97
- top: 0;
98
- left: auto;
99
- z-index: 5;
100
- transition: opacity 0.2s ease-in-out;
101
- font-size: 1.4rem;
102
- border-radius: 2px;
103
- background: var(--primaryTextColor);
104
- box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15);
105
- }
106
-
107
- nav:after {
108
- position: absolute;
109
- right: 7px;
110
- top: -7px;
111
- width: 12px;
112
- height: 7px;
113
- box-sizing: border-box;
114
- color: var(--white);
115
- content: '';
116
- border-bottom: 7px solid currentColor;
117
- border-left: 6px solid transparent;
118
- border-right: 6px solid transparent;
119
- }
120
-
121
- h3 {
122
- display: none;
123
- }
124
-
125
- ul {
126
- /* viewport height - nav height + bottom nav border */
127
- max-height: calc(100vh - 8.5rem + 1px);
128
- }
129
-
130
- .divider {
131
- border-bottom-color: var(--dropdownMenuDivider);
132
- }
133
-
134
- a {
135
- padding: 0.5rem 2rem;
136
- color: var(--inverseTextColor);
137
- transition:
138
- background 0.1s ease-out,
139
- color 0.1s ease-out;
140
- }
141
-
142
- .info-item {
143
- padding: 0.5rem 2rem;
144
- font-size: 0.8em;
145
- color: var(--inverseDropdownMenuInfoItem);
146
- }
147
-
148
- a:hover,
149
- a:active,
150
- a:focus {
151
- color: var(--linkHoverColor);
152
- background: var(--linkColor);
153
- outline: none;
154
- }
155
-
156
- .initial,
157
- .closed {
158
- opacity: 0;
159
- transition-duration: 0.2s;
160
- }
161
-
162
- .open {
163
- opacity: 1;
164
- overflow: visible;
165
- }
166
-
167
- a.mobile-upload {
168
- display: none;
169
- }
170
- }
171
- `;
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ .nav-container {
5
+ position: relative;
6
+ }
7
+
8
+ nav {
9
+ position: absolute;
10
+ right: 0;
11
+ z-index: 4;
12
+ overflow: hidden;
13
+ font-size: 1.6rem;
14
+ background-color: var(--dropdownMenuBg);
15
+ transition-property: top;
16
+ transition-duration: 0.2s;
17
+ transition-timing-function: ease;
18
+ }
19
+
20
+ .initial,
21
+ .closed {
22
+ top: var(--topOffset, -1500px);
23
+ }
24
+
25
+ .closed {
26
+ transition-duration: 0.5s;
27
+ }
28
+
29
+ .open {
30
+ max-width: 100vw;
31
+ overflow: auto;
32
+ }
33
+
34
+ h3 {
35
+ padding: 0.6rem 2rem;
36
+ margin: 0;
37
+ font-size: inherit;
38
+ overflow: hidden;
39
+ text-overflow: ellipsis;
40
+ }
41
+
42
+ ul {
43
+ padding: 0.4rem 0 0.7rem 0;
44
+ margin: 0;
45
+ list-style: none;
46
+ /* viewport height - nav height + bottom nav border */
47
+ max-height: calc(100vh - 7.2rem + 1px);
48
+ overflow: auto;
49
+ box-sizing: border-box;
50
+ }
51
+
52
+ .divider {
53
+ margin: 0.5rem 0;
54
+ border-bottom: 1px solid var(--dropdownMenuDivider);
55
+ }
56
+
57
+ a,
58
+ .info-item {
59
+ display: block;
60
+ color: var(--primaryTextColor);
61
+ text-decoration: none;
62
+ padding: 1rem 2rem;
63
+ }
64
+
65
+ .info-item {
66
+ font-size: 0.8em;
67
+ color: var(--dropdownMenuInfoItem);
68
+ }
69
+
70
+ .callout {
71
+ position: absolute;
72
+ margin-left: 10px;
73
+ padding: 0 5px;
74
+ border-radius: 2px;
75
+ background: #fee257;
76
+ color: #2c2c2c;
77
+ font-size: 1.4rem;
78
+ font-weight: bold;
79
+ }
80
+
81
+ a.mobile-upload {
82
+ display: flex;
83
+ justify-content: left;
84
+ align-items: center;
85
+ }
86
+ a.mobile-upload svg {
87
+ fill: var(--white);
88
+ margin-right: 1rem;
89
+ height: 1.4rem;
90
+ width: 1.4rem;
91
+ }
92
+
93
+ @media (min-width: 890px) {
94
+ nav {
95
+ display: flex;
96
+ overflow: visible;
97
+ top: 0;
98
+ left: auto;
99
+ right: var(--dropdownMenuRight, 0);
100
+ z-index: 5;
101
+ transition: opacity 0.2s ease-in-out;
102
+ font-size: 1.4rem;
103
+ border-radius: 2px;
104
+ background: var(--primaryTextColor);
105
+ box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.15);
106
+ }
107
+
108
+ nav:after {
109
+ position: absolute;
110
+ right: 7px;
111
+ top: -7px;
112
+ width: 12px;
113
+ height: 7px;
114
+ box-sizing: border-box;
115
+ color: var(--white);
116
+ content: '';
117
+ border-bottom: 7px solid currentColor;
118
+ border-left: 6px solid transparent;
119
+ border-right: 6px solid transparent;
120
+ }
121
+
122
+ h3 {
123
+ display: none;
124
+ }
125
+
126
+ ul {
127
+ /* viewport height - nav height + bottom nav border */
128
+ max-height: calc(100vh - 8.5rem + 1px);
129
+ }
130
+
131
+ .divider {
132
+ border-bottom-color: var(--dropdownMenuDivider);
133
+ }
134
+
135
+ a {
136
+ padding: 0.5rem 2rem;
137
+ color: var(--inverseTextColor);
138
+ transition:
139
+ background 0.1s ease-out,
140
+ color 0.1s ease-out;
141
+ }
142
+
143
+ .info-item {
144
+ padding: 0.5rem 2rem;
145
+ font-size: 0.8em;
146
+ color: var(--inverseDropdownMenuInfoItem);
147
+ }
148
+
149
+ a:hover,
150
+ a:active,
151
+ a:focus {
152
+ color: var(--linkHoverColor);
153
+ background: var(--linkColor);
154
+ outline: none;
155
+ }
156
+
157
+ .initial,
158
+ .closed {
159
+ opacity: 0;
160
+ transition-duration: 0.2s;
161
+ }
162
+
163
+ .open {
164
+ opacity: 1;
165
+ overflow: visible;
166
+ }
167
+
168
+ a.mobile-upload {
169
+ display: none;
170
+ }
171
+ }
172
+ `;
@@ -1,85 +1,85 @@
1
- import { css } from 'lit';
2
-
3
- export default css`
4
- :host {
5
- --white: #fff;
6
- --grey13: #222;
7
- --grey20: #333;
8
- --grey40: #666;
9
- --grey28: #474747;
10
- --grey60: #999;
11
- --grey66: #aaa;
12
- --grey80: #ccc;
13
- --greya0: #a0a0a0;
14
- --grey6f: #6f6f6f;
15
- --errorYellow: #ffcd27;
16
-
17
- --linkColor: #4b64ff;
18
- --linkHoverColor: var(--white);
19
- --subnavLinkColor: var(--grey66);
20
- --primaryTextColor: var(--white);
21
- --inverseTextColor: var(--grey20);
22
- --lightTextColor: var(--grey60);
23
- --activeColor: var(--white);
24
- --activeButtonBg: var(--grey20);
25
- --iconFill: var(--grey60);
26
-
27
- --mediaMenuBg: var(--grey13);
28
- --mediaLabelDesktopColor: var(--grey60);
29
- --activeDesktopMenuIcon: var(--grey28);
30
-
31
- --mediaSliderBg: var(--grey20);
32
- --mediaSliderDesktopBg: var(--grey28);
33
-
34
- --primaryNavBg: var(--grey13);
35
- --primaryNavBottomBorder: var(--grey20);
36
-
37
- --desktopSubnavBg: var(--grey20);
38
-
39
- --dropdownMenuBg: var(--grey20);
40
- --dropdownMenuInfoItem: var(--greya0);
41
- --dropdownMenuDivider: var(--grey40);
42
- --inverseDropdownMenuInfoItem: var(--grey6f);
43
-
44
- --loginTextColor: var(--grey60);
45
-
46
- --themeFontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif;
47
- --logoWidthTablet: 263px;
48
-
49
- --savePageSubmitBg: var(--grey13);
50
- --savePageSubmitText: var(--white);
51
- --savePageInputBorder: var(--grey60);
52
- --savePageErrorText: var(--errorYellow);
53
-
54
- color: var(--primaryTextColor);
55
- font-family: var(--themeFontFamily);
56
- }
57
-
58
- primary-nav:focus {
59
- outline: none !important;
60
- }
61
-
62
- #close-layer {
63
- display: none;
64
- position: fixed;
65
- top: 0;
66
- right: 0;
67
- bottom: 0;
68
- left: 0;
69
- z-index: 3;
70
- }
71
- #close-layer.visible {
72
- display: block;
73
- }
74
-
75
- .topnav {
76
- position: relative;
77
- z-index: 4;
78
- }
79
-
80
- @media (max-width: 889px) {
81
- desktop-subnav {
82
- display: none;
83
- }
84
- }
85
- `;
1
+ import { css } from 'lit';
2
+
3
+ export default css`
4
+ :host {
5
+ --white: #fff;
6
+ --grey13: #222;
7
+ --grey20: #333;
8
+ --grey40: #666;
9
+ --grey28: #474747;
10
+ --grey60: #999;
11
+ --grey66: #aaa;
12
+ --grey80: #ccc;
13
+ --greya0: #a0a0a0;
14
+ --grey6f: #6f6f6f;
15
+ --errorYellow: #ffcd27;
16
+
17
+ --linkColor: #4b64ff;
18
+ --linkHoverColor: var(--white);
19
+ --subnavLinkColor: var(--grey66);
20
+ --primaryTextColor: var(--white);
21
+ --inverseTextColor: var(--grey20);
22
+ --lightTextColor: var(--grey60);
23
+ --activeColor: var(--white);
24
+ --activeButtonBg: var(--grey20);
25
+ --iconFill: var(--grey60);
26
+
27
+ --mediaMenuBg: var(--grey13);
28
+ --mediaLabelDesktopColor: var(--grey60);
29
+ --activeDesktopMenuIcon: var(--grey28);
30
+
31
+ --mediaSliderBg: var(--grey20);
32
+ --mediaSliderDesktopBg: var(--grey28);
33
+
34
+ --primaryNavBg: var(--grey13);
35
+ --primaryNavBottomBorder: var(--grey20);
36
+
37
+ --desktopSubnavBg: var(--grey20);
38
+
39
+ --dropdownMenuBg: var(--grey20);
40
+ --dropdownMenuInfoItem: var(--greya0);
41
+ --dropdownMenuDivider: var(--grey40);
42
+ --inverseDropdownMenuInfoItem: var(--grey6f);
43
+
44
+ --loginTextColor: var(--grey60);
45
+
46
+ --themeFontFamily: 'Helvetica Neue', Helvetica, Arial, sans-serif;
47
+ --logoWidthTablet: 263px;
48
+
49
+ --savePageSubmitBg: var(--grey13);
50
+ --savePageSubmitText: var(--white);
51
+ --savePageInputBorder: var(--grey60);
52
+ --savePageErrorText: var(--errorYellow);
53
+
54
+ color: var(--primaryTextColor);
55
+ font-family: var(--themeFontFamily);
56
+ }
57
+
58
+ primary-nav:focus {
59
+ outline: none !important;
60
+ }
61
+
62
+ #close-layer {
63
+ display: none;
64
+ position: fixed;
65
+ top: 0;
66
+ right: 0;
67
+ bottom: 0;
68
+ left: 0;
69
+ z-index: 3;
70
+ }
71
+ #close-layer.visible {
72
+ display: block;
73
+ }
74
+
75
+ .topnav {
76
+ position: relative;
77
+ z-index: 4;
78
+ }
79
+
80
+ @media (max-width: 889px) {
81
+ desktop-subnav {
82
+ display: none;
83
+ }
84
+ }
85
+ `;