@internetarchive/ia-topnav 1.3.10-webdev-7394.0 → 1.3.10-webdev-7394.2

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 (38) hide show
  1. package/demo/app-root.ts +91 -94
  2. package/dist/demo/app-root.d.ts +5 -0
  3. package/dist/demo/app-root.js +95 -79
  4. package/dist/demo/app-root.js.map +1 -1
  5. package/dist/src/data/menus.js +46 -38
  6. package/dist/src/data/menus.js.map +1 -1
  7. package/dist/src/dropdown-menu.js +3 -2
  8. package/dist/src/dropdown-menu.js.map +1 -1
  9. package/dist/src/ia-topnav.d.ts +0 -1
  10. package/dist/src/ia-topnav.js +1 -4
  11. package/dist/src/ia-topnav.js.map +1 -1
  12. package/dist/src/media-slider.js +1 -1
  13. package/dist/src/media-slider.js.map +1 -1
  14. package/dist/src/media-subnav.js +8 -8
  15. package/dist/src/media-subnav.js.map +1 -1
  16. package/dist/src/models.d.ts +1 -1
  17. package/dist/src/models.js.map +1 -1
  18. package/dist/src/nav-search.d.ts +1 -1
  19. package/dist/src/nav-search.js +1 -0
  20. package/dist/src/nav-search.js.map +1 -1
  21. package/dist/test/dropdown-menu.test.js +1 -1
  22. package/dist/test/dropdown-menu.test.js.map +1 -1
  23. package/dist/test/primary-nav.test.js +0 -10
  24. package/dist/test/primary-nav.test.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/data/menus.ts +46 -38
  27. package/src/dropdown-menu.ts +3 -2
  28. package/src/ia-topnav.ts +1 -5
  29. package/src/media-slider.ts +1 -1
  30. package/src/media-subnav.ts +8 -8
  31. package/src/models.ts +1 -1
  32. package/src/nav-search.ts +2 -1
  33. package/test/dropdown-menu.test.ts +1 -3
  34. package/test/primary-nav.test.ts +0 -16
  35. package/dist/test/assets/img/user.test.d.ts +0 -1
  36. package/dist/test/assets/img/user.test.js +0 -12
  37. package/dist/test/assets/img/user.test.js.map +0 -1
  38. package/test/assets/img/user.test.ts +0 -15
package/demo/app-root.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { html, css, LitElement, TemplateResult } from 'lit';
2
- import { customElement, query } from 'lit/decorators.js';
2
+ import { customElement, query, state } from 'lit/decorators.js';
3
3
  import '../src/ia-topnav';
4
4
  import type TopNav from '../src/ia-topnav';
5
5
 
