@internetarchive/ia-item-navigator 1.0.4 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. package/.github/workflows/ci.yml +4 -5
  2. package/.github/workflows/gh-pages-main.yml +39 -0
  3. package/.github/workflows/pr-preview.yml +38 -0
  4. package/demo/app-root.ts +13 -13
  5. package/dist/demo/app-root.d.ts +47 -47
  6. package/dist/demo/app-root.js +200 -199
  7. package/dist/demo/app-root.js.map +1 -1
  8. package/dist/index.d.ts +3 -3
  9. package/dist/index.js +3 -3
  10. package/dist/src/interfaces/custom-theater-interface.d.ts +20 -20
  11. package/dist/src/interfaces/custom-theater-interface.js +1 -1
  12. package/dist/src/interfaces/event-interfaces.d.ts +40 -40
  13. package/dist/src/interfaces/event-interfaces.js +1 -1
  14. package/dist/src/interfaces/menu-interfaces.d.ts +23 -22
  15. package/dist/src/interfaces/menu-interfaces.js +1 -1
  16. package/dist/src/interfaces/menu-interfaces.js.map +1 -1
  17. package/dist/src/item-navigator.d.ts +69 -69
  18. package/dist/src/item-navigator.js +259 -257
  19. package/dist/src/item-navigator.js.map +1 -1
  20. package/dist/src/loader.d.ts +9 -13
  21. package/dist/src/loader.js +35 -31
  22. package/dist/src/loader.js.map +1 -1
  23. package/dist/src/menu-slider/ia-menu-slider.d.ts +31 -30
  24. package/dist/src/menu-slider/ia-menu-slider.js +123 -124
  25. package/dist/src/menu-slider/ia-menu-slider.js.map +1 -1
  26. package/dist/src/menu-slider/menu-button.d.ts +19 -19
  27. package/dist/src/menu-slider/menu-button.js +75 -75
  28. package/dist/src/menu-slider/menu-button.js.map +1 -1
  29. package/dist/src/menu-slider/styles/menu-button.d.ts +2 -2
  30. package/dist/src/menu-slider/styles/menu-button.js +2 -2
  31. package/dist/src/menu-slider/styles/menu-slider.d.ts +2 -2
  32. package/dist/src/menu-slider/styles/menu-slider.js +5 -5
  33. package/dist/src/no-theater-available.d.ts +9 -9
  34. package/dist/src/no-theater-available.js +35 -35
  35. package/dist/src/no-theater-available.js.map +1 -1
  36. package/dist/test/ia-item-navigator.test.d.ts +1 -1
  37. package/dist/test/ia-item-navigator.test.js +296 -296
  38. package/dist/test/ia-item-navigator.test.js.map +1 -1
  39. package/dist/test/ia-stub.d.ts +22 -22
  40. package/dist/test/ia-stub.js +34 -34
  41. package/dist/test/no-theater-available.test.d.ts +1 -1
  42. package/dist/test/no-theater-available.test.js +22 -22
  43. package/dist/test/no-theater-available.test.js.map +1 -1
  44. package/dist/vite.config.d.ts +2 -0
  45. package/dist/vite.config.js +25 -0
  46. package/dist/vite.config.js.map +1 -0
  47. package/package.json +35 -21
  48. package/src/interfaces/menu-interfaces.ts +3 -1
  49. package/src/item-navigator.ts +9 -4
  50. package/src/loader.ts +5 -7
  51. package/src/menu-slider/ia-menu-slider.ts +17 -17
  52. package/src/menu-slider/menu-button.ts +3 -3
  53. package/src/no-theater-available.ts +1 -1
  54. package/test/ia-item-navigator.test.ts +24 -24
  55. package/test/iaux-item-navigator.test.txt +417 -0
  56. package/test/iaux-sharing-options.test.txt +84 -0
  57. package/test/no-theater-available.test.ts +2 -2
  58. package/tsconfig.json +2 -1
  59. package/vite.config.ts +25 -0
