@internetarchive/bookreader 5.0.0-3 → 5.0.0-30-d

Sign up to get free protection for your applications and to get access to all the features.
Files changed (391) hide show
  1. package/.eslintrc.js +17 -5
  2. package/.github/dependabot.yml +8 -0
  3. package/.github/workflows/node.js.yml +10 -1
  4. package/.husky/_/husky.sh +30 -0
  5. package/.testcaferc.js +10 -0
  6. package/BookReader/BookReader.css +75 -323
  7. package/BookReader/BookReader.js +32261 -2
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +15235 -0
  10. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  11. package/BookReader/icons/close-circle-dark.svg +1 -0
  12. package/BookReader/icons/voice.svg +1 -0
  13. package/BookReader/jquery-1.10.1.js +108 -2
  14. package/BookReader/plugins/plugin.archive_analytics.js +170 -1
  15. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  16. package/BookReader/plugins/plugin.autoplay.js +163 -1
  17. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  18. package/BookReader/plugins/plugin.chapters.js +333 -1
  19. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  20. package/BookReader/plugins/plugin.iframe.js +72 -1
  21. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  22. package/BookReader/plugins/plugin.mobile_nav.js +332 -1
  23. package/BookReader/plugins/plugin.mobile_nav.js.map +1 -1
  24. package/BookReader/plugins/plugin.resume.js +241 -1
  25. package/BookReader/plugins/plugin.resume.js.map +1 -1
  26. package/BookReader/plugins/plugin.search.js +1261 -1
  27. package/BookReader/plugins/plugin.search.js.map +1 -1
  28. package/BookReader/plugins/plugin.text_selection.js +839 -1
  29. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  30. package/BookReader/plugins/plugin.tts.js +9115 -2
  31. package/BookReader/plugins/plugin.tts.js.map +1 -1
  32. package/BookReader/plugins/plugin.url.js +811 -1
  33. package/BookReader/plugins/plugin.url.js.map +1 -1
  34. package/BookReader/plugins/plugin.vendor-fullscreen.js +326 -1
  35. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  36. package/BookReader/webcomponents-bundle.js +412 -0
  37. package/BookReader/webcomponents-bundle.js.map +1 -0
  38. package/BookReaderDemo/BookReaderDemo.css +14 -1
  39. package/BookReaderDemo/IADemoBr.js +107 -0
  40. package/BookReaderDemo/demo-advanced.html +1 -1
  41. package/BookReaderDemo/demo-autoplay.html +1 -0
  42. package/BookReaderDemo/demo-embed-iframe-src.html +1 -0
  43. package/BookReaderDemo/demo-fullscreen-mobile.html +1 -0
  44. package/BookReaderDemo/demo-fullscreen.html +1 -0
  45. package/BookReaderDemo/demo-iiif.html +1 -0
  46. package/BookReaderDemo/demo-internetarchive.html +66 -18
  47. package/BookReaderDemo/demo-multiple.html +1 -0
  48. package/BookReaderDemo/demo-preview-pages.html +1 -0
  49. package/BookReaderDemo/demo-simple.html +1 -0
  50. package/BookReaderDemo/demo-vendor-fullscreen.html +1 -0
  51. package/BookReaderDemo/immersion-1up.html +1 -0
  52. package/BookReaderDemo/immersion-mode.html +1 -0
  53. package/BookReaderDemo/toggle_controls.html +1 -0
  54. package/BookReaderDemo/view_mode.html +1 -0
  55. package/BookReaderDemo/viewmode-cycle.html +1 -2
  56. package/CHANGELOG.md +114 -0
  57. package/babel.config.js +18 -0
  58. package/index.html +3 -0
  59. package/jsconfig.json +19 -0
  60. package/package.json +45 -27
  61. package/src/BookNavigator/assets/button-base.js +8 -1
  62. package/src/BookNavigator/assets/ia-logo.js +17 -0
  63. package/src/BookNavigator/assets/icon_sort_asc.js +5 -0
  64. package/src/BookNavigator/assets/icon_sort_desc.js +5 -0
  65. package/src/BookNavigator/assets/icon_sort_neutral.js +5 -0
  66. package/src/BookNavigator/assets/icon_volumes.js +11 -0
  67. package/src/BookNavigator/book-navigator.js +528 -0
  68. package/src/BookNavigator/bookmarks/bookmark-button.js +2 -1
  69. package/src/BookNavigator/bookmarks/bookmark-edit.js +2 -1
  70. package/src/BookNavigator/bookmarks/bookmarks-list.js +1 -0
  71. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +4 -9
  72. package/src/BookNavigator/bookmarks/bookmarks-provider.js +32 -11
  73. package/src/BookNavigator/bookmarks/ia-bookmarks.js +88 -43
  74. package/src/BookNavigator/downloads/downloads-provider.js +22 -16
  75. package/src/BookNavigator/downloads/downloads.js +16 -23
  76. package/src/BookNavigator/search/a-search-result.js +1 -0
  77. package/src/BookNavigator/search/search-provider.js +54 -20
  78. package/src/BookNavigator/search/search-results.js +7 -18
  79. package/src/BookNavigator/sharing.js +27 -0
  80. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +10 -12
  81. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +1 -0
  82. package/src/BookNavigator/volumes/volumes-provider.js +114 -0
  83. package/src/BookNavigator/volumes/volumes.js +189 -0
  84. package/src/BookReader/DebugConsole.js +3 -3
  85. package/src/BookReader/DragScrollable.js +233 -0
  86. package/src/BookReader/Mode1Up.js +50 -351
  87. package/src/BookReader/Mode1UpLit.js +434 -0
  88. package/src/BookReader/Mode2Up.js +94 -72
  89. package/src/BookReader/ModeSmoothZoom.js +177 -0
  90. package/src/BookReader/ModeThumb.js +16 -8
  91. package/src/BookReader/Navbar/Navbar.js +2 -31
  92. package/src/BookReader/PageContainer.js +47 -2
  93. package/src/BookReader/ReduceSet.js +1 -1
  94. package/src/BookReader/Toolbar/Toolbar.js +5 -5
  95. package/src/BookReader/options.js +10 -0
  96. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  97. package/src/BookReader/utils.js +68 -13
  98. package/src/BookReader.js +316 -232
  99. package/src/assets/icons/close-circle-dark.svg +1 -0
  100. package/src/assets/icons/voice.svg +1 -0
  101. package/src/css/BookReader.scss +0 -12
  102. package/src/css/_BRComponent.scss +1 -1
  103. package/src/css/_BRmain.scss +19 -24
  104. package/src/css/_BRnav.scss +4 -26
  105. package/src/css/_BRpages.scss +35 -0
  106. package/src/css/_BRsearch.scss +11 -215
  107. package/src/css/_TextSelection.scss +1 -17
  108. package/src/css/_controls.scss +16 -3
  109. package/src/css/_icons.scss +6 -0
  110. package/src/ia-bookreader/ia-bookreader.js +206 -0
  111. package/src/plugins/plugin.chapters.js +15 -18
  112. package/src/plugins/plugin.mobile_nav.js +11 -10
  113. package/src/plugins/plugin.resume.js +3 -3
  114. package/src/plugins/plugin.text_selection.js +17 -29
  115. package/src/plugins/plugin.vendor-fullscreen.js +4 -4
  116. package/src/plugins/search/plugin.search.js +113 -104
  117. package/src/plugins/search/view.js +48 -163
  118. package/src/plugins/tts/AbstractTTSEngine.js +7 -0
  119. package/src/plugins/tts/FestivalTTSEngine.js +2 -2
  120. package/src/plugins/tts/WebTTSEngine.js +5 -0
  121. package/src/plugins/tts/plugin.tts.js +67 -102
  122. package/src/plugins/url/UrlPlugin.js +184 -0
  123. package/src/plugins/url/plugin.url.js +220 -0
  124. package/{src → stat}/BookNavigator/BookModel.js +0 -0
  125. package/{src → stat}/BookNavigator/BookNavigator.js +151 -104
  126. package/stat/BookNavigator/assets/bookmark-colors.js +15 -0
  127. package/stat/BookNavigator/assets/button-base.js +61 -0
  128. package/stat/BookNavigator/assets/ia-logo.js +17 -0
  129. package/stat/BookNavigator/assets/icon_checkmark.js +6 -0
  130. package/stat/BookNavigator/assets/icon_close.js +3 -0
  131. package/stat/BookNavigator/assets/icon_sort_asc.js +5 -0
  132. package/stat/BookNavigator/assets/icon_sort_desc.js +5 -0
  133. package/stat/BookNavigator/assets/icon_sort_neutral.js +5 -0
  134. package/stat/BookNavigator/assets/icon_volumes.js +11 -0
  135. package/stat/BookNavigator/bookmarks/bookmark-button.js +64 -0
  136. package/stat/BookNavigator/bookmarks/bookmark-edit.js +215 -0
  137. package/stat/BookNavigator/bookmarks/bookmarks-list.js +285 -0
  138. package/stat/BookNavigator/bookmarks/bookmarks-loginCTA.js +28 -0
  139. package/stat/BookNavigator/bookmarks/bookmarks-provider.js +56 -0
  140. package/stat/BookNavigator/bookmarks/ia-bookmarks.js +523 -0
  141. package/{src → stat}/BookNavigator/br-fullscreen-mgr.js +1 -2
  142. package/stat/BookNavigator/delete-modal-actions.js +49 -0
  143. package/stat/BookNavigator/downloads/downloads-provider.js +72 -0
  144. package/stat/BookNavigator/downloads/downloads.js +139 -0
  145. package/stat/BookNavigator/provider-config.js +0 -0
  146. package/stat/BookNavigator/search/a-search-result.js +55 -0
  147. package/stat/BookNavigator/search/search-provider.js +180 -0
  148. package/stat/BookNavigator/search/search-results.js +360 -0
  149. package/stat/BookNavigator/sharing.js +31 -0
  150. package/stat/BookNavigator/visual-adjustments/visual-adjustments-provider.js +94 -0
  151. package/stat/BookNavigator/visual-adjustments/visual-adjustments.js +280 -0
  152. package/stat/BookNavigator/volumes/volumes-provider.js +83 -0
  153. package/stat/BookNavigator/volumes/volumes.js +178 -0
  154. package/stat/BookReader/BookModel.js +518 -0
  155. package/stat/BookReader/DebugConsole.js +54 -0
  156. package/stat/BookReader/DragScrollable.js +233 -0
  157. package/stat/BookReader/ImageCache.js +116 -0
  158. package/stat/BookReader/Mode1Up.js +102 -0
  159. package/stat/BookReader/Mode1UpLit.js +434 -0
  160. package/stat/BookReader/Mode2Up.js +1372 -0
  161. package/stat/BookReader/ModeSmoothZoom.js +177 -0
  162. package/stat/BookReader/ModeThumb.js +344 -0
  163. package/stat/BookReader/Navbar/Navbar.js +310 -0
  164. package/stat/BookReader/PageContainer.js +120 -0
  165. package/stat/BookReader/ReduceSet.js +26 -0
  166. package/stat/BookReader/Toolbar/Toolbar.js +384 -0
  167. package/stat/BookReader/events.js +20 -0
  168. package/stat/BookReader/options.js +324 -0
  169. package/stat/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  170. package/stat/BookReader/utils/classes.js +36 -0
  171. package/stat/BookReader/utils.js +240 -0
  172. package/stat/BookReader.js +2550 -0
  173. package/{src → stat}/BookReaderComponent/BookReaderComponent.js +16 -11
  174. package/stat/assets/icons/1up.svg +12 -0
  175. package/stat/assets/icons/2up.svg +15 -0
  176. package/stat/assets/icons/advance.svg +26 -0
  177. package/stat/assets/icons/chevron-right.svg +1 -0
  178. package/stat/assets/icons/close-circle-dark.svg +1 -0
  179. package/stat/assets/icons/close-circle.svg +1 -0
  180. package/stat/assets/icons/fullscreen.svg +17 -0
  181. package/stat/assets/icons/fullscreen_exit.svg +17 -0
  182. package/stat/assets/icons/hamburger.svg +15 -0
  183. package/stat/assets/icons/left-arrow.svg +12 -0
  184. package/stat/assets/icons/magnify-minus.svg +16 -0
  185. package/stat/assets/icons/magnify-plus.svg +17 -0
  186. package/stat/assets/icons/magnify.svg +15 -0
  187. package/stat/assets/icons/pause.svg +23 -0
  188. package/stat/assets/icons/play.svg +22 -0
  189. package/stat/assets/icons/playback-speed.svg +34 -0
  190. package/stat/assets/icons/read-aloud.svg +22 -0
  191. package/stat/assets/icons/review.svg +22 -0
  192. package/stat/assets/icons/thumbnails.svg +17 -0
  193. package/stat/assets/icons/voice.svg +1 -0
  194. package/stat/assets/icons/volume-full.svg +22 -0
  195. package/stat/assets/images/BRicons.png +0 -0
  196. package/stat/assets/images/BRicons.svg +94 -0
  197. package/stat/assets/images/BRicons_ia.png +0 -0
  198. package/stat/assets/images/back_pages.png +0 -0
  199. package/stat/assets/images/book_bottom_icon.png +0 -0
  200. package/stat/assets/images/book_down_icon.png +0 -0
  201. package/stat/assets/images/book_left_icon.png +0 -0
  202. package/stat/assets/images/book_leftmost_icon.png +0 -0
  203. package/stat/assets/images/book_right_icon.png +0 -0
  204. package/stat/assets/images/book_rightmost_icon.png +0 -0
  205. package/stat/assets/images/book_top_icon.png +0 -0
  206. package/stat/assets/images/book_up_icon.png +0 -0
  207. package/stat/assets/images/books_graphic.svg +177 -0
  208. package/stat/assets/images/booksplit.png +0 -0
  209. package/stat/assets/images/control_pause_icon.png +0 -0
  210. package/stat/assets/images/control_play_icon.png +0 -0
  211. package/stat/assets/images/embed_icon.png +0 -0
  212. package/stat/assets/images/icon-home-ia.png +0 -0
  213. package/stat/assets/images/icon_OL-logo-xs.png +0 -0
  214. package/stat/assets/images/icon_alert-xs.png +0 -0
  215. package/stat/assets/images/icon_book.svg +12 -0
  216. package/stat/assets/images/icon_bookmark.svg +12 -0
  217. package/stat/assets/images/icon_close-pop.png +0 -0
  218. package/stat/assets/images/icon_download.png +0 -0
  219. package/stat/assets/images/icon_gear.svg +14 -0
  220. package/stat/assets/images/icon_hamburger.svg +20 -0
  221. package/stat/assets/images/icon_home.png +0 -0
  222. package/stat/assets/images/icon_home.svg +21 -0
  223. package/stat/assets/images/icon_home_ia.png +0 -0
  224. package/stat/assets/images/icon_indicator.png +0 -0
  225. package/stat/assets/images/icon_info.svg +11 -0
  226. package/stat/assets/images/icon_one_page.svg +8 -0
  227. package/stat/assets/images/icon_pause.svg +1 -0
  228. package/stat/assets/images/icon_play.svg +1 -0
  229. package/stat/assets/images/icon_playback-rate.svg +15 -0
  230. package/stat/assets/images/icon_return.png +0 -0
  231. package/stat/assets/images/icon_search_button.svg +8 -0
  232. package/stat/assets/images/icon_share.svg +9 -0
  233. package/stat/assets/images/icon_skip-ahead.svg +6 -0
  234. package/stat/assets/images/icon_skip-back.svg +13 -0
  235. package/stat/assets/images/icon_speaker.svg +18 -0
  236. package/stat/assets/images/icon_speaker_open.svg +10 -0
  237. package/stat/assets/images/icon_thumbnails.svg +12 -0
  238. package/stat/assets/images/icon_toc.svg +5 -0
  239. package/stat/assets/images/icon_two_pages.svg +9 -0
  240. package/stat/assets/images/icon_zoomer.png +0 -0
  241. package/stat/assets/images/loading.gif +0 -0
  242. package/stat/assets/images/logo_icon.png +0 -0
  243. package/stat/assets/images/marker_chap-off.png +0 -0
  244. package/stat/assets/images/marker_chap-off.svg +11 -0
  245. package/stat/assets/images/marker_chap-off_ia.png +0 -0
  246. package/stat/assets/images/marker_chap-on.png +0 -0
  247. package/stat/assets/images/marker_chap-on.svg +11 -0
  248. package/stat/assets/images/marker_srch-on.svg +11 -0
  249. package/stat/assets/images/marker_srchchap-off.png +0 -0
  250. package/stat/assets/images/marker_srchchap-on.png +0 -0
  251. package/stat/assets/images/nav_control-dn.png +0 -0
  252. package/stat/assets/images/nav_control-dn_ia.png +0 -0
  253. package/stat/assets/images/nav_control-up.png +0 -0
  254. package/stat/assets/images/nav_control-up_ia.png +0 -0
  255. package/stat/assets/images/nav_control.png +0 -0
  256. package/stat/assets/images/one_page_mode_icon.png +0 -0
  257. package/stat/assets/images/paper-badge.png +0 -0
  258. package/stat/assets/images/print_icon.png +0 -0
  259. package/stat/assets/images/progressbar.gif +0 -0
  260. package/stat/assets/images/right_edges.png +0 -0
  261. package/stat/assets/images/slider.png +0 -0
  262. package/stat/assets/images/slider_ia.png +0 -0
  263. package/stat/assets/images/thumbnail_mode_icon.png +0 -0
  264. package/stat/assets/images/transparent.png +0 -0
  265. package/stat/assets/images/two_page_mode_icon.png +0 -0
  266. package/stat/assets/images/zoom_in_icon.png +0 -0
  267. package/stat/assets/images/zoom_out_icon.png +0 -0
  268. package/stat/css/BookReader.scss +89 -0
  269. package/stat/css/_BRBookmarks.scss +29 -0
  270. package/stat/css/_BRComponent.scss +13 -0
  271. package/stat/css/_BRfloat.scss +197 -0
  272. package/stat/css/_BRicon.scss +48 -0
  273. package/stat/css/_BRmain.scss +251 -0
  274. package/stat/css/_BRnav.scss +359 -0
  275. package/stat/css/_BRpages.scss +139 -0
  276. package/stat/css/_BRsearch.scss +226 -0
  277. package/stat/css/_BRtoolbar.scss +84 -0
  278. package/stat/css/_BRvendor.scss +5 -0
  279. package/stat/css/_MobileNav.scss +194 -0
  280. package/stat/css/_TextSelection.scss +32 -0
  281. package/stat/css/_colorbox.scss +52 -0
  282. package/stat/css/_controls.scss +253 -0
  283. package/stat/css/_icons.scss +121 -0
  284. package/stat/jquery-wrapper.js +4 -0
  285. package/stat/plugins/plugin.archive_analytics.js +86 -0
  286. package/stat/plugins/plugin.autoplay.js +129 -0
  287. package/stat/plugins/plugin.chapters.js +248 -0
  288. package/stat/plugins/plugin.iframe.js +48 -0
  289. package/stat/plugins/plugin.mobile_nav.js +288 -0
  290. package/stat/plugins/plugin.resume.js +68 -0
  291. package/stat/plugins/plugin.text_selection.js +291 -0
  292. package/{src → stat}/plugins/plugin.url.js +4 -4
  293. package/stat/plugins/plugin.vendor-fullscreen.js +247 -0
  294. package/stat/plugins/search/plugin.search.js +439 -0
  295. package/stat/plugins/search/view.js +439 -0
  296. package/stat/plugins/tts/AbstractTTSEngine.js +249 -0
  297. package/stat/plugins/tts/FestivalTTSEngine.js +169 -0
  298. package/stat/plugins/tts/PageChunk.js +107 -0
  299. package/stat/plugins/tts/PageChunkIterator.js +163 -0
  300. package/stat/plugins/tts/WebTTSEngine.js +357 -0
  301. package/stat/plugins/tts/plugin.tts.js +357 -0
  302. package/stat/plugins/tts/tooltip_dict.js +15 -0
  303. package/stat/plugins/tts/utils.js +91 -0
  304. package/stat/util/browserSniffing.js +30 -0
  305. package/stat/util/debouncer.js +26 -0
  306. package/stat/util/docCookies.js +67 -0
  307. package/stat/util/strings.js +34 -0
  308. package/tests/e2e/README.md +37 -0
  309. package/tests/e2e/autoplay.test.js +2 -2
  310. package/tests/e2e/base.test.js +5 -7
  311. package/tests/e2e/helpers/base.js +8 -3
  312. package/tests/e2e/helpers/debug.js +1 -1
  313. package/tests/e2e/helpers/desktopSearch.js +1 -1
  314. package/tests/e2e/helpers/mobileSearch.js +3 -3
  315. package/tests/e2e/helpers/params.js +17 -0
  316. package/tests/e2e/rightToLeft.test.js +4 -5
  317. package/tests/e2e/viewmode.test.js +30 -31
  318. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +3 -3
  319. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +176 -0
  320. package/tests/{BookReader → jest/BookReader}/DebugConsole.test.js +1 -1
  321. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  322. package/tests/jest/BookReader/Mode1UpLit.test.js +87 -0
  323. package/tests/{BookReader → jest/BookReader}/Mode2Up.test.js +5 -7
  324. package/tests/jest/BookReader/ModeSmoothZoom.test.js +149 -0
  325. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  326. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +7 -7
  327. package/tests/{BookReader → jest/BookReader}/PageContainer.test.js +74 -2
  328. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  329. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +2 -2
  330. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  331. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  332. package/tests/jest/BookReader/utils.test.js +136 -0
  333. package/tests/jest/BookReader.keyboard.test.js +190 -0
  334. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +9 -1
  335. package/tests/{BookReader.test.js → jest/BookReader.test.js} +20 -4
  336. package/tests/{plugins → jest/plugins}/plugin.archive_analytics.test.js +2 -2
  337. package/tests/{plugins → jest/plugins}/plugin.autoplay.test.js +2 -2
  338. package/tests/{plugins → jest/plugins}/plugin.chapters.test.js +8 -8
  339. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +2 -2
  340. package/tests/{plugins → jest/plugins}/plugin.mobile_nav.test.js +5 -5
  341. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +3 -3
  342. package/tests/{plugins → jest/plugins}/plugin.text_selection.test.js +14 -24
  343. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  344. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +12 -5
  345. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +6 -6
  346. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +3 -3
  347. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  348. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  349. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  350. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +1 -1
  351. package/tests/{plugins → jest/plugins}/tts/utils.test.js +3 -3
  352. package/tests/jest/plugins/url/UrlPlugin.test.js +175 -0
  353. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +33 -14
  354. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  355. package/tests/{util → jest/util}/docCookies.test.js +1 -1
  356. package/tests/{util → jest/util}/strings.test.js +1 -1
  357. package/tests/{utils.js → jest/utils.js} +38 -0
  358. package/tests/karma/BookNavigator/book-navigator.test.js +485 -0
  359. package/tests/karma/BookNavigator/bookmarks/bookmark-button.test.js +44 -0
  360. package/tests/karma/BookNavigator/bookmarks/bookmark-edit.test.js +1 -3
  361. package/tests/karma/BookNavigator/bookmarks/bookmarks-list.test.js +1 -2
  362. package/tests/karma/BookNavigator/downloads/downloads-provider.test.js +67 -0
  363. package/tests/karma/BookNavigator/downloads/downloads.test.js +54 -0
  364. package/tests/karma/BookNavigator/search/search-provider.test.js +123 -0
  365. package/tests/karma/BookNavigator/{search-results.test.js → search/search-results.test.js} +1 -4
  366. package/tests/karma/BookNavigator/sharing/sharing-provider.test.js +49 -0
  367. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -2
  368. package/tests/karma/BookNavigator/volumes/volumes-provider.test.js +184 -0
  369. package/tests/karma/BookNavigator/volumes/volumes.test.js +98 -0
  370. package/webpack.config.js +11 -5
  371. package/.babelrc +0 -12
  372. package/.dependabot/config.yml +0 -6
  373. package/.testcaferc.json +0 -5
  374. package/BookReader/BookReader.js.LICENSE.txt +0 -72
  375. package/BookReader/bookreader-component-bundle.js +0 -1450
  376. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  377. package/BookReader/bookreader-component-bundle.js.map +0 -1
  378. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  379. package/BookReader/plugins/plugin.menu_toggle.js +0 -2
  380. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  381. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +0 -27
  382. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  383. package/src/BookNavigator/assets/book-loader.js +0 -27
  384. package/src/ItemNavigator/ItemNavigator.js +0 -372
  385. package/src/ItemNavigator/providers/sharing.js +0 -29
  386. package/src/dragscrollable-br.js +0 -261
  387. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  388. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  389. package/tests/BookReader/Mode1Up.test.js +0 -164
  390. package/tests/BookReader/utils.test.js +0 -109
  391. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"names":["super_","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","options","call","this","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","click","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","addEventListener","utils","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild","n","a","t","addons","r","s","opts","c","conf","glbl","Array","o","d","content","l","position","h","height","Math","min","max","f","u","v","p","b","ceil","children","not","btn","hasbtns","prependTo","$menu","hasnavbar","_c","_d","_e","clickAnchor","configuration","breadcrumbSeparator","classNames","breadcrumbs","appendTo","first","panel","closest","text","unshift","parent","join","separator","html","$pnls","current","$page","next","panelNext","hidden","prev","hasClass","vertical","panelPrev","search","searchfield","addTo","panelTitle","$wndw","$docu","$html","$body","split","mm","umm","slice","version","_api","cbck","___deprecated","_initMenu","_initAnchors","_initAddons","init","___debug","uniqueId","defaults","onClick","setSelected","slidingSubmenus","divider","inset","selected","spacer","clone","openingInterval","panelNodetype","transitionDuration","nopanel","_initPanels","update","listview","openPanel","parents","subopened","highest","support","csstransitions","nextAll","setTimeout","__transitionend","closePanel","closeAllPanels","togglePanel","push","shift","__getUniqueId","contents","nodeType","remove","panels","wrapper","menu","__findAddBack","__refactorClass","nolistview","wrap","removeAttr","sub","insertBefore","fullsubopen","last","parentsUntil","end","on","preventDefault","__valueOrFn","target","_getOriginalMenuId","__api","__filterListItems","one","transitionend","webkitTransitionEnd","fn","touch","navigator","msMaxTouchPoints","Modernizr","documentElement","style","charAt","toUpperCase","substr","merge","pageNodetype","$allMenus","offcanvas","setPage","_initBlocker","menuInjectMethod","menuWrapperSelector","hash","blockUI","moveBackground","noPageSelector","_openSetup","_openFinish","closeAllOthers","resize","blocking","modal","background","opening","wrapAll","page","slideout","off","keydown","keyCode","css","$blck","blocker","touchstart","touchmove","stopPropagation","mousedown","fix","scrollTop","currentTarget","scrollHeight","offsetHeight","innerHeight","orientationchange"],"mappings":"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","file":"plugins/plugin.mobile_nav.js","sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n]\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters').click(() => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode').click(\n () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode').click(\n () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode').click(\n () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n })\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n}\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.mobile_nav.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;AACA;AACA;AAEA;AACA;CAGA;;AACA,IAAMC,UAAU,GAAG,CACjB;AACEC,EAAAA,MAAM,EAAE,iBADV;AAEEC,EAAAA,KAAK,EAAE;AAFT,CADiB,EAKjB;AACED,EAAAA,MAAM,EAAE,kBADV;AAEEC,EAAAA,KAAK,EAAE;AAFT,CALiB,EASjB;AACED,EAAAA,MAAM,EAAE,cADV;AAEEC,EAAAA,KAAK,EAAE;AAFT,CATiB,EAajB;AACED,EAAAA,MAAM,EAAE,gBADV;AAEEC,EAAAA,KAAK,EAAE;AAFT,CAbiB,CAAnB;AAmBAC,MAAM,CAACC,MAAP,CAAcC,UAAU,CAACC,cAAzB,EAAyC;AACvCC,EAAAA,eAAe,EAAE,IADsB;AAEvCC,EAAAA,cAAc,EAAE,kBAFuB;AAGvCC,EAAAA,uBAAuB,EAAE;AAHc,CAAzC;;AAMAJ,UAAU,CAACK,SAAX,CAAqBC,KAArB,GAA8B,UAASC,MAAT,EAAiB;AAC7C,SAAO,UAAUC,OAAV,EAAmB;AACxBD,IAAAA,MAAM,CAACE,IAAP,CAAY,IAAZ,EAAkBD,OAAlB;AAEA,SAAKN,eAAL,GAAuBM,OAAO,CAACN,eAA/B;AACA,SAAKC,cAAL,GAAsBK,OAAO,CAACL,cAA9B;AACA,SAAKC,uBAAL,GAA+BI,OAAO,CAACJ,uBAAvC;AAEA,SAAKM,IAAL,CAAUC,MAAV,GAAmB,IAAnB;AACD,GARD;AASD,CAV4B,CAU1BX,UAAU,CAACK,SAAX,CAAqBC,KAVK,CAA7B,EAaA;;;AACAN,UAAU,CAACK,SAAX,CAAqBO,WAArB,GAAoC,UAAUL,MAAV,EAAkB;AACpD,SAAO,UAAUM,IAAV,EAAgBC,EAAhB,EAAoB;AAAA;;AACzB,QAAIC,QAAJ;;AACA,QAAI,KAAKb,eAAT,EAA0B;AACxB,UAAMc,SAAS,GAAG,KAAKC,wBAAL,EAAlB;AACA,WAAKP,IAAL,CAAUQ,GAAV,CAAcC,MAAd,CAAqBH,SAArB,EAFwB,CAIxB;;AACA,WAAKI,YAAL,CAAkB,KAAKC,CAAL,CAAO,eAAP,CAAlB;AACA,WAAKC,aAAL,CAAmB,KAAKD,CAAL,CAAO,gBAAP,CAAnB;AAEAN,MAAAA,QAAQ,GAAGC,SAAX;AACAD,MAAAA,QAAQ,CAACQ,KAAT,CAAe;AACbC,QAAAA,OAAO,EAAE,CACP;AAAE,sBAAY;AAAd,SADO,CADI;AAIbC,QAAAA,MAAM,EAAE;AACNC,UAAAA,GAAG,EAAE,IADC;AAENC,UAAAA,KAAK,EAAE,KAAKxB,cAFN;AAGNyB,UAAAA,SAAS,EAAE;AAHL,SAJK;AASbC,QAAAA,UAAU,EAAE,CAAE,aAAF;AATC,OAAf,EAUG;AACDC,QAAAA,SAAS,EAAE;AACTC,UAAAA,gBAAgB,EAAE,KADT;AAETC,UAAAA,SAAS,EAAE,MAFF;AAGTC,UAAAA,YAAY,EAAE,KAAKC;AAHV;AADV,OAVH;AAkBA,UAAMC,gBAAgB,GAAGpB,QAAQ,CAACqB,IAAT,CAAc,kBAAd,CAAzB;AACArB,MAAAA,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBC,IAAvB,CAA4B,QAA5B,EAAsC,YAAM;AAC1C;AACA,YAAIH,gBAAgB,CAACI,MAArB,EAA6B;AAC3BJ,UAAAA,gBAAgB,CAACK,GAAjB,CAAqBC,MAAM,CAACC,QAAP,CAAgBC,IAArC;AACD;AACF,OALD,EA5BwB,CAmCxB;;AACA3B,MAAAA,SAAS,CAACoB,IAAV,CAAe,qBAAf,EACGQ,EADH,CACM,OADN,EACe;AAAA,eAAMC,YAAY,CAAC7B,SAAD,EAAY,KAAZ,CAAlB;AAAA,OADf,EApCwB,CAuCxB;;AACAA,MAAAA,SAAS,CAACoB,IAAV,CAAe,mCAAf,EACGQ,EADH,CACM,OADN,EACe;AAAA,eAAM,KAAI,CAACE,UAAL,CAAgB,KAAI,CAACC,YAArB,CAAN;AAAA,OADf;AAEA/B,MAAAA,SAAS,CAACoB,IAAV,CAAe,mCAAf,EACGQ,EADH,CACM,OADN,EACe;AAAA,eAAM,KAAI,CAACE,UAAL,CAAgB,KAAI,CAACE,YAArB,CAAN;AAAA,OADf;AAEAhC,MAAAA,SAAS,CAACoB,IAAV,CAAe,oCAAf,EACGQ,EADH,CACM,OADN,EACe;AAAA,eAAM,KAAI,CAACE,UAAL,CAAgB,KAAI,CAACG,cAArB,CAAN;AAAA,OADf;;AAGA,UAAI,KAAK7C,uBAAT,EAAkC;AAChCiB,QAAAA,CAAC,CAAC6B,QAAQ,CAACC,IAAV,CAAD,CAAiBC,QAAjB,CAA0B,kCAA1B;AACD,OAFD,MAEO;AACL/B,QAAAA,CAAC,CAAC6B,QAAQ,CAACC,IAAV,CAAD,CAAiBC,QAAjB,CAA0B,wBAA1B;AACD;;AAED,WAAK1C,IAAL,CAAUC,MAAV,GAAmBI,QAAnB;AAED,KAzDwB,CA2DzB;;;AACAR,IAAAA,MAAM,CAAC8C,KAAP,CAAa,IAAb,EAAmBC,SAAnB;;AAGA,QAAI,KAAKpD,eAAT,EAA0B;AACxB;AACA,WAAKmB,CAAL,CAAO,oBAAP,EAA6BkC,KAA7B,CAAmC,YAAM;AACvC,YAAIxC,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBmB,WAAvB,GAAqCC,IAArC,CAA0CC,MAA9C,EAAsD;AACpD3C,UAAAA,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBsB,KAAvB;AACD,SAFD,MAEO;AACL5C,UAAAA,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBuB,IAAvB;;AACA,eAAI,CAACC,OAAL,CAAa,eAAb;AACD;AACF,OAPD;;AAUA,UAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,CAAD,EAAO;AAC7B;AACA;AACA,YAAMC,KAAK,GAAG3C,CAAC,CAAEoB,MAAF,CAAD,CAAYuB,KAAZ,EAAd;AACA,YAAMC,gBAAgB,GAAGlD,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBmB,WAAvB,GAAqCC,IAArC,CAA0CC,MAAnE,CAJ6B,CAK7B;;AACA,YAAIO,gBAAgB,IAAKD,KAAK,IAAI,GAAlC,EAAwC;AACtCjD,UAAAA,QAAQ,CAACsB,IAAT,CAAc,OAAd,EAAuBsB,KAAvB;AACD;AACF,OATD;;AAWAlB,MAAAA,MAAM,CAACyB,gBAAP,CAAwB,QAAxB,EAAkCxE,0DAAA,CAAeoE,eAAf,EAAgC,GAAhC,CAAlC;AACD;AACF,GAxFD;AAyFD,CA1FkC,CA0FhC9D,UAAU,CAACK,SAAX,CAAqBO,WA1FW,CAAnC;;AA6FAZ,UAAU,CAACK,SAAX,CAAqB+D,mBAArB,GAA4C,UAAU7D,MAAV,EAAkB;AAC5D,SAAO,YAAY;AACjB,QAAM8D,GAAG,GAAG9D,MAAM,CAACE,IAAP,CAAY,IAAZ,CAAZ;;AACA,QAAI,KAAKP,eAAT,EAA0B;AACxB,UAAMoE,YAAY,GAAGtE,UAAU,CAACuE,IAAX,CAAgBC,UAAhB,CAA2B,KAAKC,SAAhC,CAArB;AACA,UAAMC,OAAO,kLAGmCJ,YAHnC,gBAGoDA,YAHpD,qCAAb;AAMAD,MAAAA,GAAG,CACAjB,QADH,CACY,YADZ,EAEGuB,OAFH,CAEWtD,CAAC,CAACqD,OAAD,CAFZ;AAGD;;AACD,WAAOL,GAAP;AACD,GAfD;AAgBD,CAjB0C,CAiBxCrE,UAAU,CAACK,SAAX,CAAqB+D,mBAjBmB,CAA3C;AAmBA;AACA;AACA;AACA;AACA;;;AACApE,UAAU,CAACK,SAAX,CAAqBY,wBAArB,GAAgD,YAAW;AACzD,MAAI2D,gBAAgB,GAAG,EAAvB,CADyD,CAEzD;;AACA,MAAI,KAAKC,0BAAT,EAAqC;AACnCD,IAAAA,gBAAgB,iIAAhB;AAIAjF,IAAAA,UAAU,CAACmF,OAAX,CAAoB,UAAC5C,EAAD,EAAK6C,CAAL,EAAW;AAC7B,UAAMC,YAAY,0FACgDD,CADhD,+CAEMA,CAFN,mDAE6C7C,EAAE,CAACrC,KAFhD,mCAAlB;AAKA+E,MAAAA,gBAAgB,GAAGA,gBAAgB,CAACK,MAAjB,CAAwBD,YAAxB,CAAnB;AACD,KAPD;AAQAJ,IAAAA,gBAAgB,GAAGA,gBAAgB,CAACK,MAAjB,CAAwB,QAAxB,CAAnB;AACD;;AAGD,MAAMC,eAAe,2HAGqB,KAAKC,aAH1B,sRAUC,KAAKA,aAVN,0NAeC,KAAKA,aAfN,4MAoBC,KAAKA,aApBN,qWA8BbP,gBA9Ba,qBAArB;AAiCA,MAAMQ,QAAQ,oHAG2B,KAAKD,aAHhC,2IAAd;AASA,MAAME,KAAK,6GAG0B,KAAKF,aAH/B,0IAAX;AASA,MAAMG,OAAO,8HAG8BJ,eAH9B,oEAIiCE,QAJjC,8DAK2BC,KAL3B,uCAAb;AAUA,MAAMhB,GAAG,GAAGhD,CAAC,CAACiE,OAAD,CAAb;AACA,SAAOjB,GAAP;AACD,CAnFD;AAqFA;AACA;AACA;AACA;;;AACArE,UAAU,CAACK,SAAX,CAAqBgB,CAArB,GAA0B,UAAUd,MAAV,EAAkB;AAC1C,SAAO,UAAUgF,GAAV,EAAe;AACpB,QAAIC,QAAQ,GAAGjF,MAAM,CAACE,IAAP,CAAY,IAAZ,EAAkB8E,GAAlB,CAAf;;AACA,QAAI,KAAK7E,IAAL,CAAUC,MAAd,EAAsB;AACpB6E,MAAAA,QAAQ,GAAGA,QAAQ,CAAC9D,GAAT,CAAa,KAAKhB,IAAL,CAAUC,MAAV,CAAiByB,IAAjB,CAAsBmD,GAAtB,CAAb,CAAX;AACD;;AACD,WAAOC,QAAP;AACD,GAND;AAOD,CARwB,CAQtBxF,UAAU,CAACK,SAAX,CAAqBgB,CARC,CAAzB;AAUA;AACA;AACA;AACA;;;AACA,IAAMwB,YAAY,GAAG,SAAfA,YAAe,CAAC4C,QAAD,EAAWC,EAAX,EAAkB;AACrC,MAAIC,SAAS,GAAG,EAAhB;AAEAtE,EAAAA,CAAC,CAAC,qBAAD,CAAD,CAAyBuE,IAAzB,CACE,UAACb,CAAD,EAAI7C,EAAJ,EAAW;AACTwD,IAAAA,EAAE,CAAChF,IAAH,CAAQQ,GAAR,CAAY2E,WAAZ,CAAwB,gBAAxB;;AACA,QAAIxE,CAAC,CAACa,EAAD,CAAD,CAAM4D,EAAN,CAAS,UAAT,CAAJ,EAA0B;AACxBJ,MAAAA,EAAE,CAAChF,IAAH,CAAQQ,GAAR,CAAYkC,QAAZ,CAAqB/B,CAAC,CAACa,EAAD,CAAD,CAAM6D,IAAN,CAAW,gBAAX,CAArB;AACAJ,MAAAA,SAAS,GAAGA,SAAS,GAAGhG,UAAU,CAACoF,CAAD,CAAV,CAAcnF,MAAtC;AACD;AACF,GAPH;AASA,MAAMoG,YAAY,GAAG3E,CAAC,CAAC,eAAD,CAAD,CAAmB,CAAnB,KAAyB6B,QAAQ,CAAC+C,aAAT,CAAuB,OAAvB,CAA9C;AACAD,EAAAA,YAAY,CAACE,EAAb,GAAkB,cAAlB;AACAF,EAAAA,YAAY,CAACG,SAAb,0DACoBR,SADpB,4CAE4BA,SAF5B;AAGAzC,EAAAA,QAAQ,CAACC,IAAT,CAAciD,WAAd,CAA0BJ,YAA1B;AACD,CAlBD;;;;;;;;;;;AC7QA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,0BAA0B,gBAAgB,iBAAiB,yCAAyC,sCAAsC,4BAA4B,SAAS,qBAAqB,WAAW,6BAA6B,2BAA2B,kIAAkI,kBAAkB,4BAA4B,mGAAmG,6GAA6G,UAAU,mCAAmC,IAAI,KAAK,uCAAuC,sFAAsF,oKAAoK,EAAE,6DAA6D,gBAAgB,qDAAqD,6BAA6B,wBAAwB,wBAAwB,qCAAqC,YAAY,CAAC,MAAM;AACpvC;AACA;AACA;AACA;AACA;AACA,YAAY,0CAA0C,kCAAkC,wBAAwB,+BAA+B,0DAA0D,6BAA6B,2CAA2C,wGAAwG,YAAY,EAAE,8CAA8C,4DAA4D,kGAAkG,sHAAsH,EAAE,EAAE,iBAAiB,sGAAsG,uDAAuD,CAAC,MAAM;AACl4B;AACA;AACA;AACA;AACA;AACA,YAAY,oCAAoC,gCAAgC,wGAAwG,iCAAiC,uDAAuD,CAAC,MAAM;AACvR;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC,gCAAgC,+FAA+F,wCAAwC,oDAAoD,qHAAqH,4DAA4D,aAAa,KAAK,mDAAmD,CAAC,MAAM;AACvgB;AACA;AACA;AACA;AACA;AACA,YAAY,mCAAmC,gCAAgC,6EAA6E,6BAA6B,qEAAqE,EAAE,sBAAsB,oEAAoE,oDAAoD,kLAAkL,4DAA4D,aAAa,KAAK,mDAAmD,CAAC,MAAM;AACxsB;AACA;AACA;AACA;AACA;AACA,YAAY,0CAA0C,gCAAgC,8DAA8D,uEAAuE,gEAAgE,CAAC,MAAM;AAClS;AACA;AACA;AACA;AACA;AACA,YAAY,oCAAoC,gCAAgC,6EAA6E,oEAAoE,qDAAqD,4LAA4L,6DAA6D,aAAa,IAAI,qDAAqD,CAAC,MAAM;;;;;;;;;;;AC1C5lB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa,eAAe,kEAAkE,KAAK,KAAK,KAAK,8BAA8B,kBAAkB,eAAe,uBAAuB,IAAI,wBAAwB,mBAAmB,cAAc,kNAAkN,4CAA4C,kBAAkB,cAAc,sCAAsC,eAAe,8KAA8K,wBAAwB,4BAA4B,qBAAqB,0JAA0J,aAAa,kGAAkG,4BAA4B,8FAA8F,8BAA8B,gCAAgC,sBAAsB,sCAAsC,UAAU,eAAe,oBAAoB,qBAAqB,YAAY,sGAAsG,gFAAgF,iBAAiB,iBAAiB,2FAA2F,mBAAmB,uBAAuB,yBAAyB,wHAAwH,uBAAuB,wBAAwB,2BAA2B,iCAAiC,kDAAkD,8GAA8G,KAAK,gCAAgC,iEAAiE,kZAAkZ,yGAAyG,2BAA2B,4BAA4B,6BAA6B,wBAAwB,iBAAiB,4IAA4I,2BAA2B,gHAAgH,mDAAmD,0KAA0K,yBAAyB,iBAAiB,+EAA+E,wBAAwB,YAAY,oBAAoB,mDAAmD,oBAAoB,+DAA+D,kDAAkD,IAAI,+BAA+B,sBAAsB,2LAA2L,4CAA4C,yCAAyC,yCAAyC,kKAAkK,eAAe,8NAA8N,yBAAyB,4CAA4C,6IAA6I,sDAAsD,2SAA2S,iJAAiJ,qIAAqI,kBAAkB,wFAAwF,mBAAmB,2KAA2K,EAAE,gCAAgC,mBAAmB,+DAA+D,iUAAiU,uJAAuJ,6CAA6C,wDAAwD,+CAA+C,8BAA8B,MAAM,iCAAiC,MAAM,aAAa,+KAA+K,uGAAuG,EAAE,wHAAwH,uGAAuG,sMAAsM,2KAA2K,6BAA6B,8JAA8J,2CAA2C,yBAAyB,yBAAyB,WAAW,qDAAqD,4CAA4C,oEAAoE,KAAK,MAAM,qBAAqB,4CAA4C,mBAAmB,0FAA0F,UAAU,yHAAyH,iFAAiF,uEAAuE,0EAA0E,EAAE,wBAAwB,MAAM,mFAAmF,qDAAqD,+BAA+B,4BAA4B,oDAAoD,kBAAkB,gBAAgB,oCAAoC,WAAW,gBAAgB,8BAA8B,iCAAiC,IAAI,6BAA6B,yFAAyF,iCAAiC,qDAAqD,6BAA6B,kCAAkC,+BAA+B,8CAA8C,iCAAiC,sBAAsB,sBAAsB,4EAA4E,0BAA0B,8BAA8B,uBAAuB,2BAA2B,kCAAkC,4CAA4C,cAAc,eAAe,sBAAsB,2BAA2B,EAAE,eAAe,wFAAwF,+GAA+G,uEAAuE,kCAAkC,iDAAiD,wCAAwC,YAAY,WAAW,2CAA2C,SAAS,IAAI,aAAa,CAAC,MAAM;AAC73T;AACA;AACA;AACA;AACA;AACA,YAAY,4BAA4B,gBAAgB,iBAAiB,iBAAiB,kCAAkC,8QAA8Q,oBAAoB,2RAA2R,2BAA2B,MAAM,gCAAgC,gCAAgC,gBAAgB,wIAAwI,2BAA2B,0BAA0B,gCAAgC,oDAAoD,gGAAgG,mBAAmB,8DAA8D,wBAAwB,iIAAiI,gCAAgC,sBAAsB,WAAW,wCAAwC,gBAAgB,kDAAkD,sCAAsC,0BAA0B,8CAA8C,gDAAgD,uCAAuC,iBAAiB,kUAAkU,iBAAiB,wEAAwE,uCAAuC,WAAW,gDAAgD,oBAAoB,mFAAmF,iCAAiC,qBAAqB,WAAW,gDAAgD,yTAAyT,4CAA4C,uCAAuC,6GAA6G,0CAA0C,4CAA4C,sBAAsB,sBAAsB,EAAE,oCAAoC,0BAA0B,4NAA4N,yDAAyD,wEAAwE,6CAA6C,4DAA4D,+EAA+E,EAAE,QAAQ,4DAA4D,uDAAuD,uBAAuB,6CAA6C,EAAE,wCAAwC,WAAW,iOAAiO,0EAA0E,0DAA0D,6EAA6E,IAAI,YAAY,CAAC,MAAM;AAC12I;AACA;AACA;AACA;AACA;AACA,YAAY,+BAA+B,gBAAgB,iBAAiB,0BAA0B,aAAa,+GAA+G,MAAM,2BAA2B,+BAA+B,6BAA6B,iCAAiC,+BAA+B,gDAAgD,qCAAqC,kCAAkC,2EAA2E,gNAAgN,kEAAkE,kFAAkF,4CAA4C,kDAAkD,oCAAoC,OAAO,qCAAqC,EAAE,GAAG,gBAAgB,8BAA8B,6BAA6B,mBAAmB,QAAQ,YAAY,CAAC,MAAM","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.mobile_nav.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js","webpack://@internetarchive/bookreader/./node_modules/jquery.mmenu/dist/js/jquery.mmenu.min.js"],"sourcesContent":["/* global BookReader */\n/**\n * Adds mobile navigation at responsive breakpoint\n */\n\nimport * as utils from '../BookReader/utils.js';\nimport 'jquery.mmenu/dist/js/jquery.mmenu.min.js';\nimport 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';\n\n//contains all filters and labels for checkboxs\nconst FILTERLIST = [\n {\n filter: \"grayscale(100%)\",\n label: \"Grayscale\"\n },\n {\n filter: \"brightness(120%)\",\n label: \"High brightness\"\n },\n {\n filter: \"invert(100%)\",\n label: \"Inverted (dark mode)\"\n },\n {\n filter: \"contrast(120%)\",\n label: \"High contrast\"\n },\n];\n\njQuery.extend(BookReader.defaultOptions, {\n enableMobileNav: true,\n mobileNavTitle: 'Internet Archive',\n mobileNavFullscreenOnly: false,\n});\n\nBookReader.prototype.setup = (function(super_) {\n return function (options) {\n super_.call(this, options);\n\n this.enableMobileNav = options.enableMobileNav;\n this.mobileNavTitle = options.mobileNavTitle;\n this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;\n\n this.refs.$mmenu = null;\n };\n})(BookReader.prototype.setup);\n\n\n// Extend initToolbar\nBookReader.prototype.initToolbar = (function (super_) {\n return function (mode, ui) {\n let $mmenuEl;\n if (this.enableMobileNav) {\n const $drawerEl = this.buildMobileDrawerElement();\n this.refs.$br.append($drawerEl);\n\n // Render info into mobile info before mmenu\n this.buildInfoDiv(this.$('.BRmobileInfo'));\n this.buildShareDiv(this.$('.BRmobileShare'));\n\n $mmenuEl = $drawerEl;\n $mmenuEl.mmenu({\n navbars: [\n { \"position\": \"top\" },\n ],\n navbar: {\n add: true,\n title: this.mobileNavTitle,\n titleLink: 'panel'\n },\n extensions: [ \"panelshadow\" ],\n }, {\n offCanvas: {\n wrapPageIfNeeded: false,\n zposition: 'next',\n pageSelector: this.el,\n }\n });\n\n const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');\n $mmenuEl.data('mmenu').bind('opened', () => {\n // Update \"Link to this page view\" link\n if ($BRpageviewField.length) {\n $BRpageviewField.val(window.location.href);\n }\n });\n\n //apply filters when checkboxs clicked\n $drawerEl.find('.BRcheckbox-filters')\n .on(\"click\", () => applyFilters($drawerEl, this));\n\n // Bind mobile switch buttons\n $drawerEl.find('.DrawerLayoutButton.one_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode1up));\n $drawerEl.find('.DrawerLayoutButton.two_page_mode')\n .on(\"click\", () => this.switchMode(this.constMode2up));\n $drawerEl.find('.DrawerLayoutButton.thumbnail_mode')\n .on(\"click\", () => this.switchMode(this.constModeThumb));\n\n if (this.mobileNavFullscreenOnly) {\n $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');\n } else {\n $(document.body).addClass('BRbodyMobileNavEnabled');\n }\n\n this.refs.$mmenu = $mmenuEl;\n\n }\n\n // Call the parent method at the end, because it binds events to DOM\n super_.apply(this, arguments);\n\n\n if (this.enableMobileNav) {\n // Need to bind more, console after toolbar is initialized\n this.$('.BRmobileHamburger').click(() => {\n if ($mmenuEl.data('mmenu').getInstance().vars.opened) {\n $mmenuEl.data('mmenu').close();\n } else {\n $mmenuEl.data('mmenu').open();\n this.trigger(\"mobileNavOpen\");\n }\n });\n\n\n const closeMobileMenu = (e) => {\n // Need to close the mobile menu to reset DOM & Style\n // driven by menu plugin\n const width = $( window ).width();\n const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;\n // $brBreakPointMobile: 800px;\n if (mobileMenuIsOpen && (width >= 800)) {\n $mmenuEl.data('mmenu').close ();\n }\n };\n\n window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));\n }\n };\n})(BookReader.prototype.initToolbar);\n\n\nBookReader.prototype.buildToolbarElement = (function (super_) {\n return function () {\n const $el = super_.call(this);\n if (this.enableMobileNav) {\n const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);\n const toolbar = `\n <span class=\"BRmobileHamburgerWrapper\">\n <button class=\"BRmobileHamburger\"></button>\n <span class=\"BRtoolbarMobileTitle\" title=\"${escapedTitle}\">${escapedTitle}</span>\n </span>\n `;\n $el\n .addClass('responsive')\n .prepend($(toolbar));\n }\n return $el;\n };\n})(BookReader.prototype.buildToolbarElement);\n\n/**\n * This method builds the html for the mobile drawer. It can be decorated to\n * extend the default drawer.\n * @return {jqueryElement}\n */\nBookReader.prototype.buildMobileDrawerElement = function() {\n let experimentalHtml = '';\n //builds filters checkbox html\n if (this.enableExperimentalControls) {\n experimentalHtml = `\n <p class=\"DrawerSettingsTitle\">Visual Adjustment</p>\n <div class=\"BRcheckbox-group-filters\">\n `;\n FILTERLIST.forEach( (el, i) => {\n const checkboxHtml = `\n <input type=\"checkbox\" class=\"BRcheckbox-filters\" id=\"filter${i}\">\n <label for=\"filter${i}\" class=\"BRcheckbox-label-filters\">${el.label}</label><br>\n \n `;\n experimentalHtml = experimentalHtml.concat(checkboxHtml);\n });\n experimentalHtml = experimentalHtml.concat(\"</div>\");\n }\n\n\n const settingsSection = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${`${this.imagesBaseURL}icon_gear.svg`}\" alt=\"settings-icon\"/>\n </span>\n Settings\n </span>\n <div class=DrawerSettingsWrapper>\n <div class=\"DrawerSettingsLayoutWrapper\">\n <button class=\"DrawerLayoutButton one_page_mode\">\n <img src=\"${this.imagesBaseURL}icon_one_page.svg\" alt=\"Single Page\"/>\n <br>\n One Page\n </button>\n <button class=\"DrawerLayoutButton two_page_mode TwoPagesButton\">\n <img src=\"${this.imagesBaseURL}icon_two_pages.svg\" alt=\"Two Pages\"/>\n <br>\n Two Pages\n </button>\n <button class=\"DrawerLayoutButton thumbnail_mode\">\n <img src=\"${this.imagesBaseURL}icon_thumbnails.svg\" alt=\"Thumbnails\"/>\n <br>\n Thumbnails\n </button>\n </div>\n <br>\n <div class=\"DrawerSettingsTitle\">Zoom</div>\n <button class='BRicon zoom_out'></button>\n <button class='BRicon zoom_in'></button>\n <br style=\"clear:both\"><br><br>\n ${experimentalHtml}\n </div>\n `;\n const moreInfo = `\n <span>\n <span class=\"DrawerIconWrapper \">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_info.svg\" alt=\"info-icon\"/>\n </span>\n About This Book\n </span>\n <div class=\"BRmobileInfo\"></div>\n `;\n const share = `\n <span>\n <span class=\"DrawerIconWrapper\">\n <img class=\"DrawerIcon\" src=\"${this.imagesBaseURL}icon_share.svg\" alt=\"info-share\"/>\n </span>\n Share This Book\n </span>\n <div class=\"BRmobileShare\"></div>\n `;\n const navMenu = `\n <nav id=\"BRmobileMenu\" class=\"BRmobileMenu\">\n <ul>\n <li class=\"BRmobileMenu__settings\">${settingsSection}</li>\n <li class=\"BRmobileMenu__moreInfoRow\">${moreInfo}</li>\n <li class=\"BRmobileMenu__share\">${share}</li>\n </ul>\n </nav>\n `;\n\n const $el = $(navMenu);\n return $el;\n};\n\n/**\n * Mmenu moves itself out side of the root BookReader element, so we need to\n * include it in the scoped $ function.\n */\nBookReader.prototype.$ = (function (super_) {\n return function (arg) {\n let $results = super_.call(this, arg);\n if (this.refs.$mmenu) {\n $results = $results.add(this.refs.$mmenu.find(arg));\n }\n return $results;\n };\n})(BookReader.prototype.$);\n\n/**\n* Dynamically creates styles combining different filters for BookReaders imgs\n* based on filters checkbox\n*/\nconst applyFilters = (drawerEl, br) => {\n let filterStr = \"\";\n\n $('.BRcheckbox-filters').each(\n (i, el) => {\n br.refs.$br.removeClass(\"filter-applied\");\n if ($(el).is(':checked')) {\n br.refs.$br.addClass($(el).attr(\"filter-applied\"));\n filterStr = filterStr + FILTERLIST[i].filter;\n }\n }\n );\n const filtersSheet = $(\"#filtersStyle\")[0] || document.createElement('style');\n filtersSheet.id = \"filtersStyle\";\n filtersSheet.innerHTML = `.BRpagecontainer img {\n filter: ${filterStr};\n -webkit-filter: ${filterStr};}`;\n document.body.appendChild(filtersSheet);\n};\n","/*\t\n * jQuery mmenu navbar addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\n!function(n){var a=\"mmenu\",t=\"navbars\";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,\"undefined\"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];\"boolean\"==typeof d&&d&&(d={}),\"object\"!=typeof d&&(d={}),\"undefined\"==typeof d.content&&(d.content=[\"prev\",\"title\"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;\"number\"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),\"bottom\"!=l&&(l=\"top\"),o[l]||(o[l]=0),o[l]++;var f=n(\"<div />\").addClass(e.navbar+\" \"+e.navbar+\"-\"+l+\" \"+e.navbar+\"-\"+l+\"-\"+o[l]+\" \"+e.navbar+\"-size-\"+h);o[l]+=h-1;for(var u=0,v=0,p=d.content.length;p>v;v++){var b=n[a].addons[t][d.content[v]]||!1;b?u+=b.call(r,f,d,c):(b=d.content[v],b instanceof n||(b=n(d.content[v])),f.append(b))}u+=Math.ceil(f.children().not(\".\"+e.btn).length/h),u>1&&f.addClass(e.navbar+\"-content-\"+u),f.children(\".\"+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+\"-\"+d+\"-\"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add(\"close hasbtns\")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:\"/\"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*\t\n * jQuery mmenu navbar addon breadcrumbs content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"breadcrumbs\";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add(\"breadcrumbs separator\");var c=n('<span class=\"'+s.breadcrumbs+'\" />').appendTo(t);this.bind(\"init\",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class=\"'+s.breadcrumbs+'\"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is(\".\"+s.panel)||(c=c.closest(\".\"+s.panel));var d=c.children(\".\"+s.navbar).children(\".\"+s.title).text();a.unshift(o?\"<span>\"+d+\"</span>\":'<a href=\"#'+c.attr(\"id\")+'\">'+d+\"</a>\"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class=\"'+s.separator+'\">'+r.breadcrumbSeparator+\"</span>\")).appendTo(t.children(\".\"+s.navbar))})});var o=function(){c.html(this.$pnls.children(\".\"+s.current).children(\".\"+s.navbar).children(\".\"+s.breadcrumbs).html())};return this.bind(\"openPanel\",o),this.bind(\"init\",o),0}}(jQuery),/*\t\n * jQuery mmenu navbar addon close content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"close\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class=\"'+r.close+\" \"+r.btn+'\" href=\"#\" />').appendTo(t),c=function(n){i.attr(\"href\",\"#\"+n.attr(\"id\"))};return c.call(this,s.$page),this.bind(\"setPage\",c),-1}}(jQuery),/*\t\n * jQuery mmenu navbar addon next content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"next\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.next+\" \"+c.btn+'\" href=\"#\" />').appendTo(e),d=function(n){n=n||this.$pnls.children(\".\"+c.current);var a=n.find(\".\"+this.conf.classNames[t].panelNext);s=a.attr(\"href\"),i=a.html(),o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext=\"Next\"}(jQuery),/*\t\n * jQuery mmenu navbar addon prev content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"prev\";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class=\"'+s.prev+\" \"+s.btn+'\" href=\"#\" />').appendTo(e);this.bind(\"init\",function(n){n.removeClass(s.hasnavbar).children(\".\"+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children(\".\"+s.current),!n.hasClass(s.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelPrev);a.length||(a=n.children(\".\"+s.navbar).children(\".\"+s.prev)),c=a.attr(\"href\"),o=a.html(),i[c?\"attr\":\"removeAttr\"](\"href\",c),i[c||o?\"removeClass\":\"addClass\"](s.hidden),i.html(o)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev=\"Prev\"}(jQuery),/*\t\n * jQuery mmenu navbar addon searchfield content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"searchfield\";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class=\"'+r.search+'\" />').appendTo(t);return\"object\"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*\t\n * jQuery mmenu navbar addon title content\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(n){var a=\"mmenu\",t=\"navbars\",e=\"title\";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class=\"'+c.title+'\" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children(\".\"+c.current),!n.hasClass(c.vertical)){var a=n.find(\".\"+this.conf.classNames[t].panelTitle);a.length||(a=n.children(\".\"+c.navbar).children(\".\"+c.title)),s=a.attr(\"href\"),i=a.html()||r.title,o[s?\"attr\":\"removeAttr\"](\"href\",s),o[s||i?\"removeClass\":\"addClass\"](c.hidden),o.html(i)}};return this.bind(\"openPanel\",d),this.bind(\"init\",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle=\"Title\"}(jQuery);","/*\n * jQuery mmenu v5.6.5\n * @requires jQuery 1.7.0 or later\n *\n * mmenu.frebsite.nl\n *\t\n * Copyright (c) Fred Heusschen\n * www.frebsite.nl\n *\n * License: CC-BY-NC-4.0\n * http://creativecommons.org/licenses/by-nc/4.0/\n */\n!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e(\"html\"),$body:e(\"body\")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(\" \");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return\"mm-\"+e},i.add(\"wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen\"),i.umm=function(e){return\"mm-\"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return\"mm-\"+e},a.add(\"parent sub\"),o.mm=function(e){return e+\".mm\"},o.add(\"transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange\"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n=\"mmenu\",s=\"5.6.4\";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=[\"bind\",\"init\",\"update\",\"setSelected\",\"getInstance\",\"openPanel\",\"closePanel\",\"closeAllPanels\"],this.opts=t,this.conf=n,this.vars={},this.cbck={},\"function\"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),\"function\"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:\"Menu\",titleLink:\"panel\"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:\"Divider\",inset:\"Inset\",panel:\"Panel\",selected:\"Selected\",spacer:\"Spacer\",vertical:\"Vertical\"},clone:!1,openingInterval:25,panelNodetype:\"ul, ol, div\",transitionDuration:400},e[n].prototype={init:function(e){e=e.not(\".\"+i.nopanel),e=this._initPanels(e),this.trigger(\"init\",e),this.trigger(\"update\")},update:function(){this.trigger(\"update\")},setSelected:function(e){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger(\"setSelected\",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents(\".\"+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger(\"openPanel\",t),this.trigger(\"openingPanel\",t),this.trigger(\"openedPanel\",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children(\".\"+i.panel),l=r.filter(\".\"+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not(\".\"+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll(\".\"+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger(\"openPanel\",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger(\"openingPanel\",t),a.__transitionend(t,function(){a.trigger(\"openedPanel\",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger(\"closePanel\",e),this.trigger(\"closingPanel\",e),this.trigger(\"closedPanel\",e))},closeAllPanels:function(){this.$menu.find(\".\"+i.listview).children().removeClass(i.selected).filter(\".\"+i.vertical).removeClass(i.opened);var e=this.$pnls.children(\".\"+i.panel),t=e.first();this.$pnls.children(\".\"+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?\"closePanel\":\"openPanel\"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr(\"id\",this.$menu.attr(\"id\")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find(\"[id]\")).filter(\"[id]\").each(function(){e(this).attr(\"id\",i.mm(e(this).attr(\"id\")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class=\"'+i.panels+'\" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?\"mm-\"+this.opts.extensions.join(\" mm-\"):\"\",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(\" \"))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,\"ul, ol\");this.__refactorClass(s,this.conf.classNames.inset,\"inset\").addClass(i.nolistview+\" \"+i.nopanel),s.not(\".\"+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,\".\"+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,\"selected\"),this.__refactorClass(o,this.conf.classNames.divider,\"divider\"),this.__refactorClass(o,this.conf.classNames.spacer,\"spacer\"),this.__refactorClass(this.__findAddBack(t,\".\"+this.conf.classNames.panel),this.conf.classNames.panel,\"panel\");var r=e(),l=t.add(t.find(\".\"+i.panel)).add(this.__findAddBack(t,\".\"+i.listview).children().children(this.conf.panelNodetype)).not(\".\"+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,\"vertical\"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is(\"ul, ol\")?(t.wrap('<div class=\"'+i.panel+'\" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr(\"id\");t.removeAttr(\"id\"),s.attr(\"id\",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e(\".\"+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children(\"a, span\").first();if(l.is(\".\"+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children(\".\"+i.next).length||l.parent().is(\".\"+i.listview)&&(s=r.attr(\"id\"),o=e('<a class=\"'+i.next+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').insertBefore(d),d.is(\"span\")&&o.addClass(i.fullsubopen)),!r.children(\".\"+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is(\".\"+i.listview)?l=l.closest(\".\"+i.panel):(d=l.closest(\".\"+i.panel).find('a[href=\"#'+r.attr(\"id\")+'\"]').first(),l=d.closest(\".\"+i.panel));var c=!1,p=e('<div class=\"'+i.navbar+'\" />');if(n.opts.navbar.add&&r.addClass(i.hasnavbar),l.length){switch(s=l.attr(\"id\"),n.opts.navbar.titleLink){case\"anchor\":c=d.attr(\"href\");break;case\"panel\":case\"parent\":c=\"#\"+s;break;default:c=!1}p.append('<a class=\"'+i.btn+\" \"+i.prev+'\" href=\"#'+s+'\" data-target=\"#'+s+'\" />').append(e('<a class=\"'+i.title+'\"'+(c?' href=\"'+c+'\"':\"\")+\" />\").text(d.text())).prependTo(r)}else n.opts.navbar.title&&p.append('<a class=\"'+i.title+'\">'+n.opts.navbar.title+\"</a>\").prependTo(r)}});var c=this.__findAddBack(t,\".\"+i.listview).children(\".\"+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil(\".\"+i.menu,\"li\")).filter(\".\"+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children(\".\"+i.panel).not(\".\"+i.vertical).addClass(i.opened).parentsUntil(\".\"+i.menu,\".\"+i.panel).not(\".\"+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter(\".\"+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not(\".\"+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+\"-oncanvas\",\"a[href]\",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr(\"href\");if(!o&&r&&d.length>1&&\"#\"==d.slice(0,1))try{var c=e(d,t.$menu);c.is(\".\"+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?\"togglePanel\":\"openPanel\"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is(\".\"+i.listview+\" > li > a\")&&!a.is('[rel=\"external\"]')&&!a.is('[target=\"_blank\"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,\"#\"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr(\"id\");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return\"undefined\"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return\"function\"==typeof e?e.call(t[0]):\"undefined\"==typeof e&&\"undefined\"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter(\".\"+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not(\".\"+i.divider).not(\".\"+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:\"ontouchstart\"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if(\"undefined\"!=typeof Modernizr&&\"undefined\"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n=\"transition\";if(\"string\"==typeof t[n])return!0;var s=[\"Moz\",\"webkit\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if(\"string\"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*\t\n * jQuery mmenu offCanvas addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"offCanvas\";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,[\"open\",\"close\",\"setPage\"]),(\"top\"==i.position||\"bottom\"==i.position)&&(i.zposition=\"front\"),\"string\"!=typeof a.pageSelector&&(a.pageSelector=\"> \"+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];\"left\"!=i.position&&r.push(s.mm(i.position)),\"back\"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(\" \")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this[\"_initWindow_\"+n](),this.$menu[a.menuInjectMethod+\"To\"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add(\"offcanvas slideout blocking modal background opening blocker page\"),i.add(\"style\"),a.add(\"resize\")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href=\"#'+s+'\"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr(\"id\"),s&&e.is('[href=\"#'+s+'\"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:\"left\",zposition:\"back\",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:\"div\",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:\"body\",menuInjectMethod:\"prepend\"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger(\"open\")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr(\"style\")||\"\")}),o.$wndw.trigger(a.resize+\"-\"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),\"modal\"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),\"left\"!=r.position&&l.push(s.mm(this.opts[n].position)),\"back\"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(\" \")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+\" \"+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger(\"opened\")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger(\"opening\")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr(\"style\",e(this).data(i.style))}),t.vars.opened=!1,t.trigger(\"closed\")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger(\"close\"),this.trigger(\"closing\")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(\", \"))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll(\"<\"+this.conf[n].pageNodetype+\" />\").parent())),t.each(function(){e(this).attr(\"id\",e(this).attr(\"id\")||i.__getUniqueId())}),t.addClass(s.page+\" \"+s.slideout),o.$page=t,this.trigger(\"setPage\",t)},e[t].prototype[\"_initWindow_\"+n]=function(){o.$wndw.off(a.keydown+\"-\"+n).on(a.keydown+\"-\"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+\"-\"+n).on(a.resize+\"-\"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css(\"minHeight\",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id=\"'+s.blocker+'\" class=\"'+s.slideout+'\" />')),o.$blck.appendTo(o.$body).off(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n).on(a.touchstart+\"-\"+n+\" \"+a.touchmove+\"-\"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+\"-\"+n)}).off(a.mousedown+\"-\"+n).on(a.mousedown+\"-\"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*\t\n * jQuery mmenu scrollBugFix addon\n * mmenu.frebsite.nl\n *\n * Copyright (c) Fred Heusschen\n */\nfunction(e){var t=\"mmenu\",n=\"scrollBugFix\";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&(\"boolean\"==typeof r&&(r={fix:r}),\"object\"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr(\"id\"),d=!1;this.bind(\"opening\",function(){this.$pnls.children(\".\"+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,\"#\"+l+\"> .\"+s.panels+\"> .\"+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children(\".\"+s.current).scrollTop(0).css({\"-webkit-overflow-scrolling\":\"auto\"}).css({\"-webkit-overflow-scrolling\":\"touch\"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);"],"names":["utils","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","super_","options","call","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","$drawerEl","buildMobileDrawerElement","$br","append","buildInfoDiv","$","buildShareDiv","mmenu","navbars","navbar","add","title","titleLink","extensions","offCanvas","wrapPageIfNeeded","zposition","pageSelector","el","$BRpageviewField","find","data","bind","length","val","window","location","href","on","applyFilters","switchMode","constMode1up","constMode2up","constModeThumb","document","body","addClass","apply","arguments","click","getInstance","vars","opened","close","open","trigger","closeMobileMenu","e","width","mobileMenuIsOpen","addEventListener","debounce","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","concat","settingsSection","imagesBaseURL","moreInfo","share","navMenu","arg","$results","drawerEl","br","filterStr","each","removeClass","is","attr","filtersSheet","createElement","id","innerHTML","appendChild"],"sourceRoot":""}
