@internetarchive/bookreader 5.0.0-11-multiple-files → 5.0.0-110

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/BookReader/474.js +2 -0
  2. package/BookReader/474.js.map +1 -0
  3. package/BookReader/BookReader.css +616 -1467
  4. package/BookReader/BookReader.js +2 -21564
  5. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  6. package/BookReader/BookReader.js.map +1 -1
  7. package/BookReader/bergamot-translator-worker.js +2966 -0
  8. package/BookReader/bergamot-translator-worker.wasm +0 -0
  9. package/BookReader/hypothesis/LICENSE +50 -0
  10. package/BookReader/hypothesis/README.md +55 -0
  11. package/BookReader/hypothesis/build/boot.js +1 -0
  12. package/BookReader/hypothesis/build/manifest.json +20 -0
  13. package/BookReader/hypothesis/build/scripts/annotator.bundle.js +184 -0
  14. package/BookReader/hypothesis/build/scripts/annotator.bundle.js.map +1 -0
  15. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js +798 -0
  16. package/BookReader/hypothesis/build/scripts/sidebar.bundle.js.map +1 -0
  17. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js +711 -0
  18. package/BookReader/hypothesis/build/scripts/ui-playground.bundle.js.map +1 -0
  19. package/BookReader/hypothesis/build/styles/annotator.css +2235 -0
  20. package/BookReader/hypothesis/build/styles/annotator.css.map +1 -0
  21. package/BookReader/hypothesis/build/styles/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  22. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  23. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  24. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  25. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  26. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Bold.woff2 +0 -0
  27. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  28. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Italic.woff2 +0 -0
  29. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Main-Regular.woff2 +0 -0
  30. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  31. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Math-Italic.woff2 +0 -0
  32. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  33. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  34. package/BookReader/hypothesis/build/styles/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  35. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Script-Regular.woff2 +0 -0
  36. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  37. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  38. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  39. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  40. package/BookReader/hypothesis/build/styles/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  41. package/BookReader/hypothesis/build/styles/highlights.css +2 -0
  42. package/BookReader/hypothesis/build/styles/highlights.css.map +1 -0
  43. package/BookReader/hypothesis/build/styles/katex.min.css +2 -0
  44. package/BookReader/hypothesis/build/styles/katex.min.css.map +1 -0
  45. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css +2 -0
  46. package/BookReader/hypothesis/build/styles/pdfjs-overrides.css.map +1 -0
  47. package/BookReader/hypothesis/build/styles/sidebar.css +2731 -0
  48. package/BookReader/hypothesis/build/styles/sidebar.css.map +1 -0
  49. package/BookReader/hypothesis/build/styles/ui-playground.css +2659 -0
  50. package/BookReader/hypothesis/build/styles/ui-playground.css.map +1 -0
  51. package/BookReader/hypothesis/package.json +126 -0
  52. package/BookReader/ia-bookreader-bundle.js +1907 -0
  53. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +19 -0
  54. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  55. package/BookReader/icons/1up.svg +1 -12
  56. package/BookReader/icons/2up.svg +1 -15
  57. package/BookReader/icons/advance.svg +3 -26
  58. package/BookReader/icons/chevron-right.svg +1 -1
  59. package/BookReader/icons/close-circle-dark.svg +1 -0
  60. package/BookReader/icons/close-circle.svg +1 -1
  61. package/BookReader/icons/fullscreen.svg +1 -17
  62. package/BookReader/icons/fullscreen_exit.svg +1 -17
  63. package/BookReader/icons/hamburger.svg +1 -15
  64. package/BookReader/icons/left-arrow.svg +1 -12
  65. package/BookReader/icons/magnify-minus.svg +1 -16
  66. package/BookReader/icons/magnify-plus.svg +1 -17
  67. package/BookReader/icons/magnify.svg +1 -15
  68. package/BookReader/icons/pause.svg +1 -23
  69. package/BookReader/icons/play.svg +1 -22
  70. package/BookReader/icons/playback-speed.svg +1 -34
  71. package/BookReader/icons/read-aloud.svg +1 -22
  72. package/BookReader/icons/review.svg +3 -22
  73. package/BookReader/icons/slider-toggle.svg +1 -0
  74. package/BookReader/icons/thumbnails.svg +1 -17
  75. package/BookReader/icons/voice.svg +1 -0
  76. package/BookReader/icons/volume-full.svg +1 -22
  77. package/BookReader/images/BRicons.svg +5 -94
  78. package/BookReader/images/books_graphic.svg +1 -177
  79. package/BookReader/images/hypothesis.ico +0 -0
  80. package/BookReader/images/icon_book.svg +1 -12
  81. package/BookReader/images/icon_bookmark.svg +1 -12
  82. package/BookReader/images/icon_experiment.svg +1 -0
  83. package/BookReader/images/icon_gear.svg +1 -14
  84. package/BookReader/images/icon_hamburger.svg +1 -20
  85. package/BookReader/images/icon_home.svg +1 -21
  86. package/BookReader/images/icon_info.svg +1 -11
  87. package/BookReader/images/icon_one_page.svg +1 -8
  88. package/BookReader/images/icon_pause.svg +1 -1
  89. package/BookReader/images/icon_play.svg +1 -1
  90. package/BookReader/images/icon_playback-rate.svg +1 -15
  91. package/BookReader/images/icon_search_button.svg +1 -8
  92. package/BookReader/images/icon_share.svg +1 -9
  93. package/BookReader/images/icon_skip-ahead.svg +1 -6
  94. package/BookReader/images/icon_skip-back.svg +2 -13
  95. package/BookReader/images/icon_speaker.svg +1 -18
  96. package/BookReader/images/icon_speaker_open.svg +1 -10
  97. package/BookReader/images/icon_thumbnails.svg +1 -12
  98. package/BookReader/images/icon_toc.svg +1 -5
  99. package/BookReader/images/icon_two_pages.svg +1 -9
  100. package/BookReader/images/marker_chap-off.svg +1 -11
  101. package/BookReader/images/marker_chap-on.svg +1 -11
  102. package/BookReader/images/marker_srch-on.svg +1 -11
  103. package/BookReader/images/translate.svg +1 -0
  104. package/BookReader/images/unviewable_page.png +0 -0
  105. package/BookReader/jquery-3.js +2 -0
  106. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  107. package/BookReader/plugins/plugin.archive_analytics.js +1 -172
  108. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  109. package/BookReader/plugins/plugin.autoplay.js +1 -165
  110. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  111. package/BookReader/plugins/plugin.chapters.js +19 -301
  112. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  113. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  114. package/BookReader/plugins/plugin.experiments.js +3 -0
  115. package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +1 -0
  116. package/BookReader/plugins/plugin.experiments.js.map +1 -0
  117. package/BookReader/plugins/plugin.iframe.js +1 -74
  118. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  119. package/BookReader/plugins/plugin.iiif.js +2 -0
  120. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  121. package/BookReader/plugins/plugin.resume.js +1 -368
  122. package/BookReader/plugins/plugin.resume.js.map +1 -1
  123. package/BookReader/plugins/plugin.search.js +2 -1420
  124. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  125. package/BookReader/plugins/plugin.search.js.map +1 -1
  126. package/BookReader/plugins/plugin.text_selection.js +2 -1080
  127. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  128. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  129. package/BookReader/plugins/plugin.translate.js +137 -0
  130. package/BookReader/plugins/plugin.translate.js.LICENSE.txt +1 -0
  131. package/BookReader/plugins/plugin.translate.js.map +1 -0
  132. package/BookReader/plugins/plugin.tts.js +2 -9193
  133. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  134. package/BookReader/plugins/plugin.tts.js.map +1 -1
  135. package/BookReader/plugins/plugin.url.js +1 -269
  136. package/BookReader/plugins/plugin.url.js.map +1 -1
  137. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -379
  138. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  139. package/BookReader/plugins/translator-worker.js +2 -0
  140. package/BookReader/plugins/translator-worker.js.map +1 -0
  141. package/BookReader/silence.mp3 +0 -0
  142. package/BookReader/translator-worker.js +475 -0
  143. package/BookReader/webcomponents-bundle.js +3 -0
  144. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  145. package/BookReader/webcomponents-bundle.js.map +1 -0
  146. package/README.md +14 -3
  147. package/jsconfig.json +19 -0
  148. package/package.json +92 -70
  149. package/src/BookReader/BookModel.js +92 -46
  150. package/src/BookReader/DragScrollable.js +233 -0
  151. package/src/BookReader/ImageCache.js +49 -16
  152. package/src/BookReader/Mode1Up.js +66 -356
  153. package/src/BookReader/Mode1UpLit.js +392 -0
  154. package/src/BookReader/Mode2Up.js +87 -1315
  155. package/src/BookReader/Mode2UpLit.js +788 -0
  156. package/src/BookReader/ModeAbstract.js +43 -0
  157. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  158. package/src/BookReader/ModeSmoothZoom.js +312 -0
  159. package/src/BookReader/ModeThumb.js +30 -16
  160. package/src/BookReader/Navbar/Navbar.js +201 -76
  161. package/src/BookReader/PageContainer.js +120 -23
  162. package/src/BookReader/ReduceSet.js +3 -3
  163. package/src/BookReader/Toolbar/Toolbar.js +19 -41
  164. package/src/BookReader/events.js +3 -3
  165. package/src/BookReader/options.js +94 -17
  166. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  167. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  168. package/src/BookReader/utils/SelectionObserver.js +45 -0
  169. package/src/BookReader/utils/classes.js +1 -1
  170. package/src/BookReader/utils.js +141 -13
  171. package/src/BookReader.js +711 -1241
  172. package/src/BookReaderPlugin.js +52 -0
  173. package/src/assets/icons/close-circle-dark.svg +1 -0
  174. package/src/assets/icons/magnify-minus.svg +3 -7
  175. package/src/assets/icons/magnify-plus.svg +3 -7
  176. package/src/assets/icons/slider-toggle.svg +1 -0
  177. package/src/assets/icons/voice.svg +1 -0
  178. package/src/assets/images/hypothesis.ico +0 -0
  179. package/src/assets/images/icon_experiment.svg +1 -0
  180. package/src/assets/images/translate.svg +1 -0
  181. package/src/assets/images/unviewable_page.png +0 -0
  182. package/src/assets/silence.mp3 +0 -0
  183. package/src/css/BookReader.scss +1 -17
  184. package/src/css/_BRBookmarks.scss +1 -1
  185. package/src/css/_BRComponent.scss +1 -1
  186. package/src/css/_BRicon.scss +8 -2
  187. package/src/css/_BRmain.scss +33 -27
  188. package/src/css/_BRnav.scss +74 -70
  189. package/src/css/_BRpages.scss +171 -42
  190. package/src/css/_BRsearch.scss +69 -235
  191. package/src/css/_BRtoolbar.scss +5 -5
  192. package/src/css/_TextSelection.scss +129 -24
  193. package/src/css/_colorbox.scss +2 -2
  194. package/src/css/_controls.scss +24 -7
  195. package/src/css/_icons.scss +14 -1
  196. package/src/{BookNavigator/assets → css}/button-base.js +10 -3
  197. package/src/css/icon_checkmark.js +9 -0
  198. package/src/css/sharedStyles.js +15 -0
  199. package/src/ia-bookreader/downloads/downloads-provider.js +81 -0
  200. package/src/{BookNavigator → ia-bookreader}/downloads/downloads.js +29 -25
  201. package/src/ia-bookreader/ia-bookreader.js +666 -0
  202. package/src/ia-bookreader/sharing.js +27 -0
  203. package/src/ia-bookreader/viewable-files.js +98 -0
  204. package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments-provider.js +17 -17
  205. package/src/{BookNavigator → ia-bookreader}/visual-adjustments/visual-adjustments.js +75 -67
  206. package/src/{BookNavigator → plugins}/bookmarks/bookmark-button.js +4 -3
  207. package/src/{BookNavigator/assets → plugins/bookmarks}/bookmark-colors.js +1 -1
  208. package/src/{BookNavigator → plugins}/bookmarks/bookmark-edit.js +44 -32
  209. package/src/{BookNavigator → plugins}/bookmarks/bookmarks-list.js +48 -49
  210. package/src/{BookNavigator → plugins}/bookmarks/bookmarks-loginCTA.js +5 -10
  211. package/src/plugins/bookmarks/bookmarks-provider.js +63 -0
  212. package/src/{BookNavigator → plugins/bookmarks}/delete-modal-actions.js +1 -1
  213. package/src/{BookNavigator → plugins}/bookmarks/ia-bookmarks.js +117 -68
  214. package/src/plugins/plugin.archive_analytics.js +84 -78
  215. package/src/plugins/plugin.autoplay.js +99 -104
  216. package/src/plugins/plugin.chapters.js +310 -201
  217. package/src/plugins/plugin.experiments.js +321 -0
  218. package/src/plugins/plugin.iframe.js +1 -1
  219. package/src/plugins/plugin.iiif.js +141 -0
  220. package/src/plugins/plugin.resume.js +53 -50
  221. package/src/plugins/plugin.text_selection.js +522 -219
  222. package/src/plugins/plugin.vendor-fullscreen.js +7 -7
  223. package/src/plugins/search/plugin.search.js +380 -360
  224. package/src/{BookNavigator → plugins}/search/search-provider.js +94 -32
  225. package/src/{BookNavigator → plugins}/search/search-results.js +108 -90
  226. package/src/plugins/search/utils.js +50 -0
  227. package/src/plugins/search/view.js +79 -210
  228. package/src/plugins/translate/TranslationManager.js +164 -0
  229. package/src/plugins/translate/plugin.translate.js +512 -0
  230. package/src/plugins/tts/AbstractTTSEngine.js +78 -49
  231. package/src/plugins/tts/FestivalTTSEngine.js +21 -31
  232. package/src/plugins/tts/PageChunk.js +33 -21
  233. package/src/plugins/tts/PageChunkIterator.js +11 -17
  234. package/src/plugins/tts/WebTTSEngine.js +131 -91
  235. package/src/plugins/tts/plugin.tts.js +345 -350
  236. package/src/plugins/tts/utils.js +77 -49
  237. package/src/plugins/url/UrlPlugin.js +191 -0
  238. package/src/plugins/{plugin.url.js → url/plugin.url.js} +47 -18
  239. package/src/util/TextSelectionManager.js +282 -0
  240. package/src/util/browserSniffing.js +33 -1
  241. package/src/util/cache.js +20 -0
  242. package/src/util/docCookies.js +21 -2
  243. package/src/util/lit.js +15 -0
  244. package/src/util/strings.js +1 -0
  245. package/.babelrc +0 -12
  246. package/.dependabot/config.yml +0 -6
  247. package/.eslintrc.js +0 -49
  248. package/.gitattributes +0 -2
  249. package/.github/ISSUE_TEMPLATE/bug.md +0 -32
  250. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
  251. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
  252. package/.github/workflows/node.js.yml +0 -28
  253. package/.github/workflows/npm-publish.yml +0 -47
  254. package/.testcaferc.json +0 -5
  255. package/BookReader/bookreader-component-bundle.js +0 -14330
  256. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  257. package/BookReader/bookreader-component-bundle.js.map +0 -1
  258. package/BookReader/icons/sort-ascending.svg +0 -1
  259. package/BookReader/icons/sort-descending.svg +0 -1
  260. package/BookReader/jquery-1.10.1.js +0 -108
  261. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  262. package/BookReader/plugins/plugin.menu_toggle.js +0 -369
  263. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  264. package/BookReader/plugins/plugin.mobile_nav.js +0 -335
  265. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  266. package/BookReaderDemo/BookReaderDemo.css +0 -41
  267. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -115
  268. package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
  269. package/BookReaderDemo/BookReaderJSSimple.js +0 -55
  270. package/BookReaderDemo/IIIFBookReader.js +0 -207
  271. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
  272. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
  273. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  274. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  275. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  276. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
  277. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
  278. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  279. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  280. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  281. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  282. package/BookReaderDemo/demo-advanced.html +0 -33
  283. package/BookReaderDemo/demo-autoplay.html +0 -38
  284. package/BookReaderDemo/demo-embed-iframe-src.html +0 -84
  285. package/BookReaderDemo/demo-embed.html +0 -26
  286. package/BookReaderDemo/demo-fullscreen-mobile.html +0 -36
  287. package/BookReaderDemo/demo-fullscreen.html +0 -33
  288. package/BookReaderDemo/demo-iiif.html +0 -34
  289. package/BookReaderDemo/demo-iiif.js +0 -26
  290. package/BookReaderDemo/demo-internetarchive.html +0 -74
  291. package/BookReaderDemo/demo-multiple.html +0 -43
  292. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  293. package/BookReaderDemo/demo-preview-pages.html +0 -1092
  294. package/BookReaderDemo/demo-simple.html +0 -34
  295. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -36
  296. package/BookReaderDemo/immersion-1up.html +0 -64
  297. package/BookReaderDemo/immersion-mode.html +0 -35
  298. package/BookReaderDemo/toggle_controls.html +0 -53
  299. package/BookReaderDemo/view_mode.html +0 -39
  300. package/BookReaderDemo/viewmode-cycle.html +0 -41
  301. package/CHANGELOG.md +0 -476
  302. package/CONTRIBUTING.md +0 -7
  303. package/codecov.yml +0 -17
  304. package/index.html +0 -31
  305. package/karma.conf.js +0 -23
  306. package/screenshot.png +0 -0
  307. package/scripts/postversion.js +0 -10
  308. package/scripts/preversion.js +0 -14
  309. package/scripts/version.js +0 -26
  310. package/src/BookNavigator/BookModel.js +0 -14
  311. package/src/BookNavigator/BookNavigator.js +0 -451
  312. package/src/BookNavigator/assets/book-loader.js +0 -27
  313. package/src/BookNavigator/assets/icon_checkmark.js +0 -6
  314. package/src/BookNavigator/assets/icon_close.js +0 -3
  315. package/src/BookNavigator/assets/icon_sort_ascending.js +0 -5
  316. package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
  317. package/src/BookNavigator/bookmarks/bookmarks-provider.js +0 -53
  318. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  319. package/src/BookNavigator/downloads/downloads-provider.js +0 -66
  320. package/src/BookNavigator/search/a-search-result.js +0 -55
  321. package/src/BookNavigator/volumes/volumes-provider.js +0 -75
  322. package/src/BookNavigator/volumes/volumes.js +0 -161
  323. package/src/BookReader/DebugConsole.js +0 -54
  324. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  325. package/src/ItemNavigator/ItemNavigator.js +0 -372
  326. package/src/ItemNavigator/providers/sharing.js +0 -29
  327. package/src/assets/icons/sort-ascending.svg +0 -1
  328. package/src/assets/icons/sort-descending.svg +0 -1
  329. package/src/css/_MobileNav.scss +0 -194
  330. package/src/dragscrollable-br.js +0 -261
  331. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  332. package/src/plugins/plugin.mobile_nav.js +0 -287
  333. package/tests/BookReader/BookModel.test.js +0 -312
  334. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  335. package/tests/BookReader/DebugConsole.test.js +0 -25
  336. package/tests/BookReader/ImageCache.test.js +0 -150
  337. package/tests/BookReader/Mode1Up.test.js +0 -164
  338. package/tests/BookReader/Mode2Up.test.js +0 -247
  339. package/tests/BookReader/Navbar/Navbar.test.js +0 -169
  340. package/tests/BookReader/PageContainer.test.js +0 -115
  341. package/tests/BookReader/ReduceSet.test.js +0 -38
  342. package/tests/BookReader/Toolbar/Toolbar.test.js +0 -26
  343. package/tests/BookReader/utils/classes.test.js +0 -88
  344. package/tests/BookReader/utils.test.js +0 -109
  345. package/tests/BookReader.options.test.js +0 -39
  346. package/tests/BookReader.test.js +0 -301
  347. package/tests/e2e/README.md +0 -75
  348. package/tests/e2e/autoplay.test.js +0 -13
  349. package/tests/e2e/base.test.js +0 -35
  350. package/tests/e2e/helpers/base.js +0 -258
  351. package/tests/e2e/helpers/debug.js +0 -13
  352. package/tests/e2e/helpers/desktopSearch.js +0 -72
  353. package/tests/e2e/helpers/mobileSearch.js +0 -85
  354. package/tests/e2e/helpers/mockSearch.js +0 -93
  355. package/tests/e2e/helpers/rightToLeft.js +0 -29
  356. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  357. package/tests/e2e/models/BookReader.js +0 -11
  358. package/tests/e2e/models/Navigation.js +0 -56
  359. package/tests/e2e/rightToLeft.test.js +0 -20
  360. package/tests/e2e/viewmode.test.js +0 -37
  361. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  362. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +0 -133
  363. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +0 -222
  364. package/tests/karma/BookNavigator/search-results.test.js +0 -240
  365. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  366. package/tests/karma/BookNavigator/volumes.test.js +0 -133
  367. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  368. package/tests/plugins/plugin.archive_analytics.test.js +0 -23
  369. package/tests/plugins/plugin.autoplay.test.js +0 -52
  370. package/tests/plugins/plugin.chapters.test.js +0 -130
  371. package/tests/plugins/plugin.iframe.test.js +0 -42
  372. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  373. package/tests/plugins/plugin.resume.test.js +0 -98
  374. package/tests/plugins/plugin.text_selection.test.js +0 -203
  375. package/tests/plugins/plugin.url.test.js +0 -129
  376. package/tests/plugins/plugin.vendor-fullscreen.test.js +0 -65
  377. package/tests/plugins/search/plugin.search.test.js +0 -166
  378. package/tests/plugins/search/plugin.search.view.test.js +0 -106
  379. package/tests/plugins/tts/AbstractTTSEngine.test.js +0 -153
  380. package/tests/plugins/tts/FestivalTTSEngine.test.js +0 -59
  381. package/tests/plugins/tts/PageChunk.test.js +0 -57
  382. package/tests/plugins/tts/PageChunkIterator.test.js +0 -179
  383. package/tests/plugins/tts/WebTTSEngine.test.js +0 -126
  384. package/tests/plugins/tts/utils.test.js +0 -133
  385. package/tests/util/browserSniffing.test.js +0 -56
  386. package/tests/util/docCookies.test.js +0 -15
  387. package/tests/util/strings.test.js +0 -63
  388. package/tests/utils.js +0 -42
  389. package/webpack.config.js +0 -86