@@ -8,9 +8,26 @@ export class AppRoot extends LitElement {
8
8
  @query('ia-topnav')
9
9
  private topnav!: TopNav;
10
10
 
11
+ @state() private admin = false;
12
+
13
+ @state() private canManageFlags = false;
14
+
15
+ @state() private username = '';
16
+
17
+ @state() private screenName = '';
18
+
19
+ @state() private itemIdentifier = '';
20
+
11
21
  render() {
12
22
  return html`
13
- <ia-topnav> </ia-topnav>
23
+ <ia-topnav
24
+ ?admin=${this.admin}
25
+ ?canManageFlags=${this.canManageFlags}
26
+ .username=${this.username}
27
+ .screenName=${this.screenName}
28
+ .itemIdentifier=${this.itemIdentifier}
29
+ >
30
+ </ia-topnav>
14
31
 
15
32
  ${this.devTools}
16
33
  `;
@@ -21,51 +38,78 @@ export class AppRoot extends LitElement {
21
38
  <div id="dev-tools">
22
39
  <h1>Dev Tools</h1>
23
40
 
24
- <h2>Username</h2>
41
+ <h2>User menu</h2>
25
42
  <fieldset>
26
- <button
27
- @click=${() => {
28
- this.topnav.screenName = 'brewster';
29
- this.topnav.username = '@brewster';
30
- }}
31
- >
32
- Switch username to brewster
33
- </button>
34
-
35
- <br />
36
-
37
- <button
38
- @click=${() => {
39
- this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
40
- this.topnav.username = '@test';
41
- }}
42
- >
43
- Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
44
- </button>
45
-
46
- <br />
47
-
48
- <button
49
- @click=${() => {
50
- this.topnav.screenName =
51
- 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
52
- this.topnav.username = '@test';
53
- }}
54
- >
55
- Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
56
- العجوز
57
- </button>
58
-
59
- <br />
60
-
61
- <button
62
- @click=${() => {
63
- this.topnav.username = '';
64
- this.topnav.screenName = '';
65
- }}
66
- >
67
- Switch to logged out
68
- </button>
43
+ <ul>
44
+ <li>
45
+ <button
46
+ @click=${() => {
47
+ this.screenName = 'brewster';
48
+ this.username = '@brewster';
49
+ }}
50
+ >
51
+ Switch username to brewster
52
+ </button>
53
+ </li>
54
+
55
+ <li>
56
+ <button
57
+ @click=${() => {
58
+ this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
59
+ this.username = '@test';
60
+ }}
61
+ >
62
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
63
+ </button>
64
+ </li>
65
+
66
+ <li>
67
+ <button
68
+ @click=${() => {
69
+ this.screenName =
70
+ 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
71
+ this.username = '@test';
72
+ }}
73
+ >
74
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور
75
+ محمد العجوز
76
+ </button>
77
+ </li>
78
+
79
+ <li>
80
+ <button
81
+ @click=${() => {
82
+ this.username = '';
83
+ this.screenName = '';
84
+ }}
85
+ >
86
+ Switch to logged out
87
+ </button>
88
+ </li>
89
+
90
+ <li>
91
+ <button
92
+ @click=${() => {
93
+ this.itemIdentifier = this.admin ? '' : 'boop';
94
+ this.admin = !this.admin;
95
+ }}
96
+ >
97
+ Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires
98
+ logged in)
99
+ </button>
100
+ </li>
101
+
102
+ <li>
103
+ <button
104
+ @click=${() => {
105
+ this.canManageFlags = !this.canManageFlags;
106
+ }}
107
+ >
108
+ Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})
109
+ (requires admin mode)
110
+ </button>
111
+ </li>
112
+ </ul>
69
113
  </fieldset>
70
114
 
71
115
  <h2>Local Links</h2>
@@ -83,7 +127,7 @@ export class AppRoot extends LitElement {
83
127
  }}
84
128
  >
85
129
  Enable local links
86
- </button>
130
+ </button>
87
131
  </fieldset>
88
132
 
89
133
  <h2>Wayback Count</h2>
@@ -137,50 +181,3 @@ export class AppRoot extends LitElement {
137
181
  }
138
182
  `;
139
183
  }
140
-
141
- // <center>
142
- // <h1>demo </h1>
143
-
144
- // < button
145
- // onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
146
- // switch username to brewster
147
- // </button>
148
- // < br />
149
- // <button
150
- // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
151
- // switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
152
- // </button>
153
- // < br />
154
- // <button
155
- // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
156
- // switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
157
- // </button>
158
- // < br />
159
- // <br />
160
- // < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
161
- // switch to un - logged -in
162
- // </button>
163
-
164
- // < hr />
165
-
166
- // <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
167
- // switch localLinks false(change to https://archive.org)
168
- // </button>
169
- // < br />
170
- // <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
171
- // switch to localLinks(default, change links to start with /)
172
- // </button>
173
-
174
- // < hr />
175
- // <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
176
- // change WB pages count
177
- // </button>
178
-
179
- // < hr />
180
- // <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
181
- // HIDE Top Row Search button, like on mobile
182
- // </button>
183
- // < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
184
- // SHOW Top Row Search button, like on mobile
185
- // </button>
186
- // </center>
@@ -2,6 +2,11 @@ import { LitElement, TemplateResult } from 'lit';
2
2
  import '../src/ia-topnav';
3
3
  export declare class AppRoot extends LitElement {
4
4
  private topnav;
5
+ private admin;
6
+ private canManageFlags;
7
+ private username;
8
+ private screenName;
9
+ private itemIdentifier;
5
10
  render(): TemplateResult<1>;
6
11
  private get devTools();
7
12
  static styles: import("lit").CSSResult;
@@ -1,11 +1,26 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, css, LitElement } from 'lit';
3
- import { customElement, query } from 'lit/decorators.js';
3
+ import { customElement, query, state } from 'lit/decorators.js';
4
4
  import '../src/ia-topnav';
5
5
  let AppRoot = class AppRoot extends LitElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.admin = false;
9
+ this.canManageFlags = false;
10
+ this.username = '';
11
+ this.screenName = '';
12
+ this.itemIdentifier = '';
13
+ }
6
14
  render() {
7
15
  return html `
