@internetarchive/bookreader 5.0.0-8 → 5.0.0-80

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 (313) hide show
  1. package/.eslintrc.js +17 -15
  2. package/.github/workflows/node.js.yml +73 -10
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +398 -1133
  6. package/BookReader/BookReader.js +1 -1
  7. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1782 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -1
  13. package/BookReader/icons/2up.svg +1 -1
  14. package/BookReader/icons/advance.svg +1 -1
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -1
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -1
  19. package/BookReader/icons/fullscreen_exit.svg +1 -1
  20. package/BookReader/icons/hamburger.svg +1 -1
  21. package/BookReader/icons/left-arrow.svg +1 -1
  22. package/BookReader/icons/magnify-minus.svg +1 -1
  23. package/BookReader/icons/magnify-plus.svg +1 -1
  24. package/BookReader/icons/magnify.svg +1 -1
  25. package/BookReader/icons/pause.svg +1 -1
  26. package/BookReader/icons/play.svg +1 -1
  27. package/BookReader/icons/playback-speed.svg +1 -1
  28. package/BookReader/icons/read-aloud.svg +1 -1
  29. package/BookReader/icons/review.svg +1 -1
  30. package/BookReader/icons/thumbnails.svg +1 -1
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -1
  33. package/BookReader/images/BRicons.svg +3 -3
  34. package/BookReader/images/books_graphic.svg +1 -1
  35. package/BookReader/images/icon_book.svg +1 -1
  36. package/BookReader/images/icon_bookmark.svg +1 -1
  37. package/BookReader/images/icon_gear.svg +1 -1
  38. package/BookReader/images/icon_hamburger.svg +1 -1
  39. package/BookReader/images/icon_home.svg +1 -1
  40. package/BookReader/images/icon_info.svg +1 -1
  41. package/BookReader/images/icon_one_page.svg +1 -1
  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 -1
  45. package/BookReader/images/icon_search_button.svg +1 -1
  46. package/BookReader/images/icon_share.svg +1 -1
  47. package/BookReader/images/icon_skip-ahead.svg +1 -1
  48. package/BookReader/images/icon_skip-back.svg +1 -1
  49. package/BookReader/images/icon_speaker.svg +1 -1
  50. package/BookReader/images/icon_speaker_open.svg +1 -1
  51. package/BookReader/images/icon_thumbnails.svg +1 -1
  52. package/BookReader/images/icon_toc.svg +1 -1
  53. package/BookReader/images/icon_two_pages.svg +1 -1
  54. package/BookReader/images/marker_chap-off.svg +1 -1
  55. package/BookReader/images/marker_chap-on.svg +1 -1
  56. package/BookReader/images/marker_srch-on.svg +1 -1
  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 -1
  60. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  61. package/BookReader/plugins/plugin.autoplay.js +1 -1
  62. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  63. package/BookReader/plugins/plugin.chapters.js +25 -1
  64. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  65. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  66. package/BookReader/plugins/plugin.iframe.js +1 -1
  67. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  68. package/BookReader/plugins/plugin.iiif.js +2 -0
  69. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  70. package/BookReader/plugins/plugin.resume.js +1 -1
  71. package/BookReader/plugins/plugin.resume.js.map +1 -1
  72. package/BookReader/plugins/plugin.search.js +2 -1
  73. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  74. package/BookReader/plugins/plugin.search.js.map +1 -1
  75. package/BookReader/plugins/plugin.text_selection.js +2 -1
  76. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  77. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  78. package/BookReader/plugins/plugin.tts.js +1 -1
  79. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  80. package/BookReader/plugins/plugin.tts.js.map +1 -1
  81. package/BookReader/plugins/plugin.url.js +1 -1
  82. package/BookReader/plugins/plugin.url.js.map +1 -1
  83. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -1
  84. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  85. package/BookReader/webcomponents-bundle.js +3 -0
  86. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  87. package/BookReader/webcomponents-bundle.js.map +1 -0
  88. package/BookReaderDemo/BookReaderDemo.css +18 -19
  89. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
  90. package/BookReaderDemo/BookReaderJSAutoplay.js +4 -1
  91. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  92. package/BookReaderDemo/IADemoBr.js +147 -0
  93. package/BookReaderDemo/demo-advanced.html +2 -2
  94. package/BookReaderDemo/demo-autoplay.html +2 -3
  95. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  96. package/BookReaderDemo/demo-fullscreen-mobile.html +3 -5
  97. package/BookReaderDemo/demo-fullscreen.html +2 -4
  98. package/BookReaderDemo/demo-iiif.html +99 -12
  99. package/BookReaderDemo/demo-internetarchive.html +214 -18
  100. package/BookReaderDemo/demo-multiple.html +2 -1
  101. package/BookReaderDemo/demo-preview-pages.html +2 -1
  102. package/BookReaderDemo/demo-simple.html +2 -1
  103. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -4
  104. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  105. package/BookReaderDemo/immersion-1up.html +2 -2
  106. package/BookReaderDemo/immersion-mode.html +2 -4
  107. package/BookReaderDemo/toggle_controls.html +3 -2
  108. package/BookReaderDemo/view_mode.html +2 -1
  109. package/BookReaderDemo/viewmode-cycle.html +2 -3
  110. package/CHANGELOG.md +536 -33
  111. package/README.md +14 -1
  112. package/babel.config.js +20 -0
  113. package/codecov.yml +6 -0
  114. package/index.html +4 -1
  115. package/jsconfig.json +19 -0
  116. package/netlify.toml +9 -0
  117. package/package.json +70 -60
  118. package/renovate.json +52 -0
  119. package/scripts/preversion.js +0 -1
  120. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  121. package/src/BookNavigator/assets/button-base.js +4 -2
  122. package/src/BookNavigator/assets/ia-logo.js +17 -0
  123. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  124. package/src/BookNavigator/assets/icon_close.js +1 -1
  125. package/src/BookNavigator/book-navigator.js +590 -0
  126. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  127. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  128. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  129. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +3 -8
  130. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  131. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  132. package/src/BookNavigator/delete-modal-actions.js +1 -1
  133. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  134. package/src/BookNavigator/downloads/downloads.js +41 -25
  135. package/src/BookNavigator/search/search-provider.js +49 -27
  136. package/src/BookNavigator/search/search-results.js +23 -9
  137. package/src/BookNavigator/sharing.js +27 -0
  138. package/src/BookNavigator/viewable-files.js +95 -0
  139. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +11 -10
  140. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +3 -3
  141. package/src/BookReader/BookModel.js +64 -34
  142. package/src/BookReader/DragScrollable.js +233 -0
  143. package/src/BookReader/Mode1Up.js +56 -351
  144. package/src/BookReader/Mode1UpLit.js +388 -0
  145. package/src/BookReader/Mode2Up.js +73 -1318
  146. package/src/BookReader/Mode2UpLit.js +776 -0
  147. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  148. package/src/BookReader/ModeSmoothZoom.js +312 -0
  149. package/src/BookReader/ModeThumb.js +18 -12
  150. package/src/BookReader/Navbar/Navbar.js +14 -40
  151. package/src/BookReader/PageContainer.js +81 -6
  152. package/src/BookReader/ReduceSet.js +1 -1
  153. package/src/BookReader/Toolbar/Toolbar.js +10 -37
  154. package/src/BookReader/events.js +2 -3
  155. package/src/BookReader/options.js +27 -2
  156. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  157. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  158. package/src/BookReader/utils/SelectionObserver.js +45 -0
  159. package/src/BookReader/utils.js +118 -13
  160. package/src/BookReader.js +427 -1061
  161. package/src/assets/icons/magnify-minus.svg +3 -7
  162. package/src/assets/icons/magnify-plus.svg +3 -7
  163. package/src/assets/icons/voice.svg +1 -0
  164. package/src/css/BookReader.scss +1 -5
  165. package/src/css/_BRBookmarks.scss +1 -1
  166. package/src/css/_BRComponent.scss +1 -1
  167. package/src/css/_BRmain.scss +16 -3
  168. package/src/css/_BRnav.scss +12 -39
  169. package/src/css/_BRpages.scss +149 -40
  170. package/src/css/_BRsearch.scss +68 -25
  171. package/src/css/_BRtoolbar.scss +5 -5
  172. package/src/css/_TextSelection.scss +87 -27
  173. package/src/css/_colorbox.scss +2 -2
  174. package/src/css/_controls.scss +20 -7
  175. package/src/css/_icons.scss +1 -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 +5 -11
  179. package/src/plugins/plugin.chapters.js +237 -191
  180. package/src/plugins/plugin.iiif.js +151 -0
  181. package/src/plugins/plugin.resume.js +3 -3
  182. package/src/plugins/plugin.text_selection.js +464 -134
  183. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  184. package/src/plugins/search/plugin.search.js +142 -125
  185. package/src/plugins/search/utils.js +43 -0
  186. package/src/plugins/search/view.js +33 -58
  187. package/src/plugins/tts/AbstractTTSEngine.js +71 -40
  188. package/src/plugins/tts/FestivalTTSEngine.js +13 -14
  189. package/src/plugins/tts/PageChunk.js +15 -21
  190. package/src/plugins/tts/PageChunkIterator.js +8 -12
  191. package/src/plugins/tts/WebTTSEngine.js +87 -71
  192. package/src/plugins/tts/plugin.tts.js +96 -127
  193. package/src/plugins/tts/utils.js +15 -25
  194. package/src/plugins/url/UrlPlugin.js +191 -0
  195. package/src/plugins/{plugin.url.js → url/plugin.url.js} +45 -16
  196. package/src/util/browserSniffing.js +22 -0
  197. package/src/util/docCookies.js +21 -2
  198. package/tests/e2e/README.md +37 -0
  199. package/tests/e2e/autoplay.test.js +2 -2
  200. package/tests/e2e/base.test.js +8 -16
  201. package/tests/e2e/helpers/base.js +53 -48
  202. package/tests/e2e/helpers/debug.js +1 -1
  203. package/tests/e2e/helpers/params.js +17 -0
  204. package/tests/e2e/helpers/rightToLeft.js +8 -14
  205. package/tests/e2e/helpers/search.js +73 -0
  206. package/tests/e2e/models/Navigation.js +20 -37
  207. package/tests/e2e/rightToLeft.test.js +4 -5
  208. package/tests/e2e/viewmode.test.js +40 -33
  209. package/tests/jest/BookNavigator/book-navigator.test.js +661 -0
  210. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  211. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  212. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  213. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  214. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  215. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  216. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  217. package/tests/{karma → jest}/BookNavigator/search/search-results.test.js +109 -60
  218. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  219. package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +80 -0
  220. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  221. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +74 -14
  222. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  223. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  224. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  225. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  226. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  227. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  228. package/tests/jest/BookReader/ModeSmoothZoom.test.js +218 -0
  229. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  230. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +10 -10
  231. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +88 -6
  232. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  233. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  234. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  235. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  236. package/tests/jest/BookReader/utils/SelectionObserver.test.js +57 -0
  237. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  238. package/tests/jest/BookReader/utils.test.js +229 -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/jest/plugins/plugin.chapters.test.js +195 -0
  245. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  246. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  247. package/tests/jest/plugins/plugin.text_selection.test.js +317 -0
  248. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  249. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +25 -47
  250. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +39 -6
  251. package/tests/jest/plugins/search/utils.js +25 -0
  252. package/tests/jest/plugins/search/utils.test.js +29 -0
  253. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +29 -9
  254. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  255. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  256. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  257. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  258. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  259. package/tests/jest/plugins/url/UrlPlugin.test.js +198 -0
  260. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +53 -14
  261. package/tests/jest/setup.js +3 -0
  262. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  263. package/tests/jest/util/docCookies.test.js +24 -0
  264. package/tests/{util → jest/util}/strings.test.js +1 -1
  265. package/tests/{utils.js → jest/utils.js} +38 -0
  266. package/webpack.config.js +12 -6
  267. package/.babelrc +0 -12
  268. package/.dependabot/config.yml +0 -6
  269. package/.testcaferc.json +0 -5
  270. package/BookReader/bookreader-component-bundle.js +0 -1450
  271. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  272. package/BookReader/bookreader-component-bundle.js.map +0 -1
  273. package/BookReader/jquery-1.10.1.js +0 -2
  274. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  275. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  276. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  277. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  278. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  279. package/BookReaderDemo/IIIFBookReader.js +0 -207
  280. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  281. package/BookReaderDemo/demo-iiif.js +0 -26
  282. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  283. package/karma.conf.js +0 -23
  284. package/src/BookNavigator/BookModel.js +0 -14
  285. package/src/BookNavigator/BookNavigator.js +0 -446
  286. package/src/BookNavigator/assets/book-loader.js +0 -27
  287. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  288. package/src/BookNavigator/search/a-search-result.js +0 -55
  289. package/src/BookReader/DebugConsole.js +0 -54
  290. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  291. package/src/ItemNavigator/ItemNavigator.js +0 -376
  292. package/src/ItemNavigator/providers/sharing.js +0 -29
  293. package/src/css/_MobileNav.scss +0 -194
  294. package/src/dragscrollable-br.js +0 -261
  295. package/src/lit-wrapper.js +0 -2
  296. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  297. package/src/plugins/plugin.mobile_nav.js +0 -287
  298. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  299. package/tests/BookReader/DebugConsole.test.js +0 -25
  300. package/tests/BookReader/Mode1Up.test.js +0 -164
  301. package/tests/BookReader/Mode2Up.test.js +0 -247
  302. package/tests/BookReader/utils.test.js +0 -109
  303. package/tests/e2e/helpers/desktopSearch.js +0 -72
  304. package/tests/e2e/helpers/mobileSearch.js +0 -85
  305. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  306. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  307. package/tests/karma/BookNavigator/search/search-provider.test.js +0 -23
  308. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  309. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  310. package/tests/plugins/plugin.chapters.test.js +0 -130
  311. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  312. package/tests/plugins/plugin.text_selection.test.js +0 -203
  313. package/tests/util/docCookies.test.js +0 -15
