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

Sign up to get free protection for your applications and to get access to all the features.
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
  }