@internetarchive/bookreader 5.0.0-28-remove-url-defaults → 5.0.0-29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (226) hide show
  1. package/.husky/_/husky.sh +30 -0
  2. package/BookReader/BookReader.css +1 -1
  3. package/BookReader/BookReader.js +1 -1
  4. package/BookReader/BookReader.js.map +1 -1
  5. package/BookReader/bookreader-component-bundle.js +570 -542
  6. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +23 -0
  7. package/BookReader/bookreader-component-bundle.js.map +1 -1
  8. package/BookReader/plugins/plugin.search.js +1 -1
  9. package/BookReader/plugins/plugin.search.js.map +1 -1
  10. package/BookReaderDemo/BookReaderDemo.css +14 -1
  11. package/BookReaderDemo/IADemoBr.js +104 -0
  12. package/BookReaderDemo/demo-internetarchive.html +65 -98
  13. package/CHANGELOG.md +4 -0
  14. package/package.json +9 -6
  15. package/src/BookNavigator/assets/ia-logo.js +17 -0
  16. package/src/BookNavigator/book-navigator.js +521 -0
  17. package/src/BookNavigator/bookmarks/bookmark-button.js +2 -1
  18. package/src/BookNavigator/bookmarks/bookmarks-provider.js +20 -8
  19. package/src/BookNavigator/bookmarks/ia-bookmarks.js +84 -51
  20. package/src/BookNavigator/downloads/downloads-provider.js +5 -9
  21. package/src/BookNavigator/downloads/downloads.js +1 -0
  22. package/src/BookNavigator/search/search-provider.js +15 -8
  23. package/src/BookNavigator/sharing.js +27 -0
  24. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +9 -8
  25. package/src/BookNavigator/volumes/volumes-provider.js +3 -4
  26. package/src/BookReader/options.js +6 -0
  27. package/src/BookReader.js +20 -8
  28. package/src/BookReaderComponent/BookReaderComponent.js +53 -32
  29. package/src/css/_BRComponent.scss +1 -1
  30. package/src/plugins/search/plugin.search.js +9 -9
  31. package/{src → stat}/BookNavigator/BookModel.js +0 -0
  32. package/{src → stat}/BookNavigator/BookNavigator.js +109 -102
  33. package/stat/BookNavigator/assets/bookmark-colors.js +15 -0
  34. package/stat/BookNavigator/assets/button-base.js +61 -0
  35. package/stat/BookNavigator/assets/ia-logo.js +17 -0
  36. package/stat/BookNavigator/assets/icon_checkmark.js +6 -0
  37. package/stat/BookNavigator/assets/icon_close.js +3 -0
  38. package/stat/BookNavigator/assets/icon_sort_asc.js +5 -0
  39. package/stat/BookNavigator/assets/icon_sort_desc.js +5 -0
  40. package/stat/BookNavigator/assets/icon_sort_neutral.js +5 -0
  41. package/stat/BookNavigator/assets/icon_volumes.js +11 -0
  42. package/stat/BookNavigator/bookmarks/bookmark-button.js +64 -0
  43. package/stat/BookNavigator/bookmarks/bookmark-edit.js +215 -0
  44. package/stat/BookNavigator/bookmarks/bookmarks-list.js +285 -0
  45. package/stat/BookNavigator/bookmarks/bookmarks-loginCTA.js +28 -0
  46. package/stat/BookNavigator/bookmarks/bookmarks-provider.js +56 -0
  47. package/stat/BookNavigator/bookmarks/ia-bookmarks.js +523 -0
  48. package/{src → stat}/BookNavigator/br-fullscreen-mgr.js +1 -2
  49. package/stat/BookNavigator/delete-modal-actions.js +49 -0
  50. package/stat/BookNavigator/downloads/downloads-provider.js +72 -0
  51. package/stat/BookNavigator/downloads/downloads.js +139 -0
  52. package/stat/BookNavigator/provider-config.js +0 -0
  53. package/stat/BookNavigator/search/a-search-result.js +55 -0
  54. package/stat/BookNavigator/search/search-provider.js +180 -0
  55. package/stat/BookNavigator/search/search-results.js +360 -0
  56. package/{src/ItemNavigator/providers → stat/BookNavigator}/sharing.js +3 -5
  57. package/stat/BookNavigator/visual-adjustments/visual-adjustments-provider.js +94 -0
  58. package/stat/BookNavigator/visual-adjustments/visual-adjustments.js +280 -0
  59. package/stat/BookNavigator/volumes/volumes-provider.js +83 -0
  60. package/stat/BookNavigator/volumes/volumes.js +178 -0
  61. package/stat/BookReader/BookModel.js +518 -0
  62. package/stat/BookReader/DebugConsole.js +54 -0
  63. package/stat/BookReader/DragScrollable.js +233 -0
  64. package/stat/BookReader/ImageCache.js +116 -0
  65. package/stat/BookReader/Mode1Up.js +102 -0
  66. package/stat/BookReader/Mode1UpLit.js +434 -0
  67. package/stat/BookReader/Mode2Up.js +1372 -0
  68. package/stat/BookReader/ModeSmoothZoom.js +177 -0
  69. package/stat/BookReader/ModeThumb.js +344 -0
  70. package/stat/BookReader/Navbar/Navbar.js +310 -0
  71. package/stat/BookReader/PageContainer.js +120 -0
  72. package/stat/BookReader/ReduceSet.js +26 -0
  73. package/stat/BookReader/Toolbar/Toolbar.js +384 -0
  74. package/stat/BookReader/events.js +20 -0
  75. package/stat/BookReader/options.js +324 -0
  76. package/stat/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  77. package/stat/BookReader/utils/classes.js +36 -0
  78. package/stat/BookReader/utils.js +240 -0
  79. package/stat/BookReader.js +2550 -0
  80. package/stat/BookReaderComponent/BookReaderComponent.js +117 -0
  81. package/stat/assets/icons/1up.svg +12 -0
  82. package/stat/assets/icons/2up.svg +15 -0
  83. package/stat/assets/icons/advance.svg +26 -0
  84. package/stat/assets/icons/chevron-right.svg +1 -0
  85. package/stat/assets/icons/close-circle-dark.svg +1 -0
  86. package/stat/assets/icons/close-circle.svg +1 -0
  87. package/stat/assets/icons/fullscreen.svg +17 -0
  88. package/stat/assets/icons/fullscreen_exit.svg +17 -0
  89. package/stat/assets/icons/hamburger.svg +15 -0
  90. package/stat/assets/icons/left-arrow.svg +12 -0
  91. package/stat/assets/icons/magnify-minus.svg +16 -0
  92. package/stat/assets/icons/magnify-plus.svg +17 -0
  93. package/stat/assets/icons/magnify.svg +15 -0
  94. package/stat/assets/icons/pause.svg +23 -0
  95. package/stat/assets/icons/play.svg +22 -0
  96. package/stat/assets/icons/playback-speed.svg +34 -0
  97. package/stat/assets/icons/read-aloud.svg +22 -0
  98. package/stat/assets/icons/review.svg +22 -0
  99. package/stat/assets/icons/thumbnails.svg +17 -0
  100. package/stat/assets/icons/voice.svg +1 -0
  101. package/stat/assets/icons/volume-full.svg +22 -0
  102. package/stat/assets/images/BRicons.png +0 -0
  103. package/stat/assets/images/BRicons.svg +94 -0
  104. package/stat/assets/images/BRicons_ia.png +0 -0
  105. package/stat/assets/images/back_pages.png +0 -0
  106. package/stat/assets/images/book_bottom_icon.png +0 -0
  107. package/stat/assets/images/book_down_icon.png +0 -0
  108. package/stat/assets/images/book_left_icon.png +0 -0
  109. package/stat/assets/images/book_leftmost_icon.png +0 -0
  110. package/stat/assets/images/book_right_icon.png +0 -0
  111. package/stat/assets/images/book_rightmost_icon.png +0 -0
  112. package/stat/assets/images/book_top_icon.png +0 -0
  113. package/stat/assets/images/book_up_icon.png +0 -0
  114. package/stat/assets/images/books_graphic.svg +177 -0
  115. package/stat/assets/images/booksplit.png +0 -0
  116. package/stat/assets/images/control_pause_icon.png +0 -0
  117. package/stat/assets/images/control_play_icon.png +0 -0
  118. package/stat/assets/images/embed_icon.png +0 -0
  119. package/stat/assets/images/icon-home-ia.png +0 -0
  120. package/stat/assets/images/icon_OL-logo-xs.png +0 -0
  121. package/stat/assets/images/icon_alert-xs.png +0 -0
  122. package/stat/assets/images/icon_book.svg +12 -0
  123. package/stat/assets/images/icon_bookmark.svg +12 -0
  124. package/stat/assets/images/icon_close-pop.png +0 -0
  125. package/stat/assets/images/icon_download.png +0 -0
  126. package/stat/assets/images/icon_gear.svg +14 -0
  127. package/stat/assets/images/icon_hamburger.svg +20 -0
  128. package/stat/assets/images/icon_home.png +0 -0
  129. package/stat/assets/images/icon_home.svg +21 -0
  130. package/stat/assets/images/icon_home_ia.png +0 -0
  131. package/stat/assets/images/icon_indicator.png +0 -0
  132. package/stat/assets/images/icon_info.svg +11 -0
  133. package/stat/assets/images/icon_one_page.svg +8 -0
  134. package/stat/assets/images/icon_pause.svg +1 -0
  135. package/stat/assets/images/icon_play.svg +1 -0
  136. package/stat/assets/images/icon_playback-rate.svg +15 -0
  137. package/stat/assets/images/icon_return.png +0 -0
  138. package/stat/assets/images/icon_search_button.svg +8 -0
  139. package/stat/assets/images/icon_share.svg +9 -0
  140. package/stat/assets/images/icon_skip-ahead.svg +6 -0
  141. package/stat/assets/images/icon_skip-back.svg +13 -0
  142. package/stat/assets/images/icon_speaker.svg +18 -0
  143. package/stat/assets/images/icon_speaker_open.svg +10 -0
  144. package/stat/assets/images/icon_thumbnails.svg +12 -0
  145. package/stat/assets/images/icon_toc.svg +5 -0
  146. package/stat/assets/images/icon_two_pages.svg +9 -0
  147. package/stat/assets/images/icon_zoomer.png +0 -0
  148. package/stat/assets/images/loading.gif +0 -0
  149. package/stat/assets/images/logo_icon.png +0 -0
  150. package/stat/assets/images/marker_chap-off.png +0 -0
  151. package/stat/assets/images/marker_chap-off.svg +11 -0
  152. package/stat/assets/images/marker_chap-off_ia.png +0 -0
  153. package/stat/assets/images/marker_chap-on.png +0 -0
  154. package/stat/assets/images/marker_chap-on.svg +11 -0
  155. package/stat/assets/images/marker_srch-on.svg +11 -0
  156. package/stat/assets/images/marker_srchchap-off.png +0 -0
  157. package/stat/assets/images/marker_srchchap-on.png +0 -0
  158. package/stat/assets/images/nav_control-dn.png +0 -0
  159. package/stat/assets/images/nav_control-dn_ia.png +0 -0
  160. package/stat/assets/images/nav_control-up.png +0 -0
  161. package/stat/assets/images/nav_control-up_ia.png +0 -0
  162. package/stat/assets/images/nav_control.png +0 -0
  163. package/stat/assets/images/one_page_mode_icon.png +0 -0
  164. package/stat/assets/images/paper-badge.png +0 -0
  165. package/stat/assets/images/print_icon.png +0 -0
  166. package/stat/assets/images/progressbar.gif +0 -0
  167. package/stat/assets/images/right_edges.png +0 -0
  168. package/stat/assets/images/slider.png +0 -0
  169. package/stat/assets/images/slider_ia.png +0 -0
  170. package/stat/assets/images/thumbnail_mode_icon.png +0 -0
  171. package/stat/assets/images/transparent.png +0 -0
  172. package/stat/assets/images/two_page_mode_icon.png +0 -0
  173. package/stat/assets/images/zoom_in_icon.png +0 -0
  174. package/stat/assets/images/zoom_out_icon.png +0 -0
  175. package/stat/css/BookReader.scss +89 -0
  176. package/stat/css/_BRBookmarks.scss +29 -0
  177. package/stat/css/_BRComponent.scss +13 -0
  178. package/stat/css/_BRfloat.scss +197 -0
  179. package/stat/css/_BRicon.scss +48 -0
  180. package/stat/css/_BRmain.scss +251 -0
  181. package/stat/css/_BRnav.scss +359 -0
  182. package/stat/css/_BRpages.scss +139 -0
  183. package/stat/css/_BRsearch.scss +226 -0
  184. package/stat/css/_BRtoolbar.scss +84 -0
  185. package/stat/css/_BRvendor.scss +5 -0
  186. package/stat/css/_MobileNav.scss +194 -0
  187. package/stat/css/_TextSelection.scss +32 -0
  188. package/stat/css/_colorbox.scss +52 -0
  189. package/stat/css/_controls.scss +253 -0
  190. package/stat/css/_icons.scss +121 -0
  191. package/stat/jquery-wrapper.js +4 -0
  192. package/stat/plugins/plugin.archive_analytics.js +86 -0
  193. package/stat/plugins/plugin.autoplay.js +129 -0
  194. package/stat/plugins/plugin.chapters.js +248 -0
  195. package/stat/plugins/plugin.iframe.js +48 -0
  196. package/stat/plugins/plugin.mobile_nav.js +288 -0
  197. package/stat/plugins/plugin.resume.js +68 -0
  198. package/stat/plugins/plugin.text_selection.js +291 -0
  199. package/stat/plugins/plugin.url.js +198 -0
  200. package/stat/plugins/plugin.vendor-fullscreen.js +247 -0
  201. package/stat/plugins/search/plugin.search.js +439 -0
  202. package/stat/plugins/search/view.js +439 -0
  203. package/stat/plugins/tts/AbstractTTSEngine.js +249 -0
  204. package/stat/plugins/tts/FestivalTTSEngine.js +169 -0
  205. package/stat/plugins/tts/PageChunk.js +107 -0
  206. package/stat/plugins/tts/PageChunkIterator.js +163 -0
  207. package/stat/plugins/tts/WebTTSEngine.js +357 -0
  208. package/stat/plugins/tts/plugin.tts.js +357 -0
  209. package/stat/plugins/tts/tooltip_dict.js +15 -0
  210. package/stat/plugins/tts/utils.js +91 -0
  211. package/stat/util/browserSniffing.js +30 -0
  212. package/stat/util/debouncer.js +26 -0
  213. package/stat/util/docCookies.js +67 -0
  214. package/stat/util/strings.js +34 -0
  215. package/tests/e2e/viewmode.test.js +30 -30
  216. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +64 -52
  217. package/tests/karma/BookNavigator/book-navigator.test.js +413 -108
  218. package/tests/karma/BookNavigator/bookmarks/bookmark-button.test.js +44 -0
  219. package/tests/karma/BookNavigator/downloads/downloads-provider.test.js +6 -3
  220. package/tests/karma/BookNavigator/search/search-provider.test.js +106 -6
  221. package/tests/karma/BookNavigator/search/search-results.test.js +0 -2
  222. package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +29 -20
  223. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +41 -17
  224. package/.nvmrc +0 -1
  225. package/src/BookNavigator/assets/book-loader.js +0 -27
  226. package/src/ItemNavigator/ItemNavigator.js +0 -377