@@ -1,194 +0,0 @@
1
- @import '../../node_modules/jquery.mmenu/dist/css/jquery.mmenu';
2
- @import '../../node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars';
3
-
4
- .mm-menu .mm-navbar a, .mm-menu .mm-navbar>* {
5
- color: $controlsText;
6
- font-size: $brFontSizeBase;
7
- }
8
- .mm-menu {
9
- color: $controlsText;
10
- background: $mobileMenuBG;
11
- > .mm-navbar {
12
- background: $controlsBG;
13
- }
14
- }
15
- .mm-panel {
16
- font-size: $brFontSizeSmaller;
17
- }
18
- #mm-blocker {
19
- z-index: $brZindexFullscreen + 2;
20
- }
21
- .mm-panel h1 {
22
- margin-top: 0;
23
- color: $brColorThemeBlueDarker;
24
- font-size: $brFontSizeBase;
25
- }
26
-
27
- .mm-menu {
28
- .mm-listview {
29
- > li {
30
- .mm-next,
31
- .mm-next:before,
32
- &:after,
33
- .mm-arrow:after,
34
- .mm-next:after {
35
- border-color: $controlsText;
36
- }
37
- }
38
- }
39
- }
40
-
41
- .mm-menu .mm-btn:after,
42
- .mm-menu .mm-btn:before {
43
- border-color: $iconStroke;
44
- }
45
-
46
- /* Needed to override mmenu style */
47
- html.mm-background .BookReader {
48
- background-color: $brColorMainBg;
49
- }
50
-
51
- .BRmobileMenu {
52
- button { -webkit-appearance: initial; }
53
- .BRaction { display: block; width: 100%; }
54
- div.share-social button { padding: 0 5px; height: 40px; text-align: left; }
55
- a {
56
- color: inherit;
57
- }
58
- }
59
-
60
- .BRtoolbarMobileTitle {
61
- overflow:hidden;
62
- width: 100%;
63
- white-space: nowrap;
64
- text-align: center;
65
- font-size: $brFontSizeBase;
66
- line-height: 40px;
67
- display: block;
68
- margin-right: 10px;
69
- }
70
- .BRmobileHamburgerWrapper {
71
- display: block;
72
- padding: 0 30px 0 50px;
73
- }
74
-
75
- .BRmobileHamburger {
76
- background: transparent url('icons/hamburger.svg') 50% 50% no-repeat;
77
- display: block;
78
- width: 40px;
79
- height: 40px;
80
- position: absolute;
81
- top: 0;
82
- left: 10px;
83
- border: none;
84
- outline: none;
85
- }
86
-
87
- .DrawerIconWrapper {
88
- display: block;
89
- float: left;
90
- width: 20px;
91
- height:20px;
92
- margin-right: 10px;
93
- text-align: center;
94
- position:relative;
95
- }
96
- .DrawerIcon {
97
- height: 18px;
98
- width: auto;
99
- position: absolute;
100
- left: 0;
101
- top: 1px;
102
- }
103
- .DrawerSettingsTitle {
104
- color: $controlsText;
105
- font-size: $brFontSizeBase;
106
- font-weight: bold;
107
- margin-bottom: 10px;
108
- }
109
- .DrawerSettingsLayoutWrapper {
110
- text-align: center;
111
- padding: 0;
112
- margin-bottom: 20px;
113
- }
114
- .DrawerLayoutButton {
115
- border:none;
116
- background:none;
117
- color: $controlsText;
118
- line-height: 18px;
119
- }
120
- .DrawerLayoutButton:active {
121
- color: grey;
122
- }
123
-
124
- .BRmobileShare {
125
- div.share-title { font-weight: bold; font-size: $brFontSizeLarger; line-height: 1.5; }
126
- div.share-social { margin: 10px 0 20px 0; }
127
- p { font-weight: bold; }
128
- fieldset { padding: 0; border: 0; margin-bottom: 30px; }
129
- fieldset label { display: block; }
130
- fieldset input[type=text] { width: 95%; }
131
- button.share-finished { display: none; }
132
- div.share-embed { border: 1px solid #ccc; padding: 0 10px; }
133
- .open-to-this-page { display: block; margin: 10px 0; }
134
- }
135
-
136
- .BRmobileHamburgerWrapper { display: none; }
137
- .BRmobileMenu { display: none; }
138
- .BRtoolbar.responsive {display: none;}
139
-
140
- /* Mobile Only */
141
- @media (max-width: $brBreakPointMobile) {
142
- .BRbodyMobileNavEnabled,
143
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive {
144
- .BRtoolbar.responsive {
145
- display: block;
146
- height: 40px;
147
- box-sizing: border-box;
148
- width: 100%;
149
- color: $controlsText;
150
- background: $controlsBG;
151
-
152
- .BRtoolbarbuttons { display: none; }
153
- .BRmobileHamburgerWrapper { display: block; }
154
- .BRmobileMenu { display: block; }
155
- }
156
- }
157
-
158
- }
159
-
160
- .BRcheckbox-label-filters {
161
- position: relative;
162
- bottom: 2px;
163
- }
164
-
165
- /* Desktop Only */
166
- @media (min-width: ($brBreakPointMobile + 1)) {
167
- .BRtoolbar.responsive { display: block; }
168
- }
169
-
170
- li.BRtable-contents-el {
171
- line-height: 150%;
172
- padding: 10px 10px 10px 20px;
173
- overflow: hidden;
174
- color: $controlsText;
175
-
176
- &.chapter-clickable {
177
- font-weight: normal;
178
- }
179
-
180
- &.current-chapter {
181
- background-color: lightblue;
182
- }
183
- //resetting mmenu styling for span inside .table-contents-el
184
- > span {
185
- display: inline;
186
- padding: 0;
187
- white-space: normal;
188
- }
189
-
190
- .BRTOCElementPage {
191
- font-size: 0.85em;
192
- opacity: .8;
193
- }
194
- }
@@ -1,261 +0,0 @@
1
- /*
2
- * jQuery dragscrollable Plugin
3
- * version: 1.0 (25-Jun-2009)
4
- * Copyright (c) 2009 Miquel Herrera
5
- *
6
- * Portions Copyright (c) 2010 Reg Braithwaite
7
- * Copyright (c) 2010 Internet Archive / Michael Ang
8
- * Copyright (c) 2016 Internet Archive / Richard Caceres
9
- *
10
- * Dual licensed under the MIT and GPL licenses:
11
- * http://www.opensource.org/licenses/mit-license.php
12
- * http://www.gnu.org/licenses/gpl.html
13
- *
14
- * Modified by richard@archive.org 2016
15
- * - Added check to disable on touch enabled devices
16
- * - Change dragend handler to bind using event "capturing" instead of "bubbling"
17
- */
18
- (function($) { // secure $ jQuery alias
19
-
20
- /**
21
- * Adds the ability to manage elements scroll by dragging
22
- * one or more of its descendant elements. Options parameter
23
- * allow to specifically select which inner elements will
24
- * respond to the drag events.
25
- *
26
- * options properties:
27
- * ------------------------------------------------------------------------
28
- * dragSelector | jquery selector to apply to each wrapped element
29
- * | to find which will be the dragging elements.
30
- * | Defaults to '>:first' which is the first child of
31
- * | scrollable element
32
- * ------------------------------------------------------------------------
33
- * acceptPropagatedEvent| Will the dragging element accept propagated
34
- * | events? default is yes, a propagated mouse event
35
- * | on a inner element will be accepted and processed.
36
- * | If set to false, only events originated on the
37
- * | draggable elements will be processed.
38
- * ------------------------------------------------------------------------
39
- * preventDefault | Prevents the event to propagate further effectivey
40
- * | disabling other default actions. Defaults to true
41
- * ------------------------------------------------------------------------
42
- * scrollWindow | Scroll the window rather than the element
43
- * | Defaults to false
44
- * ------------------------------------------------------------------------
45
- *
46
- * usage examples:
47
- *
48
- * To add the scroll by drag to the element id=viewport when dragging its
49
- * first child accepting any propagated events
50
- * $('#viewport').dragscrollable();
51
- *
52
- * To add the scroll by drag ability to any element div of class viewport
53
- * when dragging its first descendant of class dragMe responding only to
54
- * evcents originated on the '.dragMe' elements.
55
- * $('div.viewport').dragscrollable({dragSelector:'.dragMe:first',
56
- * acceptPropagatedEvent: false});
57
- *
58
- * Notice that some 'viewports' could be nested within others but events
59
- * would not interfere as acceptPropagatedEvent is set to false.
60
- *
61
- */
62
-
63
- var append_namespace = function (string_of_events, ns) {
64
-
65
- /* IE doesn't have map
66
- return string_of_events
67
- .split(' ')
68
- .map(function (name) { return name + ns; })
69
- .join(' ');
70
- */
71
- var pieces = string_of_events.split(' ');
72
- var ret = new Array();
73
- for (var i = 0; i < pieces.length; i++) {
74
- ret.push(pieces[i] + ns);
75
- }
76
- return ret.join(' ');
77
- };
78
-
79
- var left_top = function(event) {
80
-
81
- var x;
82
- var y;
83
- if (typeof(event.clientX) != 'undefined') {
84
- x = event.clientX;
85
- y = event.clientY;
86
- }
87
- else if (typeof(event.screenX) != 'undefined') {
88
- x = event.screenX;
89
- y = event.screenY;
90
- }
91
- else if (typeof(event.targetTouches) != 'undefined') {
92
- x = event.targetTouches[0].pageX;
93
- y = event.targetTouches[0].pageY;
94
- }
95
- else if (typeof(event.originalEvent) == 'undefined') {
96
- var str = '';
97
- for (const i in event) {
98
- str += ', ' + i + ': ' + event[i];
99
- }
100
- console.error("don't understand x and y for " + event.type + ' event: ' + str);
101
- }
102
- else if (typeof(event.originalEvent.clientX) != 'undefined') {
103
- x = event.originalEvent.clientX;
104
- y = event.originalEvent.clientY;
105
- }
106
- else if (typeof(event.originalEvent.screenX) != 'undefined') {
107
- x = event.originalEvent.screenX;
108
- y = event.originalEvent.screenY;
109
- }
110
- else if (typeof(event.originalEvent.targetTouches) != 'undefined') {
111
- x = event.originalEvent.targetTouches[0].pageX;
112
- y = event.originalEvent.targetTouches[0].pageY;
113
- }
114
-
115
- return {left: x, top:y};
116
- };
117
-
118
- $.fn.dragscrollable = function( options ) {
119
-
120
- var handling_element = $(this);
121
-
122
- var settings = $.extend(
123
- {
124
- dragSelector:'>:first',
125
- acceptPropagatedEvent: true,
126
- preventDefault: true,
127
- dragstart: 'mousedown touchstart',
128
- dragcontinue: 'mousemove touchmove',
129
- dragend: 'mouseup touchend', // mouseleave
130
- dragMinDistance: 5,
131
- namespace: '.ds',
132
- scrollWindow: false,
133
- },options || {});
134
-
135
- settings.dragstart = append_namespace(settings.dragstart, settings.namespace);
136
- settings.dragcontinue = append_namespace(settings.dragcontinue, settings.namespace);
137
- //settings.dragend = append_namespace(settings.dragend, settings.namespace);
138
-
139
- var shouldAbort = function() {
140
- var isTouchDevice = !!('ontouchstart' in window) || !!('msmaxtouchpoints' in window.navigator);
141
- return isTouchDevice;
142
- };
143
-
144
- var dragContinueHandlerProxy;
145
-
146
- var dragscroll = {
147
- dragStartHandler : function(event) {
148
- if (shouldAbort()) { return true; }
149
-
150
- // mousedown, left click, check propagation
151
- if (event.which > 1 ||
152
- (!event.data.acceptPropagatedEvent && event.target != this)) {
153
- return false;
154
- }
155
-
156
- event.data.firstCoord = left_top(event);
157
- // Initial coordinates will be the last when dragging
158
- event.data.lastCoord = event.data.firstCoord;
159
-
160
- handling_element
161
- .bind(settings.dragcontinue, event.data, dragscroll.dragContinueHandler)
162
- //.bind(settings.dragend, event.data, dragscroll.dragEndHandler)
163
- ;
164
-
165
- // Note, we bind using addEventListener so we can use "capture" binding
166
- // instead of "bubble" binding
167
- dragContinueHandlerProxy = function(e) {
168
- e.data = event.data;
169
- dragscroll.dragEndHandler(e);
170
- };
171
- $.each(settings.dragend.split(' '), function(idx, val) {
172
- handling_element.get(0).addEventListener(val, dragContinueHandlerProxy, true);
173
- });
174
-
175
- if (event.data.preventDefault) {
176
- event.preventDefault();
177
- return false;
178
- }
179
- },
180
- dragContinueHandler : function(event) { // User is dragging
181
- // console.log('drag continue');
182
- if (shouldAbort()) { return true; }
183
-
184
- var lt = left_top(event);
185
-
186
- // How much did the mouse move?
187
- var delta = {left: (lt.left - event.data.lastCoord.left),
188
- top: (lt.top - event.data.lastCoord.top)};
189
-
190
- var scrollTarget = event.data.scrollable;
191
- if (event.data.scrollWindow) {
192
- scrollTarget = $(window);
193
- }
194
- // Set the scroll position relative to what ever the scroll is now
195
- scrollTarget.scrollLeft( scrollTarget.scrollLeft() - delta.left );
196
- scrollTarget.scrollTop( scrollTarget.scrollTop() - delta.top );
197
-
198
- // Save where the cursor is
199
- event.data.lastCoord = lt;
200
-
201
- if (event.data.preventDefault) {
202
- event.preventDefault();
203
- return false;
204
- }
205
- },
206
- dragEndHandler : function(event) { // Stop scrolling
207
- //console.log('dragEndHandler');
208
-
209
- if (shouldAbort()) { return true; }
210
-
211
- handling_element
212
- .unbind(settings.dragcontinue)
213
- // Note, for some reason, even though I removeEventListener below,
214
- // this call to unbind is still necessary. I don't know why.
215
- .unbind(settings.dragend)
216
- ;
217
-
218
- // Note, we bind using addEventListener so we can use "capture" binding
219
- // instead of "bubble" binding
220
- $.each(settings.dragend.split(' '), function(idx, val) {
221
- handling_element.get(0).removeEventListener(val, dragContinueHandlerProxy, true);
222
- });
223
-
224
- // How much did the mouse move total?
225
- var delta = {left: Math.abs(event.data.lastCoord.left - event.data.firstCoord.left),
226
- top: Math.abs(event.data.lastCoord.top - event.data.firstCoord.top)};
227
- var distance = Math.max(delta.left, delta.top);
228
-
229
- // Allow event to propagate if min distance was not achieved
230
- if (event.data.preventDefault && distance > settings.dragMinDistance) {
231
- event.preventDefault();
232
- event.stopImmediatePropagation();
233
- event.stopPropagation();
234
- return false;
235
- }
236
- }
237
- };
238
-
239
- // set up the initial events
240
- return this.each(function() {
241
- // closure object data for each scrollable element
242
- var data = {scrollable : $(this),
243
- acceptPropagatedEvent : settings.acceptPropagatedEvent,
244
- preventDefault : settings.preventDefault,
245
- scrollWindow : settings.scrollWindow };
246
- // Set mouse initiating event on the desired descendant
247
- $(this).find(settings.dragSelector).
248
- bind(settings.dragstart, data, dragscroll.dragStartHandler);
249
- });
250
- }; //end plugin dragscrollable
251
-
252
- // Note, this probably doesn't work anymore with our modifications - Nov/8/2016
253
- $.fn.removedragscrollable = function (namespace) {
254
- if (typeof(namespace) == 'undefined')
255
- namespace = '.ds';
256
- return this.each(function() {
257
- $(document).find('*').andSelf().unbind(namespace);
258
- });
259
- };
260
-
261
- })( jQuery ); // confine scope
@@ -1,2 +0,0 @@
1
- import 'lit-element';
2
- import 'lit-html';