@internetarchive/bookreader 5.0.0-6-multiple-files → 5.0.0-60

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 (303) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +77 -6
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +241 -377
  6. package/BookReader/BookReader.js +2 -21564
  7. package/BookReader/BookReader.js.LICENSE.txt +24 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1519 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +17 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -12
  13. package/BookReader/icons/2up.svg +1 -15
  14. package/BookReader/icons/advance.svg +3 -26
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -0
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -17
  19. package/BookReader/icons/fullscreen_exit.svg +1 -17
  20. package/BookReader/icons/hamburger.svg +1 -15
  21. package/BookReader/icons/left-arrow.svg +1 -12
  22. package/BookReader/icons/magnify-minus.svg +1 -16
  23. package/BookReader/icons/magnify-plus.svg +1 -17
  24. package/BookReader/icons/magnify.svg +1 -15
  25. package/BookReader/icons/pause.svg +1 -23
  26. package/BookReader/icons/play.svg +1 -22
  27. package/BookReader/icons/playback-speed.svg +1 -34
  28. package/BookReader/icons/read-aloud.svg +1 -22
  29. package/BookReader/icons/review.svg +3 -22
  30. package/BookReader/icons/thumbnails.svg +1 -17
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -22
  33. package/BookReader/images/BRicons.svg +5 -94
  34. package/BookReader/images/books_graphic.svg +1 -177
  35. package/BookReader/images/icon_book.svg +1 -12
  36. package/BookReader/images/icon_bookmark.svg +1 -12
  37. package/BookReader/images/icon_gear.svg +1 -14
  38. package/BookReader/images/icon_hamburger.svg +1 -20
  39. package/BookReader/images/icon_home.svg +1 -21
  40. package/BookReader/images/icon_info.svg +1 -11
  41. package/BookReader/images/icon_one_page.svg +1 -8
  42. package/BookReader/images/icon_pause.svg +1 -1
  43. package/BookReader/images/icon_play.svg +1 -1
  44. package/BookReader/images/icon_playback-rate.svg +1 -15
  45. package/BookReader/images/icon_search_button.svg +1 -8
  46. package/BookReader/images/icon_share.svg +1 -9
  47. package/BookReader/images/icon_skip-ahead.svg +1 -6
  48. package/BookReader/images/icon_skip-back.svg +2 -13
  49. package/BookReader/images/icon_speaker.svg +1 -18
  50. package/BookReader/images/icon_speaker_open.svg +1 -10
  51. package/BookReader/images/icon_thumbnails.svg +1 -12
  52. package/BookReader/images/icon_toc.svg +1 -5
  53. package/BookReader/images/icon_two_pages.svg +1 -9
  54. package/BookReader/images/marker_chap-off.svg +1 -11
  55. package/BookReader/images/marker_chap-on.svg +1 -11
  56. package/BookReader/images/marker_srch-on.svg +1 -11
  57. package/BookReader/jquery-3.js +2 -0
  58. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  59. package/BookReader/plugins/plugin.archive_analytics.js +1 -172
  60. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  61. package/BookReader/plugins/plugin.autoplay.js +1 -165
  62. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  63. package/BookReader/plugins/plugin.chapters.js +1 -304
  64. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  65. package/BookReader/plugins/plugin.iframe.js +1 -74
  66. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  67. package/BookReader/plugins/plugin.mobile_nav.js +1 -334
  68. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  69. package/BookReader/plugins/plugin.resume.js +1 -368
  70. package/BookReader/plugins/plugin.resume.js.map +1 -1
  71. package/BookReader/plugins/plugin.search.js +1 -1420
  72. package/BookReader/plugins/plugin.search.js.map +1 -1
  73. package/BookReader/plugins/plugin.text_selection.js +1 -1080
  74. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  75. package/BookReader/plugins/plugin.tts.js +2 -9193
  76. package/BookReader/plugins/plugin.tts.js.map +1 -1
  77. package/BookReader/plugins/plugin.url.js +1 -269
  78. package/BookReader/plugins/plugin.url.js.map +1 -1
  79. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -379
  80. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  81. package/BookReader/webcomponents-bundle.js +3 -0
  82. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  83. package/BookReader/webcomponents-bundle.js.map +1 -0
  84. package/BookReaderDemo/BookReaderDemo.css +14 -1
  85. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  86. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  87. package/BookReaderDemo/IADemoBr.js +147 -0
  88. package/BookReaderDemo/demo-advanced.html +2 -2
  89. package/BookReaderDemo/demo-autoplay.html +2 -1
  90. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  91. package/BookReaderDemo/demo-fullscreen-mobile.html +2 -1
  92. package/BookReaderDemo/demo-fullscreen.html +2 -1
  93. package/BookReaderDemo/demo-iiif.html +2 -1
  94. package/BookReaderDemo/demo-internetarchive.html +84 -17
  95. package/BookReaderDemo/demo-multiple.html +2 -1
  96. package/BookReaderDemo/demo-preview-pages.html +2 -1
  97. package/BookReaderDemo/demo-simple.html +2 -1
  98. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -1
  99. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  100. package/BookReaderDemo/immersion-1up.html +2 -1
  101. package/BookReaderDemo/immersion-mode.html +2 -1
  102. package/BookReaderDemo/toggle_controls.html +2 -1
  103. package/BookReaderDemo/view_mode.html +2 -1
  104. package/BookReaderDemo/viewmode-cycle.html +2 -3
  105. package/CHANGELOG.md +246 -0
  106. package/README.md +14 -1
  107. package/babel.config.js +19 -0
  108. package/codecov.yml +6 -0
  109. package/index.html +3 -0
  110. package/jsconfig.json +19 -0
  111. package/netlify.toml +5 -0
  112. package/package.json +70 -59
  113. package/renovate.json +52 -0
  114. package/scripts/preversion.js +4 -1
  115. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  116. package/src/BookNavigator/assets/button-base.js +9 -2
  117. package/src/BookNavigator/assets/ia-logo.js +17 -0
  118. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  119. package/src/BookNavigator/assets/icon_close.js +1 -1
  120. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  121. package/src/BookNavigator/assets/{icon_sort_ascending.js → icon_sort_desc.js} +2 -2
  122. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  123. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  124. package/src/BookNavigator/book-navigator.js +585 -0
  125. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  126. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  127. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  128. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  129. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  130. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  131. package/src/BookNavigator/delete-modal-actions.js +1 -1
  132. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  133. package/src/BookNavigator/downloads/downloads.js +41 -25
  134. package/src/BookNavigator/search/search-provider.js +80 -28
  135. package/src/BookNavigator/search/search-results.js +34 -25
  136. package/src/BookNavigator/sharing.js +27 -0
  137. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  138. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  139. package/src/BookNavigator/volumes/volumes-provider.js +88 -53
  140. package/src/BookNavigator/volumes/volumes.js +41 -14
  141. package/src/BookReader/BookModel.js +59 -30
  142. package/src/BookReader/DebugConsole.js +3 -3
  143. package/src/BookReader/DragScrollable.js +233 -0
  144. package/src/BookReader/Mode1Up.js +56 -351
  145. package/src/BookReader/Mode1UpLit.js +391 -0
  146. package/src/BookReader/Mode2Up.js +73 -1318
  147. package/src/BookReader/Mode2UpLit.js +781 -0
  148. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  149. package/src/BookReader/ModeSmoothZoom.js +211 -0
  150. package/src/BookReader/ModeThumb.js +17 -11
  151. package/src/BookReader/Navbar/Navbar.js +10 -36
  152. package/src/BookReader/PageContainer.js +69 -6
  153. package/src/BookReader/ReduceSet.js +1 -1
  154. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  155. package/src/BookReader/events.js +2 -0
  156. package/src/BookReader/options.js +24 -2
  157. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  158. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  159. package/src/BookReader/utils.js +108 -13
  160. package/src/BookReader.js +480 -825
  161. package/src/assets/icons/close-circle-dark.svg +1 -0
  162. package/src/assets/icons/magnify-minus.svg +3 -7
  163. package/src/assets/icons/magnify-plus.svg +3 -7
  164. package/src/assets/icons/voice.svg +1 -0
  165. package/src/css/BookReader.scss +0 -12
  166. package/src/css/_BRBookmarks.scss +1 -1
  167. package/src/css/_BRComponent.scss +1 -1
  168. package/src/css/_BRmain.scss +33 -24
  169. package/src/css/_BRnav.scss +4 -26
  170. package/src/css/_BRpages.scss +147 -40
  171. package/src/css/_BRsearch.scss +25 -216
  172. package/src/css/_TextSelection.scss +16 -17
  173. package/src/css/_colorbox.scss +2 -2
  174. package/src/css/_controls.scss +17 -5
  175. package/src/css/_icons.scss +7 -1
  176. package/src/ia-bookreader/ia-bookreader.js +224 -0
  177. package/src/plugins/plugin.archive_analytics.js +3 -3
  178. package/src/plugins/plugin.autoplay.js +4 -9
  179. package/src/plugins/plugin.chapters.js +28 -35
  180. package/src/plugins/plugin.mobile_nav.js +11 -10
  181. package/src/plugins/plugin.resume.js +3 -3
  182. package/src/plugins/plugin.text_selection.js +32 -41
  183. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  184. package/src/plugins/search/plugin.search.js +179 -116
  185. package/src/plugins/search/view.js +63 -179
  186. package/src/plugins/tts/AbstractTTSEngine.js +46 -37
  187. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  188. package/src/plugins/tts/PageChunk.js +15 -21
  189. package/src/plugins/tts/PageChunkIterator.js +8 -12
  190. package/src/plugins/tts/WebTTSEngine.js +87 -71
  191. package/src/plugins/tts/plugin.tts.js +94 -125
  192. package/src/plugins/tts/utils.js +0 -25
  193. package/src/plugins/url/UrlPlugin.js +193 -0
  194. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  195. package/src/util/docCookies.js +21 -2
  196. package/tests/e2e/README.md +37 -0
  197. package/tests/e2e/autoplay.test.js +2 -2
  198. package/tests/e2e/base.test.js +7 -7
  199. package/tests/e2e/helpers/base.js +28 -23
  200. package/tests/e2e/helpers/debug.js +1 -1
  201. package/tests/e2e/helpers/desktopSearch.js +14 -13
  202. package/tests/e2e/helpers/mobileSearch.js +3 -3
  203. package/tests/e2e/helpers/params.js +17 -0
  204. package/tests/e2e/helpers/rightToLeft.js +4 -10
  205. package/tests/e2e/models/Navigation.js +13 -4
  206. package/tests/e2e/rightToLeft.test.js +4 -5
  207. package/tests/e2e/viewmode.test.js +40 -33
  208. package/tests/jest/BookNavigator/book-navigator.test.js +658 -0
  209. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  210. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  211. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  212. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  213. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  214. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  215. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  216. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +104 -60
  217. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  218. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  219. package/tests/jest/BookNavigator/volumes/volumes-provider.test.js +184 -0
  220. package/tests/jest/BookNavigator/volumes/volumes.test.js +97 -0
  221. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +59 -14
  222. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  223. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  224. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  225. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  226. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  227. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  228. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  229. package/tests/jest/BookReader/ModeSmoothZoom.test.js +175 -0
  230. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  231. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  232. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  233. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  234. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  235. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  236. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  237. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  238. package/tests/jest/BookReader/utils.test.js +217 -0
  239. package/tests/jest/BookReader.keyboard.test.js +190 -0
  240. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  241. package/tests/{BookReader.test.js → jest/BookReader.test.js} +26 -37
  242. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  243. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +4 -4
  244. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +10 -11
  245. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  246. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  247. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  248. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +39 -47
  249. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  250. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +63 -47
  251. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +35 -6
  252. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +9 -9
  253. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  254. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  255. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  256. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  257. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  258. package/tests/jest/plugins/url/UrlPlugin.test.js +190 -0
  259. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  260. package/tests/jest/setup.js +3 -0
  261. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  262. package/tests/jest/util/docCookies.test.js +24 -0
  263. package/tests/{util → jest/util}/strings.test.js +1 -1
  264. package/tests/{utils.js → jest/utils.js} +38 -0
  265. package/webpack.config.js +11 -5
  266. package/.babelrc +0 -12
  267. package/.dependabot/config.yml +0 -6
  268. package/.testcaferc.json +0 -5
  269. package/BookReader/bookreader-component-bundle.js +0 -14312
  270. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  271. package/BookReader/bookreader-component-bundle.js.map +0 -1
  272. package/BookReader/icons/sort-ascending.svg +0 -1
  273. package/BookReader/icons/sort-descending.svg +0 -1
  274. package/BookReader/jquery-1.10.1.js +0 -108
  275. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  276. package/BookReader/plugins/plugin.menu_toggle.js +0 -369
  277. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  278. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  279. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  280. package/karma.conf.js +0 -23
  281. package/src/BookNavigator/BookModel.js +0 -14
  282. package/src/BookNavigator/BookNavigator.js +0 -452
  283. package/src/BookNavigator/assets/book-loader.js +0 -27
  284. package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
  285. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  286. package/src/BookNavigator/search/a-search-result.js +0 -55
  287. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  288. package/src/ItemNavigator/ItemNavigator.js +0 -372
  289. package/src/ItemNavigator/providers/sharing.js +0 -29
  290. package/src/assets/icons/sort-ascending.svg +0 -1
  291. package/src/assets/icons/sort-descending.svg +0 -1
  292. package/src/dragscrollable-br.js +0 -261
  293. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  294. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  295. package/tests/BookReader/Mode1Up.test.js +0 -164
  296. package/tests/BookReader/Mode2Up.test.js +0 -247
  297. package/tests/BookReader/utils.test.js +0 -109
  298. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  299. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  300. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  301. package/tests/karma/BookNavigator/volumes.test.js +0 -101
  302. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  303. package/tests/util/docCookies.test.js +0 -15
