@internetarchive/ia-topnav 1.3.3 → 1.3.4
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/package.json +1 -1
- package/src/assets/img/hamburger.js +38 -0
- package/src/assets/img/icon-close.js +2 -2
- package/src/assets/img/icons.js +0 -2
- package/src/primary-nav.js +3 -2
- package/src/styles/primary-nav.js +4 -4
- package/test/ia-topnav.test.js +1 -1
- package/test/primary-nav.test.js +1 -1
- package/src/assets/img/icon-hamburger.js +0 -18
package/package.json
CHANGED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { html, css } from 'https://offshoot.prod.archive.org/lit.js';
|
|
2
|
+
import Icon from './icon.js';
|
|
3
|
+
import icons from './icons.js';
|
|
4
|
+
|
|
5
|
+
class HamBurger extends Icon {
|
|
6
|
+
static get styles() {
|
|
7
|
+
return css`
|
|
8
|
+
svg {
|
|
9
|
+
display: block;
|
|
10
|
+
height: 4rem;
|
|
11
|
+
width: 4rem;
|
|
12
|
+
}
|
|
13
|
+
.fill-color {
|
|
14
|
+
fill: var(--activeColor);
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static get closed() {
|
|
20
|
+
return html`
|
|
21
|
+
<svg viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" aria-labelledby="hamburgerTitleID hamburgerDescID">
|
|
22
|
+
<title id="hamburgerTitleID">Hamburger icon</title>
|
|
23
|
+
<desc id="hamburgerDescID">An icon used to represent a menu that can be toggled by interacting with this icon.</desc>
|
|
24
|
+
<path 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" fill="#999" fill-rule="evenodd"/>
|
|
25
|
+
</svg>
|
|
26
|
+
`;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static get opened() {
|
|
30
|
+
return icons.close;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
render() {
|
|
34
|
+
return this.active ? HamBurger.opened : HamBurger.closed;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
customElements.define('icon-hamburger', HamBurger);
|
package/src/assets/img/icons.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import audio from './icon-audio.js';
|
|
2
2
|
import close from './icon-close.js';
|
|
3
|
-
import hamburger from './icon-hamburger.js';
|
|
4
3
|
import donate from './icon-donate.js';
|
|
5
4
|
import donateUnpadded from './icon-donate-unpadded.js';
|
|
6
5
|
import ellipses from './icon-ellipses.js';
|
|
@@ -18,7 +17,6 @@ import web from './icon-web.js';
|
|
|
18
17
|
export default {
|
|
19
18
|
audio,
|
|
20
19
|
close,
|
|
21
|
-
hamburger,
|
|
22
20
|
donate,
|
|
23
21
|
donateUnpadded,
|
|
24
22
|
ellipses,
|
package/src/primary-nav.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { html, nothing } from 'https://offshoot.prod.archive.org/lit.js';
|
|
2
2
|
import TrackedElement from './tracked-element.js';
|
|
3
3
|
import icons from './assets/img/icons.js';
|
|
4
|
+
import './assets/img/hamburger.js';
|
|
4
5
|
import './login-button.js';
|
|
5
6
|
import './nav-search.js';
|
|
6
7
|
import './media-menu.js';
|
|
@@ -123,7 +124,7 @@ class PrimaryNav extends TrackedElement {
|
|
|
123
124
|
|
|
124
125
|
return html`
|
|
125
126
|
<button
|
|
126
|
-
class="
|
|
127
|
+
class="search-trigger"
|
|
127
128
|
@click="${this.toggleSearchMenu}"
|
|
128
129
|
data-event-click-tracking="${this.config.eventCategory}|NavSearchOpen"
|
|
129
130
|
>
|
|
@@ -213,7 +214,7 @@ class PrimaryNav extends TrackedElement {
|
|
|
213
214
|
data-event-click-tracking="${this.config.eventCategory}|NavHamburger"
|
|
214
215
|
title="Open main menu"
|
|
215
216
|
>
|
|
216
|
-
|
|
217
|
+
<icon-hamburger ?active=${this.openMenu === 'media'}></icon-hamburger>
|
|
217
218
|
</button>
|
|
218
219
|
</nav>
|
|
219
220
|
`;
|
|
@@ -109,14 +109,14 @@ export default css`
|
|
|
109
109
|
user-select: none;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
.
|
|
112
|
+
.search-trigger {
|
|
113
113
|
padding: 0;
|
|
114
114
|
}
|
|
115
|
-
.
|
|
115
|
+
.search-trigger svg {
|
|
116
116
|
height: 4rem;
|
|
117
117
|
width: 4rem;
|
|
118
118
|
}
|
|
119
|
-
.
|
|
119
|
+
.search-trigger .fill-color {
|
|
120
120
|
fill: var(--iconFill);
|
|
121
121
|
}
|
|
122
122
|
|
|
@@ -220,7 +220,7 @@ export default css`
|
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
.hamburger,
|
|
223
|
-
.
|
|
223
|
+
.search-trigger,
|
|
224
224
|
.mobile-donate-link {
|
|
225
225
|
display: none;
|
|
226
226
|
}
|
package/test/ia-topnav.test.js
CHANGED
|
@@ -198,7 +198,7 @@ describe('<ia-topnav>', () => {
|
|
|
198
198
|
|
|
199
199
|
it('toggles search menu when search toggle button clicked', async () => {
|
|
200
200
|
const el = await fixture(container());
|
|
201
|
-
el.shadowRoot.querySelector('primary-nav').shadowRoot.querySelector('.
|
|
201
|
+
el.shadowRoot.querySelector('primary-nav').shadowRoot.querySelector('.search-trigger').click();
|
|
202
202
|
await el.updateComplete;
|
|
203
203
|
|
|
204
204
|
expect(el.openMenu).to.equal('search');
|
package/test/primary-nav.test.js
CHANGED
|
@@ -40,7 +40,7 @@ describe('<primary-nav>', () => {
|
|
|
40
40
|
hideSearch: true,
|
|
41
41
|
}));
|
|
42
42
|
|
|
43
|
-
expect(el.shadowRoot.querySelector('.
|
|
43
|
+
expect(el.shadowRoot.querySelector('.search-trigger')).to.equal(null);
|
|
44
44
|
expect(el.shadowRoot.querySelector('nav-search')).to.equal(null);
|
|
45
45
|
});
|
|
46
46
|
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { html } from 'https://offshoot.prod.archive.org/lit.js';
|
|
2
|
-
|
|
3
|
-
export default html`
|
|
4
|
-
<svg
|
|
5
|
-
viewBox="0 0 40 40"
|
|
6
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
7
|
-
aria-labelledby="hamburgerTitleID"
|
|
8
|
-
>
|
|
9
|
-
<title id="hamburgerTitleID">Hamburger icon</title>
|
|
10
|
-
<path
|
|
11
|
-
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"
|
|
12
|
-
fill="#999"
|
|
13
|
-
fill-rule="evenodd"
|
|
14
|
-
/>
|
|
15
|
-
</svg>
|
|
16
|
-
`;
|
|
17
|
-
|
|
18
|
-
|