@internetarchive/bookreader 5.0.0-10-alpha-3 → 5.0.0-100

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 (374) hide show
  1. package/BookReader/474.js +2 -0
  2. package/BookReader/474.js.map +1 -0
  3. package/BookReader/BookReader.css +428 -1139
  4. package/BookReader/BookReader.js +1 -1
  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 +1782 -0
  53. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
  54. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  55. package/BookReader/icons/1up.svg +1 -1
  56. package/BookReader/icons/2up.svg +1 -1
  57. package/BookReader/icons/advance.svg +1 -1
  58. package/BookReader/icons/chevron-right.svg +1 -1
  59. package/BookReader/icons/close-circle-dark.svg +1 -1
  60. package/BookReader/icons/close-circle.svg +1 -1
  61. package/BookReader/icons/fullscreen.svg +1 -1
  62. package/BookReader/icons/fullscreen_exit.svg +1 -1
  63. package/BookReader/icons/hamburger.svg +1 -1
  64. package/BookReader/icons/left-arrow.svg +1 -1
  65. package/BookReader/icons/magnify-minus.svg +1 -1
  66. package/BookReader/icons/magnify-plus.svg +1 -1
  67. package/BookReader/icons/magnify.svg +1 -1
  68. package/BookReader/icons/pause.svg +1 -1
  69. package/BookReader/icons/play.svg +1 -1
  70. package/BookReader/icons/playback-speed.svg +1 -1
  71. package/BookReader/icons/read-aloud.svg +1 -1
  72. package/BookReader/icons/review.svg +1 -1
  73. package/BookReader/icons/thumbnails.svg +1 -1
  74. package/BookReader/icons/voice.svg +1 -0
  75. package/BookReader/icons/volume-full.svg +1 -1
  76. package/BookReader/images/BRicons.svg +3 -3
  77. package/BookReader/images/books_graphic.svg +1 -1
  78. package/BookReader/images/hypothesis.ico +0 -0
  79. package/BookReader/images/icon_book.svg +1 -1
  80. package/BookReader/images/icon_bookmark.svg +1 -1
  81. package/BookReader/images/icon_experiment.svg +1 -0
  82. package/BookReader/images/icon_gear.svg +1 -1
  83. package/BookReader/images/icon_hamburger.svg +1 -1
  84. package/BookReader/images/icon_home.svg +1 -1
  85. package/BookReader/images/icon_info.svg +1 -1
  86. package/BookReader/images/icon_one_page.svg +1 -1
  87. package/BookReader/images/icon_pause.svg +1 -1
  88. package/BookReader/images/icon_play.svg +1 -1
  89. package/BookReader/images/icon_playback-rate.svg +1 -1
  90. package/BookReader/images/icon_search_button.svg +1 -1
  91. package/BookReader/images/icon_share.svg +1 -1
  92. package/BookReader/images/icon_skip-ahead.svg +1 -1
  93. package/BookReader/images/icon_skip-back.svg +1 -1
  94. package/BookReader/images/icon_speaker.svg +1 -1
  95. package/BookReader/images/icon_speaker_open.svg +1 -1
  96. package/BookReader/images/icon_thumbnails.svg +1 -1
  97. package/BookReader/images/icon_toc.svg +1 -1
  98. package/BookReader/images/icon_two_pages.svg +1 -1
  99. package/BookReader/images/marker_chap-off.svg +1 -1
  100. package/BookReader/images/marker_chap-on.svg +1 -1
  101. package/BookReader/images/marker_srch-on.svg +1 -1
  102. package/BookReader/images/translate.svg +1 -0
  103. package/BookReader/images/unviewable_page.png +0 -0
  104. package/BookReader/jquery-3.js +2 -0
  105. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  106. package/BookReader/plugins/plugin.archive_analytics.js +1 -1
  107. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  108. package/BookReader/plugins/plugin.autoplay.js +1 -1
  109. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  110. package/BookReader/plugins/plugin.chapters.js +25 -1
  111. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  112. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  113. package/BookReader/plugins/plugin.experiments.js +3 -0
  114. package/BookReader/plugins/plugin.experiments.js.LICENSE.txt +1 -0
  115. package/BookReader/plugins/plugin.experiments.js.map +1 -0
  116. package/BookReader/plugins/plugin.iframe.js +1 -1
  117. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  118. package/BookReader/plugins/plugin.iiif.js +2 -0
  119. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  120. package/BookReader/plugins/plugin.resume.js +1 -1
  121. package/BookReader/plugins/plugin.resume.js.map +1 -1
  122. package/BookReader/plugins/plugin.search.js +2 -1
  123. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  124. package/BookReader/plugins/plugin.search.js.map +1 -1
  125. package/BookReader/plugins/plugin.text_selection.js +2 -1
  126. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  127. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  128. package/BookReader/plugins/plugin.translate.js +137 -0
  129. package/BookReader/plugins/plugin.translate.js.LICENSE.txt +1 -0
  130. package/BookReader/plugins/plugin.translate.js.map +1 -0
  131. package/BookReader/plugins/plugin.tts.js +1 -1
  132. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  133. package/BookReader/plugins/plugin.tts.js.map +1 -1
  134. package/BookReader/plugins/plugin.url.js +1 -1
  135. package/BookReader/plugins/plugin.url.js.map +1 -1
  136. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  137. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  138. package/BookReader/plugins/translator-worker.js +2 -0
  139. package/BookReader/plugins/translator-worker.js.map +1 -0
  140. package/BookReader/silence.mp3 +0 -0
  141. package/BookReader/translator-worker.js +475 -0
  142. package/BookReader/webcomponents-bundle.js +3 -0
  143. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  144. package/BookReader/webcomponents-bundle.js.map +1 -0
  145. package/README.md +14 -3
  146. package/jsconfig.json +19 -0
  147. package/package.json +84 -64
  148. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  149. package/src/BookNavigator/assets/button-base.js +2 -1
  150. package/src/BookNavigator/assets/ia-logo.js +17 -0
  151. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  152. package/src/BookNavigator/assets/icon_close.js +1 -1
  153. package/src/BookNavigator/book-navigator.js +620 -0
  154. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  155. package/src/BookNavigator/bookmarks/bookmark-edit.js +2 -3
  156. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  157. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +2 -2
  158. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  159. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  160. package/src/BookNavigator/delete-modal-actions.js +1 -1
  161. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  162. package/src/BookNavigator/downloads/downloads.js +24 -4
  163. package/src/BookNavigator/search/search-provider.js +55 -27
  164. package/src/BookNavigator/search/search-results.js +25 -11
  165. package/src/BookNavigator/sharing.js +27 -0
  166. package/src/BookNavigator/viewable-files.js +95 -0
  167. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +13 -12
  168. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +9 -9
  169. package/src/BookReader/BookModel.js +92 -46
  170. package/src/BookReader/DragScrollable.js +233 -0
  171. package/src/BookReader/ImageCache.js +49 -16
  172. package/src/BookReader/Mode1Up.js +58 -360
  173. package/src/BookReader/Mode1UpLit.js +393 -0
  174. package/src/BookReader/Mode2Up.js +75 -1318
  175. package/src/BookReader/Mode2UpLit.js +787 -0
  176. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  177. package/src/BookReader/ModeSmoothZoom.js +312 -0
  178. package/src/BookReader/ModeThumb.js +20 -12
  179. package/src/BookReader/Navbar/Navbar.js +130 -53
  180. package/src/BookReader/PageContainer.js +120 -23
  181. package/src/BookReader/ReduceSet.js +2 -2
  182. package/src/BookReader/Toolbar/Toolbar.js +18 -40
  183. package/src/BookReader/events.js +2 -3
  184. package/src/BookReader/options.js +87 -16
  185. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  186. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  187. package/src/BookReader/utils/SelectionObserver.js +45 -0
  188. package/src/BookReader/utils/classes.js +1 -1
  189. package/src/BookReader/utils.js +136 -12
  190. package/src/BookReader.js +641 -1192
  191. package/src/BookReaderPlugin.js +52 -0
  192. package/src/assets/icons/magnify-minus.svg +3 -7
  193. package/src/assets/icons/magnify-plus.svg +3 -7
  194. package/src/assets/icons/voice.svg +1 -0
  195. package/src/assets/images/hypothesis.ico +0 -0
  196. package/src/assets/images/icon_experiment.svg +1 -0
  197. package/src/assets/images/translate.svg +1 -0
  198. package/src/assets/images/unviewable_page.png +0 -0
  199. package/src/assets/silence.mp3 +0 -0
  200. package/src/css/BookReader.scss +1 -5
  201. package/src/css/_BRBookmarks.scss +1 -1
  202. package/src/css/_BRComponent.scss +1 -1
  203. package/src/css/_BRicon.scss +8 -2
  204. package/src/css/_BRmain.scss +16 -3
  205. package/src/css/_BRnav.scss +12 -66
  206. package/src/css/_BRpages.scss +163 -43
  207. package/src/css/_BRsearch.scss +69 -30
  208. package/src/css/_BRtoolbar.scss +5 -5
  209. package/src/css/_TextSelection.scss +129 -24
  210. package/src/css/_colorbox.scss +2 -2
  211. package/src/css/_controls.scss +24 -7
  212. package/src/css/_icons.scss +1 -1
  213. package/src/ia-bookreader/ia-bookreader.js +224 -0
  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 +314 -205
  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 +54 -51
  221. package/src/plugins/plugin.text_selection.js +510 -219
  222. package/src/plugins/plugin.vendor-fullscreen.js +5 -5
  223. package/src/plugins/search/plugin.search.js +370 -392
  224. package/src/plugins/search/utils.js +43 -0
  225. package/src/plugins/search/view.js +49 -67
  226. package/src/plugins/translate/TranslationManager.js +162 -0
  227. package/src/plugins/translate/plugin.translate.js +523 -0
  228. package/src/plugins/tts/AbstractTTSEngine.js +78 -49
  229. package/src/plugins/tts/FestivalTTSEngine.js +20 -30
  230. package/src/plugins/tts/PageChunk.js +33 -21
  231. package/src/plugins/tts/PageChunkIterator.js +11 -17
  232. package/src/plugins/tts/WebTTSEngine.js +131 -91
  233. package/src/plugins/tts/plugin.tts.js +344 -350
  234. package/src/plugins/tts/utils.js +49 -47
  235. package/src/plugins/url/UrlPlugin.js +191 -0
  236. package/src/plugins/{plugin.url.js → url/plugin.url.js} +44 -15
  237. package/src/util/TextSelectionManager.js +282 -0
  238. package/src/util/browserSniffing.js +33 -1
  239. package/src/util/cache.js +20 -0
  240. package/src/util/docCookies.js +21 -2
  241. package/src/util/strings.js +1 -0
  242. package/.babelrc +0 -12
  243. package/.dependabot/config.yml +0 -6
  244. package/.eslintrc.js +0 -50
  245. package/.gitattributes +0 -2
  246. package/.github/ISSUE_TEMPLATE/bug.md +0 -32
  247. package/.github/ISSUE_TEMPLATE/feature-request.md +0 -30
  248. package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -15
  249. package/.github/workflows/node.js.yml +0 -37
  250. package/.github/workflows/npm-publish.yml +0 -47
  251. package/.testcaferc.json +0 -5
  252. package/BookReader/bookreader-component-bundle.js +0 -1450
  253. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  254. package/BookReader/bookreader-component-bundle.js.map +0 -1
  255. package/BookReader/jquery-1.10.1.js +0 -2
  256. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  257. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  258. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  259. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  260. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  261. package/BookReaderDemo/BookReaderDemo.css +0 -41
  262. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -115
  263. package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
  264. package/BookReaderDemo/BookReaderJSSimple.js +0 -55
  265. package/BookReaderDemo/IIIFBookReader.js +0 -207
  266. package/BookReaderDemo/assets/v5/Bookreader-logo-cool-grad.svg +0 -1
  267. package/BookReaderDemo/assets/v5/Bookreader-logo-flat.svg +0 -1
  268. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-cool-grad.png +0 -0
  269. package/BookReaderDemo/assets/v5/Bookreader-logo-hex-flat.png +0 -0
  270. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.png +0 -0
  271. package/BookReaderDemo/assets/v5/Bookreader-logo-lines.svg +0 -1
  272. package/BookReaderDemo/assets/v5/Bookreader-logo-warm.svg +0 -1
  273. package/BookReaderDemo/assets/v5/bookreader-logo-renders@1x.png +0 -0
  274. package/BookReaderDemo/assets/v5/bookreader-logo-renders@2x.png +0 -0
  275. package/BookReaderDemo/assets/v5/bookreader-v5-screenshot.png +0 -0
  276. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  277. package/BookReaderDemo/demo-advanced.html +0 -33
  278. package/BookReaderDemo/demo-autoplay.html +0 -38
  279. package/BookReaderDemo/demo-embed-iframe-src.html +0 -84
  280. package/BookReaderDemo/demo-embed.html +0 -26
  281. package/BookReaderDemo/demo-fullscreen-mobile.html +0 -36
  282. package/BookReaderDemo/demo-fullscreen.html +0 -33
  283. package/BookReaderDemo/demo-iiif.html +0 -34
  284. package/BookReaderDemo/demo-iiif.js +0 -26
  285. package/BookReaderDemo/demo-internetarchive.html +0 -74
  286. package/BookReaderDemo/demo-multiple.html +0 -43
  287. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  288. package/BookReaderDemo/demo-preview-pages.html +0 -1092
  289. package/BookReaderDemo/demo-simple.html +0 -34
  290. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -36
  291. package/BookReaderDemo/immersion-1up.html +0 -64
  292. package/BookReaderDemo/immersion-mode.html +0 -35
  293. package/BookReaderDemo/toggle_controls.html +0 -53
  294. package/BookReaderDemo/view_mode.html +0 -39
  295. package/BookReaderDemo/viewmode-cycle.html +0 -41
  296. package/CHANGELOG.md +0 -493
  297. package/CONTRIBUTING.md +0 -7
  298. package/codecov.yml +0 -17
  299. package/index.html +0 -31
  300. package/karma.conf.js +0 -23
  301. package/screenshot.png +0 -0
  302. package/scripts/postversion.js +0 -10
  303. package/scripts/preversion.js +0 -14
  304. package/scripts/version.js +0 -26
  305. package/src/BookNavigator/BookModel.js +0 -14
  306. package/src/BookNavigator/BookNavigator.js +0 -446
  307. package/src/BookNavigator/assets/book-loader.js +0 -27
  308. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  309. package/src/BookNavigator/search/a-search-result.js +0 -55
  310. package/src/BookReader/DebugConsole.js +0 -54
  311. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  312. package/src/ItemNavigator/ItemNavigator.js +0 -376
  313. package/src/ItemNavigator/providers/sharing.js +0 -29
  314. package/src/css/_MobileNav.scss +0 -194
  315. package/src/dragscrollable-br.js +0 -261
  316. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  317. package/src/plugins/plugin.mobile_nav.js +0 -287
  318. package/tests/BookReader/BookModel.test.js +0 -312
  319. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  320. package/tests/BookReader/DebugConsole.test.js +0 -25
  321. package/tests/BookReader/ImageCache.test.js +0 -150
  322. package/tests/BookReader/Mode1Up.test.js +0 -164
  323. package/tests/BookReader/Mode2Up.test.js +0 -247
  324. package/tests/BookReader/Navbar/Navbar.test.js +0 -169
  325. package/tests/BookReader/PageContainer.test.js +0 -115
  326. package/tests/BookReader/ReduceSet.test.js +0 -38
  327. package/tests/BookReader/Toolbar/Toolbar.test.js +0 -26
  328. package/tests/BookReader/utils/classes.test.js +0 -88
  329. package/tests/BookReader/utils.test.js +0 -109
  330. package/tests/BookReader.options.test.js +0 -39
  331. package/tests/BookReader.test.js +0 -301
  332. package/tests/e2e/README.md +0 -75
  333. package/tests/e2e/autoplay.test.js +0 -13
  334. package/tests/e2e/base.test.js +0 -35
  335. package/tests/e2e/helpers/base.js +0 -263
  336. package/tests/e2e/helpers/debug.js +0 -13
  337. package/tests/e2e/helpers/desktopSearch.js +0 -72
  338. package/tests/e2e/helpers/mobileSearch.js +0 -85
  339. package/tests/e2e/helpers/mockSearch.js +0 -93
  340. package/tests/e2e/helpers/rightToLeft.js +0 -29
  341. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  342. package/tests/e2e/models/BookReader.js +0 -11
  343. package/tests/e2e/models/Navigation.js +0 -56
  344. package/tests/e2e/rightToLeft.test.js +0 -20
  345. package/tests/e2e/viewmode.test.js +0 -37
  346. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  347. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +0 -133
  348. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +0 -222
  349. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  350. package/tests/karma/BookNavigator/search/search-results.test.js +0 -240
  351. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  352. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  353. package/tests/plugins/plugin.archive_analytics.test.js +0 -23
  354. package/tests/plugins/plugin.autoplay.test.js +0 -52
  355. package/tests/plugins/plugin.chapters.test.js +0 -130
  356. package/tests/plugins/plugin.iframe.test.js +0 -42
  357. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  358. package/tests/plugins/plugin.resume.test.js +0 -98
  359. package/tests/plugins/plugin.text_selection.test.js +0 -203
  360. package/tests/plugins/plugin.url.test.js +0 -129
  361. package/tests/plugins/plugin.vendor-fullscreen.test.js +0 -65
  362. package/tests/plugins/search/plugin.search.test.js +0 -173
  363. package/tests/plugins/search/plugin.search.view.test.js +0 -106
  364. package/tests/plugins/tts/AbstractTTSEngine.test.js +0 -153
  365. package/tests/plugins/tts/FestivalTTSEngine.test.js +0 -59
  366. package/tests/plugins/tts/PageChunk.test.js +0 -57
  367. package/tests/plugins/tts/PageChunkIterator.test.js +0 -179
  368. package/tests/plugins/tts/WebTTSEngine.test.js +0 -126
  369. package/tests/plugins/tts/utils.test.js +0 -133
  370. package/tests/util/browserSniffing.test.js +0 -56
  371. package/tests/util/docCookies.test.js +0 -15
  372. package/tests/util/strings.test.js +0 -63
  373. package/tests/utils.js +0 -42
  374. 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