@@ -0,0 +1,52 @@
1
+ // @ts-check
2
+ /** @typedef {import("./BookReader.js").default} BookReader */
3
+
4
+ /**
5
+ * @template TOptions
6
+ */
7
+ export class BookReaderPlugin {
8
+ /**
9
+ * @param {BookReader} br
10
+ */
11
+ constructor(br) {
12
+ /** @type {BookReader} */
13
+ this.br = br;
14
+ /** @type {TOptions} */
15
+ this.options;
16
+ }
17
+
18
+ /**
19
+ * @abstract
20
+ * @param {TOptions} options
21
+ **/
22
+ setup(options) {
23
+ this.options = Object.assign({}, this.options, options);
24
+ }
25
+
26
+ /** @abstract */
27
+ init() {}
28
+
29
+ /**
30
+ * @abstract
31
+ * @protected
32
+ * @param {import ("./BookReader/PageContainer.js").PageContainer} pageContainer
33
+ */
34
+ _configurePageContainer(pageContainer) {
35
+ }
36
+
37
+ /**
38
+ * @abstract
39
+ * @protected
40
+ * @param {JQuery<HTMLElement>} $toolbarElement
41
+ */
42
+ _configureToolbar($toolbarElement) {
43
+ }
44
+
45
+ /** @abstract @protected */
46
+ _bindNavigationHandlers() {}
47
+
48
+ /**
49
+ * @param {JQuery<HTMLElement>} $navBar
50
+ */
51
+ extendNavBar($navBar) {}
52
+ }
@@ -0,0 +1 @@
1
+ <svg height="12" viewBox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="m6 0c3.3137085 0 6 2.6862915 6 6s-2.6862915 6-6 6-6-2.6862915-6-6 2.6862915-6 6-6zm-2.3406945 2.96359116c-.19486814-.13499605-.46429254-.1157109-.63785889.05785545-.19526215.19526215-.19526215.51184463 0 .70710678l2.27155339 2.27144661-2.20567981 2.20557302-.05785545.06924789c-.13499605.19486814-.1157109.46429254.05785545.6378589.19526215.19526214.51184464.19526214.70710679 0l2.20557302-2.20567981 2.20557302 2.20567981.06924789.05785545c.19486814.13499605.46429254.1157109.6378589-.05785545.19526214-.19526215.19526214-.51184464 0-.70710679l-2.20567981-2.20557302 2.27155339-2.27144661.05785545-.06924789c.13499605-.19486814.1157109-.46429254-.05785545-.63785889-.19526215-.19526215-.51184463-.19526215-.70710678 0l-2.27144661 2.27155339-2.27144661-2.27155339z" fill="#222" fill-rule="evenodd"/></svg>
@@ -1,16 +1,12 @@
1
1
  <svg