8
- <ia-topnav> </ia-topnav>
16
+ <ia-topnav
17
+ ?admin=${this.admin}
18
+ ?canManageFlags=${this.canManageFlags}
19
+ .username=${this.username}
20
+ .screenName=${this.screenName}
21
+ .itemIdentifier=${this.itemIdentifier}
22
+ >
23
+ </ia-topnav>
9
24
 
10
25
  ${this.devTools}
11
26
  `;
@@ -15,51 +30,78 @@ let AppRoot = class AppRoot extends LitElement {
15
30
  <div id="dev-tools">
16
31
  <h1>Dev Tools</h1>
17
32
 
18
- <h2>Username</h2>
33
+ <h2>User menu</h2>
19
34
  <fieldset>
20
- <button
21
- @click=${() => {
22
- this.topnav.screenName = 'brewster';
23
- this.topnav.username = '@brewster';
35
+ <ul>
36
+ <li>
37
+ <button
38
+ @click=${() => {
39
+ this.screenName = 'brewster';
40
+ this.username = '@brewster';
24
41
  }}
25
- >
26
- Switch username to brewster
27
- </button>
28
-
29
- <br />
42
+ >
43
+ Switch username to brewster
44
+ </button>
45
+ </li>
30
46
 
31
- <button
32
- @click=${() => {
33
- this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
34
- this.topnav.username = '@test';
47
+ <li>
48
+ <button
49
+ @click=${() => {
50
+ this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
51
+ this.username = '@test';
35
52
  }}
36
- >
37
- Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
38
- </button>
39
-
40
- <br />
53
+ >
54
+ Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
55
+ </button>
56
+ </li>
41
57
 
42
- <button
43
- @click=${() => {
44
- this.topnav.screenName =
58
+ <li>
59
+ <button
60
+ @click=${() => {
61
+ this.screenName =
45
62
  'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
46
- this.topnav.username = '@test';
63
+ this.username = '@test';
47
64
  }}
48
- >
49
- Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
50
- العجوز
51
- </button>
65
+ >
66
+ Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور
67
+ محمد العجوز
68
+ </button>
69
+ </li>
52
70
 
53
- <br />
71
+ <li>
72
+ <button
73
+ @click=${() => {
74
+ this.username = '';
75
+ this.screenName = '';
76
+ }}
77
+ >
78
+ Switch to logged out
79
+ </button>
80
+ </li>
54
81
 
55
- <button
56
- @click=${() => {
57
- this.topnav.username = '';
58
- this.topnav.screenName = '';
82
+ <li>
83
+ <button
84
+ @click=${() => {
85
+ this.itemIdentifier = this.admin ? '' : 'boop';
86
+ this.admin = !this.admin;
59
87
  }}
60
- >
61
- Switch to logged out
62
- </button>
88
+ >
89
+ Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires
90
+ logged in)
91
+ </button>
92
+ </li>
93
+
94
+ <li>
95
+ <button
96
+ @click=${() => {
97
+ this.canManageFlags = !this.canManageFlags;
98
+ }}
99
+ >
100
+ Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})
101
+ (requires admin mode)
102
+ </button>
103
+ </li>
104
+ </ul>
63
105
  </fieldset>
64
106
 
65
107
  <h2>Local Links</h2>
@@ -77,7 +119,7 @@ let AppRoot = class AppRoot extends LitElement {
77
119
  }}
78
120
  >
79
121
  Enable local links
80
- </button>
122
+ </button>
81
123
  </fieldset>
82
124
 
83
125
  <h2>Wayback Count</h2>
@@ -133,49 +175,23 @@ AppRoot.styles = css `
133
175
  __decorate([
134
176
  query('ia-topnav')
135
177
  ], AppRoot.prototype, "topnav", void 0);
