@internetarchive/bookreader 5.0.0-3 → 5.0.0-30-a

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 (389) hide show
  1. package/.eslintrc.js +17 -5
  2. package/.github/dependabot.yml +8 -0
  3. package/.github/workflows/node.js.yml +10 -1
  4. package/.husky/_/husky.sh +30 -0
  5. package/.testcaferc.js +10 -0
  6. package/BookReader/BookReader.css +75 -323
  7. package/BookReader/BookReader.js +1 -1
  8. package/BookReader/BookReader.js.LICENSE.txt +45 -0
  9. package/BookReader/BookReader.js.map +1 -1
  10. package/BookReader/ia-bookreader-bundle.js +1458 -0
  11. package/BookReader/{bookreader-component-bundle.js.LICENSE.txt → ia-bookreader-bundle.js.LICENSE.txt} +10 -9
  12. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  13. package/BookReader/icons/close-circle-dark.svg +1 -0
  14. package/BookReader/icons/voice.svg +1 -0
  15. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  16. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  17. package/BookReader/plugins/plugin.autoplay.js +1 -1
  18. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  19. package/BookReader/plugins/plugin.chapters.js +1 -1
  20. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  21. package/BookReader/plugins/plugin.iframe.js +1 -1
  22. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  23. package/BookReader/plugins/plugin.mobile_nav.js +1 -1
  24. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  25. package/BookReader/plugins/plugin.resume.js +1 -1
  26. package/BookReader/plugins/plugin.resume.js.map +1 -1
  27. package/BookReader/plugins/plugin.search.js +1 -1
  28. package/BookReader/plugins/plugin.search.js.map +1 -1
  29. package/BookReader/plugins/plugin.text_selection.js +1 -1
  30. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  31. package/BookReader/plugins/plugin.tts.js +1 -1
  32. package/BookReader/plugins/plugin.tts.js.map +1 -1
  33. package/BookReader/plugins/plugin.url.js +1 -1
  34. package/BookReader/plugins/plugin.url.js.map +1 -1
  35. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  36. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  37. package/BookReader/webcomponents-bundle.js +3 -0
  38. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  39. package/BookReader/webcomponents-bundle.js.map +1 -0
  40. package/BookReaderDemo/BookReaderDemo.css +14 -1
  41. package/BookReaderDemo/IADemoBr.js +107 -0
  42. package/BookReaderDemo/demo-advanced.html +1 -1
  43. package/BookReaderDemo/demo-autoplay.html +1 -0
  44. package/BookReaderDemo/demo-embed-iframe-src.html +1 -0
  45. package/BookReaderDemo/demo-fullscreen-mobile.html +1 -0
  46. package/BookReaderDemo/demo-fullscreen.html +1 -0
  47. package/BookReaderDemo/demo-iiif.html +1 -0
  48. package/BookReaderDemo/demo-internetarchive.html +66 -18
  49. package/BookReaderDemo/demo-multiple.html +1 -0
  50. package/BookReaderDemo/demo-preview-pages.html +1 -0
  51. package/BookReaderDemo/demo-simple.html +1 -0
  52. package/BookReaderDemo/demo-vendor-fullscreen.html +1 -0
  53. package/BookReaderDemo/immersion-1up.html +1 -0
  54. package/BookReaderDemo/immersion-mode.html +1 -0
  55. package/BookReaderDemo/toggle_controls.html +1 -0
  56. package/BookReaderDemo/view_mode.html +1 -0
  57. package/BookReaderDemo/viewmode-cycle.html +1 -2
  58. package/CHANGELOG.md +114 -0
  59. package/babel.config.js +18 -0
  60. package/index.html +3 -0
  61. package/jsconfig.json +19 -0
  62. package/package.json +45 -27
  63. package/src/BookNavigator/assets/button-base.js +8 -1
  64. package/src/BookNavigator/assets/ia-logo.js +17 -0
  65. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  66. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  67. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  68. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  69. package/src/BookNavigator/book-navigator.js +528 -0
  70. package/src/BookNavigator/bookmarks/bookmark-button.js +2 -1
  71. package/src/BookNavigator/bookmarks/bookmark-edit.js +2 -1
  72. package/src/BookNavigator/bookmarks/bookmarks-list.js +1 -0
  73. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +4 -9
  74. package/src/BookNavigator/bookmarks/bookmarks-provider.js +32 -11
  75. package/src/BookNavigator/bookmarks/ia-bookmarks.js +88 -43
  76. package/src/BookNavigator/downloads/downloads-provider.js +22 -16
  77. package/src/BookNavigator/downloads/downloads.js +16 -23
  78. package/src/BookNavigator/search/a-search-result.js +1 -0
  79. package/src/BookNavigator/search/search-provider.js +54 -20
  80. package/src/BookNavigator/search/search-results.js +7 -18
  81. package/src/BookNavigator/sharing.js +27 -0
  82. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +10 -12
  83. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +1 -0
  84. package/src/BookNavigator/volumes/volumes-provider.js +114 -0
  85. package/src/BookNavigator/volumes/volumes.js +189 -0
  86. package/src/BookReader/DebugConsole.js +3 -3
  87. package/src/BookReader/DragScrollable.js +233 -0
  88. package/src/BookReader/Mode1Up.js +50 -351
  89. package/src/BookReader/Mode1UpLit.js +434 -0
  90. package/src/BookReader/Mode2Up.js +94 -72
  91. package/src/BookReader/ModeSmoothZoom.js +177 -0
  92. package/src/BookReader/ModeThumb.js +16 -8
  93. package/src/BookReader/Navbar/Navbar.js +2 -31
  94. package/src/BookReader/PageContainer.js +47 -2
  95. package/src/BookReader/ReduceSet.js +1 -1
  96. package/src/BookReader/Toolbar/Toolbar.js +5 -5
  97. package/src/BookReader/options.js +10 -0
  98. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  99. package/src/BookReader/utils.js +68 -13
  100. package/src/BookReader.js +316 -232
  101. package/src/assets/icons/close-circle-dark.svg +1 -0
  102. package/src/assets/icons/voice.svg +1 -0
  103. package/src/css/BookReader.scss +0 -12
  104. package/src/css/_BRComponent.scss +1 -1
  105. package/src/css/_BRmain.scss +19 -24
  106. package/src/css/_BRnav.scss +4 -26
  107. package/src/css/_BRpages.scss +35 -0
  108. package/src/css/_BRsearch.scss +11 -215
  109. package/src/css/_TextSelection.scss +1 -17
  110. package/src/css/_controls.scss +16 -3
  111. package/src/css/_icons.scss +6 -0
  112. package/src/ia-bookreader/ia-bookreader.js +205 -0
  113. package/src/plugins/plugin.chapters.js +15 -18
  114. package/src/plugins/plugin.mobile_nav.js +11 -10
  115. package/src/plugins/plugin.resume.js +3 -3
  116. package/src/plugins/plugin.text_selection.js +17 -29
  117. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  118. package/src/plugins/search/plugin.search.js +113 -104
  119. package/src/plugins/search/view.js +48 -163
  120. package/src/plugins/tts/AbstractTTSEngine.js +7 -0
  121. package/src/plugins/tts/FestivalTTSEngine.js +2 -2
  122. package/src/plugins/tts/WebTTSEngine.js +5 -0
  123. package/src/plugins/tts/plugin.tts.js +67 -102
  124. package/src/plugins/url/UrlPlugin.js +184 -0
  125. package/src/plugins/url/plugin.url.js +220 -0
  126. package/{src → stat}/BookNavigator/BookModel.js +0 -0
  127. package/{src → stat}/BookNavigator/BookNavigator.js +151 -104
  128. package/stat/BookNavigator/assets/bookmark-colors.js +15 -0
  129. package/stat/BookNavigator/assets/button-base.js +61 -0
  130. package/stat/BookNavigator/assets/ia-logo.js +17 -0
  131. package/stat/BookNavigator/assets/icon_checkmark.js +6 -0
  132. package/stat/BookNavigator/assets/icon_close.js +3 -0
  133. package/stat/BookNavigator/assets/icon_sort_asc.js +5 -0
  134. package/stat/BookNavigator/assets/icon_sort_desc.js +5 -0
  135. package/stat/BookNavigator/assets/icon_sort_neutral.js +5 -0
  136. package/stat/BookNavigator/assets/icon_volumes.js +11 -0
  137. package/stat/BookNavigator/bookmarks/bookmark-button.js +64 -0
  138. package/stat/BookNavigator/bookmarks/bookmark-edit.js +215 -0
  139. package/stat/BookNavigator/bookmarks/bookmarks-list.js +285 -0
  140. package/stat/BookNavigator/bookmarks/bookmarks-loginCTA.js +28 -0
  141. package/stat/BookNavigator/bookmarks/bookmarks-provider.js +56 -0
  142. package/stat/BookNavigator/bookmarks/ia-bookmarks.js +523 -0
  143. package/{src → stat}/BookNavigator/br-fullscreen-mgr.js +1 -2
  144. package/stat/BookNavigator/delete-modal-actions.js +49 -0
  145. package/stat/BookNavigator/downloads/downloads-provider.js +72 -0
  146. package/stat/BookNavigator/downloads/downloads.js +139 -0
  147. package/stat/BookNavigator/provider-config.js +0 -0
  148. package/stat/BookNavigator/search/a-search-result.js +55 -0
  149. package/stat/BookNavigator/search/search-provider.js +180 -0
  150. package/stat/BookNavigator/search/search-results.js +360 -0
  151. package/stat/BookNavigator/sharing.js +31 -0
  152. package/stat/BookNavigator/visual-adjustments/visual-adjustments-provider.js +94 -0
  153. package/stat/BookNavigator/visual-adjustments/visual-adjustments.js +280 -0
  154. package/stat/BookNavigator/volumes/volumes-provider.js +83 -0
  155. package/stat/BookNavigator/volumes/volumes.js +178 -0
  156. package/stat/BookReader/BookModel.js +518 -0
  157. package/stat/BookReader/DebugConsole.js +54 -0
  158. package/stat/BookReader/DragScrollable.js +233 -0
  159. package/stat/BookReader/ImageCache.js +116 -0
  160. package/stat/BookReader/Mode1Up.js +102 -0
  161. package/stat/BookReader/Mode1UpLit.js +434 -0
  162. package/stat/BookReader/Mode2Up.js +1372 -0
  163. package/stat/BookReader/ModeSmoothZoom.js +177 -0
  164. package/stat/BookReader/ModeThumb.js +344 -0
  165. package/stat/BookReader/Navbar/Navbar.js +310 -0
  166. package/stat/BookReader/PageContainer.js +120 -0
  167. package/stat/BookReader/ReduceSet.js +26 -0
  168. package/stat/BookReader/Toolbar/Toolbar.js +384 -0
  169. package/stat/BookReader/events.js +20 -0
  170. package/stat/BookReader/options.js +324 -0
  171. package/stat/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  172. package/stat/BookReader/utils/classes.js +36 -0
  173. package/stat/BookReader/utils.js +240 -0
  174. package/stat/BookReader.js +2550 -0
  175. package/{src → stat}/BookReaderComponent/BookReaderComponent.js +16 -11
  176. package/stat/assets/icons/1up.svg +12 -0
  177. package/stat/assets/icons/2up.svg +15 -0
  178. package/stat/assets/icons/advance.svg +26 -0
  179. package/stat/assets/icons/chevron-right.svg +1 -0
  180. package/stat/assets/icons/close-circle-dark.svg +1 -0
  181. package/stat/assets/icons/close-circle.svg +1 -0
  182. package/stat/assets/icons/fullscreen.svg +17 -0
  183. package/stat/assets/icons/fullscreen_exit.svg +17 -0
  184. package/stat/assets/icons/hamburger.svg +15 -0
  185. package/stat/assets/icons/left-arrow.svg +12 -0
  186. package/stat/assets/icons/magnify-minus.svg +16 -0
  187. package/stat/assets/icons/magnify-plus.svg +17 -0
  188. package/stat/assets/icons/magnify.svg +15 -0
  189. package/stat/assets/icons/pause.svg +23 -0
  190. package/stat/assets/icons/play.svg +22 -0
  191. package/stat/assets/icons/playback-speed.svg +34 -0
  192. package/stat/assets/icons/read-aloud.svg +22 -0
  193. package/stat/assets/icons/review.svg +22 -0
  194. package/stat/assets/icons/thumbnails.svg +17 -0
  195. package/stat/assets/icons/voice.svg +1 -0
  196. package/stat/assets/icons/volume-full.svg +22 -0
  197. package/stat/assets/images/BRicons.png +0 -0
  198. package/stat/assets/images/BRicons.svg +94 -0
  199. package/stat/assets/images/BRicons_ia.png +0 -0
  200. package/stat/assets/images/back_pages.png +0 -0
  201. package/stat/assets/images/book_bottom_icon.png +0 -0
  202. package/stat/assets/images/book_down_icon.png +0 -0
  203. package/stat/assets/images/book_left_icon.png +0 -0
  204. package/stat/assets/images/book_leftmost_icon.png +0 -0
  205. package/stat/assets/images/book_right_icon.png +0 -0
  206. package/stat/assets/images/book_rightmost_icon.png +0 -0
  207. package/stat/assets/images/book_top_icon.png +0 -0
  208. package/stat/assets/images/book_up_icon.png +0 -0
  209. package/stat/assets/images/books_graphic.svg +177 -0
  210. package/stat/assets/images/booksplit.png +0 -0
  211. package/stat/assets/images/control_pause_icon.png +0 -0
  212. package/stat/assets/images/control_play_icon.png +0 -0
  213. package/stat/assets/images/embed_icon.png +0 -0
  214. package/stat/assets/images/icon-home-ia.png +0 -0
  215. package/stat/assets/images/icon_OL-logo-xs.png +0 -0
  216. package/stat/assets/images/icon_alert-xs.png +0 -0
  217. package/stat/assets/images/icon_book.svg +12 -0
  218. package/stat/assets/images/icon_bookmark.svg +12 -0
  219. package/stat/assets/images/icon_close-pop.png +0 -0
  220. package/stat/assets/images/icon_download.png +0 -0
  221. package/stat/assets/images/icon_gear.svg +14 -0
  222. package/stat/assets/images/icon_hamburger.svg +20 -0
  223. package/stat/assets/images/icon_home.png +0 -0
  224. package/stat/assets/images/icon_home.svg +21 -0
  225. package/stat/assets/images/icon_home_ia.png +0 -0
  226. package/stat/assets/images/icon_indicator.png +0 -0
  227. package/stat/assets/images/icon_info.svg +11 -0
  228. package/stat/assets/images/icon_one_page.svg +8 -0
  229. package/stat/assets/images/icon_pause.svg +1 -0
  230. package/stat/assets/images/icon_play.svg +1 -0
  231. package/stat/assets/images/icon_playback-rate.svg +15 -0
  232. package/stat/assets/images/icon_return.png +0 -0
  233. package/stat/assets/images/icon_search_button.svg +8 -0
  234. package/stat/assets/images/icon_share.svg +9 -0
  235. package/stat/assets/images/icon_skip-ahead.svg +6 -0
  236. package/stat/assets/images/icon_skip-back.svg +13 -0
  237. package/stat/assets/images/icon_speaker.svg +18 -0
  238. package/stat/assets/images/icon_speaker_open.svg +10 -0
  239. package/stat/assets/images/icon_thumbnails.svg +12 -0
  240. package/stat/assets/images/icon_toc.svg +5 -0
  241. package/stat/assets/images/icon_two_pages.svg +9 -0
  242. package/stat/assets/images/icon_zoomer.png +0 -0
  243. package/stat/assets/images/loading.gif +0 -0
  244. package/stat/assets/images/logo_icon.png +0 -0
  245. package/stat/assets/images/marker_chap-off.png +0 -0
  246. package/stat/assets/images/marker_chap-off.svg +11 -0
  247. package/stat/assets/images/marker_chap-off_ia.png +0 -0
  248. package/stat/assets/images/marker_chap-on.png +0 -0
  249. package/stat/assets/images/marker_chap-on.svg +11 -0
  250. package/stat/assets/images/marker_srch-on.svg +11 -0
  251. package/stat/assets/images/marker_srchchap-off.png +0 -0
  252. package/stat/assets/images/marker_srchchap-on.png +0 -0
  253. package/stat/assets/images/nav_control-dn.png +0 -0
  254. package/stat/assets/images/nav_control-dn_ia.png +0 -0
  255. package/stat/assets/images/nav_control-up.png +0 -0
  256. package/stat/assets/images/nav_control-up_ia.png +0 -0
  257. package/stat/assets/images/nav_control.png +0 -0
  258. package/stat/assets/images/one_page_mode_icon.png +0 -0
  259. package/stat/assets/images/paper-badge.png +0 -0
  260. package/stat/assets/images/print_icon.png +0 -0
  261. package/stat/assets/images/progressbar.gif +0 -0
  262. package/stat/assets/images/right_edges.png +0 -0
  263. package/stat/assets/images/slider.png +0 -0
  264. package/stat/assets/images/slider_ia.png +0 -0
  265. package/stat/assets/images/thumbnail_mode_icon.png +0 -0
  266. package/stat/assets/images/transparent.png +0 -0
  267. package/stat/assets/images/two_page_mode_icon.png +0 -0
  268. package/stat/assets/images/zoom_in_icon.png +0 -0
  269. package/stat/assets/images/zoom_out_icon.png +0 -0
  270. package/stat/css/BookReader.scss +89 -0
  271. package/stat/css/_BRBookmarks.scss +29 -0
  272. package/stat/css/_BRComponent.scss +13 -0
  273. package/stat/css/_BRfloat.scss +197 -0
  274. package/stat/css/_BRicon.scss +48 -0
  275. package/stat/css/_BRmain.scss +251 -0
  276. package/stat/css/_BRnav.scss +359 -0
  277. package/stat/css/_BRpages.scss +139 -0
  278. package/stat/css/_BRsearch.scss +226 -0
  279. package/stat/css/_BRtoolbar.scss +84 -0
  280. package/stat/css/_BRvendor.scss +5 -0
  281. package/stat/css/_MobileNav.scss +194 -0
  282. package/stat/css/_TextSelection.scss +32 -0
  283. package/stat/css/_colorbox.scss +52 -0
  284. package/stat/css/_controls.scss +253 -0
  285. package/stat/css/_icons.scss +121 -0
  286. package/stat/jquery-wrapper.js +4 -0
  287. package/stat/plugins/plugin.archive_analytics.js +86 -0
  288. package/stat/plugins/plugin.autoplay.js +129 -0
  289. package/stat/plugins/plugin.chapters.js +248 -0
  290. package/stat/plugins/plugin.iframe.js +48 -0
  291. package/stat/plugins/plugin.mobile_nav.js +288 -0
  292. package/stat/plugins/plugin.resume.js +68 -0
  293. package/stat/plugins/plugin.text_selection.js +291 -0
  294. package/{src → stat}/plugins/plugin.url.js +4 -4
  295. package/stat/plugins/plugin.vendor-fullscreen.js +247 -0
  296. package/stat/plugins/search/plugin.search.js +439 -0
  297. package/stat/plugins/search/view.js +439 -0
  298. package/stat/plugins/tts/AbstractTTSEngine.js +249 -0
  299. package/stat/plugins/tts/FestivalTTSEngine.js +169 -0
  300. package/stat/plugins/tts/PageChunk.js +107 -0
  301. package/stat/plugins/tts/PageChunkIterator.js +163 -0
  302. package/stat/plugins/tts/WebTTSEngine.js +357 -0
  303. package/stat/plugins/tts/plugin.tts.js +357 -0
  304. package/stat/plugins/tts/tooltip_dict.js +15 -0
  305. package/stat/plugins/tts/utils.js +91 -0
  306. package/stat/util/browserSniffing.js +30 -0
  307. package/stat/util/debouncer.js +26 -0
  308. package/stat/util/docCookies.js +67 -0
  309. package/stat/util/strings.js +34 -0
  310. package/tests/e2e/README.md +37 -0
  311. package/tests/e2e/autoplay.test.js +2 -2
  312. package/tests/e2e/base.test.js +5 -7
  313. package/tests/e2e/helpers/base.js +8 -3
  314. package/tests/e2e/helpers/debug.js +1 -1
  315. package/tests/e2e/helpers/desktopSearch.js +1 -1
  316. package/tests/e2e/helpers/mobileSearch.js +3 -3
  317. package/tests/e2e/helpers/params.js +17 -0
  318. package/tests/e2e/rightToLeft.test.js +4 -5
  319. package/tests/e2e/viewmode.test.js +30 -31
  320. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +3 -3
  321. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +176 -0
  322. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  323. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  324. package/tests/jest/BookReader/Mode1UpLit.test.js +87 -0
  325. package/tests/{BookReader → jest/BookReader}/Mode2Up.test.js +5 -7
  326. package/tests/jest/BookReader/ModeSmoothZoom.test.js +149 -0
  327. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  328. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +7 -7
  329. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +74 -2
  330. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  331. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  332. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  333. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  334. package/tests/jest/BookReader/utils.test.js +136 -0
  335. package/tests/jest/BookReader.keyboard.test.js +190 -0
  336. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  337. package/tests/{BookReader.test.js → jest/BookReader.test.js} +20 -4
  338. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  339. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +2 -2
  340. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +8 -8
  341. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  342. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  343. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  344. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +14 -24
  345. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  346. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +12 -5
  347. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +6 -6
  348. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +3 -3
  349. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  350. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  351. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  352. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +1 -1
  353. package/tests/{plugins → jest/plugins}/tts/utils.test.js +3 -3
  354. package/tests/jest/plugins/url/UrlPlugin.test.js +175 -0
  355. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +33 -14
  356. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  357. package/tests/{util → jest/util}/docCookies.test.js +1 -1
  358. package/tests/{util → jest/util}/strings.test.js +1 -1
  359. package/tests/{utils.js → jest/utils.js} +38 -0
  360. package/tests/karma/BookNavigator/book-navigator.test.js +485 -0
  361. package/tests/karma/BookNavigator/bookmarks/bookmark-button.test.js +44 -0
  362. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +1 -3
  363. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +1 -2
  364. package/tests/karma/BookNavigator/downloads/downloads-provider.test.js +67 -0
  365. package/tests/karma/BookNavigator/downloads/downloads.test.js +54 -0
  366. package/tests/karma/BookNavigator/search/search-provider.test.js +123 -0
  367. package/tests/karma/BookNavigator/{search-results.test.js → search/search-results.test.js} +1 -4
  368. package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +49 -0
  369. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -2
  370. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +184 -0
  371. package/tests/karma/BookNavigator/volumes/volumes.test.js +98 -0
  372. package/webpack.config.js +10 -4
  373. package/.babelrc +0 -12
  374. package/.dependabot/config.yml +0 -6
  375. package/.testcaferc.json +0 -5
  376. package/BookReader/bookreader-component-bundle.js +0 -1450
  377. package/BookReader/bookreader-component-bundle.js.map +0 -1
  378. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  379. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  380. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  381. package/src/BookNavigator/assets/book-loader.js +0 -27
  382. package/src/ItemNavigator/ItemNavigator.js +0 -372
  383. package/src/ItemNavigator/providers/sharing.js +0 -29
  384. package/src/dragscrollable-br.js +0 -261
  385. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  386. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  387. package/tests/BookReader/Mode1Up.test.js +0 -164
  388. package/tests/BookReader/utils.test.js +0 -109
  389. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