@@ -1,92 +1,94 @@
1
- import { __decorate } from "tslib";
2
- import { css, html, LitElement, nothing, } from 'lit';
3
- import { customElement, property, state, query } from 'lit/decorators.js';
4
- import { MetadataResponse } from '@internetarchive/search-service';
5
- import '@internetarchive/icon-ellipses/icon-ellipses';
6
- import './menu-slider/ia-menu-slider';
7
- import './loader';
8
- import './no-theater-available';
9
- let ItemNavigator = class ItemNavigator extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.viewAvailable = true;
13
- this.baseHost = 'archive.org';
14
- this.signedIn = false;
15
- this.menuContents = [];
16
- this.menuShortcuts = [];
17
- this.viewportInFullscreen = null;
18
- this.menuOpened = false;
19
- this.loaded = null;
20
- this.openMenuState = 'shift';
21
- }
22
- disconnectedCallback() {
23
- this.removeResizeObserver();
24
- }
25
- updated(changed) {
26
- if (changed.has('sharedObserver')) {
27
- const oldObserver = changed.get('sharedObserver');
28
- oldObserver === null || oldObserver === void 0 ? void 0 : oldObserver.removeObserver(this.resizeObserverConfig);
29
- this.setResizeObserver();
30
- }
31
- }
32
- /** Shared observer */
33
- handleResize(entry) {
34
- const { width } = entry.contentRect;
35
- if (width <= 600) {
36
- this.openMenuState = 'overlay';
37
- return;
38
- }
39
- this.openMenuState = 'shift';
40
- }
41
- setResizeObserver() {
42
- var _a, _b;
43
- (_a = this.sharedObserver) === null || _a === void 0 ? void 0 : _a.addObserver(this.resizeObserverConfig);
44
- (_b = this.sharedObserver) === null || _b === void 0 ? void 0 : _b.addObserver({
45
- target: this.headerSlot,
46
- handler: {
47
- handleResize: ({ contentRect }) => {
48
- if (contentRect.height) {
49
- this.requestUpdate();
50
- }
51
- },
52
- },
53
- });
54
- }
55
- removeResizeObserver() {
56
- var _a;
57
- (_a = this.sharedObserver) === null || _a === void 0 ? void 0 : _a.removeObserver(this.resizeObserverConfig);
58
- }
59
- get resizeObserverConfig() {
60
- return {
61
- handler: this,
62
- target: this.frame,
63
- };
64
- }
65
- /** End shared observer */
66
- get loaderTitle() {
67
- return this.viewportInFullscreen ? 'Internet Archive' : '';
68
- }
69
- get loadingArea() {
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, nothing, } from 'lit';
3
+ import { customElement, property, state, query } from 'lit/decorators.js';
4
+ import { MetadataResponse } from '@internetarchive/search-service';
5
+ import '@internetarchive/icon-ellipses/icon-ellipses';
6
+ import './menu-slider/ia-menu-slider';
7
+ import './loader';
8
+ import './no-theater-available';
9
+ let ItemNavigator = class ItemNavigator extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.viewAvailable = true;
13
+ this.baseHost = 'archive.org';
14
+ this.signedIn = false;
15
+ this.menuContents = [];
16
+ this.menuShortcuts = [];
17
+ this.viewportInFullscreen = null;
18
+ this.menuOpened = false;
19
+ this.loaded = null;
20
+ this.openMenuState = 'shift';
21
+ }
22
+ disconnectedCallback() {
23
+ this.removeResizeObserver();
24
+ }
25
+ updated(changed) {
26
+ if (changed.has('sharedObserver')) {
27
+ const oldObserver = changed.get('sharedObserver');
28
+ oldObserver === null || oldObserver === void 0 ? void 0 : oldObserver.removeObserver(this.resizeObserverConfig);
29
+ this.setResizeObserver();
30
+ }
31
+ }
32
+ /** Shared observer */
33
+ handleResize(entry) {
34
+ const { width } = entry.contentRect;
35
+ if (width <= 600) {
36
+ this.openMenuState = 'overlay';
37
+ return;
38
+ }
39
+ this.openMenuState = 'shift';
40
+ }
41
+ setResizeObserver() {
42
+ var _a, _b;
43
+ (_a = this.sharedObserver) === null || _a === void 0 ? void 0 : _a.addObserver(this.resizeObserverConfig);
44
+ (_b = this.sharedObserver) === null || _b === void 0 ? void 0 : _b.addObserver({
45
+ target: this.headerSlot,
46
+ handler: {
47
+ handleResize: ({ contentRect }) => {
48
+ if (contentRect.height) {
49
+ this.requestUpdate();
50
+ }
51
+ },
52
+ },
53
+ });
54
+ }
55
+ removeResizeObserver() {
56
+ var _a;
57
+ (_a = this.sharedObserver) === null || _a === void 0 ? void 0 : _a.removeObserver(this.resizeObserverConfig);
58
+ }
59
+ get resizeObserverConfig() {
60
+ return {
61
+ handler: this,
62
+ target: this.frame,
63
+ };
64
+ }
65
+ /** End shared observer */
66
+ get loaderTitle() {
67
+ return this.viewportInFullscreen ? 'Internet Archive' : '';
68
+ }
69
+ get loadingArea() {
70
70
  return html `
71
71
  <div class="loading-area">
72
72
  <div class="loading-view">
73
- <ia-itemnav-loader .title=${this.loaderTitle}></ia-itemnav-loader>
73
+ <ia-itemnav-loader
74
+ .loaderMessage=${this.loaderTitle}
75
+ ></ia-itemnav-loader>
74
76
  </div>
75
77
  </div>
76
- `;
77
- }
78
- slotChange(e, type) {
79
- var _a;
80
- const slottedContent = (_a = e.target.assignedNodes()) === null || _a === void 0 ? void 0 : _a[0];
81
- this.dispatchEvent(new CustomEvent('slotChange', {
82
- detail: { slot: slottedContent, type },
83
- }));
84
- this.requestUpdate();
85
- }
86
- render() {
87
- var _a, _b;
88
- const displayReaderClass = this.loaded ? '' : 'hidden';
89
- const headerHeight = ((_b = (_a = this.headerSlot) === null || _a === void 0 ? void 0 : _a.assignedNodes()[0]) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;
78
+ `;
79
+ }
80
+ slotChange(e, type) {
81
+ var _a;
82
+ const slottedContent = (_a = e.target.assignedNodes()) === null || _a === void 0 ? void 0 : _a[0];
83
+ this.dispatchEvent(new CustomEvent('slotChange', {
84
+ detail: { slot: slottedContent, type },
85
+ }));
86
+ this.requestUpdate();
87
+ }
88
+ render() {
89
+ var _a, _b;
90
+ const displayReaderClass = this.loaded ? '' : 'hidden';
91
+ const headerHeight = ((_b = (_a = this.headerSlot) === null || _a === void 0 ? void 0 : _a.assignedNodes()[0]) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;
90
92
  return html `
91
93
  <div id="frame" class=${this.menuClass}>
92
94
  <slot
@@ -102,20 +104,20 @@ let ItemNavigator = class ItemNavigator extends LitElement {
102
104
  ${!this.loaded ? this.loadingArea : nothing}
103
105
  </div>
104
106
  </div>
105
- `;
106
- }
107
- get noTheaterView() {
108
- var _a, _b;
107
+ `;
108
+ }
109
+ get noTheaterView() {
110
+ var _a, _b;
109
111
  return html `<ia-no-theater-available
110
112
  .identifier=${(_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.identifier}
111
113
  @loadingStateUpdated=${this.loadingStateUpdated}
112
- ></ia-no-theater-available>`;
113
- }
114
- get renderViewport() {
115
- if (!this.viewAvailable) {
116
- return this.noTheaterView;
117
- }
118
- const slotVisibility = !this.loaded ? 'opacity: 0;' : 'opacity: 1;';
114
+ ></ia-no-theater-available>`;
115
+ }
116
+ get renderViewport() {
117
+ if (!this.viewAvailable) {
118
+ return this.noTheaterView;
119
+ }
120
+ const slotVisibility = !this.loaded ? 'opacity: 0;' : 'opacity: 1;';
119
121
  return html `
120
122
  <div slot="main" style=${slotVisibility}>
121
123
  <slot
@@ -123,59 +125,59 @@ let ItemNavigator = class ItemNavigator extends LitElement {
123
125
  @slotchange=${(e) => this.slotChange(e, 'main')}
124
126
  ></slot>
125
127
  </div>
126
- `;
127
- }
128
- loadingStateUpdated(e) {
129
- const { loaded } = e.detail;
130
- this.loaded = loaded || null;
131
- }
132
- /** Fullscreen Management */
133
- manageViewportFullscreen(e) {
134
- const fullscreenStatus = !!e.detail.isFullScreen;
135
- this.viewportInFullscreen = !fullscreenStatus ? null : fullscreenStatus;
136
- const event = new CustomEvent('fullscreenToggled', {
137
- detail: e.detail,
138
- });
139
- this.dispatchEvent(event);
140
- }
141
- /** End Fullscreen Management */
142
- /** Side menu */
143
- get shouldRenderMenu() {
144
- var _a;
145
- return !!((_a = this.menuContents) === null || _a === void 0 ? void 0 : _a.length);
146
- }
147
- toggleMenu() {
148
- this.menuOpened = !this.menuOpened;
149
- }
150
- closeMenu() {
151
- this.menuOpened = false;
152
- }
153
- setOpenMenu(e) {
154
- const { id } = e.detail;
155
- this.openMenu = id !== this.openMenu ? id : undefined;
156
- }
157
- setMenuContents(e) {
158
- const updatedContents = [...e.detail];
159
- this.menuContents = updatedContents;
160
- }
161
- setMenuShortcuts(e) {
162
- this.menuShortcuts = [...e.detail];
163
- }
164
- /** Toggles Side Menu & Sets viewable subpanel */
165
- manageSideMenuEvents(e) {
166
- const { menuId, action } = e.detail;
167
- if (!menuId) {
168
- return;
169
- }
170
- if (action === 'open') {
171
- this.openShortcut(menuId);
172
- }
173
- else if (action === 'toggle') {
174
- this.openMenu = menuId;
175
- this.toggleMenu();
176
- }
177
- }
178
- get menuToggleButton() {
128
+ `;
129
+ }
130
+ loadingStateUpdated(e) {
131
+ const { loaded } = e.detail;
132
+ this.loaded = loaded || null;
133
+ }
134
+ /** Fullscreen Management */
135
+ manageViewportFullscreen(e) {
136
+ const fullscreenStatus = !!e.detail.isFullScreen;
137
+ this.viewportInFullscreen = !fullscreenStatus ? null : fullscreenStatus;
138
+ const event = new CustomEvent('fullscreenToggled', {
139
+ detail: e.detail,
140
+ });
141
+ this.dispatchEvent(event);
142
+ }
143
+ /** End Fullscreen Management */
144
+ /** Side menu */
145
+ get shouldRenderMenu() {
146
+ var _a;
147
+ return !!((_a = this.menuContents) === null || _a === void 0 ? void 0 : _a.length);
148
+ }
149
+ toggleMenu() {
150
+ this.menuOpened = !this.menuOpened;
151
+ }
152
+ closeMenu() {
153
+ this.menuOpened = false;
154
+ }
155
+ setOpenMenu(e) {
156
+ const { id } = e.detail;
157
+ this.openMenu = id !== this.openMenu ? id : undefined;
158
+ }
159
+ setMenuContents(e) {
160
+ const updatedContents = [...e.detail];
161
+ this.menuContents = updatedContents;
162
+ }
163
+ setMenuShortcuts(e) {
164
+ this.menuShortcuts = [...e.detail];
165
+ }
166
+ /** Toggles Side Menu & Sets viewable subpanel */
167
+ manageSideMenuEvents(e) {
168
+ const { menuId, action } = e.detail;
169
+ if (!menuId) {
170
+ return;
171
+ }
172
+ if (action === 'open') {
173
+ this.openShortcut(menuId);
174
+ }
175
+ else if (action === 'toggle') {
176
+ this.openMenu = menuId;
177
+ this.toggleMenu();
178
+ }
179
+ }
180
+ get menuToggleButton() {
179
181
  return html `
180
182
  <button
181
183
  class="toggle-menu"
@@ -188,13 +190,13 @@ let ItemNavigator = class ItemNavigator extends LitElement {
188
190
  ></ia-icon-ellipses>
189
191
  </div>
190
192
  </button>
191
- `;
192
- }
193
- get selectedMenuId() {
194
- return this.openMenu || '';
195
- }
196
- get renderSideMenu() {
197
- const drawerState = this.menuOpened ? '' : 'hidden';
193
+ `;
194
+ }
195
+ get selectedMenuId() {
196
+ return this.openMenu || '';
197
+ }
198
+ get renderSideMenu() {
199
+ const drawerState = this.menuOpened ? '' : 'hidden';
198
200
  return html `
199
201
  <nav>
200
202
  <div class="minimized">${this.shortcuts} ${this.menuToggleButton}</div>
@@ -209,42 +211,42 @@ let ItemNavigator = class ItemNavigator extends LitElement {
209
211
  ></ia-menu-slider>
210
212
  </div>
211
213
  </nav>
212
- `;
213
- }
214
- /** End Side menu */
215
- /** Menu Shortcuts */
216
- openShortcut(selectedMenuId = '') {
217
- this.openMenu = selectedMenuId;
218
- this.menuOpened = true;
219
- }
220
- get shortcuts() {
221
- const shortcuts = this.menuShortcuts.map(({ icon, id }) => {
222
- if (id === 'fullscreen') {
223
- return html `${icon}`;
224
- }
214
+ `;
215
+ }
216
+ /** End Side menu */
217
+ /** Menu Shortcuts */
218
+ openShortcut(selectedMenuId = '') {
219
+ this.openMenu = selectedMenuId;
220
+ this.menuOpened = true;
221
+ }
222
+ get shortcuts() {
223
+ const shortcuts = this.menuShortcuts.map(({ icon, id }) => {
224
+ if (id === 'fullscreen') {
225
+ return html `${icon}`;
226
+ }
225
227
  return html `
226
228
  <button class="shortcut ${id}" @click="${() => this.openShortcut(id)}">
227
229
  ${icon}
228
230
  </button>
229
- `;
230
- });
231
- return html `<div class="shortcuts">${shortcuts}</div>`;
232
- }
233
- /** End Menu Shortcuts */
234
- /** Misc Render */
235
- get menuClass() {
236
- var _a, _b;
237
- const hasMenuOrShortcuts = ((_a = this.menuContents) === null || _a === void 0 ? void 0 : _a.length) || ((_b = this.menuShortcuts) === null || _b === void 0 ? void 0 : _b.length);
238
- const drawerState = this.menuOpened && hasMenuOrShortcuts ? 'open' : '';
239
- const fullscreenState = this.viewportInFullscreen ? 'fullscreen' : '';
240
- return `${drawerState} ${fullscreenState} ${this.openMenuState}`;
241
- }
242
- static get styles() {
243
- const subnavWidth = css `var(--menuWidth, 320px)`;
244
- const transitionTiming = css `var(--animationTiming, 200ms)`;
245
- const transitionEffect = css `transform ${transitionTiming} ease-out`;
246
- const menuMargin = css `var(--theaterMenuMargin, 42px)`;
247
- const theaterBg = css `var(--theaterBgColor, #000)`;
231
+ `;
232
+ });
233
+ return html `<div class="shortcuts">${shortcuts}</div>`;
234
+ }
235
+ /** End Menu Shortcuts */
236
+ /** Misc Render */
237
+ get menuClass() {
238
+ var _a, _b;
239
+ const hasMenuOrShortcuts = ((_a = this.menuContents) === null || _a === void 0 ? void 0 : _a.length) || ((_b = this.menuShortcuts) === null || _b === void 0 ? void 0 : _b.length);
240
+ const drawerState = this.menuOpened && hasMenuOrShortcuts ? 'open' : '';
241
+ const fullscreenState = this.viewportInFullscreen ? 'fullscreen' : '';
242
+ return `${drawerState} ${fullscreenState} ${this.openMenuState}`;
243
+ }
244
+ static get styles() {
245
+ const subnavWidth = css `var(--menuWidth, 320px)`;
246
+ const transitionTiming = css `var(--animationTiming, 200ms)`;
247
+ const transitionEffect = css `transform ${transitionTiming} ease-out`;
248
+ const menuMargin = css `var(--theaterMenuMargin, 42px)`;
249
+ const theaterBg = css `var(--theaterBgColor, #000)`;
248
250
  return css `
249
251
  :host,
250
252
  #frame,
@@ -409,74 +411,74 @@ let ItemNavigator = class ItemNavigator extends LitElement {
409
411
  margin-left: ${subnavWidth};
410
412
  transition: ${transitionEffect};
411
413
  }
412
- `;
413
- }
414
- };
415
- __decorate([
416
- property({
417
- type: Object,
418
- converter: (value) => {
419
- if (value && typeof value === 'string') {
420
- return new MetadataResponse(JSON.parse(atob(value)));
421
- }
422
- return value;
423
- },
424
- })
425
- ], ItemNavigator.prototype, "item", void 0);
426
- __decorate([
427
- property({ type: Boolean })
428
- ], ItemNavigator.prototype, "viewAvailable", void 0);
429
- __decorate([
430
- property({ type: String })
431
- ], ItemNavigator.prototype, "baseHost", void 0);
432
- __decorate([
433
- property({
434
- converter: (arg) => {
435
- if (typeof arg === 'boolean') {
436
- return arg;
437
- }
438
- return arg === 'true';
439
- },
440
- })
441
- ], ItemNavigator.prototype, "signedIn", void 0);
442
- __decorate([
443
- property({ type: Array })
444
- ], ItemNavigator.prototype, "menuContents", void 0);
445
- __decorate([
446
- property({ type: Array })
447
- ], ItemNavigator.prototype, "menuShortcuts", void 0);
448
- __decorate([
449
- property({ type: Boolean, reflect: true, attribute: true })
450
- ], ItemNavigator.prototype, "viewportInFullscreen", void 0);
451
- __decorate([
452
- property({ type: Boolean })
453
- ], ItemNavigator.prototype, "menuOpened", void 0);
454
- __decorate([
455
- property({ type: String })
456
- ], ItemNavigator.prototype, "openMenu", void 0);
457
- __decorate([
458
- property({ attribute: false })
459
- ], ItemNavigator.prototype, "modal", void 0);
460
- __decorate([
461
- property({ attribute: false })
462
- ], ItemNavigator.prototype, "sharedObserver", void 0);
463
- __decorate([
464
- property({ type: Boolean, reflect: true, attribute: true })
465
- ], ItemNavigator.prototype, "loaded", void 0);
466
- __decorate([
467
- state()
468
- ], ItemNavigator.prototype, "openMenuState", void 0);
469
- __decorate([
470
- query('#frame')
471
- ], ItemNavigator.prototype, "frame", void 0);
472
- __decorate([
473
- query('slot[name="header"]')
474
- ], ItemNavigator.prototype, "headerSlot", void 0);
475
- __decorate([
476
- query('slot[name="main"]')
477
- ], ItemNavigator.prototype, "mainSlot", void 0);
478
- ItemNavigator = __decorate([
479
- customElement('ia-item-navigator')
480
- ], ItemNavigator);
481
- export { ItemNavigator };
414
+ `;
415
+ }
416
+ };
417
+ __decorate([
418
+ property({
419
+ type: Object,
420
+ converter: (value) => {
421
+ if (value && typeof value === 'string') {
422
+ return new MetadataResponse(JSON.parse(atob(value)));
423
+ }
424
+ return value;
425
+ },
426
+ })
427
+ ], ItemNavigator.prototype, "item", void 0);
428
+ __decorate([
429
+ property({ type: Boolean })
430
+ ], ItemNavigator.prototype, "viewAvailable", void 0);
431
+ __decorate([
432
+ property({ type: String })
433
+ ], ItemNavigator.prototype, "baseHost", void 0);
434
+ __decorate([
435
+ property({
436
+ converter: (arg) => {
437
+ if (typeof arg === 'boolean') {
438
+ return arg;
439
+ }
440
+ return arg === 'true';
441
+ },
442
+ })
443
+ ], ItemNavigator.prototype, "signedIn", void 0);
444
+ __decorate([
445
+ property({ type: Array })
446
+ ], ItemNavigator.prototype, "menuContents", void 0);
447
+ __decorate([
448
+ property({ type: Array })
449
+ ], ItemNavigator.prototype, "menuShortcuts", void 0);
450
+ __decorate([
451
+ property({ type: Boolean, reflect: true, attribute: true })
452
+ ], ItemNavigator.prototype, "viewportInFullscreen", void 0);
453
+ __decorate([
454
+ property({ type: Boolean })
455
+ ], ItemNavigator.prototype, "menuOpened", void 0);
456
+ __decorate([
457
+ property({ type: String })
458
+ ], ItemNavigator.prototype, "openMenu", void 0);
459
+ __decorate([
460
+ property({ attribute: false })
461
+ ], ItemNavigator.prototype, "modal", void 0);
462
+ __decorate([
463
+ property({ attribute: false })
464
+ ], ItemNavigator.prototype, "sharedObserver", void 0);
465
+ __decorate([
466
+ property({ type: Boolean, reflect: true, attribute: true })
467
+ ], ItemNavigator.prototype, "loaded", void 0);
468
+ __decorate([
469
+ state()
470
+ ], ItemNavigator.prototype, "openMenuState", void 0);
471
+ __decorate([
472
+ query('#frame')
473
+ ], ItemNavigator.prototype, "frame", void 0);
474
+ __decorate([
475
+ query('slot[name="header"]')
476
+ ], ItemNavigator.prototype, "headerSlot", void 0);
477
+ __decorate([
478
+ query('slot[name="main"]')
479
+ ], ItemNavigator.prototype, "mainSlot", void 0);
480
+ ItemNavigator = __decorate([
481
+ customElement('ia-item-navigator')
482
+ ], ItemNavigator);
483
+ export { ItemNavigator };
482
484
  //# sourceMappingURL=item-navigator.js.map