178
+ __decorate([
179
+ state()
180
+ ], AppRoot.prototype, "admin", void 0);
181
+ __decorate([
182
+ state()
183
+ ], AppRoot.prototype, "canManageFlags", void 0);
184
+ __decorate([
185
+ state()
186
+ ], AppRoot.prototype, "username", void 0);
187
+ __decorate([
188
+ state()
189
+ ], AppRoot.prototype, "screenName", void 0);
190
+ __decorate([
191
+ state()
192
+ ], AppRoot.prototype, "itemIdentifier", void 0);
136
193
  AppRoot = __decorate([
137
194
  customElement('app-root')
138
195
  ], AppRoot);
139
196
  export { AppRoot };
140
- // <center>
141
- // <h1>demo </h1>
142
- // < button
143
- // onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
144
- // switch username to brewster
145
- // </button>
146
- // < br />
147
- // <button
148
- // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
149
- // switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
150
- // </button>
151
- // < br />
152
- // <button
153
- // onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
154
- // switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
155
- // </button>
156
- // < br />
157
- // <br />
158
- // < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
159
- // switch to un - logged -in
160
- // </button>
161
- // < hr />
162
- // <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
163
- // switch localLinks false(change to https://archive.org)
164
- // </button>
165
- // < br />
166
- // <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
167
- // switch to localLinks(default, change links to start with /)
168
- // </button>
169
- // < hr />
170
- // <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
171
- // change WB pages count
172
- // </button>
173
- // < hr />
174
- // <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
175
- // HIDE Top Row Search button, like on mobile
176
- // </button>
177
- // < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
178
- // SHOW Top Row Search button, like on mobile
179
- // </button>
180
- // </center>
181
197
  //# sourceMappingURL=app-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/app-root.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,kBAAkB,CAAC;AAInB,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAIrC,MAAM;QACJ,OAAO,IAAI,CAAA;;;QAGP,IAAI,CAAC,QAAQ;KAChB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAA;;;;;;;qBAOM,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QACrC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,6BAA6B,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU;gBACpB,uDAAuD,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAC9B,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;QACvD,CAAC;;;;;;qBAMQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,aAAa,CAAC;QACnD,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;;KAMR,CAAC;IACJ,CAAC;;AAEM,cAAM,GAAG,GAAG,CAAA;;;;;;;;;GASlB,AATY,CASX;AAjIM;IADP,KAAK,CAAC,WAAW,CAAC;uCACK;AAFb,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAoInB;;AAED,WAAW;AACX,mBAAmB;AAEnB,aAAa;AACb,sKAAsK;AACtK,kCAAkC;AAClC,cAAc;AACd,YAAY;AACZ,YAAY;AACZ,uLAAuL;AACvL,qDAAqD;AACrD,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,iNAAiN;AACjN,+EAA+E;AAC/E,cAAc;AACd,YAAY;AACZ,WAAW;AACX,2FAA2F;AAC3F,gCAAgC;AAChC,cAAc;AAEd,YAAY;AAEZ,8FAA8F;AAC9F,6DAA6D;AAC7D,gBAAgB;AAChB,cAAc;AACd,4FAA4F;AAC5F,kEAAkE;AAClE,YAAY;AAEZ,YAAY;AACZ,oHAAoH;AACpH,4BAA4B;AAC5B,kBAAkB;AAElB,gBAAgB;AAChB,iGAAiG;AACjG,qDAAqD;AACrD,sBAAsB;AACtB,qGAAqG;AACrG,yDAAyD;AACzD,0BAA0B;AAC1B,0BAA0B","sourcesContent":["import { html, css, LitElement, TemplateResult } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\nimport '../src/ia-topnav';\nimport type TopNav from '../src/ia-topnav';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n @query('ia-topnav')\n private topnav!: TopNav;\n\n render() {\n return html`\n <ia-topnav> </ia-topnav>\n\n ${this.devTools}\n `;\n }\n\n private get devTools(): TemplateResult {\n return html`\n <div id=\"dev-tools\">\n <h1>Dev Tools</h1>\n\n <h2>Username</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.screenName = 'brewster';\n this.topnav.username = '@brewster';\n }}\n >\n Switch username to brewster\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';\n this.topnav.username = '@test';\n }}\n >\n Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName =\n 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';\n this.topnav.username = '@test';\n }}\n >\n Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد\n العجوز\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.username = '';\n this.topnav.screenName = '';\n }}\n >\n Switch to logged out\n </button>\n </fieldset>\n\n <h2>Local Links</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.localLinks = false;\n }}\n >\n Disable local links\n </button>\n <button\n @click=${() => {\n this.topnav.localLinks = true;\n }}\n >\n Enable local links\n </button>\n </fieldset>\n\n <h2>Wayback Count</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = 'many, MAAAANNNY';\n }}\n >\n Change WB pages count\n </button>\n\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = '740 billion';\n }}\n >\n Reset WB pages count\n </button>\n </fieldset>\n\n <h2>Search</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.hideSearch = true;\n }}\n >\n Hide Top Row Search button, like on mobile\n </button>\n <button\n @click=${() => {\n this.topnav.hideSearch = false;\n }}\n >\n Show Top Row Search button, like on mobile\n </button>\n </fieldset>\n </div>\n `;\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n }\n\n #dev-tools {\n margin: 1rem;\n }\n `;\n}\n\n// <center>\n// <h1>demo </h1>\n\n// < button\n// onclick = \"document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')\" >\n// switch username to brewster\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز\n// </button>\n// < br />\n// <br />\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('username')\" >\n// switch to un - logged -in\n// </button>\n\n// < hr />\n\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('localLinks', false)\" >\n// switch localLinks false(change to https://archive.org)\n// </button>\n// < br />\n// <button onclick=\"document.querySelector('ia-topnav').removeAttribute('localLinks')\" >\n// switch to localLinks(default, change links to start with /)\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')\" >\n// change WB pages count\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('hideSearch', true)\" >\n// HIDE Top Row Search button, like on mobile\n// </button>\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('hideSearch')\" >\n// SHOW Top Row Search button, like on mobile\n// </button>\n// </center>\n"]}