@@ -16,8 +16,21 @@ body {
16
16
  display: none;
17
17
  }
18
18
 
19
+ body.BRfullscreenActive section.theater {
20
+ height: 100vh;
21
+ }
22
+ ia-bookreader[fullscreen] {
23
+ height: unset;
24
+ }
25
+
26
+ ia-bookreader{
27
+ --br-height: calc(100vh - 100px);
28
+ display: block;
29
+ height: var(--br-height);
30
+ }
31
+
19
32
  .BookReader {
20
- height: 600px;
33
+ height: var(--br-height);
21
34
  overflow: hidden;
22
35
  margin: 0 auto;
23
36
  }
@@ -0,0 +1,107 @@
1
+ /* global BookReader, BookReaderJSIAinit */
2
+
3
+ /**
4
+ * This is how Internet Archive loads bookreader
5
+ */
6
+ const urlParams = new URLSearchParams(window.location.search);
7
+
8
+ const ocaid = urlParams.get('ocaid');
9
+ const openFullImmersionTheater = urlParams.get('view') === 'theater';
10
+ const ui = urlParams.get('ui');
11
+ const autoflip = urlParams.get('autoflip');
12
+ const searchTerm = urlParams.get('q');
13
+
14
+ const iaBookReader = document.querySelector('ia-bookreader');
15
+
16
+ if (openFullImmersionTheater) {
17
+ $(document.body).addClass('BRfullscreenActive');
18
+ iaBookReader.fullscreen = openFullImmersionTheater;
19
+ }
20
+
21
+ const modal = document.querySelector('modal-manager');
22
+ iaBookReader.modal = modal;
23
+
24
+ // Override options coming from IA
25
+ BookReader.optionOverrides.imagesBaseURL = '/BookReader/images/';
26
+
27
+ const initializeBookReader = (brManifest) => {
28
+ console.log('initializeBookReader', brManifest);
29
+ const br = new BookReader();
30
+
31
+ const customAutoflipParams = {
32
+ autoflip: !!autoflip,
33
+ flipSpeed: urlParams.flipSpeed || 2000,
34
+ flipDelay: urlParams.flipDelay || 5000
35
+ };
36
+
37
+ const options = {
38
+ el: '#BookReader',
39
+ /* Url plugin - IA uses History mode for URL */
40
+ // commenting these out as demo uses hash mode
41
+ // keeping them here for reference
42
+ // urlHistoryBasePath: `/details/{$ocaid}/`,
43
+ // resumeCookiePath: `/details/{$ocaid}/`,
44
+ // urlMode: 'history',
45
+ // Only reflect these params onto the URL
46
+ // urlTrackedParams: ['page', 'search', 'mode'],
47
+ /* End url plugin */
48
+ enableBookTitleLink: false,
49
+ bookUrlText: null,
50
+ startFullscreen: openFullImmersionTheater,
51
+ initialSearchTerm: searchTerm ? searchTerm : '',
52
+ // leaving this option commented out bc we change given user agent on archive.org
53
+ // onePage: { autofit: <?=json_encode($this->ios ? 'width' : 'auto')?> },
54
+ showToolbar: false,
55
+ /* Multiple volumes */
56
+ // To show multiple volumes:
57
+ enableMultipleBooks: false, // turn this on
58
+ multipleBooksList: [], // populate this // TODO: get sample blob and tie into demo
59
+ /* End multiple volumes */
60
+ enableBookmarks: true, // turn this on
61
+ enableFSLogoShortcut: true,
62
+ };
63
+
64
+ // we want to show item as embedded when ?ui=embed is in URI
65
+ if (ui === 'embed') {
66
+ options.mode = 1;
67
+ options.ui = 'embed';
68
+ }
69
+
70
+ // we expect this at the global level
71
+ BookReaderJSIAinit(brManifest.data, options);
72
+
73
+ if (customAutoflipParams.autoflip) {
74
+ br.autoToggle(customAutoflipParams);
75
+ }
76
+ };
77
+
78
+ const fetchBookManifestAndInitializeBookreader = async (iaMetadata) => {
79
+ document.querySelector('input[name="itemMD"]').checked = true;
80
+ iaBookReader.item = iaMetadata;
81
+
82
+ const {
83
+ metadata: {
84
+ identifier
85
+ },
86
+ } = iaMetadata;
87
+
88
+ const locator = `https://archive.org/bookreader/BookReaderJSLocate.php?format=json&subPrefix=&id=${identifier}`;
89
+ // Todo: move from `locator` to create `iaManifestUrl` url from `iaMetadata`
90
+ // so we can support multiple volumes
91
+ // const iaManifestUrl = `https://${server}/BookReader/BookReaderJSIA.php?format=jsonp&itemPath=${dir}&id=${identifier}`;
92
+
93
+ const manifest = await fetch(locator)
94
+ .then(response => response.json());
95
+ document.querySelector('input[name="bookManifest"]').checked = true;
96
+
97
+ initializeBookReader(manifest);
98
+ };
99
+
100
+ // Temp; Circumvent bug in BookReaderJSIA code
101
+ window.Sentry = null;
102
+ window.logError = function(e) {
103
+ console.error(e);
104
+ };
105
+ fetch(`https://archive.org/metadata/${ocaid}`)
106
+ .then(response => response.json())
107
+ .then(iaMetadata => fetchBookManifestAndInitializeBookreader(iaMetadata));
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -14,7 +15,6 @@
14
15
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
15
16
  <script src="../BookReader/BookReader.js"></script>
