@internetarchive/bookreader 5.0.0-7 → 5.0.0-70

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 (313) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +73 -10
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +396 -1129
  6. package/BookReader/BookReader.js +1 -1
  7. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1509 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +19 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -1
  13. package/BookReader/icons/2up.svg +1 -1
  14. package/BookReader/icons/advance.svg +1 -1
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -1
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -1
  19. package/BookReader/icons/fullscreen_exit.svg +1 -1
  20. package/BookReader/icons/hamburger.svg +1 -1
  21. package/BookReader/icons/left-arrow.svg +1 -1
  22. package/BookReader/icons/magnify-minus.svg +1 -1
  23. package/BookReader/icons/magnify-plus.svg +1 -1
  24. package/BookReader/icons/magnify.svg +1 -1
  25. package/BookReader/icons/pause.svg +1 -1
  26. package/BookReader/icons/play.svg +1 -1
  27. package/BookReader/icons/playback-speed.svg +1 -1
  28. package/BookReader/icons/read-aloud.svg +1 -1
  29. package/BookReader/icons/review.svg +1 -1
  30. package/BookReader/icons/thumbnails.svg +1 -1
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -1
  33. package/BookReader/images/BRicons.svg +3 -3
  34. package/BookReader/images/books_graphic.svg +1 -1
  35. package/BookReader/images/icon_book.svg +1 -1
  36. package/BookReader/images/icon_bookmark.svg +1 -1
  37. package/BookReader/images/icon_gear.svg +1 -1
  38. package/BookReader/images/icon_hamburger.svg +1 -1
  39. package/BookReader/images/icon_home.svg +1 -1
  40. package/BookReader/images/icon_info.svg +1 -1
  41. package/BookReader/images/icon_one_page.svg +1 -1
  42. package/BookReader/images/icon_pause.svg +1 -1
  43. package/BookReader/images/icon_play.svg +1 -1
  44. package/BookReader/images/icon_playback-rate.svg +1 -1
  45. package/BookReader/images/icon_search_button.svg +1 -1
  46. package/BookReader/images/icon_share.svg +1 -1
  47. package/BookReader/images/icon_skip-ahead.svg +1 -1
  48. package/BookReader/images/icon_skip-back.svg +1 -1
  49. package/BookReader/images/icon_speaker.svg +1 -1
  50. package/BookReader/images/icon_speaker_open.svg +1 -1
  51. package/BookReader/images/icon_thumbnails.svg +1 -1
  52. package/BookReader/images/icon_toc.svg +1 -1
  53. package/BookReader/images/icon_two_pages.svg +1 -1
  54. package/BookReader/images/marker_chap-off.svg +1 -1
  55. package/BookReader/images/marker_chap-on.svg +1 -1
  56. package/BookReader/images/marker_srch-on.svg +1 -1
  57. package/BookReader/jquery-3.js +2 -0
  58. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  59. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  60. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  61. package/BookReader/plugins/plugin.autoplay.js +1 -1
  62. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  63. package/BookReader/plugins/plugin.chapters.js +25 -1
  64. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  65. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  66. package/BookReader/plugins/plugin.iframe.js +1 -1
  67. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  68. package/BookReader/plugins/plugin.resume.js +1 -1
  69. package/BookReader/plugins/plugin.resume.js.map +1 -1
  70. package/BookReader/plugins/plugin.search.js +2 -1
  71. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  72. package/BookReader/plugins/plugin.search.js.map +1 -1
  73. package/BookReader/plugins/plugin.text_selection.js +2 -1
  74. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  75. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  76. package/BookReader/plugins/plugin.tts.js +1 -1
  77. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  78. package/BookReader/plugins/plugin.tts.js.map +1 -1
  79. package/BookReader/plugins/plugin.url.js +1 -1
  80. package/BookReader/plugins/plugin.url.js.map +1 -1
  81. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  82. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  83. package/BookReader/webcomponents-bundle.js +3 -0
  84. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  85. package/BookReader/webcomponents-bundle.js.map +1 -0
  86. package/BookReaderDemo/BookReaderDemo.css +16 -19
  87. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
  88. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  89. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  90. package/BookReaderDemo/IADemoBr.js +147 -0
  91. package/BookReaderDemo/demo-advanced.html +2 -2
  92. package/BookReaderDemo/demo-autoplay.html +2 -3
  93. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  94. package/BookReaderDemo/demo-fullscreen-mobile.html +3 -5
  95. package/BookReaderDemo/demo-fullscreen.html +2 -4
  96. package/BookReaderDemo/demo-iiif.html +2 -1
  97. package/BookReaderDemo/demo-iiif.js +0 -1
  98. package/BookReaderDemo/demo-internetarchive.html +213 -17
  99. package/BookReaderDemo/demo-multiple.html +2 -1
  100. package/BookReaderDemo/demo-preview-pages.html +2 -1
  101. package/BookReaderDemo/demo-simple.html +2 -1
  102. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -4
  103. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  104. package/BookReaderDemo/immersion-1up.html +2 -2
  105. package/BookReaderDemo/immersion-mode.html +2 -4
  106. package/BookReaderDemo/toggle_controls.html +3 -2
  107. package/BookReaderDemo/view_mode.html +2 -1
  108. package/BookReaderDemo/viewmode-cycle.html +2 -3
  109. package/CHANGELOG.md +283 -0
  110. package/README.md +14 -1
  111. package/babel.config.js +20 -0
  112. package/codecov.yml +6 -0
  113. package/index.html +4 -1
  114. package/jsconfig.json +19 -0
  115. package/netlify.toml +9 -0
  116. package/package.json +71 -60
  117. package/renovate.json +52 -0
  118. package/scripts/preversion.js +4 -1
  119. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  120. package/src/BookNavigator/assets/button-base.js +4 -2
  121. package/src/BookNavigator/assets/ia-logo.js +17 -0
  122. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  123. package/src/BookNavigator/assets/icon_close.js +1 -1
  124. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  125. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  126. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  127. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  128. package/src/BookNavigator/book-navigator.js +586 -0
  129. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  130. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  131. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  132. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  133. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  134. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  135. package/src/BookNavigator/delete-modal-actions.js +1 -1
  136. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  137. package/src/BookNavigator/downloads/downloads.js +41 -25
  138. package/src/BookNavigator/search/search-provider.js +49 -27
  139. package/src/BookNavigator/search/search-results.js +23 -9
  140. package/src/BookNavigator/sharing.js +27 -0
  141. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  142. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  143. package/src/BookNavigator/volumes/volumes-provider.js +111 -0
  144. package/src/BookNavigator/volumes/volumes.js +188 -0
  145. package/src/BookReader/BookModel.js +64 -34
  146. package/src/BookReader/DragScrollable.js +233 -0
  147. package/src/BookReader/Mode1Up.js +56 -351
  148. package/src/BookReader/Mode1UpLit.js +388 -0
  149. package/src/BookReader/Mode2Up.js +73 -1318
  150. package/src/BookReader/Mode2UpLit.js +776 -0
  151. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  152. package/src/BookReader/ModeSmoothZoom.js +312 -0
  153. package/src/BookReader/ModeThumb.js +18 -12
  154. package/src/BookReader/Navbar/Navbar.js +12 -38
  155. package/src/BookReader/PageContainer.js +81 -6
  156. package/src/BookReader/ReduceSet.js +1 -1
  157. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  158. package/src/BookReader/events.js +2 -3
  159. package/src/BookReader/options.js +24 -2
  160. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  161. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  162. package/src/BookReader/utils/SelectionObserver.js +43 -0
  163. package/src/BookReader/utils.js +118 -13
  164. package/src/BookReader.js +427 -1061
  165. package/src/assets/icons/magnify-minus.svg +3 -7
  166. package/src/assets/icons/magnify-plus.svg +3 -7
  167. package/src/assets/icons/voice.svg +1 -0
  168. package/src/css/BookReader.scss +1 -5
  169. package/src/css/_BRBookmarks.scss +1 -1
  170. package/src/css/_BRComponent.scss +1 -1
  171. package/src/css/_BRmain.scss +16 -0
  172. package/src/css/_BRnav.scss +11 -38
  173. package/src/css/_BRpages.scss +149 -40
  174. package/src/css/_BRsearch.scss +67 -21
  175. package/src/css/_TextSelection.scss +87 -27
  176. package/src/css/_colorbox.scss +2 -2
  177. package/src/css/_controls.scss +20 -7
  178. package/src/css/_icons.scss +1 -1
  179. package/src/ia-bookreader/ia-bookreader.js +224 -0
  180. package/src/plugins/plugin.archive_analytics.js +3 -3
  181. package/src/plugins/plugin.autoplay.js +5 -11
  182. package/src/plugins/plugin.chapters.js +211 -186
  183. package/src/plugins/plugin.resume.js +3 -3
  184. package/src/plugins/plugin.text_selection.js +464 -134
  185. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  186. package/src/plugins/search/plugin.search.js +142 -125
  187. package/src/plugins/search/utils.js +43 -0
  188. package/src/plugins/search/view.js +33 -58
  189. package/src/plugins/tts/AbstractTTSEngine.js +68 -40
  190. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  191. package/src/plugins/tts/PageChunk.js +15 -21
  192. package/src/plugins/tts/PageChunkIterator.js +8 -12
  193. package/src/plugins/tts/WebTTSEngine.js +87 -71
  194. package/src/plugins/tts/plugin.tts.js +95 -126
  195. package/src/plugins/tts/utils.js +0 -25
  196. package/src/plugins/url/UrlPlugin.js +191 -0
  197. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  198. package/src/util/browserSniffing.js +22 -0
  199. package/src/util/docCookies.js +21 -2
  200. package/tests/e2e/README.md +37 -0
  201. package/tests/e2e/autoplay.test.js +2 -2
  202. package/tests/e2e/base.test.js +8 -16
  203. package/tests/e2e/helpers/base.js +53 -48
  204. package/tests/e2e/helpers/debug.js +1 -1
  205. package/tests/e2e/helpers/params.js +17 -0
  206. package/tests/e2e/helpers/rightToLeft.js +8 -14
  207. package/tests/e2e/helpers/search.js +73 -0
  208. package/tests/e2e/models/Navigation.js +20 -37
  209. package/tests/e2e/rightToLeft.test.js +4 -5
  210. package/tests/e2e/viewmode.test.js +40 -33
  211. package/tests/jest/BookNavigator/book-navigator.test.js +658 -0
  212. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  213. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  214. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  215. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  216. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  217. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  218. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  219. package/tests/{karma → jest}/BookNavigator/search/search-results.test.js +109 -60
  220. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  221. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  222. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  223. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  224. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +74 -14
  225. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  226. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  227. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  228. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  229. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  230. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  231. package/tests/jest/BookReader/ModeSmoothZoom.test.js +218 -0
  232. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  233. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  234. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  235. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  236. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  237. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  238. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  239. package/tests/jest/BookReader/utils/SelectionObserver.test.js +43 -0
  240. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  241. package/tests/jest/BookReader/utils.test.js +229 -0
  242. package/tests/jest/BookReader.keyboard.test.js +190 -0
  243. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  244. package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
  245. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  246. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  247. package/tests/jest/plugins/plugin.chapters.test.js +145 -0
  248. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  249. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  250. package/tests/jest/plugins/plugin.text_selection.test.js +317 -0
  251. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  252. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +25 -47
  253. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +39 -6
  254. package/tests/jest/plugins/search/utils.js +25 -0
  255. package/tests/jest/plugins/search/utils.test.js +29 -0
  256. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +29 -9
  257. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  258. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  259. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  260. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  261. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  262. package/tests/jest/plugins/url/UrlPlugin.test.js +198 -0
  263. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  264. package/tests/jest/setup.js +3 -0
  265. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  266. package/tests/jest/util/docCookies.test.js +24 -0
  267. package/tests/{util → jest/util}/strings.test.js +1 -1
  268. package/tests/{utils.js → jest/utils.js} +38 -0
  269. package/webpack.config.js +11 -6
  270. package/.babelrc +0 -12
  271. package/.dependabot/config.yml +0 -6
  272. package/.testcaferc.json +0 -5
  273. package/BookReader/bookreader-component-bundle.js +0 -1450
  274. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  275. package/BookReader/bookreader-component-bundle.js.map +0 -1
  276. package/BookReader/jquery-1.10.1.js +0 -2
  277. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  278. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  279. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  280. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  281. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  282. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  283. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  284. package/karma.conf.js +0 -23
  285. package/src/BookNavigator/BookModel.js +0 -14
  286. package/src/BookNavigator/BookNavigator.js +0 -446
  287. package/src/BookNavigator/assets/book-loader.js +0 -27
  288. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  289. package/src/BookNavigator/search/a-search-result.js +0 -55
  290. package/src/BookReader/DebugConsole.js +0 -54
  291. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  292. package/src/ItemNavigator/ItemNavigator.js +0 -376
  293. package/src/ItemNavigator/providers/sharing.js +0 -29
  294. package/src/css/_MobileNav.scss +0 -194
  295. package/src/dragscrollable-br.js +0 -261
  296. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  297. package/src/plugins/plugin.mobile_nav.js +0 -287
  298. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  299. package/tests/BookReader/DebugConsole.test.js +0 -25
  300. package/tests/BookReader/Mode1Up.test.js +0 -164
  301. package/tests/BookReader/Mode2Up.test.js +0 -247
  302. package/tests/BookReader/utils.test.js +0 -109
  303. package/tests/e2e/helpers/desktopSearch.js +0 -72
  304. package/tests/e2e/helpers/mobileSearch.js +0 -85
  305. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  306. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  307. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  308. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  309. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  310. package/tests/plugins/plugin.chapters.test.js +0 -130
  311. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  312. package/tests/plugins/plugin.text_selection.test.js +0 -203
  313. package/tests/util/docCookies.test.js +0 -15