@@ -76,7 +76,7 @@
76
76
  background: transparent;
77
77
  }
78
78
 
79
- .shift {
79
+ .br-colorbox-shift {
80
80
  position: absolute !important;
81
81
  left: -10000px !important;
82
82
  }
@@ -91,70 +91,15 @@
91
91
  /* Desktop-only */
92
92
  /* Element-level rules */
93
93
  }
94
- .BookReader .tl, .BRmobileMenu .tl, .BRfloat .tl {
95
- text-align: left;
96
- }
97
- .BookReader .tc, .BookReader .BRtc, .BRmobileMenu .tc, .BRmobileMenu .BRtc, .BRfloat .tc, .BRfloat .BRtc {
98
- text-align: center;
99
- }
100
- .BookReader .tr, .BRmobileMenu .tr, .BRfloat .tr {
101
- text-align: right;
102
- }
103
- .BookReader .ph10, .BRmobileMenu .ph10, .BRfloat .ph10 {
104
- padding-left: 10px;
105
- padding-right: 10px;
106
- }
107
- .BookReader .mv20, .BRmobileMenu .mv20, .BRfloat .mv20 {
108
- margin-top: 20px;
109
- margin-bottom: 20px;
110
- }
111
- .BookReader .mt20, .BRmobileMenu .mt20, .BRfloat .mt20 {
112
- margin-top: 20px;
113
- }
114
- .BookReader .b, .BRmobileMenu .b, .BRfloat .b {
115
- font-weight: bold;
116
- }
117
- .BookReader .i, .BRmobileMenu .i, .BRfloat .i {
118
- font-style: italic;
119
- }
120
- .BookReader .smaller, .BRmobileMenu .smaller, .BRfloat .smaller {
121
- font-size: 0.8em;
122
- }
123
94
  .BookReader .larger, .BRmobileMenu .larger, .BRfloat .larger {
124
95
  font-size: 1.2em;
125
96
  }