@@ -0,0 +1,139 @@
1
+ .BRpageview {
2
+ position: relative;
3
+ margin: auto;
4
+ }
5
+
6
+ .BRmode1up .BRpagecontainer, .BRmodeThumb .BRpagecontainer {
7
+ box-shadow: 1px 1px 2px #333;
8
+ img {
9
+ border: 0;
10
+ }
11
+ }
12
+
13
+ .BRmodeThumb .BRpagecontainer, .BRmode2Up .BRpagecontainer {
14
+ cursor: pointer;
15
+ }
16
+ .BRpagecontainer.BRemptypage {
17
+ cursor: unset;
18
+ }
19
+
20
+ .br-mode-1up__root {
21
+ display: block;
22
+ overflow: auto;
23
+ position: relative;
24
+ width: 100%;
25
+ height: 100%;
26
+
27
+ // This is a performance optimization that basically tells the browser "the size
28
+ // of this element doesn't depend on the size of its children".
29
+ contain: strict;
30
+
31
+ .br-mode-1up__world {
32
+ position: absolute;
33
+ transform-origin: 0 0;
34
+ }
35
+
36
+ .br-mode-1up__visible-world {
37
+ position: absolute;
38
+ transform-origin: 0 0;
39
+ }
40
+ }
41
+
42
+ .BRpagecontainer {
43
+ position: relative;
44
+ overflow: hidden;
45
+ background: $brColorPlaceholderBg;
46
+ img {
47
+ position: absolute;
48
+ background: transparent;
49
+ display: block;
50
+ width: 100%;
51
+ height: 100%;
52
+ }
53
+ .BRscreen {
54
+ position: absolute;
55
+ top: 0;
56
+ right: 0;
57
+ bottom: 0;
58
+ left: 0;
59
+ z-index: 1;
60
+ }
61
+ &.BRpageloading img {
62
+ // Don't show the alt text while loading
63
+ color: transparent;
64
+ }
65
+ &.BRemptypage {
66
+ background: transparent;
67
+ img {
68
+ background-image: none;
69
+ }
70
+ }
71
+ }
72
+
73
+ svg.BRPageLayer {
74
+ position: absolute;
75
+ top: 0;
76
+ left: 0;
77
+ right: 0;
78
+ bottom: 0;
79
+ }
80
+
81
+ // Hides page layers during page flip animation
82
+ .BRpageFlipping .BRPageLayer {
83
+ display: none;
84
+ }
85
+
86
+ .BRbookcover {
87
+ position: absolute;
88
+ background-image: none;
89
+ box-shadow: 1px 0 10px #111;
90
+ }
91
+ .BRPreview .BRpageimage {
92
+ background-color: #eee;
93
+ -webkit-filter: grayscale(100%);
94
+ filter: grayscale(100%);
95
+ }
96
+
97
+ .BRleafEdgeR {
98
+ border-style: solid solid solid none;
99
+ border-color: rgb(51, 51, 34);
100
+ border-width: 1px 1px 1px 0px;
101
+
102
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%;
103
+ position: absolute;
104
+ cursor: pointer;
105
+ }
106
+
107
+ .BRleafEdgeL {
108
+ /* border-style: solid none solid solid;
109
+ border-color: rgb(51, 51, 34);
110
+ border-width: 1px 0px 1px 1px; */
111
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%; /* XXXmang replace file */
112
+ position: absolute;
113
+ cursor: pointer;
114
+ }
115
+
116
+ .BRleafEdgeTmp {
117
+ /* border-style: solid none solid solid;
118
+ border-color: rgb(51, 51, 34);
119
+ border-width: 1px 0px 1px 1px; */
120
+ background: transparent url(images/back_pages.png) repeat scroll 0% 0%; /* XXXmang replace file */
121
+ position: absolute;
122
+ }
123
+
124
+ .BRgutter {
125
+ /* border: 1px solid rgb(68, 25, 17); */
126
+ position: absolute;
127
+ background: transparent url(images/booksplit.png) repeat scroll 0% 0%;
128
+ }
129
+
130
+ .BRtwoPagePopUp {
131
+ padding: 6px;
132
+ position: absolute;
133
+ font-size: $brFontSizeSmaller;
134
+ color: white;
135
+ background-color: #9A9B9D;
136
+ opacity: 0.85;
137
+ border-radius: 4px;
138
+ white-space: nowrap;
139
+ }
@@ -0,0 +1,226 @@
1
+ %timeline-tooltip {
2
+ display: none;
3
+ position: absolute;
4
+ bottom: calc(100% + 5px);
5
+ left: 50%;
6
+ transform: translateX(-50%);
7
+ width: 230px;
8
+ padding: 12px 14px;
9
+ color: $tooltipText;
10
+ font-weight: bold;
11
+ background: $tooltipBG;
12
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .5);
13
+ &:after {
14
+ display: none;
15
+ position: absolute;
16
+ top: 100%;
17
+ left: 50%;
18
+ transform: translateX(-50%);
19
+ content: "";
20
+ border: 7px solid transparent;
21
+ border-width: 7px 4px;
22
+ border-bottom: none;
23
+ border-top-color: $tooltipBG;
24
+ }
25
+ }
26
+
27
+ #{$brScope} {
28
+ // FIXME: .ttsHiliteLayer should probably not be in this file,
29
+ // but they appear the same in the UI.
30
+ .searchHiliteLayer, .ttsHiliteLayer {
31
+ pointer-events: none;
32
+
33
+ rect {
34
+ fill: #0000ff;
35
+ fill-opacity: 0.2;
36
+ animation: hiliteFadeIn .2s;
37
+ }
38
+ }
39
+
40
+ .BRchapter, .BRsearch {
41
+ position: absolute;
42
+ bottom: 0; /* Relative to nav line */
43
+ cursor: pointer;
44
+ z-index: $brZindexBase + 2;
45
+ background-color: transparent;
46
+ background-repeat: no-repeat;
47
+ font-weight: normal;
48
+ }
49
+ .BRchapter {
50
+ // background-image: url(images/marker_chap-off.svg);
51
+ background-color: white;
52
+ color: #666;
53
+ height: 8px;
54
+ width: 4px;
55
+ bottom: -13px;
56
+ margin-left: -12px; /* Center icon */
57
+ > div {
58
+ @extend %timeline-tooltip;
59
+ }
60
+ &:hover {
61
+ > div {
62
+ display: block;
63
+ }
64
+ }
65
+ &.front {
66
+ // background-image: url(images/marker_chap-on.svg);
67
+ background-color: blue;
68
+ }
69
+ }
70
+ .BRsearch {
71
+ width: 9px;
72
+ height: 6px;
73
+ margin-left: -10px;
74
+ &:before {
75
+ position: absolute;
76
+ left: calc(50% - 2px);
77
+ transform: translateX(-50%);
78
+ width: 2px;
79
+ height: 6px;
80
+ content: "";
81
+ background: $searchMarkerBG;
82
+ border-radius: 2px;
83
+ }
84
+ &:hover {
85
+ .BRquery {
86
+ display: block;
87
+ }
88
+ }
89
+ }
90
+ .BRsearch .BRquery {
91
+ display: none;
92
+ }
93
+ .BRquery {
94
+ @extend %timeline-tooltip;
95
+ b {
96
+ color: $searchResultText;
97
+ font-weight: bold;
98
+ background-color: $searchResultBG;
99
+ }
100
+ }
101
+
102
+ .BRbooksearch {
103
+ position:relative;
104
+ box-sizing: border-box;
105
+ }
106
+ .BRbooksearch.desktop {
107
+ position: relative;
108
+ height: 30px;
109
+ border: 1px solid white;
110
+ border-radius: 20px;
111
+ display: inline-block;
112
+ line-height:0;
113
+ vertical-align: top;
114
+ margin-top: 0;
115
+ margin-bottom: 0;
116
+
117
+ .BRsearchInput {
118
+ -webkit-appearance: none;
119
+ position: relative;
120
+ width: 130px;
121
+ max-width: 160px;
122
+ height: 100%;
123
+ color: white;
124
+ outline: none;
125
+ border: none;
126
+ padding: 3px 0px 3px 10px;
127
+ margin: 0;
128
+ box-sizing: border-box;
129
+ background: transparent;
130
+ display: block;
131
+ float: left;
132
+ font-size: $brFontSizeBase;
133
+ line-height: 1.2;
134
+ }
135
+ .BRsearchSubmit {
136
+ width: auto;
137
+ height: 100%;
138
+ border: none;
139
+ text-align: center;
140
+ color: #fff;
141
+ overflow: hidden;
142
+ box-sizing:boder-box;
143
+ display: block;
144
+ background: transparent;
145
+ float: left;
146
+ cursor: pointer;
147
+ }
148
+ }
149
+
150
+ .BRsearch-navigation {
151
+ position: relative;
152
+ z-index: 1;
153
+ display: flex;
154
+ justify-content: space-between;
155
+ align-items: center;
156
+ color: $white;
157
+ background-color: $brColorDarkGreyBg;
158
+ padding: 5px 0;
159
+ button.toggle-sidebar {
160
+ width: unset;
161
+ padding: 0 10px;
162
+ h4 {
163
+ padding: 0;
164
+ margin: 0;
165
+ font-size: 15px;
166
+ font-weight: normal;
167
+ color: $white;
168
+ span {
169
+ vertical-align: middle;
170
+ }
171
+ }
172
+ }
173
+ .pagination {
174
+ position: absolute;
175
+ left: 50%;
176
+ top: 50%;
177
+ transform: translate(-50%, -50%);
178
+ margin: 0;
179
+ span {
180
+ display: inline-block;
181
+ padding: 0 5px;
182
+ }
183
+ button {
184
+ &[disabled] {
185
+ opacity: .3;
186
+ cursor: default;
187
+ }
188
+ span {
189
+ width: 8px;
190
+ height: 13px;
191
+ padding: 0;
192
+ background-size: 100% auto;
193
+ }
194
+ }
195
+ }
196
+ .clear {
197
+ span {
198
+ width: 18px;
199
+ height: 18px;
200
+ }
201
+ }
202
+ + .BRnav {
203
+ .BRnavCntl {
204
+ display: none;
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ @keyframes hiliteFadeIn {
211
+ from { fill-opacity: 0; }
212
+ }
213
+
214
+ /* Mid size breakpoint */
215
+ @media (max-width: $brBreakPointMid) {
216
+ #{$brScope} {
217
+ .BRbooksearch .BRsearchInput {
218
+ padding: 0 0 0 8px;
219
+ width: 110px;
220
+ min-width: 110px;
221
+ }
222
+ .BRbooksearch .BRsearchSubmit {
223
+ float: left;
224
+ }
225
+ }
226
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * BRtoolbar is the top control bar (eg header)
3
+ */
4
+
5
+ .BRtoolbar {
6
+ position: relative;
7
+ top: 0;
8
+ left: 0;
9
+ padding: 10px 10px 4px 10px;
10
+ width: 100%;
11
+ background-color: transparent;
12
+ box-sizing: border-box;
13
+ width: 100%;
14
+ color: white;
15
+ font-size: $brFontSizeBase;
16
+ /* ensure that this displays over book */
17
+ z-index: 3;
18
+ }
19
+ .BRtoolbar .label {
20
+ font-size: $brFontSizeSmaller;
21
+ color: #ccc;
22
+ }
23
+ .BRtoolbar a {
24
+ text-decoration: none;
25
+ color: white;
26
+ &:hover {
27
+ color: white;
28
+ text-decoration: underline;
29
+ }
30
+ }
31
+ /* desktop header */
32
+ .BRtoolbarSection > * {
33
+ margin-left: 6px;
34
+ }
35
+ .BRtoolbarbuttons {
36
+ white-space: nowrap;
37
+ text-align: right;
38
+ border-spacing: 0;
39
+ box-sizing: border-box;
40
+ display: flex;
41
+ flex-direction: row;
42
+ }
43
+ .BRtoolbarbuttons .BRpill {
44
+ border: 1px solid white;
45
+ background: transparent;
46
+ padding: 5px 10px;
47
+ height: 30px;
48
+ border-radius: 20px;
49
+ color: white;
50
+ line-height: 0;
51
+ vertical-align: middle;
52
+ font-size: $brFontSizeSmaller;
53
+ cursor: pointer;
54
+ &.BRtoolbarHamburger {
55
+ border: none;
56
+ border-radius: none;
57
+ }
58
+ }
59
+
60
+ .BRtoolbarSection {
61
+ white-space: nowrap;
62
+ }
63
+ .BRtoolbarSectionLogo {
64
+ text-align: center;
65
+ display: none;
66
+ }
67
+ .BRtoolbarLeft {
68
+ text-align: left;
69
+ flex: 1 auto;
70
+ overflow-y: hidden;
71
+ }
72
+ // .BRtoolbarSectionTitle {}
73
+ .BRtoolbarRight {
74
+ text-align: right;
75
+ flex: none;
76
+ }
77
+
78
+ @media (max-width: $brBreakPointMobile) {
79
+ .BRtoolbar {
80
+ height: $brNavHeightMobile;
81
+ padding: 0;
82
+ box-shadow: 0px 1px 3px 0px rgba(#666, .25);
83
+ }
84
+ }
@@ -0,0 +1,5 @@
1
+ /****************** Excerpt from jquery-ui *********************/
2
+ .ui-helper-hidden { display: none; }
3
+ .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
4
+ .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
5
+ .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
@@ -0,0 +1,194 @@
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
+ }
@@ -0,0 +1,32 @@
1
+ .textSelectionSVG {
2
+ // Make it so right-clicking on "blank" part of svg sends events to the image (for saving)
3
+ pointer-events: none;
4
+ .BRwordElement { pointer-events: all; }
5
+ &.selectingSVG {
6
+ pointer-events: auto;
7
+ cursor: text;
8
+ }
9
+
10
+ // Highlight colors for text selection layer ( these 2 properties do not work if joined)
11
+ .BRwordElement::selection {
12
+ background: hsla(210, 74%, 62%, 0.4);
13
+ }
14
+ .BRwordElement::-moz-selection {
15
+ background: hsla(210, 74%, 62%, 0.4);
16
+ color: transparent;
17
+ }
18
+
19
+ .BRparagElement {
20
+ fill: transparent;
21
+ cursor: text;
22
+ white-space: pre;
23
+ font-family: Georgia, serif;
24
+ }
25
+ }
26
+
27
+ // Makes page image unselectable
28
+ .BRpagecontainer img {
29
+ -webkit-user-select: none;
30
+ -moz-user-select: none;
31
+ user-select: none;
32
+ }