@@ -7,16 +7,14 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
11
12
 
12
13
 
13
14
  <!-- BookReader and plugins -->
14
15
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
15
16
  <script src="../BookReader/BookReader.js"></script>
16
17
 
17
- <!-- Mobile nav plugin -->
18
- <script src="../BookReader/plugins/plugin.mobile_nav.js"></script>
19
-
20
18
  <!-- URL-changing plugin -->
21
19
  <script src="../BookReader/plugins/plugin.url.js"></script>
22
20
 
@@ -0,0 +1,170 @@
1
+ /* eslint-disable no-useless-escape */
2
+ const extraVolOptions = {
3
+ "isBeta": false,
4
+ "el": "#BookReader",
5
+ "enableBookTitleLink": false,
6
+ "bookUrlText": null,
7
+ "startFullscreen": false,
8
+ "initialSearchTerm": null,
9
+ "onePage": {
10
+ "autofit": "auto"
11
+ },
12
+ "showToolbar": false,
13
+ "autoResize": false,
14
+ "enableFSLogoShortcut": true,
15
+ "enableBookmarks": true,
16
+ "enableMultipleBooks": true,
17
+ "purchase_url": "",
18
+ "multipleBooksList": {
19
+ "by_subprefix": {
20
+ "book1/GPORFP": {
21
+ "url_path": "/details/SubBookTest",
22
+ "file_subprefix": "book1/GPORFP",
23
+ "title": "book1/GPORFP.pdf",
24
+ "file_source": "/book1/GPORFP_jp2.zip",
25
+ "orig_sort": 0
26
+ },
27
+ "subdir/book2/brewster_kahle_internet_archive": {
28
+ "url_path": "/details/SubBookTest/subdir/book2/brewster_kahle_internet_archive",
29
+ "file_subprefix": "subdir/book2/brewster_kahle_internet_archive",
30
+ "title": "subdir/book2/brewster_kahle_internet_archive.pdf",
31
+ "file_source": "/subdir/book2/brewster_kahle_internet_archive_jp2.zip",
32
+ "orig_sort": 1
33
+ },
34
+ "subdir/subsubdir/book3/Rfp008011ResponseInternetArchive-without-resume": {
35
+ "url_path": "/details/SubBookTest/subdir/subsubdir/book3/Rfp008011ResponseInternetArchive-without-resume",
36
+ "file_subprefix": "subdir/subsubdir/book3/Rfp008011ResponseInternetArchive-without-resume",
37
+ "title": "subdir/subsubdir/book3/Rfp008011ResponseInternetArchive-without-resume.pdf",
38
+ "file_source": "/subdir/subsubdir/book3/Rfp008011ResponseInternetArchive-without-resume_jp2.zip",
39
+ "orig_sort": 2
40
+ }
41
+ },
42
+ "main_dir": "/2/items/SubBookTest"
43
+ }
44
+ };
45
+ const custvolumesManifest = {
46
+ "data": {
47
+ "streamOnly": false,
48
+ "isRestricted": false,
49
+ "id": "SubBookTest",
50
+ "subPrefix": "book1/GPORFP",
51
+ "olHost": "https://openlibrary.org",
52
+ "bookUrl": "/details/SubBookTest",
53
+ "downloadUrls": [
54
+ [
55
+ "PDF",
56
+ "//archive.org/download/SubBookTest/book1/GPORFP.pdf"
57
+ ],
58
+ [
59
+ "ePub",
60
+ "//archive.org/download/SubBookTest/book1/GPORFP.epub"
61
+ ],
62
+ [
63
+ "Plain Text",
64
+ "//archive.org/download/SubBookTest/book1/GPORFP_djvu.txt"
65
+ ],
66
+ [
67
+ "DAISY",
68
+ "//archive.org/download/SubBookTest/book1/GPORFP_daisy.zip"
69
+ ],
70
+ [
71
+ "Kindle",
72
+ "//archive.org/download/SubBookTest/book1/GPORFP.mobi"
73
+ ]
74
+ ]
75
+ },
76
+ "brOptions": {
77
+ "bookId": "SubBookTest",
78
+ "bookPath": "/2/items/SubBookTest/book1/GPORFP",
79
+ "imageFormat": "jp2",
80
+ "server": "ia800304.us.archive.org",
81
+ "subPrefix": "book1/GPORFP",
82
+ "zip": "/2/items/SubBookTest/book1/GPORFP_jp2.zip",
83
+ "bookTitle": "Test with sub-dirs",
84
+ "ppi": "600",
85
+ "defaultStartLeaf": 0,
86
+ "pageProgression": "lr",
87
+ "vars": {
88
+ "bookId": "SubBookTest",
89
+ "bookPath": "/2/items/SubBookTest/book1/GPORFP",
90
+ "server": "ia800304.us.archive.org",
91
+ "subPrefix": "book1/GPORFP"
92
+ },
93
+ "plugins": {
94
+ "textSelection": {
95
+ "enabled": true,
96
+ "singlePageDjvuXmlUrl": "https://{{server}}/BookReader/BookReaderGetTextWrapper.php?path={{bookPath|urlencode}}_djvu.xml&mode=djvu_xml&page={{pageIndex}}"
97
+ }
98
+ },
99
+ "data": [
100
+ [
101
+ {
102
+ "width": 5213,
103
+ "height": 6566,
104
+ "uri": "https://ia800304.us.archive.org/BookReader/BookReaderImages.php?zip=/2/items/SubBookTest/book1/GPORFP_jp2.zip&file=GPORFP_jp2/GPORFP_0000.jp2&id=SubBookTest",
105
+ "leafNum": 0,
106
+ "uri_2": {
107
+ "link": "https://archive.org/download/SubBookTest/book1/GPORFP_jp2.zip/GPORFP_jp2%2FGPORFP_0000.jp2",
108
+ "base_params": "ext=jpg"
109
+ },
110
+ "pageType": "Title",
111
+ "pageSide": "R"
112
+ }
113
+ ]
114
+ ]
115
+ },
116
+ "lendingInfo": {
117
+ "lendingStatus": null,
118
+ "userid": 0,
119
+ "isAdmin": false,
120
+ "isArchiveOrgLending": false,
121
+ "isOpenLibraryLending": false,
122
+ "isLendingRequired": false,
123
+ "isBrowserBorrowable": false,
124
+ "isPrintDisabledOnly": false,
125
+ "isAvailable": false,
126
+ "isAvailableForBrowsing": false,
127
+ "userHasBorrowed": false,
128
+ "userHasBrowsed": false,
129
+ "userOnWaitingList": false,
130
+ "userHoldIsReady": false,
131
+ "userIsPrintDisabled": false,
132
+ "shouldProtectImages": false,
133
+ "daysLeftOnLoan": 0,
134
+ "secondsLeftOnLoan": 0,
135
+ "loansUrl": "",
136
+ "bookUrl": "",
137
+ "loanCount": 0,
138
+ "totalWaitlistCount": 0,
139
+ "userWaitlistPosition": -1,
140
+ "maxLoans": 10,
141
+ "loanRecord": [
142
+
143
+ ]
144
+ },
145
+ "metadata": {
146
+ "identifier": "SubBookTest",
147
+ "title": "Test with sub-dirs",
148
+ "mediatype": "texts",
149
+ "collection": [
150
+ "opensource",
151
+ "community"
152
+ ],
153
+ "publicdate": "2009-07-08 23:10:10",
154
+ "addeddate": "2009-07-08 23:09:09",
155
+ "uploader": "mang@archive.org",
156
+ "updatedate": "2009-07-08 23:10:24",
157
+ "updater": "mang@archive",
158
+ "language": "English",
159
+ "identifier-access": "http://www.archive.org/details/SubBookTest",
160
+ "identifier-ark": "ark:/13960/t08w3w21h",
161
+ "ppi": "600",
162
+ "ocr": "ABBYY FineReader 8.0",
163
+ "repub_state": "4",
164
+ "noindex": "true",
165
+ "curation": "[curator]validator@archive.org[/curator][date]20140402011645[/date][comment]checked for malware[/comment]",
166
+ "backup_location": "ia903603_14"
167
+ }
168
+ };
169
+
170
+ export { custvolumesManifest, extraVolOptions };
@@ -5,7 +5,8 @@
5
5
  <meta name="apple-mobile-web-app-capable" content="yes">