1
+ {"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/app-root.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, css, LitElement, TemplateResult } from 'lit';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport '../src/ia-topnav';\nimport type TopNav from '../src/ia-topnav';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n @query('ia-topnav')\n private topnav!: TopNav;\n\n @state() private admin = false;\n\n @state() private canManageFlags = false;\n\n @state() private username = '';\n\n @state() private screenName = '';\n\n @state() private itemIdentifier = '';\n\n render() {\n return html`\n <ia-topnav\n ?admin=${this.admin}\n ?canManageFlags=${this.canManageFlags}\n .username=${this.username}\n .screenName=${this.screenName}\n .itemIdentifier=${this.itemIdentifier}\n >\n </ia-topnav>\n\n ${this.devTools}\n `;\n }\n\n private get devTools(): TemplateResult {\n return html`\n <div id=\"dev-tools\">\n <h1>Dev Tools</h1>\n\n <h2>User menu</h2>\n <fieldset>\n <ul>\n <li>\n <button\n @click=${() => {\n this.screenName = 'brewster';\n this.username = '@brewster';\n }}\n >\n Switch username to brewster\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';\n this.username = '@test';\n }}\n >\n Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.screenName =\n 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';\n this.username = '@test';\n }}\n >\n Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور\n محمد العجوز\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.username = '';\n this.screenName = '';\n }}\n >\n Switch to logged out\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.itemIdentifier = this.admin ? '' : 'boop';\n this.admin = !this.admin;\n }}\n >\n Toggle admin mode (${this.admin ? 'on' : 'off'}) (requires\n logged in)\n </button>\n </li>\n\n <li>\n <button\n @click=${() => {\n this.canManageFlags = !this.canManageFlags;\n }}\n >\n Toggle manage flags mode (${this.canManageFlags ? 'on' : 'off'})\n (requires admin mode)\n </button>\n </li>\n </ul>\n </fieldset>\n\n <h2>Local Links</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.localLinks = false;\n }}\n >\n Disable local links\n </button>\n <button\n @click=${() => {\n this.topnav.localLinks = true;\n }}\n >\n Enable local links\n </button>\n </fieldset>\n\n <h2>Wayback Count</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = 'many, MAAAANNNY';\n }}\n >\n Change WB pages count\n </button>\n\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = '740 billion';\n }}\n >\n Reset WB pages count\n </button>\n </fieldset>\n\n <h2>Search</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.hideSearch = true;\n }}\n >\n Hide Top Row Search button, like on mobile\n </button>\n <button\n @click=${() => {\n this.topnav.hideSearch = false;\n }}\n >\n Show Top Row Search button, like on mobile\n </button>\n </fieldset>\n </div>\n `;\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n }\n\n #dev-tools {\n margin: 1rem;\n }\n `;\n}\n"]}
@@ -147,44 +147,52 @@ export function buildTopNavMenus(userid = '___USERID___', baseHost = 'https://ar
147
147
  browserExtensionsLinks: [],
148
148
  archiveItLinks: [],
149
149
  },