16
17
  <script type="text/javascript" src="../BookReader/plugins/plugin.url.js"></script>
17
- <script type="text/javascript" src="../BookReader/plugins/plugin.menu_toggle.js"></script>
18
18
 
19
19
  <!-- Custom CSS overrides -->
20
20
  <link rel="stylesheet" href="BookReaderDemo.css"/>
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
10
10
 
11
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
12
  <script src="../BookReader/jquery-1.10.1.js"></script>
12
13
 
13
14
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -5,6 +5,7 @@
5
5
  <meta name="apple-mobile-web-app-capable" content="yes">
6
6
 
7
7
  <!-- JS dependencies -->
8
+ <script src="../BookReader/webcomponents-bundle.js"></script>
8
9
  <script src="../BookReader/jquery-1.10.1.js"></script>
9
10
 
10
11
 
@@ -8,6 +8,7 @@
8
8
  <meta name="apple-mobile-web-app-capable" content="yes">
9
9
 
10
10
  <!-- JS dependencies -->
11
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
12
  <script src="../BookReader/jquery-1.10.1.js"></script>
12
13
 
13
14
 
@@ -25,17 +26,24 @@
25
26
  <script src="../BookReader/plugins/plugin.archive_analytics.js"></script>
26
27
  <script src="../BookReader/plugins/plugin.text_selection.js"></script>