6
6
 
7
7
  <!-- JS dependencies -->
8
- <script src="../BookReader/jquery-1.10.1.js"></script>
8
+ <script src="../BookReader/webcomponents-bundle.js"></script>
9
+ <script src="../BookReader/jquery-3.js"></script>
9
10
 
10
11
 
11
12
  <!-- Bookreader -->
@@ -13,7 +14,6 @@
13
14
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
14
15
 
15
16
  <!-- plugins needed for archive.org, in same order as archive.org -->
16
- <script src="../BookReader/plugins/plugin.mobile_nav.js"></script>
17
17
  <script src="../BookReader/plugins/plugin.search.js"></script>
18
18
  <script src="../BookReader/plugins/plugin.chapters.js"></script>
19
19
  <script src="../BookReader/plugins/plugin.tts.js"></script>
@@ -7,16 +7,14 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
11
12
 
12
13
 
13
14
  <!-- BookReader and plugins -->
14
15
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
15
16
  <script src="../BookReader/BookReader.js"></script>
16
17
 
17
- <!-- Mobile nav plugin -->
18
- <script src="../BookReader/plugins/plugin.mobile_nav.js"></script>
19
-
20
18
  <!-- URL-changing plugin -->
21
19
  <script src="../BookReader/plugins/plugin.url.js"></script>