@@ -1,2 +1,242 @@
1
- (self.webpackChunk_internetarchive_bookreader=self.webpackChunk_internetarchive_bookreader||[]).push([[951],{5842:function(e,t,n){"use strict";var o={};function r(e){return e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function a(e,t,n,o,r,a){return document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+(n?"; expires=".concat(n.toUTCString()):"")+(r?"; domain=".concat(r):"")+(o?"; path=".concat(o):"")+(a?"; secure":""),!0}function i(e,t,n){return!!hasItem(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain=".concat(n):"")+(t?"; path=".concat(t):""),!0)}n.r(o),n.d(o,{getItem:function(){return r},removeItem:function(){return i},setItem:function(){return a}}),n(4916),n(4723),n(5306),n(4603),n(9714);var u,c=n(3609);BookReader.docCookies=o,c.extend(BookReader.defaultOptions,{enablePageResume:!0,resumeCookiePath:null}),BookReader.prototype.init=(u=BookReader.prototype.init,function(){var e=this;u.call(this),this.options.enablePageResume&&this.bind(BookReader.eventNames.fragmentChange,(function(){var t=e.paramsFromCurrent();e.updateResumeValue(t.index)}))}),BookReader.prototype.getResumeValue=function(){var e=BookReader.docCookies.getItem("br-resume");return null!==e?parseInt(e):null},BookReader.prototype.getCookiePath=function(e){return e.match(".+?(?=/page/|/mode/|$)")[0]},BookReader.prototype.updateResumeValue=function(e,t){var n=new Date(+new Date+12096e5),o=this.options.resumeCookiePath||this.getCookiePath(window.location.pathname);BookReader.docCookies.setItem(t||"br-resume",e,n,o,null,!1)}},9587:function(e,t,n){var o=n(111),r=n(7674);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},4603:function(e,t,n){var o=n(9781),r=n(7854),a=n(4705),i=n(9587),u=n(3070).f,c=n(8006).f,s=n(7850),p=n(7066),d=n(2999),f=n(1320),l=n(7293),m=n(9909).enforce,h=n(6340),g=n(5112)("match"),k=r.RegExp,v=k.prototype,R=/a/g,C=/a/g,x=new k(R)!==R,I=d.UNSUPPORTED_Y;if(o&&a("RegExp",!x||I||l((function(){return C[g]=!1,k(R)!=R||k(C)==C||"/a/i"!=k(R,"i")})))){for(var y=function(e,t){var n,o=this instanceof y,r=s(e),a=void 0===t;if(!o&&r&&e.constructor===y&&a)return e;x?r&&!a&&(e=e.source):e instanceof y&&(a&&(t=p.call(e)),e=e.source),I&&(n=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var u=i(x?new k(e,t):k(e,t),o?this:v,y);return I&&n&&(m(u).sticky=!0),u},b=function(e){e in y||u(y,e,{configurable:!0,get:function(){return k[e]},set:function(t){k[e]=t}})},w=c(k),B=0;w.length>B;)b(w[B++]);v.constructor=y,y.prototype=v,f(r,"RegExp",y)}h("RegExp")},4723:function(e,t,n){"use strict";var o=n(7007),r=n(9670),a=n(7466),i=n(4488),u=n(1530),c=n(7651);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=null==t?void 0:t[e];return void 0!==o?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),s=String(this);if(!i.global)return c(i,s);var p=i.unicode;i.lastIndex=0;for(var d,f=[],l=0;null!==(d=c(i,s));){var m=String(d[0]);f[l]=m,""===m&&(i.lastIndex=u(s,a(i.lastIndex),p)),l++}return 0===l?null:f}]}))}},function(e){"use strict";e(e.s=5842)}]);
1
+ "use strict";
2
+ (self["webpackChunk_internetarchive_bookreader"] = self["webpackChunk_internetarchive_bookreader"] || []).push([["plugins/plugin.resume.js"],{
3
+
4
+ /***/ "./src/plugins/plugin.resume.js":
5
+ /*!**************************************!*\
6
+ !*** ./src/plugins/plugin.resume.js ***!
7
+ \**************************************/
8
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
9
+
10
+ __webpack_require__.r(__webpack_exports__);
11
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
12
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);
13
+ /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.match.js */ "./node_modules/core-js/modules/es.string.match.js");
14
+ /* harmony import */ var core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_js__WEBPACK_IMPORTED_MODULE_1__);
15
+ /* harmony import */ var _util_docCookies_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/docCookies.js */ "./src/util/docCookies.js");
16
+ /* provided dependency */ var jQuery = __webpack_require__(/*! jquery */ "jquery");
17
+
18
+
19
+
20
+ /* global BookReader */
21
+
22
+ /** @deprecated Exposed for backward compatibility */
23
+
24
+ BookReader.docCookies = _util_docCookies_js__WEBPACK_IMPORTED_MODULE_2__;
25
+ /**
26
+ * Plugin to remember the current page number in a cookie
27
+ */
28
+
29
+ jQuery.extend(BookReader.defaultOptions, {
30
+ enablePageResume: true,
31
+
32
+ /** @type {string|null} eg '/', '/details/id' */
33
+ resumeCookiePath: null
34
+ });
35
+ /** @override */
36
+
37
+ BookReader.prototype.init = function (super_) {
38
+ return function () {
39
+ var _this = this;
40
+
41
+ super_.call(this);
42
+
43
+ if (this.options.enablePageResume) {
44
+ this.bind(BookReader.eventNames.fragmentChange, function () {
45
+ var params = _this.paramsFromCurrent();
46
+
47
+ _this.updateResumeValue(params.index);
48
+ });
49
+ }
50
+ };
51
+ }(BookReader.prototype.init);
52
+ /**
53
+ * Gets page resume value, for remembering reader's page
54
+ * Can be overridden for different implementation
55
+ *
56
+ * @return {number|null}
57
+ */
58
+
59
+
60
+ BookReader.prototype.getResumeValue = function () {
61
+ var val = BookReader.docCookies.getItem('br-resume');
62
+ if (val !== null) return parseInt(val);else return null;
63
+ };
64
+ /**
65
+ * Return cookie path using pathname up to /page/... or /mode/...
66
+ * using window.location.pathname for urlPathPart:
67
+ * - matches encoding
68
+ * - ignores querystring part
69
+ * - ignores fragment part (after #)
70
+ * @param {string} urlPathPart - window.location.pathname
71
+ */
72
+
73
+
74
+ BookReader.prototype.getCookiePath = function (urlPathPart) {
75
+ return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];
76
+ };
77
+ /**
78
+ * Sets page resume value, for remembering reader's page
79
+ * Can be overridden for different implementation
80
+ *
81
+ * @param {Number} index leaf index
82
+ * @param {string} [cookieName]
83
+ */
84
+
85
+
86
+ BookReader.prototype.updateResumeValue = function (index, cookieName) {
87
+ var ttl = new Date(+new Date() + 12096e5); // 2 weeks
88
+ // For multiple files in item, leave resumeCookiePath blank
89
+ // It's likely we can remove resumeCookiePath using getCookiePath()
90
+
91
+ var path = this.options.resumeCookiePath || this.getCookiePath(window.location.pathname);
92
+ BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);
93
+ };
94
+
95
+ /***/ }),
96
+
97
+ /***/ "./src/util/docCookies.js":
98
+ /*!********************************!*\
99
+ !*** ./src/util/docCookies.js ***!
100
+ \********************************/
101
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
102
+
103
+ __webpack_require__.r(__webpack_exports__);
104
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
105
+ /* harmony export */ "getItem": function() { return /* binding */ getItem; },
106
+ /* harmony export */ "setItem": function() { return /* binding */ setItem; },
107
+ /* harmony export */ "removeItem": function() { return /* binding */ removeItem; }
108
+ /* harmony export */ });
109
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
110
+ /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_0__);
111
+ /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace.js */ "./node_modules/core-js/modules/es.string.replace.js");
112
+ /* harmony import */ var core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_js__WEBPACK_IMPORTED_MODULE_1__);
113
+ /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.constructor.js */ "./node_modules/core-js/modules/es.regexp.constructor.js");
114
+ /* harmony import */ var core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_constructor_js__WEBPACK_IMPORTED_MODULE_2__);
115
+ /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string.js */ "./node_modules/core-js/modules/es.regexp.to-string.js");
116
+ /* harmony import */ var core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string_js__WEBPACK_IMPORTED_MODULE_3__);
117
+
118
+
119
+
120
+
121
+
122
+ /**
123
+ * Helper module use to get, set and remove item from cookie
124
+ *
125
+ * See more:
126
+ * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
127
+ * https://developer.mozilla.org/User:fusionchess
128
+ * https://github.com/madmurphy/cookies.js
129
+ * This framework is released under the GNU Public License, version 3 or later.
130
+ * http://www.gnu.org/licenses/gpl-3.0-standalone.html
131
+ */
132
+
133
+ /**
134
+ * Get specific key's value stored in cookie
135
+ *
136
+ * @param {string} sKey
137
+ *
138
+ * @returns {string|null}
139
+ */
140
+ function getItem(sKey) {
141
+ if (!sKey) return null;
142
+ return decodeURIComponent( // eslint-disable-next-line no-useless-escape
143
+ document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, '\\$&') + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1')) || null;
144
+ }
145
+ /**
146
+ * Set specific key's value in cookie
147
+ *
148
+ * @param {string} sKey cookie name
149
+ * @param {string} sValue cookie value
150
+ * @param {string} [vEnd] expire|max-age
151
+ * @param {string} [sPath] path of current item
152
+ * @param {string} [sDomain] domain name
153
+ * @param {boolean} [bSecure]
154
+ *
155
+ * @returns {true}
156
+ */
157
+
158
+ function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {
159
+ document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue) + (vEnd ? "; expires=".concat(vEnd.toUTCString()) : '') + (sDomain ? "; domain=".concat(sDomain) : '') + (sPath ? "; path=".concat(sPath) : '') + (bSecure ? "; secure" : '');
160
+ return true;
161
+ }
162
+ /**
163
+ * BROKEN Remove specific key's value from cookie
164
+ * @fixme hasItem isn't even implemented! This will always error.
165
+ * @param {string} sKey cookie name
166
+ * @param {string} [sPath] path of current item
167
+ * @param {string} [sDomain]
168
+ *
169
+ * @returns {boolean}
170
+ */
171
+
172
+ function removeItem(sKey, sPath, sDomain) {
173
+ // eslint-disable-next-line
174
+ if (!hasItem(sKey)) return false;
175
+ document.cookie = encodeURIComponent(sKey) + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT" + (sDomain ? "; domain=".concat(sDomain) : '') + (sPath ? "; path=".concat(sPath) : '');
176
+ return true;
177
+ }
178
+
179
+ /***/ }),
180
+
181
+ /***/ "./node_modules/core-js/modules/es.string.match.js":
182
+ /*!*********************************************************!*\
183
+ !*** ./node_modules/core-js/modules/es.string.match.js ***!
184
+ \*********************************************************/
185
+ /***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
186
+
187
+
188
+ var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ "./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js");
189
+ var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
190
+ var toLength = __webpack_require__(/*! ../internals/to-length */ "./node_modules/core-js/internals/to-length.js");
191
+ var toString = __webpack_require__(/*! ../internals/to-string */ "./node_modules/core-js/internals/to-string.js");
192
+ var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ "./node_modules/core-js/internals/require-object-coercible.js");
193
+ var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ "./node_modules/core-js/internals/advance-string-index.js");
194
+ var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ "./node_modules/core-js/internals/regexp-exec-abstract.js");
195
+
196
+ // @@match logic
197
+ fixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {
198
+ return [
199
+ // `String.prototype.match` method
200
+ // https://tc39.es/ecma262/#sec-string.prototype.match
201
+ function match(regexp) {
202
+ var O = requireObjectCoercible(this);
203
+ var matcher = regexp == undefined ? undefined : regexp[MATCH];
204
+ return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));
205
+ },
206
+ // `RegExp.prototype[@@match]` method
207
+ // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
208
+ function (string) {
209
+ var rx = anObject(this);
210
+ var S = toString(string);
211
+ var res = maybeCallNative(nativeMatch, rx, S);
212
+
213
+ if (res.done) return res.value;
214
+
215
+ if (!rx.global) return regExpExec(rx, S);
216
+
217
+ var fullUnicode = rx.unicode;
218
+ rx.lastIndex = 0;
219
+ var A = [];
220
+ var n = 0;
221
+ var result;
222
+ while ((result = regExpExec(rx, S)) !== null) {
223
+ var matchStr = toString(result[0]);
224
+ A[n] = matchStr;
225
+ if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
226
+ n++;
227
+ }
228
+ return n === 0 ? null : A;
229
+ }
230
+ ];
231
+ });
232
+
233
+
234
+ /***/ })
235
+
236
+ },
237
+ /******/ function(__webpack_require__) { // webpackRuntimeModules
238
+ /******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
239
+ /******/ var __webpack_exports__ = (__webpack_exec__("./src/plugins/plugin.resume.js"));
240
+ /******/ }
241
+ ]);
2
242
  //# sourceMappingURL=plugin.resume.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js","webpack://@internetarchive/bookreader/./node_modules/core-js/internals/inherit-if-required.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.string.match.js"],"names":["getItem","sKey","decodeURIComponent","document","cookie","replace","RegExp","encodeURIComponent","setItem","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem","super_","BookReader","docCookies","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","call","this","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname","isObject","setPrototypeOf","module","exports","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","constructor","DESCRIPTORS","global","isForced","inheritIfRequired","defineProperty","getOwnPropertyNames","isRegExp","getFlags","stickyHelpers","redefine","fails","enforceInternalState","setSpecies","MATCH","wellKnownSymbol","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","RegExpWrapper","pattern","flags","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","undefined","source","indexOf","result","proxy","key","configurable","get","set","it","keys","length","fixRegExpWellKnownSymbolLogic","anObject","toLength","requireObjectCoercible","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","regexp","O","matcher","String","res","done","value","rx","S","fullUnicode","unicode","lastIndex","A","n","matchStr"],"mappings":"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","file":"plugins/plugin.resume.js","sourcesContent":["/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (!sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {true}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n}\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n}\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n}\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) {\n var state = enforceInternalState(result);\n state.sticky = true;\n }\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative(nativeMatch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"sourceRoot":""}