2
- width="18"
3
- height="18"
4
- viewBox="0 0 18 18"
2
+ viewBox="0 0 100 100"
5
3
  version="1.1"
6
4
  xmlns="http://www.w3.org/2000/svg"
7
5
  aria-labelledby="magnify-minusTitleID magnify-minusDescID"
8
6
  >
9
7
  <title id="magnify-minusTitleID">Zoom out</title>
10
8
  <desc id="magnify-minusDescID">An icon of a minus symbol</desc>
11
- <g fill="none" fill-rule="evenodd">
12
- <circle cx="7" cy="7" r="6" stroke="#fff" stroke-width="2" />
13
- <path d="m12 12 4.335213 4.335213" stroke="#fff" stroke-linecap="round" stroke-width="2" />
14
- <path d="m10 7.75v-1.5h-6v1.5z" fill="#fff" fill-rule="nonzero" />
9
+ <g fill="#fff" fill-rule="evenodd">
10
+ <path d="m2.3239824 87.3815869 25.8938394-23.8143095c-4.5929593-6.6937643-6.889439-14.1059452-6.889439-22.2365428 0-7.1360431 1.7567382-13.7186647 5.2702146-19.7478649 3.5134763-6.0292002 8.2852035-10.8003118 14.3151815-14.31333499 6.029978-3.51302314 12.6134488-5.26953471 19.7504125-5.26953471s13.7204346 1.75651157 19.7504126 5.26953471c6.029978 3.51302319 10.8017051 8.28413479 14.3151815 14.31333499 3.5134763 6.0292002 5.2702145 12.6118218 5.2702145 19.7478649s-1.7567382 13.7324143-5.2702145 19.7891137c-3.5134764 6.0566994-8.2852035 10.8415607-14.3151815 14.3545838-6.029978 3.5130232-12.6134489 5.2695347-19.7504126 5.2695347-8.5762743 0-16.3217363-2.5723212-23.2363861-7.7169637l-26.3063807 24.2302349c-1.27200216 1.1618413-2.76631826 1.742762-4.48294825 1.742762-1.826641 0-3.38971397-.6496687-4.68921892-1.949006s-1.94925743-2.8622087-1.94925743-4.688614c0-1.9364022.7746608-3.5955208 2.3239824-4.9773557zm58.3436469-19.9162976c7.1919692 0 13.3331041-2.5585716 18.4234048-7.6757149s7.635451-11.2712357 7.635451-18.4622772-2.5451503-13.3313843-7.635451-18.4210284-11.2314356-7.6344661-18.4234048-7.6344661-13.3331042 2.544822-18.4234049 7.6344661-7.635451 11.2299869-7.635451 18.4210284 2.5451503 13.3451339 7.635451 18.4622772 11.2314357 7.6757149 18.4234049 7.6757149zm-14.9374313-21.3256316h31.2878163v-9.5422233h-31.2878163z"/>
15
11
  </g>