27
28
 
28
- <script type="module" src="../BookReader/bookreader-component-bundle.js"></script>
29
+ <script type="module" src="../BookReader/ia-bookreader-bundle.js"></script>
29
30
 
30
31
  <link rel="stylesheet" href="BookReaderDemo.css"/>
31
- </head>
32
+
33
+ <!-- IA scripts -->
34
+ <script src="https://archive.org/bookreader/BookReaderJSIA.js"></script>
35
+
36
+ <!-- IA fetch demo -->
37
+ <script type="module" src="IADemoBr.js"></script>
38
+
39
+ </head>
32
40
 
33
41
  <body>
34
- <section style="width: 100%; overflow: hidden; background-color: black;">
42
+ <section class="theater" style="width: 100%; overflow: hidden; background-color: black;">
35
43
  <ia-bookreader
36
44
  baseHost="https://archive.org"
37
45
  >
38
- <div id="IABookReaderWrapper" class="internal-beta" slot="bookreader">
46
+ <div id="IABookReaderWrapper" slot="theater-main">
39
47
  <div id="BookReader" class="BookReader"></div>
40
48
  </div>
41
49
  <div>
@@ -50,25 +58,65 @@
50
58
  </div>
51
59
  </ia-bookreader>
52
60
  </section>
53
- <section style="height: 800px; width: 200px;">
54
- <p>placeholder div to allow scrolling</p>
61
+ <style>
62
+ .demos {
63
+ height: 800px;
64
+ width: inherit;
65
+ padding: 10px;
66
+ }
67
+ .demo {
68
+ border: 1px solid white;
69
+ padding: 10px;
70
+ }
71
+ </style>
72
+ <section class="demos">
73
+ <div class="demo">
74
+ <button id="toggle-loggedin">Toggle Logged in view</button>
75
+ <p>Features behind signed in gate: Bookmarks</p>
76
+ <p>Logged In Status: <span id="logged-in-status">Logged Out</span></p>
77
+ </div>
78
+ <div class="demo">
79
+ <button id="start-fs">Start at Fullscreen</button>
80
+ </div>
81
+ <div class="demo">
82
+ <h3 id="placeholder">please wait as we are fetching the following: </h3>
83
+ <input type='checkbox' class='group1' name='itemMD' disabled>Item metadata</input><br>
84
+ <input type='checkbox' class='group1' name='bookManifest' disabled> Book manifest</input><br>
85
+ </div>
55
86
  </section>