+ }
@@ -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="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,7 +7,6 @@ $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
11
  $brColorMainBg: black;
13
12
 
@@ -44,13 +43,11 @@ $mediumBlue: #428bca;
44
43
  $lightBlue: #adaedc;
45
44
  $controlsText: $white;
46
45
  $controlsBG: $gray20;
47
- $iconStroke: $white;
48
46
  $tooltipBG: $gray20;
49
47
  $activeButtonBG: $white;
50
48
  $controlsBorder: $gray13;
51
49
  $trackColor: $gray40;
52
50
  $trackFillColor: $gray80;
53
- $mobileMenuBG: #151515;
54
51
 
55
52
  $tooltipBG: $gray20;
56
53
  $tooltipText: $white;
@@ -70,7 +67,7 @@ $searchResultBG: $darkBlue;
70
67
  }
71
68
 
72
69
  // These are the main root elements in BookReader
73
- $brScope: ".BookReader, .BRmobileMenu, .BRfloat";
70
+ $brScope: ".BookReader, .BRfloat";
74
71
 
75
72
  @import 'colorbox';
76
73
  @import 'BRmain';
@@ -80,7 +77,6 @@ $brScope: ".BookReader, .BRmobileMenu, .BRfloat";
80
77
  @import 'BRnav';
81
78
  @import 'BRtoolbar';
