@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/ia-topnav",
3
- "version": "1.3.3",
3
+ "version": "1.3.4",
4
4
  "description": "Top nav for Internet Archive",
5
5
  "license": "AGPL-3.0-only",
6
6
  "main": "index.js",
@@ -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);
@@ -2,8 +2,8 @@ import { html } from 'https://offshoot.prod.archive.org/lit.js';
2
2
 
3
3
  export default html`
4
4
  <svg
5
- width="40px"
6
- height="40px"
5
+ width="40"
6
+ height="40"
7
7
  viewBox="0 0 40 40"
8
8
  version="1.1"
9
9
  xmlns="http://www.w3.org/2000/svg"
@@ -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,
@@ -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="mobile-search-trigger"
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
- ${this.openMenu === 'media' ? icons.close : icons.hamburger}
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
- .mobile-search-trigger {
112
+ .search-trigger {
113
113
  padding: 0;
114
114
  }
115
- .mobile-search-trigger svg {
115
+ .search-trigger svg {
116
116
  height: 4rem;
117
117
  width: 4rem;
118
118
  }
119
- .mobile-search-trigger .fill-color {
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
- .mobile-search-trigger,
223
+ .search-trigger,
224
224
  .mobile-donate-link {
225
225
  display: none;
226
226
  }
@@ -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('.mobile-search-trigger').click();
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');
@@ -40,7 +40,7 @@ describe('<primary-nav>', () => {
40
40
  hideSearch: true,
41
41
  }));
42
42
 
43
- expect(el.shadowRoot.querySelector('.mobile-search-trigger')).to.equal(null);
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
-