16
12
  </svg>
@@ -1,17 +1,13 @@
1
1
  <svg
2
- width="18"
3
- height="18"
4
- viewBox="0 0 18 18"
2
+ viewBox="0 0 100 100"
5
3
  version="1.1"
6
4
  xmlns="http://www.w3.org/2000/svg"
7
5
  aria-labelledby="magnify-plusTitleID magnify-plusDescID"
8
6
  >
9
7
  <title id="magnify-plusTitleID">Zoom in</title>
10
8
  <desc id="magnify-plusDescID">An icon of a plus symbol</desc>
11
- <g fill="none" fill-rule="evenodd">
12
- <circle cx="7" cy="7" r="6" stroke="#fff" stroke-width="2" />
13
- <path d="m12 12 4.335213 4.335213" stroke="#fff" stroke-linecap="round" stroke-width="2" />
14
- <path d="m7.75 4v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25v-2.25z" fill="#fff" fill-rule="nonzero" />
9
+ <g fill="#fff" fill-rule="evenodd">
10
+ <path d="m2.40305276 87.4017263 25.81133064-23.7730295c-4.5356618-6.5723551-6.8034928-14.000283-6.8034928-22.2837838 0-7.1236734 1.7429868-13.6948847 5.2289603-19.7136338 3.4859736-6.0187491 8.2577006-10.7953163 14.3151813-14.32970144 6.0574806-3.53438517 12.6547027-5.30157776 19.7916662-5.30157776 10.8429591 0 20.0964884 3.85236545 27.760588 11.5570964 7.6640996 7.7047309 11.4950036 16.9684802 11.4927136 27.791248 0 10.8799585-3.8309059 20.1574336-11.4927136 27.8324254-7.6618077 7.6749917-16.915337 11.5124876-27.760588 11.5124876-8.6312796 0-16.431747-2.5678624-23.4014021-7.7035871l-26.1413636 24.188234c-1.21699671 1.2147305-2.73881553 1.8220957-4.56545649 1.8220957s-3.3897139-.6485425-4.68921882-1.9456276c-1.29950493-1.297085-1.94925739-2.8572473-1.94925739-4.6804867 0-1.8781426.80216353-3.5343852 2.4064906-4.9687279zm58.34020784-19.878343c7.1369635 0 13.264347-2.5678623 18.3821503-7.7035871 5.1178034-5.1357247 7.676705-11.2928753 7.676705-18.4714518s-2.5589016-13.3082755-7.676705-18.3890972c-5.1178033-5.0808217-11.2451868-7.6212325-18.3821503-7.6212325-7.2469746 0-13.4156121 2.5404108-18.5059127 7.6212325s-7.6354509 11.2105207-7.6354509 18.3890972 2.5589016 13.3357271 7.676705 18.4714518c5.1178033 5.1357248 11.2726895 7.7035871 18.4646586 7.7035871zm-13.3594607-21.8685793h10.206958v10.1879511h7.2194718v-10.1879511h10.206958v-7.206028h-10.206958v-10.187951h-7.2194718v10.187951h-10.206958z"/>
15
11
  </g>