82
79
  @import 'BRsearch';
83
- @import 'MobileNav';
84
80
  @import 'BRvendor';
85
81
  @import 'icons';
86
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); }
@@ -20,9 +20,6 @@
20
20
  font-weight: 700;
21
21
  color: #dedede;
22
22
  }
23
- a {
24
- outline: none;
25
- }
26
23
  button {
27
24
  cursor: pointer;
28
25
  }
@@ -43,6 +40,8 @@
43
40
  position: relative;
44
41
  overflow: hidden;
45
42
  background-color: $brColorMainBg;
43
+
44
+ contain: strict;
46
45
  }
47
46
 
48
47
  .BRcontainer {
@@ -247,3 +246,17 @@ body.BRfullscreenActive {
247
246
  .BRpagediv1up { background-color: white; }
248
247
  .BRpagedivthumb { background-color: white; }
249
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
  }
@@ -222,25 +195,6 @@
222
195
  flex-direction: row;
223
196
  border-top: 1px solid $controlsBorder;
224
197
 
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
198
  /* Theming */
245
199
 
246
200
  // Default
@@ -263,7 +217,7 @@
263
217
  .BRpager.ui-slider {
264
218
  position: relative;
265
219
  height: 8px;
266
- top: ($brNavHeightDesktop / 2) - 4px;
220
+ top: math.div($brNavHeightDesktop, 2) - 4px;
267
221
  box-sizing: content-box;
268
222
  border-radius: 10px;
269
223
  cursor: pointer;
@@ -349,23 +303,15 @@
349
303
  font-size: .8em;
350
304
  vertical-align: top;
351
305
  }
352
- .BRup {
353
- background-image: url("images/nav_control-up.png");
354
- background-repeat: no-repeat;
355
- }
356
-
357
306
 
358
307
  /* Mobile Only */
359
308
  @media (max-width: $brBreakPointMobile) {
360
309
  /* hide navline chapters and search in mobile */
361
310
  .BRnavline .BRchapter { display: none; }
362
311
 
363
- .BRnavCntlBtm {
364
- bottom: $brNavHeightMobile;
365
- }
366
312
  .BRpager.ui-slider {
367
313
  height: 10px;
368
- top: ($brNavHeightMobile / 2) - 5px;
314
+ top: math.div($brNavHeightMobile, 2) - 5px;
369
315
  }
370
316
  }
371
317
 
@@ -10,17 +10,41 @@
10
10
  }
