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

Sign up to get free protection for your applications and to get access to all the features.
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/**']