16
12
 
17
13
  </svg>
@@ -0,0 +1 @@
1
+ <svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"><g fill="#fff" fill-rule="evenodd" transform="translate(0 23)"><path d="m35 0v54l-35-27.8266318zm30 0 35 26.1733682-35 27.8266318z"/><circle cx="50" cy="27.236059" r="10"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"><g fill="#fff" fill-rule="nonzero"><path d="m38.1709541 1.16927276c-19.3063792 2.35749181-30.77194642 17.49896974-28.52613175 35.69759164l.13778264.9919913c1.32289251 8.56612 5.97731071 16.3013047 12.66398421 21.5397034l.4377858.3337777-.8258922.2818912c-14.58776328 5.1516606-22.0584828 17.3847028-22.0584828 36.1118649 0 1.7258899 1.39911016 3.125 3.125 3.125h75c1.7258898 0 3.125-1.3991101 3.125-3.125l-.0091512-1.1274701c-.2805982-17.166151-7.012296-28.729242-19.9504605-34.1742942l-.7528883-.3076168.3448755-.2543479c4.6971412-3.6170055 8.2730972-8.807671 10.7017508-15.494037l.1033476-.3442854c.358088-1.4990563-.4382762-3.0639387-1.9085796-3.6353549l-12.6163943-2.9594748 15.5382502-5.2151308c1.4455508-.7155993 2.1089731-2.4138059 1.5313094-3.9197953l-.4286041-1.1171368c-7.4117992-18.89492742-19.4315183-27.95356137-35.6325014-26.40787614zm29.1727959 27.11931404-14.3051523 7.0850707-.3458164.1975825c-2.0674045 1.3537943-1.8055096 4.5808459.6002149 5.5158026l11.2601288 4.3765442-.0446544.1053935c-2.9998765 6.5205267-7.382434 10.7639749-13.2036694 12.8974938-2.9669838 1.087418-2.6299355 5.3880614.4702287 5.9999873l.9102021.1897523c14.1147108 3.1023497 21.4110943 12.2993394 22.233518 28.3448731h-68.59375l.06180046-.9883469c1.14099717-16.5385163 9.43185134-25.5919672 25.33818054-27.9334892 3.1343099-.4613921 3.6716909-4.7565726.7476649-5.9759387-8.9190789-3.7193999-15.42583-12.285691-16.6248777-22.0019293-1.8277808-14.8111472 7.2466638-26.79489813 22.9989376-28.71929813 12.5036466-1.191884 21.828781 5.37445053 28.2768952 20.37896473z"/><path d="m76.5037126 22.4247766c.9396111-1.4476971 2.8749067-1.8595821 4.3226037-.9199711 6.1870578 4.0156385 9.4236837 9.4774446 9.4236837 16.1212874s-3.2366259 12.105649-9.4236837 16.1212875c-1.447697.939611-3.3829926.527726-4.3226037-.9199711s-.527726-3.3829927.9199711-4.3226038c4.4796088-2.9074384 6.5763163-6.4456323 6.5763163-10.8787126 0-4.4330802-2.0967075-7.9712741-6.5763163-10.8787125-1.4476971-.9396111-1.8595822-2.8749067-.9199711-4.3226038z"/><path d="m86.6767674 19.1839853c1.0725964-1.3521215 3.0382187-1.5787214 4.3903402-.506125 6.0793735 4.82258 9.1828924 11.2235876 9.1828924 18.9482326 0 7.7246451-3.1035189 14.1256527-9.1828924 18.9482327-1.3521215 1.0725964-3.3177438.8459965-4.3903402-.506125-1.0725964-1.3521216-.8459966-3.3177439.506125-4.3903403 4.5872931-3.6389585 6.8171076-8.2379508 6.8171076-14.0517674 0-5.8138165-2.2298145-10.4128088-6.8171076-14.0517673-1.3521216-1.0725964-1.5787214-3.0382187-.506125-4.3903403z"/></g></svg>
Binary file
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><g fill="#fff" fill-rule="evenodd"><path d="m20.5312017 91.3043478h59.513497c1.2006191 0 2.1739131-.973294 2.1739131-2.173913 0-.3822983-.1008154-.7578365-.2922774-1.0887357l-25.7859388-44.5652174c-.3886001-.6716082-1.1057054-1.0851774-1.8816356-1.0851774h-9.4292698c-.7956659 0-1.5277636.4346832-1.9086489 1.1332607l-24.2982884 44.5652174c-.5747365 1.0541176-.1861212 2.3745648.8679964 2.9493012.3192413.1740599.677043.2652642 1.0406524.2652642z"/><path d="m58.2338112 0c3.9857698 0 7.0754101 2.92605669 7.0754101 6.52173913 0 1.94814675-1.1751392 3.49748367-3.1329548 4.78763887-.7622726.5029309-1.2209368 1.3542647-1.2211436 2.2659686l-.0000001 17.2659447c0 1.4033895.3628136 2.7830137 1.0533233 4.0053358l29.9382305 52.9958632c.6905098 1.2223221 1.0533234 2.6019463 1.0533234 4.0053358 0 4.5023213-3.655118 8.1521739-8.1639346 8.1521739h-69.6705953c-1.3692898 0-2.7165851-.3439149-3.9178929-1.0000939-3.95568315-2.1606754-5.40829754-7.1143442-3.24450505-11.0643289l29.09149695-53.106279c.6571256-1.1995773 1.0015367-2.5449317 1.0015367-3.9122489l-.0000001-17.3410875c-.000193-.8514978-.3997534-1.6498707-1.0727831-2.1614374l-.1478555-.104365c-1.8735444-1.2352818-3.0298253-2.70631266-3.1268298-4.53659758l-.00663-.25182269c0-3.59709019 3.085096-6.52173913 7.07541-6.52173913zm0 5.43478261h-17.4163939c-.3341979 0-.655354.0973303-.9634683.29199092l-.1529759.10543374c-.2276736.17021467-.2742532.49276685-.1040386.72044045l.0538074.06119811.0627915.05193913.1617643.10919499c2.2021208 1.45291154 3.5596356 3.87504265 3.6577257 6.49699115l.0057053.3033755.0000002 17.3417027c0 2.2788621-.5740185 4.5211194-1.6692279 6.5204148l-29.0914969 53.106279c-.7212642 1.3166616-.2370594 2.9678845 1.0815017 3.6881097.4004359.2187263.8495344.3333646 1.3059643.3333646h69.6705953c1.5029388 0 2.7213115-1.2166175 2.7213115-2.7173913 0-.4677965-.1209379-.9276713-.3511078-1.3351119l-29.9382305-52.9958633c-1.1508495-2.0372034-1.7555389-4.336577-1.7555389-6.6755596l.0000002-17.2665599c.0005984-2.6392088 1.2800823-5.10829666 3.4230589-6.63488495l.2416409-.16570308c.2977633-.19621921.380081-.59667116.1838618-.89443446-.0526648-.07991901-.1224381-.14713032-.2042705-.1967699-.2372346-.14393755-.4815228-.22451299-.7328507-.24174888z" fill-rule="nonzero"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><g fill="#FFF"><path d="m55.6227664 40v-10.9816972c0-1.2005631.4447386-2.2302572 1.3342157-3.0890823.8894772-.858825 1.9338187-1.2888775 3.1330245-1.2901574h7.702184v6.5391015l14.2078094-10.6188404-14.2078094-10.5593242v6.6005376h-7.8252813c-3.5579086 0-6.6082065 1.2300012-9.1508934 3.6900038-2.542687 2.4600026-3.8146923 5.4095738-3.8160159 8.8487137v10.8607449z" transform="matrix(-1 0 0 1 129 0)"/><path d="m26.6227664 90v-10.9816972c0-1.2005631.4447386-2.2302572 1.3342157-3.0890823.8894772-.858825 1.9338187-1.2888775 3.1330245-1.2901574h7.702184v6.5391015l14.2078094-10.6188404-14.2078094-10.5593242v6.6005376h-7.8252813c-3.5579086 0-6.6082065 1.2300012-9.1508934 3.6900038-2.542687 2.4600026-3.8146923 5.4095738-3.8160159 8.8487137v10.8607449z" transform="matrix(1 0 0 -1 0 150)"/><g fill-rule="evenodd"><path d="m36.1711896 0c.7952259 0 1.5825239.11678603 2.361894.35035809.7793701.23357205 1.3385895.44226661 1.6776582.62608367.3390687.18381707.9354881.50929765 1.7892582.97644177v53.04711647h-41.11634795c-.26466873-.2667421-.47079323-.6253926-.61837349-1.0759518-.14758025-.4505591-.23600644-.8423796-.26527856-1.1754617v-52.7485865zm-15.8773502 11c-2.6260005.9445399-3.9390007 1.4168099-3.9390007 1.4168099.8613947 1.0405262 1.656859 2.1393299 2.3863927 3.2964109.2700118.4282536.5298575.8568906.7795373 1.2859111l-14.5207687.0008681v3l6.4238969.0000134c.8804258 3.5657294 2.3239844 6.8097976 4.3306759 9.7322048 1.0398193 1.5143213 2.176787 2.9231182 3.410903 4.2263908-3.5068695 3.0329696-7.8850877 5.246602-13.13321774 6.6415991 1.30042972 2.2665279 1.95064458 3.3997919 1.95064458 3.3997919 5.83922866-1.8768332 10.47451876-4.3674587 13.90587026-7.4718765.7278161.6172884 1.4851619 1.2034299 2.2700924 1.7596083 3.2815631 2.3252177 6.8996284 4.2293071 10.8541961 5.7122682 1.3246257-2.1759469 1.9869386-3.2639204 1.9869386-3.2639204-3.7993227-1.4042832-7.2042979-3.1143224-10.2149257-5.1301175-.8119265-.5436333-1.5953934-1.1239157-2.3504008-1.7408472 3.3115726-3.9242615 5.6922469-8.5457291 7.1440766-13.8651104l4.3889918-.0000045v-3l-12.2148765-.0011479c-.3495756-.7520023-.7243601-1.4925223-1.1243535-2.2215599-.7129337-1.2994097-1.4911578-2.5585071-2.3346725-3.7772922zm7.4469262 9.0006565c-1.3612535 4.5640835-3.3583061 8.3614158-5.9911579 11.3919968-1.0548712-1.0913671-2.041101-2.2689312-2.9598238-3.5334282-1.7358278-2.3891311-2.9991645-5.0087964-3.79001-7.858996z"/><path d="m94.1711896 45c.7952259 0 1.5825239.116786 2.361894.3503581.7793701.233572 1.3385895.4422666 1.6776582.6260837.3390687.183817.9354881.5092976 1.7892582.9764417v53.0471165h-41.116348c-.2646687-.2667421-.4707932-.6253926-.6183734-1.0759518-.1475803-.4505591-.2360065-.8423796-.2652786-1.1754617v-52.7485865zm-11.1769203 11h-7.8424068l-13.1518625 33h7.6962751l2.7277937-7.3487395h13.0057306l2.6303725 7.3487395h7.9398281zm-3.8794044 8.25 4.1351351 12.375h-8.5l4.272973-12.375z"/></g></g></svg>
Binary file
@@ -7,9 +7,7 @@ $brFontFamily: "Helvetica Neue", Arial, Verdana, sans-serif;
7
7
  $brColorThemeblue: #0074D1;