11
11
  }
12
12
 
13
- .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
13
+ .BRmodeThumb .BRpagecontainer, .BRmode2up .BRpagecontainer {
14
14
  cursor: pointer;
15
15
  }
16
16
  .BRpagecontainer.BRemptypage {
17
17
  cursor: unset;
18
18
  }
19
19
 
20
+ .br-mode-1up__root {
21
+ display: block;
22
+ overflow: auto;
23
+ position: relative;
24
+ width: 100%;
25
+ height: 100%;
26
+
27
+ // This is a performance optimization that basically tells the browser "the size
28
+ // of this element doesn't depend on the size of its children".
29
+ contain: strict;
30
+
31
+ .br-mode-1up__world {
32
+ position: absolute;
33
+ transform-origin: 0 0;
34
+ }
35
+
36
+ .br-mode-1up__visible-world {
37
+ position: absolute;
38
+ transform-origin: 0 0;
39
+ }
40
+ }
41
+
20
42
  .BRpagecontainer {
21
43
  position: relative;
22
44
  overflow: hidden;
23
45
  background: $brColorPlaceholderBg;
46
+ overflow: hidden;
47
+ overflow: clip;
24
48
  img {
25
49
  position: absolute;
26
50
  background: transparent;
@@ -36,9 +60,28 @@
36
60
  left: 0;
37
61
  z-index: 1;
38
62
  }
39
- &.BRpageloading img {
63
+ &.BRpageloading {
40
64
  // Don't show the alt text while loading
41
- color: transparent;
65
+ img {
66
+ color: transparent;
67
+ }
68
+
69
+ // src can be set async, so hide the image if it's not set
70
+ img:not([src]) {
71
+ display: none;
72
+ }
73
+
74
+ &::after {
75
+ display: block;
76
+ content: "";
77
+ width: 20px;
78
+ height: 20px;
79
+ position: absolute;
80
+ left: 50%;
81
+ top: 50%;
82
+ transform: translate(-50%, -50%);
83
+ background: url("images/loading.gif") center/20px no-repeat;
84
+ }
42
85
  }
43
86
  &.BRemptypage {
44
87
  background: transparent;
@@ -48,57 +91,134 @@
48
91
  }
49
92
  }
50
93
 
51
- .BRbookcover {
52
- position: absolute;
53
- background-image: none;
54
- box-shadow: 1px 0 10px #111;
94
+ // Hides page layers during page flip animation
95
+ .BRpageFlipping .BRtextLayer {
96
+ display: none;
55
97
  }
56
- .BRPreview .BRpageimage {
57
- background-color: #eee;
58
- -webkit-filter: grayscale(100%);
59
- filter: grayscale(100%);
98
+
99
+ .br-mode-2up__root {
100
+ display: block;
101
+ overflow: auto;
102
+ width: 100%;
103
+ height: 100%;
60
104
  }
61
105
 
62
- .BRleafEdgeR {
63
- border-style: solid solid solid none;
64
- border-color: rgb(51, 51, 34);
65
- border-width: 1px 1px 1px 0px;
106
+ .br-mode-2up__book {
107
+ position: relative;
108
+ transform-origin: 0 0;
109
+ width: 0px;
110
+ height: 0px;
111
+ }
66
112
 
67
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
68
- position: absolute;
69
- cursor: pointer;
113
+ .BRmode2up {
114
+ // Used while loading stuff
115
+ transition: opacity 0.2s;
70
116
  }
71
117
 
72
- .BRleafEdgeL {
73
- /* border-style: solid none solid solid;
74
- border-color: rgb(51, 51, 34);
75
- border-width: 1px 0px 1px 1px; */
76
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%; /* XXXmang replace file */
77
- position: absolute;
78
- cursor: pointer;
118
+ .BRmode2up .BRpagecontainer {
119
+ backface-visibility: hidden;
120
+ &:not(.BRpage-visible) {
121
+ display: none;
122
+ }
79
123
  }
80
124
 
81
- .BRleafEdgeTmp {
82
- /* border-style: solid none solid solid;
83
- border-color: rgb(51, 51, 34);
84
- border-width: 1px 0px 1px 1px; */
85
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%; /* XXXmang replace file */
125
+ .br-mode-2up__leafs {
86
126
  position: absolute;
127
+ cursor: pointer;
128
+ top: 0;
129
+ transform-style: preserve-3d;
130
+
131
+ &[side=left] {
132
+ border-radius: 4px 0 0 4px;
133
+ .br-leaf-edges__label {
134
+ padding-right: 10px;
135
+ border-radius: 4px 0 0 4px;
136
+ }
137
+ }
138
+ &[side=right] {
139
+ border-radius: 0 4px 4px 0;
140
+ .br-leaf-edges__label {
141
+ padding-left: 20px;
142
+ border-radius: 0 4px 4px 0;
143
+ }
144
+ }
145
+ &.br-mode-2up__leafs--flipping {
146
+ z-index: 200000;
147
+ transition: transform 5s;
148
+ transition-timing-function: ease-in-out;
149
+ border-radius: 0;
150
+
151
+ // Have a copy of the background at a perpendicular angle,
152
+ // so that during the rotation, it's always visible.
153
+ &:before {
154
+ content: '';
155
+ display: block;
156
+ width: 100%;
157
+ height: 100%;
158
+ position: absolute;
159
+ transform: rotateY(-90deg);
160
+ }
161
+ }
162
+
163
+ &, &.br-mode-2up__leafs--flipping::before {
164
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
165
+ }
166
+
167
+ .br-leaf-edges__bar {
168
+ display: none;
169
+ pointer-events: none;
170
+ position: absolute;
171
+ top: 0;
172
+ bottom: 0;
173
+ min-width: 1px;
174
+ background-color: #9A9B9D;
175
+ opacity: 0.85;
176
+ transform: translateX(-50%);
177
+ }
178
+
179
+ .br-leaf-edges__label {
180
+ display: none;
181
+ pointer-events: none;
182
+ z-index: 1000;
183
+ position: absolute;
184
+ padding: 6px;
185
+ color: white;
186
+ background-color: #9A9B9D;
187
+ opacity: 0.85;
188
+ white-space: nowrap;
189
+ transform: translateY(-10px);
190
+ }
87
191
  }
88
192
 
89
- .BRgutter {
90
- /* border: 1px solid rgb(68, 25, 17); */
91
- position: absolute;
92
- background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
193
+ .br-mode-2up--flipping-left {
194
+ .BRpage-entering[data-side=R] {
195
+ z-index: 10;
196
+ transform-origin: left;
197
+ transform: rotateY(0deg);
198
+ }
199
+
200
+ .BRpage-exiting[data-side=L] {
201
+ z-index: 10;
202
+ transform-origin: right;
203
+ }
204
+
205
+ .BRpage-exiting[data-side=R] {
206
+ z-index: 9;
207
+ }
93
208
  }
94
209
 
95
- .BRtwoPagePopUp {
96
- padding: 6px;
97
- position: absolute;
98
- font-size: $brFontSizeSmaller;
99
- color: white;
100
- background-color: #9A9B9D;
101
- opacity: 0.85;
102
- border-radius: 4px;
103
- white-space: nowrap;
210
+ .br-mode-2up--flipping-right {
211
+ .BRpage-entering[data-side=L] {
212
+ z-index: 10;
213
+ transform-origin: right;
214
+ }
215
+
216
+ .BRpage-exiting[data-side=R] {
217
+ z-index: 10;
218
+ transform-origin: left;
219
+ }
220
+
221
+ .BRpage-exiting[data-side=L] {
222
+ z-index: 9;
223
+ }
104
224
  }