87
+ <div class="demo">
88
+ <h3>Placeholder div to allow scrolling</h3>
89
+ </div>
56
90
 
91
+ <modal-manager></modal-manager>
92
+ <script >
93
+ // Set up demo things
94
+ const iaBR = document.querySelector('ia-bookreader');
95
+ const toggleLoginBtn = document.querySelector('#toggle-loggedin');
96
+ toggleLoginBtn.addEventListener('click', () => {
97
+ const currLoggedIn = iaBR.signedIn;
98
+ iaBR.signedIn = !currLoggedIn;
57
99
 
58
- <script id="pageUrl" type="text/javascript"></script>
100
+ document.querySelector('#logged-in-status').innerText = iaBR.signedIn ? 'Logged In' : 'Logged Out';
101
+ console.log("Toggled SignedIn state", iaBR.signedIn, { currLoggedIn })
102
+ });
59
103
 
60
- <script>
61
- var ocaid = location.href.match(/ocaid=([^&#]+)/i)[1];
104
+ const startFSBtn = document.querySelector('#start-fs');
105
+ startFSBtn.addEventListener('click', () => {
106
+ const urlParams = new URLSearchParams(window.location.search);
107
+ if (urlParams.has('view')) {
108
+ const url = new URL(window.location);
109
+ url.searchParams.delete('view');
110
+ window.history.pushState({}, '', url);
111
+ }
112
+ urlParams.set('view', 'theater');
113
+ window.location.search = urlParams.toString();
114
+ });
62
115
 
63
- // Override options coming from IA
64
- BookReader.optionOverrides.imagesBaseURL = '/BookReader/images/';
65
-
66
- // Temp; Circumvent bug in BookReaderJSIA code
67
- window.Sentry = null;
68
-
69
- var script_url = 'https://archive.org/bookreader/BookReaderJSLocate.php?subPrefix=&id=' + ocaid;
70
- document.getElementById('pageUrl').src = script_url;
116
+ window.addEventListener('BookReader:PostInit', () => {
117
+ const placeholder = document.querySelector('#placeholder');
118
+ placeholder.innerHTML = 'Dependencies are complete, bookreader has loaded';
119
+ });
71
120
  </script>
72
-
73
121
  </body>
74
122
  </html>
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -8,6 +8,7 @@
8
8
  <meta name="apple-mobile-web-app-capable" content="yes">
9
9
 
10
10
  <!-- JS dependencies -->
11
+ <script src="../BookReader/webcomponents-bundle.js"></script>
11
12
  <script src="../BookReader/jquery-1.10.1.js"></script>
12
13
 
13
14
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -5,6 +5,7 @@
5
5
  <meta name="apple-mobile-web-app-capable" content="yes">
6
6
 
7
7
  <!-- JS dependencies -->
8
+ <script src="../BookReader/webcomponents-bundle.js"></script>
8
9
  <script src="../BookReader/jquery-1.10.1.js"></script>
9
10
 
10
11
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -7,6 +7,7 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
13
 
@@ -7,10 +7,9 @@
7
7
  <meta name="apple-mobile-web-app-capable" content="yes">
8
8
 
9
9
  <!-- JS dependencies -->
10
+ <script src="../BookReader/webcomponents-bundle.js"></script>
10
11
  <script src="../BookReader/jquery-1.10.1.js"></script>
11
12
 
12
- <script src="../BookReader/jquery.bt.min.js"></script>
13
-
14
13
  <!-- BookReader and plugins -->
15
14
  <link rel="stylesheet" href="../BookReader/BookReader.css"/>
16
15
  <script src="../BookReader/BookReader.js"></script>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,117 @@
1
+ # 5.0.0-29
2
+ - import ia-item-navigator for menu management @iisa
3
+ - url plugin: suppress default state on load @dualcnhq
4
+
5
+ # 5.0.0-28
6
+ Dev: Refactor URLPlugin + sync volumes sorting state to URL @dualcnhq @cdrini
7
+
8
+ # 5.0.0-27
9
+ Dev: eslint fix for $.browser @homewardgamer
10
+ Fix: cache search inside requests @iisa
11
+ # 5.0.0-26
12
+ Fix: read aloud play/pause button @nsharma123
13
+ Dev: strict keyboard shortcuts @mc2
14
+ Dev: update IA demo page @iisa
15
+
16
+ # 5.0.0-24
17
+ Fix: book-nav side panel zoom out @mc2
18
+ Dev: refactor zoom code @mc2
19
+
20
+ # 5.0.0-23
21
+ Fix: Darken scrollbars in Safari @pezvi
22
+ Fix: Bookmarks service calls when reader is logged in @mc2
23
+ Dev: Move jest tests into separate directory @cdrini
24
+
25
+ # 5.0.0-22
26
+ - Dev: remove deprecated embed nav view, use standard default @iisa
27
+
28
+ # 5.0.0-21
29
+ - Dev: Toggle view=theater in fullscreen @mc2
30
+
31
+ # 5.0.0-20
32
+ - Feature: Add voice selection dropdown to ReadAloud! @mekarpeles
33
+ - Dev: Make jest support root-level imports with "@" @cdrini
34
+ - Dev: Make it easy to run e2e tests on archive.org/browserstack @cdrini
35
+
36
+ # 5.0.0-19
37
+ - Dev: Refactor dragscrollable from a jquery plugin to a JS class @cdrini
38
+ - Dev: Fix jquery eslint errors @cdrini
39
+ - Dev: Replace deprecated babel-eslint with successor @cdrini
40
+ - Fix: BR not working on iOS 9 / iOS 10! @cdrini, @iisa
41
+ - Added webcomponents, ResizeObserver polyfill
42
+ - ES5-ify lit node_modules
43
+
44
+ # 5.0.0-18
45
+ - Dev: Update a number of dependencies @cdrini
46
+ - Dev: Added eslint-plugin-no-jquery @soham4abc
47
+ - Feature: Add continuous pinch zooming for touch screens and trackpads! @cdrini
48
+ - 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.
49
+ - Breaking changes (unlikely to be used by anyone):
50
+ - Most Mode1Up Bookreader global functions removed (unlikely to be used): `drawLeafsOnePage`, `onePageGetAutofitWidth`, `onePageGetAutofitHeight`, `onePageGetPageTop`, `onePageCalculateReductionFactors`, `centerX1up`, `centerY1up`
51
+ - Some Mode2Up cleanups: Removed `setClickHandler2UP`, `setMouseHandlers2UP`
52
+ - [Web components](https://caniuse.com/custom-elementsv1) now must be supported
53
+ - Reduction factors options no longer applies to 1up
54
+
55
+ # 5.0.0-17
56
+ - Fix: focus in a textarea disables keyboard shortcuts @cdrini
57
+
58
+ # 5.0.0-16
59
+ - Dev: remove unused menu toggle plugin @iisa
60
+ - Fix: Book nav loader safari update @iisa
61
+
62
+ # 5.0.0-15
63
+ - Fix: Typing -/+ in search box no longer zooms @cdrini
64
+ - Dev: Add script for updating dev deps @cdrini
65
+ - Refactor/Fix: Convert search/TTS highlights to use SVG layer @cdrini
66
+ - Fix TTS highlights not positioned correctly in Mode1Up
67
+ - Breaking changes (unlikely these are used by anyone):
68
+ - Remove public method `BookReader.prototype.keyboardNavigationIsDisabled`
69
+ - Remove public method `BookReader.util.sleep`
70
+ - Remove public method `BookReader.prototype.updateSearchHilites1UP`
71
+ - Remove public method `BookReader.prototype.updateSearchHilites2UP`
72
+ - Remove public attribute `BookReader.prototype.ttsHilites`
73
+
74
+ # 5.0.0-14
75
+ - Fix: Url search param `q=` updates dynamically @nsharma123
76
+ - Fix: Downloads menu text updates @dualcnhq
77
+ - Fix: Volumes updates - icons, labelling, open menu onload @iisa
78
+
79
+ # 5.0.0-13
80
+ - Enhancement: Add neutral state for sorting volumes @dualcnhq
81
+ - Enhancement: Update subfiles/volumes title sorting logic by filename -> title_asc -> title_desc order then back to filename @dualcnhq
82
+ - Fix: Volume item index count display @dualcnhq
83
+
84
+
85
+ # 5.0.0-12
86
+ - Fix: new side panel: sortable multiple volumes @dualcnhq @iisa
87
+ - Fix: sharing side panel can share subfile/volume @iisa
88
+
89
+ # 5.0.0-11
90
+ - Fix: standardize button style for download panel @nsharma123
91
+ # 5.0.0-10
92
+ - Fix: Make 1up default to full width (up to real world size) @cdrini
93
+ - Fix: Remove "page" from toolbar @cdrini
94
+ - Dev: Update menu slider @iisa
95
+ - Dev: Add semi-colons eslint rule @iisa
96
+
97
+ # 5.0.0-9
98
+ - Fix: search-inside results check for page's index via `leafNum` @nsharma123
99
+ # 5.0.0-8
100
+ - Fix: cancel search fix naming var @iisa
101
+
102
+ # 5.0.0-7
103
+ - Fix: cancel search @iisa
104
+ - Dev: remove dead css @cdrini
105
+ - Dev: GHA node_modules caching @cdrini
106
+ # 5.0.0-6
107
+ - Fix: Fullscreen toggle sets/unsets animating flag @iisa
108
+ # 5.0.0-5
109
+ - Fix: Book Nav: resize only when bookreader is not animating @iisa
110
+ - Fix: Web components register themselves at EOF @iisa
111
+ - Dev: update dependencies with dependabot @drini
112
+ # 5.0.0-4
113
+ - Dev: update bookmarks login archive_analytics @iisa @dualcnhq
114
+
1
115
  # 5.0.0-3
2
116
  - Fix: bookmarks panel has login CTA @dualcnhq @iisa
3
117
 
@@ -0,0 +1,18 @@
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ targets: "> 2%, ie 11, edge 14, samsung > 9, OperaMini all, UCAndroid > 12, Safari >= 9",
7
+ useBuiltIns: "usage",
8
+ corejs: 3
9
+ }
10
+ ]
11
+ ],
12
+ plugins: [
13
+ ["@babel/plugin-proposal-decorators", {decoratorsBeforeExport: true}],
14
+ ["@babel/plugin-proposal-class-properties", {loose: true}],
15
+ ["@babel/plugin-proposal-private-property-in-object", { loose: true }],
16
+ ["@babel/plugin-proposal-private-methods", { loose: true }],
17
+ ]
18
+ };
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>
23
+ <!-- plugin.search.js -->
22
24
  <li><a href="BookReaderDemo/demo-internetarchive.html?ocaid=adventuresofoli00dick">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
+ }