8
8
  $brColorThemeBlue2: #4990E2;
9
9
  $brColorThemeBlue3: rgb(74,144,226);
10
- $brColorThemeBlueDarker: rgb(36,94,131);
11
10
  $brColorDarkGreyBg: #333;
12
- // $brColorMainBg: #3a3b3b;
13
11
  $brColorMainBg: black;
14
12
 
15
13
  $brColorBirdBook: #FEFDEB;
@@ -17,18 +15,10 @@ $brColorPlaceholderBg: $brColorBirdBook;
17
15
 
18
16
  // "Controls" are the navbar and toolbar
19
17
 
20
- $brColorControlsLightFont: black;
21
- $brColorControlsDarkFont: white;
22
- $brColorControlsDarkBg: $brColorDarkGreyBg; // TODO
23
18
  $brColorControlsLightBg: white;
24
19
  $brColorLightBorder: #979797;
25
20
  $brColorDarkBorder: #4D4D4D;
26
21
 
27
- $brColorMobileMenuBg: rgb(247,247,247);
28
- $brColorMobileMenuBg: white;
29
- $brColorMobileMenuTitle: black;
30
- $brColorMobileMenuLink: black;
31
-
32
22
  $brNavHeightDesktop: 34px; //40px; //34px;
33
23
  $brNavHeightMobile: $brNavHeightDesktop;