22
20
 
@@ -7,7 +7,8 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
11
12
 
12
13
 
13
14
  <!-- BookReader and plugins -->
@@ -39,7 +40,7 @@
39
40
  template: function(br) {
40
41
  return '<button class="BRicon ' + this.className + ' desktop-only js-tooltip" data-param="foo">' +
41
42
  '<div class="icon icon-onepg"></div>' +
42
- '<span class="tooltip">Overridden control</span>' +
43
+ '<span class="BRtooltip">Overridden control</span>' +
43
44
  '</button>';
44
45
  }
45
46
  },
@@ -7,7 +7,8 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
11
12
 
12
13
 
13
14
  <!-- BookReader and plugins -->
@@ -7,9 +7,8 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
- <script src="../BookReader/jquery-1.10.1.js"></script>
11
-
12
- <script src="../BookReader/jquery.bt.min.js"></script>
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
+ <script src="../BookReader/jquery-3.js"></script>
13
12
 
14
13
  <!-- BookReader and plugins -->
15
14
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,286 @@
1
+ # 5.0.0-70
2
+ - Feature: Remember ReadAloud voice selection @sbwhitt
3
+ - Fix: Support page numbers that require url encoding @cdrini
4
+
5
+ # 5.0.0-69
6
+ - Fix: Handle ppi incorrectly set to one @cdrini
7
+
8
+ # 5.0.0-68
9
+ - Fix: 1up zoom wrong on start/entering full screen @cdrini
10
+ - Dev: BREAKING: delete `plugin.mobile_nav.js` no longer used @cdrini
11
+ - Dev: Move page 1 label correction logic to BookReaderJSIA @cdrini
12
+
13
+ # 5.0.0-67
14
+ - Feature: Re-enable chapters plugin + migrate off mmenu @cdrini
15
+ - Fix: Disable tooltips on touchscreens + fix on IA @cdrini
16
+ - Dev: Remove core-js update block; issue resolved in core-js @cdrini
17
+
18
+ # 5.0.0-66
19
+ - Fix: Pinch zooming on iPad/iPhone, Samsung Internet @cdrini
20
+
21
+ # 5.0.0-65
22
+ - Dev: Remove Debug console dev helper @cdrini
23
+ - Dev: Fix deno esm.sh esbuild erroring @cdrini
24
+ - Dev: Update test/build deps @cdrini
25
+
26
+ # 5.0.0-64
27
+ - Dev: update dependencies @renovate
28
+ - Dev: update build step @cdrini
29
+ - Fix: Search inside option for {{{/}}} + http support @cdrini
30
+
31
+ # 5.0.0-63
32
+ Fix: Don't limit autoFit zoom to real world size @cdrini
33
+ Dev: Update test deps @cdrini
34
+
35
+ # 5.0.0-62
36
+ - Fix: Make text selection work in Safari 15.4+ @cdrini
37
+ - Fix: Rewrite/improvements to text selection UX @cdrini
38
+ - Switches from SVG text layer to HTML text layer
39
+
40
+ # 5.0.0-61
41
+ - Fix: Mode2up preview pages hanging on first click @cdrini
42
+ - Dev: Add analytics event for text layer page selection @cdrini
43
+
44
+ # 5.0.0-60
45
+ - Fix: Update modal manager to fix duplicate definitions warnings on IA @cdrini
46
+ - Fix: Common Sentry error `.spread` undefined @cdrini
47
+ - Fix: entering page appearing early in flip anim @cdrini
48
+ - Fix: preview pages not working in 1up @cdrini
49
+ - Dev: Make serve-dev not do full production babeling (This makes it waaaay easier/faster to debug things like promises) @cdrini
50
+ - Dev: Log an error if search inside fails for sentry @cdrini
51
+ - Dev: Make dev server support CORS to allow testing via ngrok @cdrini
52
+ - Refactor: Rm redundant archive_analytics checks @cdrini
53
+ - Refactor: Dissolve a-search-result.js component @cdrini
54
+
55
+ # 5.0.0-59
56
+ - Rewrite 2up view to use css transforms and lit @cdrini
57
+ - Pretty substantial change. Lots of breaking changes to public methods.
58
+
59
+ # 5.0.0-58
60
+ - Fix BookReader sometimes failing to load when starting in Mode1Up @cdrini
61
+ - Update testing dependencies @cdrini
62
+
63
+ # 5.0.0-57
64
+ - Fix - do not show Download pane when there aren't any available @iisa
65
+
66
+ # 5.0.0-56
67
+ - Fix DOMException in sandboxed iframe in chrome @cdrini
68
+
69
+ # 5.0.0-55
70
+ - Fix BookReader going to 1up in fullscreen on desktop @mheiman
71
+ - Support BookReader running in sandboxed (cookie-less) iframe @cdrini
72
+ - Update IA dependencies to avoid duplicate dependencies @cdrini
73
+
74
+ # 5.0.0-54
75
+ - Dev: Dispatch custom event from bookreader for ia-book-actions @nsharma123
76
+
77
+ # 5.0.0-53
78
+ - Dev: update icons & lit versions to help a.o build @iisa
79
+
80
+ # 5.0.0-52
81
+ # 5.0.0-51
82
+ - Fix: Bookmark with subfiles was broken @nsharma123
83
+ - Feature: Default 1up mode and options.defaults mode override exiting mode @nsharma123
84
+
85
+ # 5.0.0-50
86
+ Fix: Search results display @latonv
87
+
88
+ # 5.0.0-49
89
+ - Dev: remove class shims, v5 deprecations @cdrini
90
+ - Dev: update dependency (@open-wc/testing-helpers) @renovate
91
+ - Dev: e2e - remove ia test + export DesktopNav for external usage @iisa
92
+
93
+ # 5.0.0-48
94
+ - Fix: move analytics to sample bucket @iisa
95
+ - Dev: update dependencies (concurrently, jest) @renovate
96
+
97
+ # 5.0.0-47
98
+ - Fix: XSS vulnerability in search results @latonv
99
+ - Dev: Update jQuery to v3 **BREAKING** @cdrini
100
+ - If you were importing `BookReader/jquery-1.10.1.js` you will need to change it to `BookReader/jquery-3.js`
101
+ - Also ensure if other code was using this jquery that it works with jQuery 3!
102
+ - Dev: Update testing dependencies (jest, testcafe) @renovate
103
+
104
+ # 5.0.0-46
105
+ Fix: Leaf positioning during RTL fliip animation @latonv
106
+ Dev: dependency updates @renovate
107
+ Fix: Disable contextmenu for restricted books @iisa
108
+
109
+ # 5.0.0-45
110
+ # 5.0.0-44
111
+ Fix: dynamic `q=<term>` url parameter @iisa
112
+ Dev: dependency updates @renovate
113
+
114
+ # 5.0.0-43
115
+ Fix: search results panel display asserted page numbers @cdrini
116
+ Dev: dependency updates @renovate
117
+ Dev: node-fetch update @cdrini
118
+
119
+ # 5.0.0-42
120
+ Dev: update testing dependencies @renovate
121
+ Dev: update `<ia-item-navigator>` @iisa
122
+
123
+ # 5.0.0-40
124
+ Fix: Better search highlights @cdrini
125
+ Dev: update lit 2 components @iisa
126
+ Dev: update lit @renovate
127
+
128
+ # 5.0.0-39
129
+ Fix: Performance improvements to scroll/zooming when text layer is larger @cdrini
130
+ Fix: Update zoom in/out icons to match iconochive glyphs @pezvi
131
+ Dev: update dependencies @renovate
132
+
133
+ # 5.0.0-38
134
+ Dev: Add Renovate Bot @cdrini
135
+ Dev: Update node-fetch @cdrini
136
+ Fix: Search request promise err & fix tests @cdrini
137
+ Dev: Split node workflow into different jobs @cdrini
138
+ Dev: Give cache steps better names in GHA @cdrini
139
+ Dev: Update concurrently + Small speedup to build & test @cdrini
140
+ Dev: Renovate - Auto-update dev dependencies for minor/patch @cdrini
141
+ Fix: Better MS Edge voice selection @cdrini
142
+ Dev: Allow small drops in codecov coverage (< 0.5%) @cdrini
143
+ Dev: Renovate - add `^@internetarchive/icon-` @cdrini
144
+
145
+ # 5.0.0-37
146
+ Fix: Update all `.then()` to async/await @sancodes
147
+ Fix: Upgrade to Lit 2 @Aadilhassan
148
+ Dev: Update to Node v16.x @duggiefresh
149
+ Dev: Remove unused demo bundle @cdrini
150
+ Dev: Fix README broken link for plugin directory @duggiefresh
151
+ Dev: Update sharing options menu to lit2 @iisa
152
+ Dev: Remove package publishing from GHA @cdrini
153
+
154
+ # 5.0.0-36
155
+ Fix: Readaloud scrolls along with dext @cdrini
156
+ Dev: ES6 var to let/const updates @sancodes
157
+ Dev: ES6 async/await updates @sancodes
158
+ Dev: Re-enable testcafe tests in GH action @iisa
159
+ Fix: Search results bar clears and closes properly @iisa
160
+
161
+ # 5.0.0-35
162
+ Fix: global style leak specify colorbox styles @iisa
163
+ Fix: br menu reinits with shared ro load @iisa
164
+ Fix: url plugin does not rewrite with multiple slashes @iisa
165
+
166
+ # 5.0.0-34
167
+ Dev: update test dependencies @cdrini
168
+ Fix: Update hyphen stitching regex to include dangling "¬" @cdrini
169
+ Fix: pop open multiple files menu at proper width @iisa
170
+
171
+ # 5.0.0-33
172
+ Fix: restricted books get cover image @iisa
173
+
174
+ # 5.0.0-32
175
+ Fix: fetch bookmarks from service when logged in @iisa
176
+ Fix: adjust css to help shadydom render properly @iisa
177
+ # 5.0.0-31
178
+ Fix: modal loads into dom from `<ia-bookreader>` @iisa
179
+
180
+ # 5.0.0-30
181
+ - `<ia-bookreader>` is top-most web component @iisa
182
+
183
+ # 5.0.0-29
184
+ - import ia-item-navigator for menu management @iisa
185
+ - url plugin: suppress default state on load @dualcnhq
186
+
187
+ # 5.0.0-28
188
+ Dev: Refactor URLPlugin + sync volumes sorting state to URL @dualcnhq @cdrini
189
+
190
+ # 5.0.0-27
191
+ Dev: eslint fix for $.browser @homewardgamer
192
+ Fix: cache search inside requests @iisa
193
+ # 5.0.0-26
194
+ Fix: read aloud play/pause button @nsharma123
195
+ Dev: strict keyboard shortcuts @mc2
196
+ Dev: update IA demo page @iisa
197
+
198
+ # 5.0.0-24
199
+ Fix: book-nav side panel zoom out @mc2
200
+ Dev: refactor zoom code @mc2
201
+
202
+ # 5.0.0-23
203
+ Fix: Darken scrollbars in Safari @pezvi
204
+ Fix: Bookmarks service calls when reader is logged in @mc2
205
+ Dev: Move jest tests into separate directory @cdrini
206
+
207
+ # 5.0.0-22
208
+ - Dev: remove deprecated embed nav view, use standard default @iisa
209
+
210
+ # 5.0.0-21
211
+ - Dev: Toggle view=theater in fullscreen @mc2
212
+
213
+ # 5.0.0-20
214
+ - Feature: Add voice selection dropdown to ReadAloud! @mekarpeles
215
+ - Dev: Make jest support root-level imports with "@" @cdrini
216
+ - Dev: Make it easy to run e2e tests on archive.org/browserstack @cdrini
217
+
218
+ # 5.0.0-19
219
+ - Dev: Refactor dragscrollable from a jquery plugin to a JS class @cdrini
220
+ - Dev: Fix jquery eslint errors @cdrini
221
+ - Dev: Replace deprecated babel-eslint with successor @cdrini
222
+ - Fix: BR not working on iOS 9 / iOS 10! @cdrini, @iisa
223
+ - Added webcomponents, ResizeObserver polyfill
224
+ - ES5-ify lit node_modules
225
+
226
+ # 5.0.0-18
227
+ - Dev: Update a number of dependencies @cdrini
228
+ - Dev: Added eslint-plugin-no-jquery @soham4abc
229
+ - Feature: Add continuous pinch zooming for touch screens and trackpads! @cdrini
230
+ - This is a _big_ change to the codebase. It involved rewriting 1 up mode in LitElement. This means that BookReader now need webcomponents to function.
231
+ - Breaking changes (unlikely to be used by anyone):
232
+ - Most Mode1Up Bookreader global functions removed (unlikely to be used): `drawLeafsOnePage`, `onePageGetAutofitWidth`, `onePageGetAutofitHeight`, `onePageGetPageTop`, `onePageCalculateReductionFactors`, `centerX1up`, `centerY1up`
233
+ - Some Mode2Up cleanups: Removed `setClickHandler2UP`, `setMouseHandlers2UP`
234
+ - [Web components](https://caniuse.com/custom-elementsv1) now must be supported
235
+ - Reduction factors options no longer applies to 1up
236
+
237
+ # 5.0.0-17
238
+ - Fix: focus in a textarea disables keyboard shortcuts @cdrini
239
+
240
+ # 5.0.0-16
241
+ - Dev: remove unused menu toggle plugin @iisa
242
+ - Fix: Book nav loader safari update @iisa
243
+
244
+ # 5.0.0-15
245
+ - Fix: Typing -/+ in search box no longer zooms @cdrini
246
+ - Dev: Add script for updating dev deps @cdrini
247
+ - Refactor/Fix: Convert search/TTS highlights to use SVG layer @cdrini
248
+ - Fix TTS highlights not positioned correctly in Mode1Up
249
+ - Breaking changes (unlikely these are used by anyone):
250
+ - Remove public method `BookReader.prototype.keyboardNavigationIsDisabled`
251
+ - Remove public method `BookReader.util.sleep`
252
+ - Remove public method `BookReader.prototype.updateSearchHilites1UP`
253
+ - Remove public method `BookReader.prototype.updateSearchHilites2UP`
254
+ - Remove public attribute `BookReader.prototype.ttsHilites`
255
+
256
+ # 5.0.0-14
257
+ - Fix: Url search param `q=` updates dynamically @nsharma123
258
+ - Fix: Downloads menu text updates @dualcnhq
259
+ - Fix: Volumes updates - icons, labelling, open menu onload @iisa
260
+
261
+ # 5.0.0-13
262
+ - Enhancement: Add neutral state for sorting volumes @dualcnhq
263
+ - Enhancement: Update subfiles/volumes title sorting logic by filename -> title_asc -> title_desc order then back to filename @dualcnhq
264
+ - Fix: Volume item index count display @dualcnhq
265
+
266
+
267
+ # 5.0.0-12
268
+ - Fix: new side panel: sortable multiple volumes @dualcnhq @iisa
269
+ - Fix: sharing side panel can share subfile/volume @iisa
270
+
271
+ # 5.0.0-11
272
+ - Fix: standardize button style for download panel @nsharma123
273
+ # 5.0.0-10
274
+ - Fix: Make 1up default to full width (up to real world size) @cdrini
275
+ - Fix: Remove "page" from toolbar @cdrini
276
+ - Dev: Update menu slider @iisa
277
+ - Dev: Add semi-colons eslint rule @iisa
278
+
279
+ # 5.0.0-9
280
+ - Fix: search-inside results check for page's index via `leafNum` @nsharma123
281
+ # 5.0.0-8
282
+ - Fix: cancel search fix naming var @iisa
283
+
1
284
  # 5.0.0-7
2
285
  - Fix: cancel search @iisa
3
286
  - Dev: remove dead css @cdrini
package/README.md CHANGED
@@ -123,7 +123,7 @@ A peek in how to use/extend core functionality:
123
123
  - plugin.url.js - automatically updates the browser url
124
124
  - plugin.resume.js - uses cookies to remember the current page
125
125
  - plugin.vendor-fullscreen.js - replaces fullscreen mode with vendor native fullscreen
126
- - see plugin directory for current plugin files ()[https://github.com/internetarchive/bookreader/tree/master/src/plugins]
126
+ - see [plugin directory for current plugin files](https://github.com/internetarchive/bookreader/tree/master/src/plugins)
127
127
 
128
128
  ### Embedding BookReader in an iFrame
129
129
 
@@ -149,6 +149,19 @@ The source JavaScript is written in ES6 (located in the `src/js` directory) and
149
149
 
150
150
  Until the next major version bump, we have to store the build files inside the repo to maintain backwards compatibility. Please _DO NOT_ include these files in your PR. Anything in the `BookReader/` directory should not be committed.
151
151
 
152
+ ### Developing icons
153
+ To see local icon package changes in bookreader, you'll need to install core-js into the icon package and link into bookreader.
154
+
155
+ Let's use `icon-share` as an example.
156
+ 1. Confirm your icon package is working properly in the iaux-icons demo
157
+ 2. Navigate to your icon package (`iaux-icons/packages/icon-share`) and run command: `npm install core-js`
158
+ - You shouldn't need to commit any of these core-js changes
159
+ 3. From within your icon package directory run command: `npm link`
160
+ - You can use the command `npm ls -g` to confirm your local package now appears in the registry
161
+ 4. Navigate to `/bookreader` and run command: `npm link @internetarchive/icon-share`
162
+ - You can use the command `npm ls |grep icon-share` to confirm icon-share is now a link to your local directory
163
+ 5. You may now start a local server to see your changes by running command: `npm run serve-dev`
164
+
152
165
  ## Releases
153
166
 
154
167
  To version bump the repo and prepare a release, run `npm version major|minor|patch` (following [semver](https://semver.org/)), then (something like) `git push origin HEAD --tags`. It'll automatically update the version number where it appears, build the files, and ask you to update the CHANGELOG.
@@ -0,0 +1,20 @@
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ "@babel/preset-env",
5
+ process.env.NODE_ENV == "test" ? { targets: { node: process.version } } :
6
+ process.env.NODE_ENV == "development" ? { targets: "last 2 Chrome versions, last 2 Firefox versions, last 2 Safari versions, last 2 Edge versions" } : {
7
+ targets: "> 2%, ie 11, edge 14, samsung > 9, OperaMini all, UCAndroid > 12, Safari >= 9",
8
+ useBuiltIns: "usage",
9
+ corejs: 3
10
+ }
11
+ ]
12
+ ],
13
+ plugins: [
14
+ ["@babel/plugin-proposal-decorators", {
15
+ version: "2018-09",
16
+ decoratorsBeforeExport: true
17
+ }],
18
+ ["@babel/plugin-proposal-class-properties"],
19
+ ]
20
+ };
package/codecov.yml CHANGED
@@ -1,6 +1,12 @@
1
1
  codecov:
2
2
  notify:
3
3
  require_ci_to_pass: yes
4
+ status:
5
+ project:
6
+ default:
7
+ # Allow small drops in coverage
8
+ threshold: 0.005 # .5 %
9
+ if_not_found: failure
4
10
 
5
11
  coverage:
6
12
  precision: 2
package/index.html CHANGED
@@ -18,12 +18,15 @@
18
18
  <li><a href="BookReaderDemo/demo-preview-pages.html">Preview Pages</a></li>
19
19
  <li><a href="BookReaderDemo/demo-embed.html">Embed</a></li>
20
20
  <li><a href="BookReaderDemo/demo-multiple.html">Multiple on same page</a></li>
21
+ <!-- plugin.search.js -->
21
22
  <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=theworksofplato01platiala">From Internet Archive</a></li>
22
- <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=adventuresofoli00dick">From Internet Archive - a book with CHAPTERS</a></li>
23
+ <!-- plugin.search.js -->
24
+ <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=adventureofsherl0000unse">From Internet Archive - a book with CHAPTERS</a></li>
23
25
  <li><a href="BookReaderDemo/demo-iiif.html">IIIF</a></li>
24
26
  <li><a href="BookReaderDemo/demo-autoplay.html">Autoplay (kiosk mode)</a></li>
25
27
  <li><a href="BookReaderDemo/demo-plugin-menu-toggle.html">Plugin: Full screen menu toggle</a></li>
26
28
  <li><a href="BookReaderDemo/immersion-mode.html">Start in immersion (fullscreen) mode</a></li>
29
+ <!-- plugin.search.js -->
27
30
  <li><a href="BookReaderDemo/immersion-1up.html">Start in immersion mode on 1up default item</a></li>
28
31
  <li><a href="BookReaderDemo/viewmode-cycle.html">Replace view mode buttons with view mode cycler</a></li>
29
32
  </ul>
package/jsconfig.json ADDED
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es6",
4
+ "moduleResolution": "node",
5
+ "experimentalDecorators": true,
6
+ "baseUrl": ".",
7
+ "paths": {
8
+ "@/*": ["./*"]
9
+ }
10
+ },
11
+ "include": [
12
+ "src/**/*.js",
13
+ "tests/**/*.js",
14
+ ],
15
+ "exclude": [
16
+ "node_modules",
17
+ "BookReader"
18
+ ]
19
+ }
package/netlify.toml ADDED
@@ -0,0 +1,9 @@
1
+ [build.environment]
2
+ # Keep in sync with CI in .github/workflows/node.js.yml
3
+ NODE_VERSION = "16"
4
+
5
+ [[headers]]
6
+ # Define which paths this specific [[headers]] block will cover.
7
+ for = "/BookReader/*"
8
+ [headers.values]
9
+ Access-Control-Allow-Origin = "*"