@internetarchive/bookreader 5.0.0-30-d → 5.0.0-32-shadydom

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 (43) hide show
  1. package/BookReader/BookReader.js +2 -32261
  2. package/BookReader/BookReader.js.LICENSE.txt +117 -0
  3. package/BookReader/BookReader.js.map +1 -1
  4. package/BookReader/ia-bookreader-bundle.js +1146 -14911
  5. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +39 -0
  6. package/BookReader/ia-bookreader-bundle.js.map +1 -1
  7. package/BookReader/jquery-1.10.1.js +2 -108
  8. package/BookReader/jquery-1.10.1.js.LICENSE.txt +24 -0
  9. package/BookReader/plugins/plugin.archive_analytics.js +1 -170
  10. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  11. package/BookReader/plugins/plugin.autoplay.js +1 -163
  12. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  13. package/BookReader/plugins/plugin.chapters.js +1 -333
  14. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  15. package/BookReader/plugins/plugin.iframe.js +1 -72
  16. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  17. package/BookReader/plugins/plugin.mobile_nav.js +1 -332
  18. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  19. package/BookReader/plugins/plugin.resume.js +1 -241
  20. package/BookReader/plugins/plugin.resume.js.map +1 -1
  21. package/BookReader/plugins/plugin.search.js +1 -1261
  22. package/BookReader/plugins/plugin.search.js.map +1 -1
  23. package/BookReader/plugins/plugin.text_selection.js +1 -839
  24. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  25. package/BookReader/plugins/plugin.tts.js +2 -9115
  26. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +27 -0
  27. package/BookReader/plugins/plugin.tts.js.map +1 -1
  28. package/BookReader/plugins/plugin.url.js +1 -811
  29. package/BookReader/plugins/plugin.url.js.map +1 -1
  30. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -326
  31. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  32. package/BookReader/webcomponents-bundle.js +2 -411
  33. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  34. package/BookReader/webcomponents-bundle.js.map +1 -1
  35. package/BookReaderDemo/demo-internetarchive.html +2 -1
  36. package/CHANGELOG.md +6 -0
  37. package/package.json +2 -2
  38. package/src/BookNavigator/book-navigator.js +2 -1
  39. package/src/ia-bookreader/ia-bookreader.js +29 -21
  40. package/stat/BookNavigator/BookNavigator.js +1 -1
  41. package/stat/BookReaderComponent/BookReaderComponent.js +2 -2
  42. package/tests/karma/BookNavigator/book-navigator.test.js +1 -1
  43. package/webpack.config.js +1 -1
@@ -43,7 +43,7 @@
43
43
  <ia-bookreader
44
44
  baseHost="https://archive.org"
45
45
  >
46
- <div id="IABookReaderWrapper" slot="theater-main">
46
+ <div id="IABookReaderWrapper" slot="main">
47
47
  <div id="BookReader" class="BookReader"></div>
48
48
  </div>
49
49
  <div>
@@ -88,6 +88,7 @@
88
88
  <h3>Placeholder div to allow scrolling</h3>
89
89
  </div>
90
90
 
91
+ <!-- Certain features, like Bookmarks, use modal-manager to draw their interface -->
91
92
  <modal-manager></modal-manager>
92
93
  <script >
93
94
  // Set up demo things
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # 5.0.0-31
2
+ Fix: modal loads into dom from `<ia-bookreader>` @iisa
3
+
4
+ # 5.0.0-30
5
+ - `<ia-bookreader>` is top-most web component @iisa
6
+
1
7
  # 5.0.0-29
2
8
  - import ia-item-navigator for menu management @iisa
3
9
  - url plugin: suppress default state on load @dualcnhq
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internetarchive/bookreader",
3
- "version": "5.0.0-30-d",
3
+ "version": "5.0.0-32-shadydom",
4
4
  "description": "The Internet Archive BookReader.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,7 @@
26
26
  "private": false,