34
24
 
@@ -53,16 +43,11 @@ $mediumBlue: #428bca;
53
43
  $lightBlue: #adaedc;
54
44
  $controlsText: $white;
55
45
  $controlsBG: $gray20;
56
- $iconFill: $white;
57
- $iconActiveFill: $gray20;
58
- $iconStroke: $white;
59
- $iconActiveStroke: $gray20;
60
46
  $tooltipBG: $gray20;
61
47
  $activeButtonBG: $white;
62
48
  $controlsBorder: $gray13;
63
49
  $trackColor: $gray40;
64
50
  $trackFillColor: $gray80;
65
- $mobileMenuBG: #151515;
66
51
 
67
52
  $tooltipBG: $gray20;
68
53
  $tooltipText: $white;
@@ -82,7 +67,7 @@ $searchResultBG: $darkBlue;
82
67
  }
83
68
 
84
69
  // These are the main root elements in BookReader
85
- $brScope: ".BookReader, .BRmobileMenu, .BRfloat";
70
+ $brScope: ".BookReader, .BRfloat";
86
71
 
87
72
  @import 'colorbox';
88
73
  @import 'BRmain';
@@ -92,7 +77,6 @@ $brScope: ".BookReader, .BRmobileMenu, .BRfloat";
92
77
  @import 'BRnav';
93
78
  @import 'BRtoolbar';
94
79
  @import 'BRsearch';
95
- @import 'MobileNav';
96
80
  @import 'BRvendor';
97
81
  @import 'icons';
98
82
  @import 'controls';
@@ -6,7 +6,7 @@
6
6
  z-index: 2;
7
7
  opacity: 0;
8
8
  }
9
- .BRtwopageview .BRpagecontainer[data-side="L"] .bookmark-button {
9
+ .BRmode2up .BRpagecontainer[data-side="L"] .bookmark-button {
10
10
  right: auto;
11
11
  left: 0;
12
12
  }
@@ -2,7 +2,7 @@
2
2
  * Hide modal-manager that loads item-navigator-modal
3
3
  * loading bookmarks related alert messages
4
4
  */
5
- #item-navigator-modal {
5
+ modal-manager[mode="closed"] {
6
6
  display: none
7
7
  }
8
8
 
@@ -38,8 +38,14 @@ i.BRicon { display: inline-block; }
38
38
  .BRicon.info { @include sprite-offet(1); }
39
39
  .BRicon.share { @include sprite-offet(3); }
40
40
  // We can only transition these because they are adjacent
41
- .BRicon.read { @include sprite-offet(5); transition-property: background-color, border, background-position; }
42
- .BRicon.unread { @include sprite-offet(7); transition-property: background-color, border, background-position; }
41
+ .BRicon.read {
42
+ transition-property: background-color, border, background-position;
43
+ @include sprite-offet(5);
44
+ }
45
+ .BRicon.unread {
46
+ transition-property: background-color, border, background-position;
47
+ @include sprite-offet(7);
48
+ }
43
49
  .BRicon.fit { @include sprite-offet(9); }
44
50
  .BRicon.download { @include sprite-offet(38); }
45
51
  .BRicon.return { @include sprite-offet(26); }
@@ -7,46 +7,19 @@
7
7
 
8
8
 
9
9
  /* Some helper functional css utilities */
10
- .tl { text-align: left; }
11
- .tc, .BRtc { text-align: center; }
12
- .tr { text-align: right; }
13
- .ph10 { padding-left: 10px; padding-right: 10px; }
14
- .mv20 { margin-top: 20px; margin-bottom: 20px; }
15
- .mt20 { margin-top: 20px; }
16
- .b { font-weight: bold; }
17
- .i { font-style: italic; }
18
- .smaller { font-size: .8em; }
19
10
  .larger { font-size: 1.2em; }
20
- .loader {
21
- background: url(images/loading.gif) no-repeat 50%;
22
- height: 16px;
23
- min-width: 16px;
24
- }
25
11
 
26
12
  /* Desktop-only */
27
13
  @media (min-width: ($brBreakPointMobile + 1)) {
28
- .mobile-only { display: none; }
29
- .pv20-lg { padding-top: 20px; padding-bottom: 20px; }
30
- .pv50-lg { padding-top: 50px; padding-bottom: 50px; }
31
14
  .mv20-lg { margin-top: 20px; margin-bottom: 20px; }
32
15
  }
33
16
 
34
- @media (max-width: $brBreakPointMobile) {
35
- .desktop-only { display: none; }
36
- }
37
- @media (min-width: $brBreakPointMobile) and (max-width: $brBreakPointMid) {
38
- .hide-md { display: none; }
39
- }
40
-
41
17
  /* Element-level rules */
42
18
  h3 {
43
19
  font-size: 20px;
44
20
  font-weight: 700;
45
21
  color: #dedede;
46
22
  }
47
- a {
48
- outline: none;
49
- }
50
23
  button {
51
24
  cursor: pointer;
52
25
  }
@@ -67,6 +40,8 @@
67
40
  position: relative;
68
41
  overflow: hidden;
69
42
  background-color: $brColorMainBg;
43
+
44
+ contain: strict;
70
45
  }
71
46
 
72
47
  .BRcontainer {
@@ -90,6 +65,23 @@
90
65
  border: 2px solid #999;
91
66
  z-index: $brZindexPopup;
92
67
  color: $gray13;
68
+
69
+ .close-popup {
70
+ position: absolute;
71
+ top: 0;
72
+ right: 0;
73
+ width: 30px;
74
+ width: 30px;
75
+ padding: 0;
76
+ border: 0;
77
+ background-color: transparent;
78
+
79
+ .icon.icon-close-dark {
80
+ position: absolute;
81
+ top: 5px;
82
+ right: 5px;
83
+ }
84
+ }
93
85
  }
94
86
 
95
87
  .BRprogressbar {
@@ -254,3 +246,17 @@ body.BRfullscreenActive {
254
246
  .BRpagediv1up { background-color: white; }
255
247
  .BRpagedivthumb { background-color: white; }
256
248
  }
249
+
250
+ .BRfullscreenAnimation .br-mode-2up__book {
251
+ transition: transform .2s ease-in-out;
252
+ }
253
+
254
+ .fullscreenActive.BRmodeThumb .BRcontainer,
255
+ .fullscreenActive.BRmode1up .BRcontainer {
256
+ animation: flash 0.3s ease-in-out;
257
+ }
258
+
259
+ @keyframes flash {
260
+ 0% { opacity: 0; }
261
+ 100% { opacity: 1; }
262
+ }
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * BRnav is the bottom control bar (eg footer)
3
3
  */
4
+ @use "sass:math";
4
5
 
5
6
  @mixin pseudoElementLayer {
6
7
  content: "";
@@ -34,14 +35,6 @@
34
35
  border: 3px solid rgba(255,255,255,0.3);
35
36
  }
36
37
  }