1
+ {"version":3,"file":"plugins/plugin.resume.js","mappings":"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","sources":["webpack://@internetarchive/bookreader/./src/plugins/plugin.resume.js","webpack://@internetarchive/bookreader/./src/util/docCookies.js","webpack://@internetarchive/bookreader/./node_modules/core-js/modules/es.string.match.js"],"sourcesContent":["import * as docCookies from '../util/docCookies.js';\n\n/* global BookReader */\n\n/** @deprecated Exposed for backward compatibility */\nBookReader.docCookies = docCookies;\n\n/**\n * Plugin to remember the current page number in a cookie\n */\njQuery.extend(BookReader.defaultOptions, {\n enablePageResume: true,\n /** @type {string|null} eg '/', '/details/id' */\n resumeCookiePath: null,\n});\n\n/** @override */\nBookReader.prototype.init = (function(super_) {\n return function() {\n super_.call(this);\n if (this.options.enablePageResume) {\n this.bind(BookReader.eventNames.fragmentChange, () => {\n const params = this.paramsFromCurrent();\n this.updateResumeValue(params.index);\n });\n }\n };\n})(BookReader.prototype.init);\n\n/**\n * Gets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @return {number|null}\n */\nBookReader.prototype.getResumeValue = function() {\n const val = BookReader.docCookies.getItem('br-resume');\n if (val !== null) return parseInt(val);\n else return null;\n};\n\n/**\n * Return cookie path using pathname up to /page/... or /mode/...\n * using window.location.pathname for urlPathPart:\n * - matches encoding\n * - ignores querystring part\n * - ignores fragment part (after #)\n * @param {string} urlPathPart - window.location.pathname\n */\nBookReader.prototype.getCookiePath = function(urlPathPart) {\n return urlPathPart.match('.+?(?=/page/|/mode/|$)')[0];\n};\n\n/**\n * Sets page resume value, for remembering reader's page\n * Can be overridden for different implementation\n *\n * @param {Number} index leaf index\n * @param {string} [cookieName]\n */\nBookReader.prototype.updateResumeValue = function(index, cookieName) {\n const ttl = new Date(+new Date + 12096e5); // 2 weeks\n // For multiple files in item, leave resumeCookiePath blank\n // It's likely we can remove resumeCookiePath using getCookiePath()\n const path = this.options.resumeCookiePath\n || this.getCookiePath(window.location.pathname);\n BookReader.docCookies.setItem(cookieName || 'br-resume', index, ttl, path, null, false);\n};\n","/**\n * Helper module use to get, set and remove item from cookie\n *\n * See more:\n * https://developer.mozilla.org/en-US/docs/Web/API/document.cookie\n * https://developer.mozilla.org/User:fusionchess\n * https://github.com/madmurphy/cookies.js\n * This framework is released under the GNU Public License, version 3 or later.\n * http://www.gnu.org/licenses/gpl-3.0-standalone.html\n */\n\n/**\n * Get specific key's value stored in cookie\n *\n * @param {string} sKey\n *\n * @returns {string|null}\n */\nexport function getItem(sKey) {\n if (!sKey) return null;\n\n return decodeURIComponent(\n // eslint-disable-next-line no-useless-escape\n document.cookie.replace(new RegExp('(?:(?:^|.*;)\\\\s*' + encodeURIComponent(sKey).replace(/[\\-\\.\\+\\*]/g, '\\\\$&') + '\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$'), '$1')) || null;\n}\n\n/**\n * Set specific key's value in cookie\n *\n * @param {string} sKey cookie name\n * @param {string} sValue cookie value\n * @param {string} [vEnd] expire|max-age\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain] domain name\n * @param {boolean} [bSecure]\n *\n * @returns {true}\n */\nexport function setItem(sKey, sValue, vEnd, sPath, sDomain, bSecure) {\n document.cookie = encodeURIComponent(sKey) + '=' + encodeURIComponent(sValue)\n + (vEnd ? `; expires=${vEnd.toUTCString()}` : '')\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '')\n + (bSecure ? `; secure` : '');\n\n return true;\n}\n\n/**\n * BROKEN Remove specific key's value from cookie\n * @fixme hasItem isn't even implemented! This will always error.\n * @param {string} sKey cookie name\n * @param {string} [sPath] path of current item\n * @param {string} [sDomain]\n *\n * @returns {boolean}\n */\nexport function removeItem(sKey, sPath, sDomain) {\n // eslint-disable-next-line\n if (!hasItem(sKey)) return false;\n\n document.cookie = encodeURIComponent(sKey) + `=; expires=Thu, 01 Jan 1970 00:00:00 GMT`\n + (sDomain ? `; domain=${sDomain}` : '')\n + (sPath ? `; path=${sPath}` : '');\n\n return true;\n}\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : regexp[MATCH];\n return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n"],"names":["docCookies","BookReader","jQuery","extend","defaultOptions","enablePageResume","resumeCookiePath","prototype","init","super_","call","options","bind","eventNames","fragmentChange","params","paramsFromCurrent","updateResumeValue","index","getResumeValue","val","getItem","parseInt","getCookiePath","urlPathPart","match","cookieName","ttl","Date","path","window","location","pathname","setItem","sKey","decodeURIComponent","document","cookie","replace","RegExp","encodeURIComponent","sValue","vEnd","sPath","sDomain","bSecure","toUTCString","removeItem","hasItem"],"sourceRoot":""}