27
27
  "dependencies": {
28
28
  "@internetarchive/ia-activity-indicator": "^0.0.1",
29
- "@internetarchive/ia-item-navigator": "^0.0.4-4",
29
+ "@internetarchive/ia-item-navigator": "0.0.5-1",
30
30
  "@internetarchive/ia-menu-slider": "^1.1.1",
31
31
  "@internetarchive/ia-sharing-options": "^0.1.4",
32
32
  "@internetarchive/icon-bookmark": "^1.1.3",
@@ -504,7 +504,7 @@ export class BookNavigator extends LitElement {
504
504
  const placeholder = this.bookReaderCannotLoad ? this.itemImage : this.loader;
505
505
  return html`<div id="book-navigator" class="${this.loadingClass}">
506
506
  ${placeholder}
507
- <slot name="theater-main"></slot>
507
+ <slot name="main"></slot>
508
508
  </div>
509
509
  `;
510
510
  }
@@ -517,6 +517,7 @@ export class BookNavigator extends LitElement {
517
517
  slot > * {
518
518
  display: block;
519
519
  height: inherit;
520
+ width: inherit;
520
521
  }
521
522
  .cover-img {
522
523
  max-height: 300px;
@@ -44,7 +44,7 @@ export class IaBookReader extends LitElement {
44
44
 
45
45
  updated() {
46
46
  if (!this.modal) {
47
- this.modal = new ModalManager();
47
+ this.setModalManager();
48
48
  }
49
49
 
50
50
  if (!this.sharedObserver) {
@@ -52,12 +52,24 @@ export class IaBookReader extends LitElement {
52
52
  }
53
53
  }
54
54
 
55
+ /** Creates modal DOM & attaches to `<body>` */
56
+ setModalManager() {
57
+ let modalManager = document.querySelector('modal-manager');
58
+ if (!modalManager) {
59
+ modalManager = document.createElement(
60
+ 'modal-manager'
61
+ );
62
+ document.body.appendChild(modalManager);
63
+ }
64
+
65
+ this.modal = modalManager;
66
+ }
55
67
 
56
68
  manageFullscreen(e) {
57
69
  const { detail } = e;
58
70
  const fullscreen = !!detail.isFullScreen;
59
71
  this.fullscreen = fullscreen;
60
- this.dispatchEvent(new CustomEvent('fullscreenStatusUpdated', { detail: { fullscreen }}));
72
+ this.dispatchEvent(new CustomEvent('fullscreenStateUpdated', { detail: { fullscreen }}));
61
73
 
62
74
  }
63
75
 
@@ -93,10 +105,9 @@ export class IaBookReader extends LitElement {
93
105
 
94
106
  render() {
95
107
  return html`
96
- <div class="ia-bookreader">
108
+ <div>
97
109
  <ia-item-navigator
98
110
  ?viewportInFullscreen=${this.fullscreen}
99
- .itemType=${'open'}
100
111
  .basehost=${this.baseHost}
101
112
  .item=${this.item}
102
113
  .modal=${this.modal}
@@ -106,10 +117,10 @@ export class IaBookReader extends LitElement {
106
117
  .menuShortcuts=${this.menuShortcuts}
107
118
  .menuContents=${this.menuContents}
108
119
  >
109
- <div slot="theater-header">
110
- <slot name="theater-header"></slot>
120
+ <div slot="header">
121
+ <slot name="header"></slot>
111
122
  </div>
112
- <div slot="theater-main">
123
+ <div slot="main">
113
124
  <book-navigator
114
125
  .modal=${this.modal}
115
126
  .baseHost=${this.baseHost}
@@ -123,8 +134,8 @@ export class IaBookReader extends LitElement {
123
134
  @menuUpdated=${this.setMenuContents}
124
135
  @menuShortcutsUpdated=${this.setMenuShortcuts}
125
136
  >
126
- <div slot="theater-main">
127
- <slot name="theater-main"></slot>
137
+ <div slot="main">
138
+ <slot name="main"></slot>
128
139
  </div>
129
140
  </book-navigator>
130
141
  </div>
@@ -137,8 +148,6 @@ export class IaBookReader extends LitElement {
137
148
  return css`
138
149
  :host {
139
150
  display: block;
140
- height: inherit;
141
- min-height: inherit;
142
151
  --primaryBGColor: var(--black, #000);
143
152
  --secondaryBGColor: #222;
144
153
  --tertiaryBGColor: #333;
@@ -149,6 +158,8 @@ export class IaBookReader extends LitElement {
149
158
  --secondaryCTABorder: #999;
150
159
  --primaryErrorCTAFill: #e51c26;
151
160
  --primaryErrorCTABorder: #f8c6c8;
161
+ background-color: var(--primaryBGColor);
162
+ position: relative;
152
163
  }
153
164
 
154
165
  :host([fullscreen]),
@@ -159,22 +170,19 @@ export class IaBookReader extends LitElement {
159
170
  min-height: unset;
160
171
  }
161
172
 
162
- div[slot="theater-main"],
163
- div[slot="theater-main"] > * {
164
- height: inherit;
173
+ div[slot="main"] {
174
+ display: flex;
175
+ width: 100%;
176
+ }
177
+
178
+ slot[name="main"] {
179
+ flex: 1;
165
180
  }
166
181
 
167
182
  slot {
168
183
  display: block;
169
184
  }
170
185
 
171
- .ia-bookreader {
172
- background-color: var(--primaryBGColor);
173
- position: relative;
174
- min-height: inherit;
175
- height: inherit;
176
- }
177
-
178
186
  ia-item-navigator {
179
187
  min-height: var(--br-height, inherit);
180
188
  height: var(--br-height, inherit);
@@ -465,7 +465,7 @@ export class BookNavigator extends LitElement {
465
465
  const placeholder = this.bookReaderCannotLoad ? this.itemImage : this.loader;
466
466
  return html`<div id="book-navigator" class="${this.loadingClass}">
467
467
  ${placeholder}
468
- <slot name="theater-main"></slot>
468
+ <slot name="main"></slot>
469
469
  </div>
470
470
  `;
471
471
  }
@@ -57,8 +57,8 @@ export class BookReader extends LitElement {
57
57
  .basehost=${this.baseHost}
58
58
  .item=${this.base64Json}>
59
59
  .sharedObserver=${this.sharedObserver}
60
- <div slot="theater-main">
61
- <slot name="theater-main"></slot>
60
+ <div slot="main">
61
+ <slot name="main"></slot>
62
62
  </div>
63
63
  </ia-item-navigator>
64
64
  </div>
@@ -33,7 +33,7 @@ const container = (sharedObserver = null) => {
33
33
  .sharedObserver=${sharedObserver || new SharedResizeObserver()}
34
34
  .modal=${modalMgr}
35
35
  >
36
- <div slot="theater-main">
36
+ <div slot="main">
37
37
  <div id="BookReader"></div>
38
38
  <p class="visible-in-reader">now showing</p>
39
39
  <\div>
package/webpack.config.js CHANGED
@@ -4,7 +4,7 @@ const webpack = require('webpack');
4
4
 
5
5
  /** @type {webpack.Configuration} */
6
6
  const shared = {
7
- mode: 'development',
7
+ mode: 'production',
8
8
 
9
9
  watchOptions: {
10
10
  ignored: ['BookReader/**', 'node_modules/**', 'tests/**']