126
- .BookReader .loader, .BRmobileMenu .loader, .BRfloat .loader {
127
- background: url(images/loading.gif) no-repeat 50%;
128
- height: 16px;
129
- min-width: 16px;
130
- }
131
97
  @media (min-width: 801px) {
132
- .BookReader .mobile-only, .BRmobileMenu .mobile-only, .BRfloat .mobile-only {
133
- display: none;
134
- }
135
- .BookReader .pv20-lg, .BRmobileMenu .pv20-lg, .BRfloat .pv20-lg {
136
- padding-top: 20px;
137
- padding-bottom: 20px;
138
- }
139
- .BookReader .pv50-lg, .BRmobileMenu .pv50-lg, .BRfloat .pv50-lg {
140
- padding-top: 50px;
141
- padding-bottom: 50px;
142
- }
143
98
  .BookReader .mv20-lg, .BRmobileMenu .mv20-lg, .BRfloat .mv20-lg {
144
99
  margin-top: 20px;
145
100
  margin-bottom: 20px;
146
101
  }
147
102
  }
148
- @media (max-width: 800px) {
149
- .BookReader .desktop-only, .BRmobileMenu .desktop-only, .BRfloat .desktop-only {
150
- display: none;
151
- }
152
- }
153
- @media (min-width: 800px) and (max-width: 1050px) {
154
- .BookReader .hide-md, .BRmobileMenu .hide-md, .BRfloat .hide-md {
155
- display: none;
156
- }
157
- }
158
103
  .BookReader h3, .BRmobileMenu h3, .BRfloat h3 {
159
104
  font-size: 20px;
160
105
  font-weight: 700;
@@ -181,6 +126,7 @@
181
126
  position: relative;
182
127
  overflow: hidden;
183
128
  background-color: black;
129
+ contain: strict;
184
130
  }
185
131
 
186
132
  .BRcontainer {
@@ -205,6 +151,21 @@
205
151
  z-index: 3000;
206
152
  color: #222;
207
153
  }
154
+ .BRprogresspopup .close-popup {
155
+ position: absolute;
156
+ top: 0;
157
+ right: 0;
158
+ width: 30px;
159
+ width: 30px;
160
+ padding: 0;
161
+ border: 0;
162
+ background-color: transparent;
163
+ }
164
+ .BRprogresspopup .close-popup .icon.icon-close-dark {
165
+ position: absolute;
166
+ top: 5px;
167
+ right: 5px;
168
+ }
208
169
 
209
170
  .BRprogressbar {
210
171
  background-image: url("images/progressbar.gif");
@@ -244,7 +205,7 @@
244
205
  display: block;
245
206
  }
246
207
  .BRshare button[type=button].share-finished {
247
- background-color: #4a90e2;
208
+ background-color: rgb(74, 144, 226);
248
209
  border: 0;
249
210
  color: white;
250
211
  border-radius: 3px;
@@ -267,13 +228,13 @@
267
228
  }
268
229
 
269
230
  .BRinfoMoreInfoWrapper {
270
- background-color: #4a90e2;
231
+ background-color: rgb(74, 144, 226);
271
232
  border-radius: 2px;
272
233
  padding: 8px;
273
234
  text-align: center;
274
235
  }
275
236
  .BRinfoMoreInfoWrapper:active {
276
- background-color: #509bf2;
237
+ background-color: rgb(80, 155, 242);
277
238
  }
278
239
 