37
-
38
- .BRnavCntl {
39
- z-index: $brZindexBase + 5;
40
- background-color: $brColorDarkBorder;
41
- }
42
- .BRnavCntlBtm:hover {
43
- background-color: $brColorThemeblue;
44
- }
45
38
  }
46
39
 
47
40
  @mixin brNavLight {
@@ -65,19 +58,11 @@
65
58
  border: 3px solid rgba($brColorThemeblue,0.3);
66
59
  }
67
60
  }
68
-
69
- .BRnavCntl {
70
- background-color: $brColorLightBorder;
71
- }
72
-
73
- .BRnavCntlBtm:hover {
74
- background-color: $brColorThemeblue;
75
- }
76
61
  }
77
62
 
78
63
  @keyframes fadeUp {
79
- from { opacity: 0; transform: translateY(10px); }
80
- to { opacity: 1; transform: translateY(0); }
64
+ from { opacity: 0; translate: 0 10px; }
65
+ to { opacity: 1; translate: 0 0; }
81
66
  }
82
67
 
83
68
  .BRfooter {
@@ -102,12 +87,12 @@
102
87
  border: none;
103
88
  border-radius: 2px;
104
89
  background: transparent;
105
- outline: none;
106
- &:hover .tooltip {
107
- display: block;
108
- }
109
- &.hide {
110
- display: none;
90
+
91
+ @media (hover: hover) {
92
+ /* styles to apply on devices that support hover */
93
+ &:hover .BRtooltip {
94
+ display: block;
95
+ }
111
96
  }
112
97
  }
113
98
  }
@@ -117,7 +102,7 @@
117
102
  display: flex;
118
103
  justify-content: center;
119
104
  margin: 5px;
120
- padding: 0 ($brNavHeightMobile / 4);
105
+ padding: 0 math.div($brNavHeightMobile, 4);
121
106
  border-radius: 4px;
122
107
  align-self: center;
123
108
  height: $toolbarHeight;
@@ -126,18 +111,6 @@
126
111
  // Default
127
112
  @include brNavDark;
128
113
 
129
- &.BRnavEmbed {
130
- @include brNavLight;
131
- }
132
-
133
- /* Full mobile styles */
134
- @media (max-width: $brBreakPointMobile) {
135
- .BRbodyMobileNavEnabled &,
136
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive & {
137
- @include brNavLight;
138
- }
139
- }
140
-
141
114
  &--controls {
142
115
  display: flex;
143
116
  }
@@ -145,7 +118,6 @@
145
118
  height: 100%;
146
119
  }
147
120
 
148
-
149
121
  .BRToolbarButton {
150
122
  .icon {
151
123
  width: $toolbarHeight;
@@ -222,25 +194,6 @@
222
194
  flex-direction: row;
223
195
  border-top: 1px solid $controlsBorder;
224
196
 
225
- &.BRnavEmbed {
226
- padding-top: 0;
227
- height: auto;
228
- align-items: center;
229
-
230
- .BRembedreturn {
231
- flex: 1 auto;
232
- overflow-x: hidden;
233
- }
234
- .logo {
235
- display: inline-block;
236
- width: 25px;
237
- height: 25px;
238
- margin: 0 10px;
239
- background: transparent url(images/icon_home.svg) no-repeat center center;
240
- background-size: contain;
241
- }
242
- }
243
-
244
197
  /* Theming */
245
198
 
246
199
  // Default
@@ -263,7 +216,7 @@
263
216
  .BRpager.ui-slider {
264
217
  position: relative;
265
218
  height: 8px;
266
- top: ($brNavHeightDesktop / 2) - 4px;
219
+ top: math.div($brNavHeightDesktop, 2) - 4px;
267
220
  box-sizing: content-box;
268
221
  border-radius: 10px;
269
222
  cursor: pointer;
@@ -272,6 +225,12 @@
272
225
  border: none;
273
226
  }
274
227
 
228
+ &.ui-slider-docked {
229
+ height: 1px;
230
+ width: 100%;
231
+ margin: 0px;
232
+ }
233
+
275
234
  .ui-slider-horizontal .ui-slider-handle,
276
235
  .ui-slider-handle {
277
236
  position: absolute;
@@ -308,10 +267,10 @@
308
267
  }
309
268
  .BRcurrentpage {
310
269
  display: inline-block;
311
- text-align: center;
270
+ text-align: left;
312
271
  padding: 0 0 0 0;
313
272
  font-size: $brFontSizeSmaller;
314
- margin-left: 5px;
273
+ margin-left: 15px;
315
274
  margin-right: 10px;
316
275
  line-height: 1;
317
276
  }
@@ -349,23 +308,14 @@
349
308
  font-size: .8em;
350
309
  vertical-align: top;
351
310
  }
352
- .BRup {
353
- background-image: url("images/nav_control-up.png");
354
- background-repeat: no-repeat;
355
- }
356
-
357
311
 
358
312
  /* Mobile Only */
359
313
  @media (max-width: $brBreakPointMobile) {
360
314
  /* hide navline chapters and search in mobile */
361
315
  .BRnavline .BRchapter { display: none; }
362
316
 
363
- .BRnavCntlBtm {
364
- bottom: $brNavHeightMobile;
365
- }
366
317
  .BRpager.ui-slider {
367
- height: 10px;
368
- top: ($brNavHeightMobile / 2) - 5px;
318
+ top: math.div($brNavHeightMobile, 2) - 5px;
369
319
  }
370
320
  }
371
321
 
@@ -379,3 +329,57 @@
379
329
  .DrawerSettingsWrapper .zoom_in {
380
330
  background-position: -1384px center;
381
331
  }
332
+
333
+ .BRnavMobile {
334
+ box-sizing: content-box;
335
+ }
336
+
337
+ .BRnavMobile.docked {
338
+ height: 0px;
339
+ border: none;
340
+ .BRcontrols .scrubber .BRpager.ui-slider {
341
+ top: -1px;
342
+ }
343
+
344
+ .ui-slider,
345
+ .ui-slider-range {
346
+ height: 2px;
347
+ border-radius: 0px;
348
+ }
349
+
350
+ .BRnavpos {
351
+ margin: 0px;
352
+ }
353
+
354
+ .scrubber {
355
+ margin: 0px;
356
+ padding: 0px;
357
+ height: 0px;
358
+ }
359
+
360
+ .controls {
361
+ padding: 0px;
362
+ background-color: transparent;
363
+ }
364
+
365
+ .BRnavline {
366
+ display: none;
367
+ }
368
+
369
+ .ui-slider-handle {
370
+ display: none;
371
+ }
372
+
373
+ button {
374
+ display: none;
375
+ }
376
+ }
377
+
378
+ .ui-slider:focus-within {
379
+ outline: 2px solid #BBB;
380
+ outline-offset: 1px;
381
+ }
382
+
383
+ .BRnavMobile.hide {
384
+ display: none;
385
+ }