150
- more: [
151
- {
152
- title: 'About',
153
- url: `${baseHost}/about/`,
154
- },
155
- {
156
- title: 'Blog',
157
- url: 'https://blog.archive.org',
158
- },
159
- {
160
- title: 'Projects',
161
- url: `${baseHost}/projects/`,
162
- },
163
- {
164
- title: 'Help',
165
- url: `${baseHost}/about/faqs.php`,
166
- },
167
- {
168
- title: 'Donate',
169
- url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,
170
- },
171
- {
172
- title: 'Contact',
173
- url: `${baseHost}/about/contact`,
174
- },
175
- {
176
- title: 'Jobs',
177
- url: `${baseHost}/about/jobs`,
178
- },
179
- {
180
- title: 'Volunteer',
181
- url: `${baseHost}/about/volunteer-positions`,
182
- },
183
- {
184
- title: 'People',
185
- url: `${baseHost}/about/bios`,
186
- },
187
- ],
150
+ more: {
151
+ links: [
152
+ {
153
+ title: 'About',
154
+ url: `${baseHost}/about/`,
155
+ },
156
+ {
157
+ title: 'Blog',
158
+ url: 'https://blog.archive.org',
159
+ },
160
+ {
161
+ title: 'Projects',
162
+ url: `${baseHost}/projects/`,
163
+ },
164
+ {
165
+ title: 'Help',
166
+ url: `${baseHost}/about/faqs.php`,
167
+ },
168
+ {
169
+ title: 'Donate',
170
+ url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,
171
+ },
172
+ {
173
+ title: 'Contact',
174
+ url: `${baseHost}/about/contact`,
175
+ },
176
+ {
177
+ title: 'Jobs',
178
+ url: `${baseHost}/about/jobs`,
179
+ },
180
+ {
181
+ title: 'Volunteer',
182
+ url: `${baseHost}/about/volunteer-positions`,
183
+ },
184
+ {
185
+ title: 'People',
186
+ url: `${baseHost}/about/bios`,
187
+ },
188
+ ],
189
+ heading: '',
190
+ iconLinks: [],
191
+ featuredLinks: [],
192
+ mobileAppsLinks: [],
193
+ browserExtensionsLinks: [],
194
+ archiveItLinks: []
195
+ },
188
196
  software: {
189
197
  heading: 'Software',
190
198
  iconLinks: [