279
240
  .BRinfoOtherFormats {
@@ -324,10 +285,10 @@ body.BRfullscreenActive .mm-menu {
324
285
  line-height: 1;
325
286
  }
326
287
  .BRaction:active {
327
- background-color: #ababab;
288
+ background-color: rgb(171, 171, 171);
328
289
  }
329
290
  .BRaction.default {
330
- background-color: #c1c1c1;
291
+ background-color: rgb(193, 193, 193);
331
292
  color: white;
332
293
  }
333
294
  .BRaction.primary {
@@ -342,7 +303,7 @@ body.BRfullscreenActive .mm-menu {
342
303
  color: orange;
343
304
  }
344
305
  .BRaction.orangeButton:active {
345
- border-color: #f9c613;
306
+ border-color: rgb(249, 198, 19);
346
307
  }
347
308
  .BRaction.skinny {
348
309
  min-width: 50px;
@@ -481,6 +442,23 @@ body.BRfullscreenActive .mm-menu {
481
442
  background-color: white;
482
443
  }
483
444
 
445
+ .BRfullscreenAnimation .br-mode-2up__book {
446
+ transition: transform 0.2s ease-in-out;
447
+ }
448
+
449
+ .fullscreenActive.BRmodeThumb .BRcontainer,
450
+ .fullscreenActive.BRmode1up .BRcontainer {
451
+ animation: flash 0.3s ease-in-out;
452
+ }
453
+
454
+ @keyframes flash {
455
+ 0% {
456
+ opacity: 0;
457
+ }
458
+ 100% {
459
+ opacity: 1;
460
+ }
461
+ }
484
462
  .BRpageview {
485
463
  position: relative;
486
464
  margin: auto;
@@ -493,7 +471,7 @@ body.BRfullscreenActive .mm-menu {
493
471
  border: 0;
494
472
  }
495
473
 
496
- .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
474
+ .BRmodeThumb .BRpagecontainer, .BRmode2up .BRpagecontainer {
497
475
  cursor: pointer;
498
476
  }
499
477
 
@@ -501,6 +479,23 @@ body.BRfullscreenActive .mm-menu {
501
479
  cursor: unset;
502
480
  }
503
481
 
482
+ .br-mode-1up__root {
483
+ display: block;
484
+ overflow: auto;
485
+ position: relative;
486
+ width: 100%;
487
+ height: 100%;
488
+ contain: strict;
489
+ }
490
+ .br-mode-1up__root .br-mode-1up__world {
491
+ position: absolute;
492
+ transform-origin: 0 0;
493
+ }
494
+ .br-mode-1up__root .br-mode-1up__visible-world {
495
+ position: absolute;
496
+ transform-origin: 0 0;
497
+ }
498
+
504
499
  .BRpagecontainer {
505
500
  position: relative;
506
501
  overflow: hidden;
@@ -531,61 +526,127 @@ body.BRfullscreenActive .mm-menu {
531
526
  background-image: none;
532
527
  }
533
528
 
534
- .BRbookcover {
529
+ svg.BRPageLayer {
535
530
  position: absolute;
536
- background-image: none;
537
- box-shadow: 1px 0 10px #111;
531
+ top: 0;
532
+ left: 0;
533
+ right: 0;
534
+ bottom: 0;
538
535
  }
539
536
 
540
- .BRPreview .BRpageimage {
541
- background-color: #eee;
542
- -webkit-filter: grayscale(100%);
543
- filter: grayscale(100%);
537
+ .BRpageFlipping .BRPageLayer {
538
+ display: none;
544
539
  }
545
540
 
546
- .BRleafEdgeR {
547
- border-style: solid solid solid none;
548
- border-color: #333322;
549
- border-width: 1px 1px 1px 0px;
550
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
551
- position: absolute;
552
- cursor: pointer;
541
+ .br-mode-2up__root {
542
+ display: block;
543
+ overflow: auto;
544
+ width: 100%;
545
+ height: 100%;
553
546
  }
554
547
 
555
- .BRleafEdgeL {
556
- /* border-style: solid none solid solid;
557
- border-color: rgb(51, 51, 34);
558
- border-width: 1px 0px 1px 1px; */
559
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
560
- /* XXXmang replace file */
548
+ .br-mode-2up__book {
549
+ position: relative;
550
+ transform-origin: 0 0;
551
+ width: 0px;
552
+ height: 0px;
553
+ }
554
+
555
+ .BRmode2up {
556
+ transition: opacity 0.2s;
557
+ }
558
+
559
+ .BRmode2up .BRpagecontainer {
560
+ backface-visibility: hidden;
561
+ }
562
+ .BRmode2up .BRpagecontainer:not(.BRpage-visible) {
563
+ display: none;
564
+ }
565
+
566
+ .br-mode-2up__leafs {
561
567
  position: absolute;
562
568
  cursor: pointer;
569
+ top: 0;
570
+ transform-style: preserve-3d;
563
571
  }
564
-
565
- .BRleafEdgeTmp {
566
- /* border-style: solid none solid solid;
567
- border-color: rgb(51, 51, 34);
568
- border-width: 1px 0px 1px 1px; */
569
- background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
570
- /* XXXmang replace file */
572
+ .br-mode-2up__leafs[side=left] {
573
+ border-radius: 4px 0 0 4px;
574
+ }
575
+ .br-mode-2up__leafs[side=left] .br-leaf-edges__label {
576
+ padding-right: 10px;
577
+ border-radius: 4px 0 0 4px;
578
+ }
579
+ .br-mode-2up__leafs[side=right] {
580
+ border-radius: 0 4px 4px 0;
581
+ }
582
+ .br-mode-2up__leafs[side=right] .br-leaf-edges__label {
583
+ padding-left: 20px;
584
+ border-radius: 0 4px 4px 0;
585
+ }
586
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping {
587
+ z-index: 200000;
588
+ transition: transform 5s;
589
+ transition-timing-function: ease-in-out;
590
+ border-radius: 0;
591
+ }
592
+ .br-mode-2up__leafs.br-mode-2up__leafs--flipping:before {
593
+ content: "";
594
+ display: block;
595
+ width: 100%;
596
+ height: 100%;
571
597
  position: absolute;
598
+ transform: rotateY(-90deg);
572
599
  }
573
-
574
- .BRgutter {
575
- /* border: 1px solid rgb(68, 25, 17); */
600
+ .br-mode-2up__leafs, .br-mode-2up__leafs.br-mode-2up__leafs--flipping::before {
601
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
602
+ }
603
+ .br-mode-2up__leafs .br-leaf-edges__bar {
604
+ display: none;
605
+ pointer-events: none;
576
606
  position: absolute;
577
- background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
607
+ top: 0;
608
+ bottom: 0;
609
+ min-width: 1px;
610
+ background-color: #9A9B9D;
611
+ opacity: 0.85;
612
+ transform: translateX(-50%);
578
613
  }
579
-
580
- .BRtwoPagePopUp {
581
- padding: 6px;
614
+ .br-mode-2up__leafs .br-leaf-edges__label {
615
+ display: none;
616
+ pointer-events: none;
617
+ z-index: 1000;
582
618
  position: absolute;
583
- font-size: 12px;
619
+ padding: 6px;
584
620
  color: white;
585
621
  background-color: #9A9B9D;
586
622
  opacity: 0.85;
587
- border-radius: 4px;
588
623
  white-space: nowrap;
624
+ transform: translateY(-10px);
625
+ }
626
+
627
+ .br-mode-2up--flipping-left .BRpage-entering[data-side=R] {
628
+ z-index: 10;
629
+ transform-origin: left;
630
+ transform: rotateY(0deg);
631
+ }
632
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=L] {
633
+ z-index: 10;
634
+ transform-origin: right;
635
+ }
636
+ .br-mode-2up--flipping-left .BRpage-exiting[data-side=R] {
637
+ z-index: 9;
638
+ }
639
+
640
+ .br-mode-2up--flipping-right .BRpage-entering[data-side=L] {
641
+ z-index: 10;
642
+ transform-origin: right;
643
+ }
644
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=R] {
645
+ z-index: 10;
646
+ transform-origin: left;
647
+ }
648
+ .br-mode-2up--flipping-right .BRpage-exiting[data-side=L] {
649
+ z-index: 9;
589
650
  }
590
651
 
591
652
  .BRToolbarButton, .BRicon {
@@ -765,7 +826,7 @@ i.BRicon {
765
826
  * BRfloat is the modal popup used in bookreader
766
827
  */
767
828
  .BRfloat {
768
- color: #343434;
829
+ color: rgb(52, 52, 52);
769
830
  }
770
831
 
771
832
  .BRfloat a.title {
@@ -936,7 +997,7 @@ i.BRicon {
936
997
  font-size: 16px;
937
998
  font-weight: 700;
938
999
  text-align: center;
939
- border-bottom: 1px solid #d8d8d8;
1000
+ border-bottom: 1px solid rgb(216, 216, 216);
940
1001
  }
941
1002
 
942
1003
  .BRfloatFoot {
@@ -955,7 +1016,7 @@ i.BRicon {
955
1016
  .BRfloatHead {
956
1017
  box-sizing: border-box;
957
1018
  line-height: normal;
958
- border-bottom: 1px solid #d8d8d8;
1019
+ border-bottom: 1px solid rgb(216, 216, 216);
959
1020
  padding: 10px;
960
1021
  min-height: initial;
961
1022
  font-size: 14px;
@@ -1087,44 +1148,6 @@ i.BRicon {
1087
1148
  .BRReadAloudToolbar .BRnavCntlBtm:hover {
1088
1149
  background-color: #0074D1;
1089
1150
  }
1090
- .BRReadAloudToolbar.BRnavEmbed {
1091
- background-color: white;
1092
- color: black;
1093
- }
1094
- .BRReadAloudToolbar.BRnavEmbed a {
1095
- color: black;
1096
- }
1097
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider {
1098
- background: #B7B7B7;
1099
- }
1100
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-handle {
1101
- background: #0074D1;
1102
- }
1103
- .BRReadAloudToolbar.BRnavEmbed .BRpager.ui-slider .ui-slider-range {
1104
- background: rgba(0, 116, 209, 0.25);
1105
- }
1106
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon {
1107
- border-left: 1px solid #979797;
1108
- }
1109
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated {
1110
- background-color: rgba(0, 116, 209, 0.4);
1111
- }
1112
- .BRReadAloudToolbar.BRnavEmbed .BRpage .BRicon.activated:before {
1113
- content: "";
1114
- top: 0;
1115
- left: 0;
1116
- width: 100%;
1117
- height: 100%;
1118
- box-sizing: border-box;
1119
- display: block;
1120
- border: 3px solid rgba(0, 116, 209, 0.3);
1121
- }
1122
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntl {
1123
- background-color: #979797;
1124
- }
1125
- .BRReadAloudToolbar.BRnavEmbed .BRnavCntlBtm:hover {
1126
- background-color: #0074D1;
1127
- }
1128
1151
  @media (max-width: 800px) {
1129
1152
  .BRbodyMobileNavEnabled .BRReadAloudToolbar, .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive .BRReadAloudToolbar {
1130
1153
  background-color: white;
@@ -1245,23 +1268,6 @@ i.BRicon {
1245
1268
  color: white;
1246
1269
  /* Full mobile styles */
1247
1270
  }
1248
- .BRnav.BRnavEmbed {
1249
- padding-top: 0;
1250
- height: auto;
1251
- align-items: center;
1252
- }
1253
- .BRnav.BRnavEmbed .BRembedreturn {
1254
- flex: 1 auto;
1255
- overflow-x: hidden;
1256
- }
1257
- .BRnav.BRnavEmbed .logo {
1258
- display: inline-block;
1259
- width: 25px;
1260
- height: 25px;
1261
- margin: 0 10px;
1262
- background: transparent url(images/icon_home.svg) no-repeat center center;
1263
- background-size: contain;
1264
- }
1265
1271
  .BRnav a {
1266
1272
  color: white;
1267
1273
  }
@@ -1555,14 +1561,46 @@ i.BRicon {
1555
1561
  border-top-color: #333;
1556
1562
  }
1557
1563
 
1558
- .BookReader .BookReaderSearchHilite, .BRmobileMenu .BookReaderSearchHilite, .BRfloat .BookReaderSearchHilite {
1559
- opacity: 0.2;
1560
- filter: alpha(opacity=20);
1561
- background-color: #0000ff;
1562
- position: absolute;
1563
- /* z-index is important */
1564
- z-index: 4;
1565
- animation: hiliteFadeIn 0.2s;
1564
+ .BookReader .searchHiliteLayer, .BookReader .ttsHiliteLayer, .BRmobileMenu .searchHiliteLayer, .BRmobileMenu .ttsHiliteLayer, .BRfloat .searchHiliteLayer, .BRfloat .ttsHiliteLayer {
1565
+ pointer-events: none;
1566
+ }
1567
+ .BookReader .searchHiliteLayer rect, .BookReader .ttsHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRmobileMenu .ttsHiliteLayer rect, .BRfloat .searchHiliteLayer rect, .BRfloat .ttsHiliteLayer rect {
1568
+ fill: rgba(0, 0, 255, 0.2);
1569
+ }
1570
+ .BookReader .searchHiliteLayer rect, .BRmobileMenu .searchHiliteLayer rect, .BRfloat .searchHiliteLayer rect {
1571
+ animation: highlightFocus 600ms 1 reverse;
1572
+ stroke: blue;
1573
+ stroke-width: 4px;
1574
+ }
1575
+ .BookReader .searchHiliteLayer rect:nth-child(1), .BRmobileMenu .searchHiliteLayer rect:nth-child(1), .BRfloat .searchHiliteLayer rect:nth-child(1) {
1576
+ animation-delay: 0ms;
1577
+ }
1578
+ .BookReader .searchHiliteLayer rect:nth-child(2), .BRmobileMenu .searchHiliteLayer rect:nth-child(2), .BRfloat .searchHiliteLayer rect:nth-child(2) {
1579
+ animation-delay: 50ms;
1580
+ }
1581
+ .BookReader .searchHiliteLayer rect:nth-child(3), .BRmobileMenu .searchHiliteLayer rect:nth-child(3), .BRfloat .searchHiliteLayer rect:nth-child(3) {
1582
+ animation-delay: 100ms;
1583
+ }
1584
+ .BookReader .searchHiliteLayer rect:nth-child(4), .BRmobileMenu .searchHiliteLayer rect:nth-child(4), .BRfloat .searchHiliteLayer rect:nth-child(4) {
1585
+ animation-delay: 150ms;
1586
+ }
1587
+ .BookReader .searchHiliteLayer rect:nth-child(5), .BRmobileMenu .searchHiliteLayer rect:nth-child(5), .BRfloat .searchHiliteLayer rect:nth-child(5) {
1588
+ animation-delay: 200ms;
1589
+ }
1590
+ .BookReader .searchHiliteLayer rect:nth-child(6), .BRmobileMenu .searchHiliteLayer rect:nth-child(6), .BRfloat .searchHiliteLayer rect:nth-child(6) {
1591
+ animation-delay: 250ms;
1592
+ }
1593
+ .BookReader .searchHiliteLayer rect:nth-child(7), .BRmobileMenu .searchHiliteLayer rect:nth-child(7), .BRfloat .searchHiliteLayer rect:nth-child(7) {
1594
+ animation-delay: 300ms;
1595
+ }
1596
+ .BookReader .searchHiliteLayer rect:nth-child(8), .BRmobileMenu .searchHiliteLayer rect:nth-child(8), .BRfloat .searchHiliteLayer rect:nth-child(8) {
1597
+ animation-delay: 350ms;
1598
+ }
1599
+ .BookReader .searchHiliteLayer rect:nth-child(9), .BRmobileMenu .searchHiliteLayer rect:nth-child(9), .BRfloat .searchHiliteLayer rect:nth-child(9) {
1600
+ animation-delay: 400ms;
1601
+ }
1602
+ .BookReader .searchHiliteLayer rect:nth-child(10), .BRmobileMenu .searchHiliteLayer rect:nth-child(10), .BRfloat .searchHiliteLayer rect:nth-child(10) {
1603
+ animation-delay: 450ms;
1566
1604
  }
1567
1605
  .BookReader .BRchapter, .BookReader .BRsearch, .BRmobileMenu .BRchapter, .BRmobileMenu .BRsearch, .BRfloat .BRchapter, .BRfloat .BRsearch {
1568
1606
  position: absolute;
@@ -1661,188 +1699,6 @@ i.BRicon {
1661
1699
  float: left;
1662
1700
  cursor: pointer;
1663
1701
  }
1664
- .BookReader .BRbooksearch.mobile, .BRmobileMenu .BRbooksearch.mobile, .BRfloat .BRbooksearch.mobile {
1665
- position: relative;
1666
- top: 0;
1667
- display: flex;
1668
- flex-direction: row;
1669
- }
1670
- .BookReader .BRbooksearch.mobile .BRsearchInput, .BRmobileMenu .BRbooksearch.mobile .BRsearchInput, .BRfloat .BRbooksearch.mobile .BRsearchInput {
1671
- -webkit-appearance: none;
1672
- position: relative;
1673
- min-width: 100px;
1674
- float: left;
1675
- font-size: 14px;
1676
- width: 150px;
1677
- height: 30px;
1678
- border: 1px solid #979797;
1679
- flex: 1;
1680
- border-radius: 0;
1681
- }
1682
- .BookReader .BRbooksearch.mobile .BRsearchSubmit, .BRmobileMenu .BRbooksearch.mobile .BRsearchSubmit, .BRfloat .BRbooksearch.mobile .BRsearchSubmit {
1683
- width: 30px;
1684
- height: 30px;
1685
- border: none;
1686
- background-color: #0074D1;
1687
- background-image: url("images/icon_search_button.svg");
1688
- background-repeat: no-repeat;
1689
- background-position: center center;
1690
- text-align: center;
1691
- color: white;
1692
- overflow: hidden;
1693
- box-sizing: border-box;
1694
- display: inline-block;
1695
- }
1696
- .BookReader #BRsearch_tray, .BRmobileMenu #BRsearch_tray, .BRfloat #BRsearch_tray {
1697
- --menuSliderBg: #151515;
1698
- --primaryTextColor: #fff;
1699
- --activeButtonBg: #282828;
1700
- --searchResultText: #adaedc;
1701
- --searchResultBg: #272958;
1702
- --searchResultBorder: #fff;
1703
- position: absolute;
1704
- top: 0;
1705
- right: 0;
1706
- bottom: 0;
1707
- left: 0;
1708
- padding: 15px 10px;
1709
- overflow-y: auto;
1710
- font-size: 14px;
1711
- color: var(--primaryTextColor);
1712
- background: var(--menuSliderBg);
1713
- }
1714
- .BookReader #BRsearch_tray header, .BRmobileMenu #BRsearch_tray header, .BRfloat #BRsearch_tray header {
1715
- display: flex;
1716
- justify-content: space-between;
1717
- align-items: center;
1718
- }
1719
- .BookReader #BRsearch_tray h3, .BRmobileMenu #BRsearch_tray h3, .BRfloat #BRsearch_tray h3 {
1720
- padding: 0;
1721
- margin: 0 10px 0 0;
1722
- font-size: 20px;
1723
- }
1724
- .BookReader #BRsearch_tray header p, .BRmobileMenu #BRsearch_tray header p, .BRfloat #BRsearch_tray header p {
1725
- display: none;
1726
- padding: 0;
1727
- margin: 0;
1728
- font-size: 12px;
1729
- font-weight: bold;
1730
- font-style: italic;
1731
- }
1732
- .BookReader #BRsearch_tray header p.visible, .BRmobileMenu #BRsearch_tray header p.visible, .BRfloat #BRsearch_tray header p.visible {
1733
- display: block;
1734
- }
1735
- .BookReader #BRsearch_tray header div, .BRmobileMenu #BRsearch_tray header div, .BRfloat #BRsearch_tray header div {
1736
- display: flex;
1737
- align-items: baseline;
1738
- }
1739
- .BookReader #BRsearch_tray a.close, .BRmobileMenu #BRsearch_tray a.close, .BRfloat #BRsearch_tray a.close {
1740
- justify-self: end;
1741
- }
1742
- .BookReader #BRsearch_tray fieldset, .BRmobileMenu #BRsearch_tray fieldset, .BRfloat #BRsearch_tray fieldset {
1743
- padding: 20px 0 10px 0;
1744
- border: none;
1745
- }
1746
- .BookReader #BRsearch_tray [type=checkbox], .BRmobileMenu #BRsearch_tray [type=checkbox], .BRfloat #BRsearch_tray [type=checkbox] {
1747
- display: none;
1748
- }
1749
- .BookReader #BRsearch_tray #all_files, .BRmobileMenu #BRsearch_tray #all_files, .BRfloat #BRsearch_tray #all_files {
1750
- display: none;
1751
- }
1752
- .BookReader #BRsearch_tray #all_files + label, .BRmobileMenu #BRsearch_tray #all_files + label, .BRfloat #BRsearch_tray #all_files + label {
1753
- display: none;
1754
- }
1755
- .BookReader #BRsearch_tray label, .BRmobileMenu #BRsearch_tray label, .BRfloat #BRsearch_tray label {
1756
- display: block;
1757
- text-align: center;
1758
- }
1759
- .BookReader #BRsearch_tray label.checkbox, .BRmobileMenu #BRsearch_tray label.checkbox, .BRfloat #BRsearch_tray label.checkbox {
1760
- padding-bottom: 5px;
1761
- font-size: 16px;
1762
- line-height: 150%;
1763
- vertical-align: middle;
1764
- }
1765
- .BookReader #BRsearch_tray label.checkbox:after, .BRmobileMenu #BRsearch_tray label.checkbox:after, .BRfloat #BRsearch_tray label.checkbox:after {
1766
- display: inline-block;
1767
- width: 14px;
1768
- height: 14px;
1769
- margin-left: 7px;
1770
- content: "";
1771
- color: var(--primaryTextColor);
1772
- border: 1px solid var(--primaryTextColor);
1773
- border-radius: 2px;
1774
- background: var(--activeButtonBg) 50% 50% no-repeat;
1775
- }
1776
- .BookReader #BRsearch_tray :checked + label.checkbox:after, .BRmobileMenu #BRsearch_tray :checked + label.checkbox:after, .BRfloat #BRsearch_tray :checked + label.checkbox:after {
1777
- background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwIiB2aWV3Qm94PSIwIDAgMTMgMTAiIHdpZHRoPSIxMyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNC4zMzMzMzMzMyAxMC00LjMzMzMzMzMzLTQuMTY2NjY2NjcgMS43MzMzMzMzMy0xLjY2NjY2NjY2IDIuNiAyLjUgNi45MzMzMzMzNy02LjY2NjY2NjY3IDEuNzMzMzMzMyAxLjY2NjY2NjY3eiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
1778
- }
1779
- .BookReader #BRsearch_tray [type=search], .BRmobileMenu #BRsearch_tray [type=search], .BRfloat #BRsearch_tray [type=search] {
1780
- -webkit-appearance: textfield;
1781
- width: 100%;
1782
- height: 22px;
1783
- padding: 0 15px;
1784
- box-sizing: border-box;
1785
- font: normal 16px "Helvetica Neue", Helvetica, Arial, sans-serif;
1786
- color: var(--primaryTextColor);
1787
- border: 1px solid var(--primaryTextColor);
1788
- border-radius: 15px;
1789
- background: transparent;
1790
- }
1791
- .BookReader #BRsearch_tray [type=search]:focus, .BRmobileMenu #BRsearch_tray [type=search]:focus, .BRfloat #BRsearch_tray [type=search]:focus {
1792
- outline: none;
1793
- }
1794
- .BookReader #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRmobileMenu #BRsearch_tray [type=search]::-webkit-search-cancel-button, .BRfloat #BRsearch_tray [type=search]::-webkit-search-cancel-button {
1795
- width: 18px;
1796
- height: 18px;
1797
- -webkit-appearance: none;
1798
- appearance: none;
1799
- /* Uses an X SVG shape as a mask */
1800
- -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
1801
- mask: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgYXJpYS1sYWJlbGxlZGJ5PSJjbG9zZVRpdGxlSUQgY2xvc2VEZXNjSUQiPjxwYXRoIGQ9Ik0yOS4xOTIgMTAuODA4YTEuNSAxLjUgMCAwMTAgMi4xMkwyMi4xMjIgMjBsNy4wNyA3LjA3MmExLjUgMS41IDAgMDEtMi4xMiAyLjEyMWwtNy4wNzMtNy4wNy03LjA3IDcuMDdhMS41IDEuNSAwIDAxLTIuMTIxLTIuMTJsNy4wNy03LjA3My03LjA3LTcuMDdhMS41IDEuNSAwIDAxMi4xMi0yLjEyMUwyMCAxNy44NzhsNy4wNzItNy4wN2ExLjUgMS41IDAgMDEyLjEyMSAweiIgY2xhc3M9ImZpbGwtY29sb3IiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==") 0 0 no-repeat;
1802
- -webkit-mask-size: 100%;
1803
- mask-size: 100%;
1804
- background: #fff;
1805
- }
1806
- .BookReader #BRsearch_tray ul, .BRmobileMenu #BRsearch_tray ul, .BRfloat #BRsearch_tray ul {
1807
- padding: 0;
1808
- margin: 0;
1809
- list-style: none;
1810
- }
1811
- .BookReader #BRsearch_tray li, .BRmobileMenu #BRsearch_tray li, .BRfloat #BRsearch_tray li {
1812
- margin-bottom: 20px;
1813
- border-bottom: 1px solid #fff;
1814
- }
1815
- .BookReader #BRsearch_tray li:after, .BRmobileMenu #BRsearch_tray li:after, .BRfloat #BRsearch_tray li:after {
1816
- display: none;
1817
- }
1818
- .BookReader #BRsearch_tray li img, .BRmobileMenu #BRsearch_tray li img, .BRfloat #BRsearch_tray li img {
1819
- display: block;
1820
- width: 100%;
1821
- }
1822
- .BookReader #BRsearch_tray li h4, .BRmobileMenu #BRsearch_tray li h4, .BRfloat #BRsearch_tray li h4 {
1823
- padding: 0 0 20px 0;
1824
- margin: 0;
1825
- font-size: 14px;
1826
- font-weight: normal;
1827
- }
1828
- .BookReader #BRsearch_tray li p, .BRmobileMenu #BRsearch_tray li p, .BRfloat #BRsearch_tray li p {
1829
- padding: 0 0 15px 0;
1830
- margin: 0;
1831
- font-size: 12px;
1832
- }
1833
- .BookReader #BRsearch_tray mark, .BRmobileMenu #BRsearch_tray mark, .BRfloat #BRsearch_tray mark {
1834
- padding: 0 2px;
1835
- color: var(--searchResultText);
1836
- background: var(--searchResultBg);
1837
- border: 1px solid var(--searchResultBorder);
1838
- border-radius: 2px;
1839
- }
1840
- .BookReader #BRsearch_tray #search_pending, .BRmobileMenu #BRsearch_tray #search_pending, .BRfloat #BRsearch_tray #search_pending {
1841
- display: none;
1842
- }
1843
- .BookReader #BRsearch_tray #search_pending.visible, .BRmobileMenu #BRsearch_tray #search_pending.visible, .BRfloat #BRsearch_tray #search_pending.visible {
1844
- display: block;
1845
- }
1846
1702
  .BookReader .BRsearch-navigation, .BRmobileMenu .BRsearch-navigation, .BRfloat .BRsearch-navigation {
1847
1703
  position: relative;
1848
1704
  z-index: 1;
@@ -1896,12 +1752,9 @@ i.BRicon {
1896
1752
  display: none;
1897
1753
  }
1898
1754
 
1899
- @keyframes hiliteFadeIn {
1900
- from {
1901
- opacity: 0;
1902
- }
1755
+ @keyframes highlightFocus {
1903
1756
  to {
1904
- opacity: 0.2;
1757
+ stroke-width: 20px;
1905
1758
  }
1906
1759
  }
1907
1760
  /* Mid size breakpoint */
@@ -2524,7 +2377,7 @@ html.mm-opening .mm-slideout {
2524
2377
 
2525
2378
  .mm-panel h1 {
2526
2379
  margin-top: 0;
2527
- color: #245e83;
2380
+ color: rgb(36, 94, 131);
2528
2381
  font-size: 14px;
2529
2382
  }
2530
2383
 
@@ -2803,7 +2656,7 @@ li.BRtable-contents-el .BRTOCElementPage {
2803
2656
  }
2804
2657
 
2805
2658
  .icon-fullscreen-exit {
2806
- background-image: url("icons/fullscreen-exit.svg");
2659
+ background-image: url("icons/fullscreen_exit.svg");
2807
2660
  }
2808
2661
 
2809
2662
  .icon-thumb {
@@ -2880,6 +2733,12 @@ li.BRtable-contents-el .BRTOCElementPage {
2880
2733
  background-image: url("icons/close-circle.svg");
2881
2734
  }
2882
2735
 
2736
+ .icon-close-dark {
2737
+ width: 12px;
2738
+ height: 12px;
2739
+ background-image: url("icons/close-circle-dark.svg");
2740
+ }
2741
+
2883
2742
  .BRcontrols {
2884
2743
  width: 100%;
2885
2744
  /* BookReader defaults overrides */
@@ -2906,23 +2765,29 @@ li.BRtable-contents-el .BRTOCElementPage {
2906
2765
  .BRfullscreenActive .BRcontrols .icon-fullscreen {
2907
2766
  background-image: url("icons/fullscreen_exit.svg");
2908
2767
  }
2909
- .BRcontrols select.playback-speed {
2910
- width: 24px;
2768
+ .BRcontrols select.playback-speed, .BRcontrols select.playback-voices {
2911
2769
  padding-top: 18px;
2912
2770
  -moz-appearance: none;
2913
2771
  -webkit-appearance: none;
2914
2772
  appearance: none;
2915
2773
  font-size: 10px;
2916
- text-align: center;
2917
2774
  text-align-last: center;
2918
2775
  color: #fff;
2919
2776
  border: none;
2920
2777
  cursor: pointer;
2921
- background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2922
2778
  }
2923
- .BRcontrols select.playback-speed option {
2779
+ .BRcontrols select.playback-speed option, .BRcontrols select.playback-speed optgroup, .BRcontrols select.playback-voices option, .BRcontrols select.playback-voices optgroup {
2924
2780
  background: #333;
2925
2781
  }
2782
+ .BRcontrols select.playback-speed {
2783
+ width: 30px;
2784
+ background: transparent url("icons/playback-speed.svg") 50% 0 no-repeat;
2785
+ }
2786
+ .BRcontrols select.playback-voices {
2787
+ width: 30px;
2788
+ background: transparent url("icons/voice.svg") 50% 0 no-repeat;
2789
+ background-size: 18px;
2790
+ }
2926
2791
  .BRcontrols .active {
2927
2792
  background: #fff;
2928
2793
  }
@@ -2975,6 +2840,10 @@ li.BRtable-contents-el .BRTOCElementPage {
2975
2840
  display: flex;
2976
2841
  animation: slideUp 0.2s;
2977
2842
  }
2843
+ .BRcontrols .read-aloud.visible button {
2844
+ width: unset;
2845
+ height: unset;
2846
+ }
2978
2847
  .BRcontrols .read-aloud li {
2979
2848
  padding: 0 10px;
2980
2849
  }
@@ -3095,11 +2964,7 @@ li.BRtable-contents-el .BRTOCElementPage {
3095
2964
  }
3096
2965
 
3097
2966
  .textSelectionSVG {
3098
- width: 100%;
3099
- position: absolute;
3100
- height: 100%;
3101
- top: 0;
3102
- left: 0;
2967
+ z-index: 2;
3103
2968
  pointer-events: none;
3104
2969
  }
3105
2970
  .textSelectionSVG .BRwordElement {
@@ -3110,39 +2975,38 @@ li.BRtable-contents-el .BRTOCElementPage {
3110
2975
  cursor: text;
3111
2976
  }
3112
2977
  .textSelectionSVG .BRwordElement::selection {
3113
- background: rgba(86, 158, 230, 0.4);
2978
+ background: hsla(210deg, 74%, 62%, 0.4);
3114
2979
  }
3115
2980
  .textSelectionSVG .BRwordElement::-moz-selection {
3116
- background: rgba(86, 158, 230, 0.4);
2981
+ background: hsla(210deg, 74%, 62%, 0.4);
3117
2982
  color: transparent;
3118
2983
  }
3119
2984
  .textSelectionSVG .BRparagElement {
3120
- fill: red;
2985
+ fill: transparent;
3121
2986
  cursor: text;
3122
2987
  white-space: pre;
3123
- fill-opacity: 0;
3124
2988
  font-family: Georgia, serif;
3125
2989
  }
3126
2990
 
3127
- .BRpagecontainer img {
3128
- -webkit-user-select: none;
3129
- -moz-user-select: none;
3130
- user-select: none;
2991
+ .BRsmooth-zooming .textSelectionSVG, .BRscrolling-active .textSelectionSVG {
2992
+ display: none;
3131
2993
  }
3132
2994
 
3133
- .BRpageFlipping .textSelectionSVG {
2995
+ .BRmode1up .BRpagecontainer:not(.BRpage-visible) .textSelectionSVG {
3134
2996
  display: none;
3135
2997
  }
3136
2998
 
3137
- .BRpagecontainer.BRemptypage .textSelectionSVG {
3138
- display: none;
2999
+ .BRpagecontainer img {
3000
+ -webkit-user-select: none;
3001
+ -moz-user-select: none;
3002
+ user-select: none;
3139
3003
  }
3140
3004
 
3141
3005
  /**
3142
3006
  * Hide modal-manager that loads item-navigator-modal
3143
3007
  * loading bookmarks related alert messages
3144
3008
  */
3145
- #item-navigator-modal {
3009
+ modal-manager[mode=closed] {
3146
3010
  display: none;
3147
3011
  }
3148
3012
 
@@ -3161,7 +3025,7 @@ li.BRtable-contents-el .BRTOCElementPage {
3161
3025
  opacity: 0;
3162
3026
  }
3163
3027
 
3164
- .BRtwopageview .BRpagecontainer[data-side=L] .bookmark-button {
3028
+ .BRmode2up .BRpagecontainer[data-side=L] .bookmark-button {
3165
3029
  right: auto;
3166
3030
  left: 0;
3167
3031
  }