@internetarchive/bookreader 5.0.0-66 → 5.0.0-68

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. package/BookReader/BookReader.css +68 -918
  2. package/BookReader/BookReader.js +1 -1
  3. package/BookReader/BookReader.js.map +1 -1
  4. package/BookReader/ia-bookreader-bundle.js +118 -128
  5. package/BookReader/ia-bookreader-bundle.js.map +1 -1
  6. package/BookReader/plugins/plugin.autoplay.js +1 -1
  7. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  8. package/BookReader/plugins/plugin.chapters.js +24 -1
  9. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  10. package/BookReader/plugins/plugin.search.js.map +1 -1
  11. package/BookReader/plugins/plugin.tts.js +1 -1
  12. package/BookReader/plugins/plugin.tts.js.map +1 -1
  13. package/BookReaderDemo/BookReaderDemo.css +0 -18
  14. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
  15. package/BookReaderDemo/demo-autoplay.html +0 -2
  16. package/BookReaderDemo/demo-fullscreen-mobile.html +1 -4
  17. package/BookReaderDemo/demo-fullscreen.html +0 -3
  18. package/BookReaderDemo/demo-iiif.js +0 -1
  19. package/BookReaderDemo/demo-internetarchive.html +41 -3
  20. package/BookReaderDemo/demo-vendor-fullscreen.html +0 -3
  21. package/BookReaderDemo/immersion-1up.html +0 -1
  22. package/BookReaderDemo/immersion-mode.html +0 -3
  23. package/BookReaderDemo/toggle_controls.html +1 -1
  24. package/CHANGELOG.md +10 -0
  25. package/index.html +1 -1
  26. package/package.json +9 -9
  27. package/src/BookNavigator/book-navigator.js +4 -3
  28. package/src/BookReader/Mode1Up.js +1 -1
  29. package/src/BookReader/Mode1UpLit.js +1 -1
  30. package/src/BookReader/Navbar/Navbar.js +2 -2
  31. package/src/BookReader/events.js +0 -1
  32. package/src/BookReader.js +1 -2
  33. package/src/css/BookReader.scss +1 -5
  34. package/src/css/_BRnav.scss +5 -10
  35. package/src/css/_BRsearch.scss +6 -2
  36. package/src/css/_controls.scss +3 -2
  37. package/src/plugins/plugin.autoplay.js +1 -2
  38. package/src/plugins/plugin.chapters.js +201 -169
  39. package/src/plugins/search/plugin.search.js +0 -3
  40. package/src/plugins/tts/plugin.tts.js +1 -1
  41. package/tests/e2e/base.test.js +3 -11
  42. package/tests/e2e/helpers/base.js +26 -26
  43. package/tests/e2e/helpers/rightToLeft.js +4 -4
  44. package/tests/e2e/helpers/{desktopSearch.js → search.js} +19 -19
  45. package/tests/e2e/models/Navigation.js +16 -42
  46. package/tests/e2e/viewmode.test.js +3 -3
  47. package/tests/jest/plugins/plugin.chapters.test.js +92 -76
  48. package/tests/jest/plugins/search/plugin.search.view.test.js +0 -1
  49. package/webpack.config.js +0 -1
  50. package/BookReader/plugins/plugin.mobile_nav.js +0 -2
  51. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  52. package/src/css/_MobileNav.scss +0 -194
  53. package/src/plugins/plugin.mobile_nav.js +0 -288
  54. package/tests/e2e/helpers/mobileSearch.js +0 -85
  55. package/tests/jest/plugins/plugin.mobile_nav.test.js +0 -66
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins/plugin.mobile_nav.js","mappings":"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","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":["super_","FILTERLIST","filter","label","jQuery","extend","BookReader","defaultOptions","enableMobileNav","mobileNavTitle","mobileNavFullscreenOnly","prototype","setup","options","call","this","refs","$mmenu","initToolbar","mode","ui","$mmenuEl","_this","$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","addEventListener","utils","e","width","buildToolbarElement","$el","escapedTitle","util","escapeHTML","bookTitle","toolbar","concat","prepend","experimentalHtml","enableExperimentalControls","forEach","i","checkboxHtml","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","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"],"sourceRoot":""}
@@ -1,194 +0,0 @@
1
- @import '../../node_modules/jquery.mmenu/dist/css/jquery.mmenu';
2
- @import '../../node_modules/jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars';
3
-
4
- .mm-menu .mm-navbar a, .mm-menu .mm-navbar>* {
5
- color: $controlsText;
6
- font-size: $brFontSizeBase;
7
- }
8
- .mm-menu {
9
- color: $controlsText;
10
- background: $mobileMenuBG;
11
- > .mm-navbar {
12
- background: $controlsBG;
13
- }
14
- }
15
- .mm-panel {
16
- font-size: $brFontSizeSmaller;
17
- }
18
- #mm-blocker {
19
- z-index: $brZindexFullscreen + 2;
20
- }
21
- .mm-panel h1 {
22
- margin-top: 0;
23
- color: $brColorThemeBlueDarker;
24
- font-size: $brFontSizeBase;
25
- }
26
-
27
- .mm-menu {
28
- .mm-listview {
29
- > li {
30
- .mm-next,
31
- .mm-next:before,
32
- &:after,
33
- .mm-arrow:after,
34
- .mm-next:after {
35
- border-color: $controlsText;
36
- }
37
- }
38
- }
39
- }
40
-
41
- .mm-menu .mm-btn:after,
42
- .mm-menu .mm-btn:before {
43
- border-color: $iconStroke;
44
- }
45
-
46
- /* Needed to override mmenu style */
47
- html.mm-background .BookReader {
48
- background-color: $brColorMainBg;
49
- }
50
-
51
- .BRmobileMenu {
52
- button { -webkit-appearance: initial; }
53
- .BRaction { display: block; width: 100%; }
54
- div.share-social button { padding: 0 5px; height: 40px; text-align: left; }
55
- a {
56
- color: inherit;
57
- }
58
- }
59
-
60
- .BRtoolbarMobileTitle {
61
- overflow:hidden;
62
- width: 100%;
63
- white-space: nowrap;
64
- text-align: center;
65
- font-size: $brFontSizeBase;
66
- line-height: 40px;
67
- display: block;
68
- margin-right: 10px;
69
- }
70
- .BRmobileHamburgerWrapper {
71
- display: block;
72
- padding: 0 30px 0 50px;
73
- }
74
-
75
- .BRmobileHamburger {
76
- background: transparent url('icons/hamburger.svg') 50% 50% no-repeat;
77
- display: block;
78
- width: 40px;
79
- height: 40px;
80
- position: absolute;
81
- top: 0;
82
- left: 10px;
83
- border: none;
84
- outline: none;
85
- }
86
-
87
- .DrawerIconWrapper {
88
- display: block;
89
- float: left;
90
- width: 20px;
91
- height:20px;
92
- margin-right: 10px;
93
- text-align: center;
94
- position:relative;
95
- }
96
- .DrawerIcon {
97
- height: 18px;
98
- width: auto;
99
- position: absolute;
100
- left: 0;
101
- top: 1px;
102
- }
103
- .DrawerSettingsTitle {
104
- color: $controlsText;
105
- font-size: $brFontSizeBase;
106
- font-weight: bold;
107
- margin-bottom: 10px;
108
- }
109
- .DrawerSettingsLayoutWrapper {
110
- text-align: center;
111
- padding: 0;
112
- margin-bottom: 20px;
113
- }
114
- .DrawerLayoutButton {
115
- border:none;
116
- background:none;
117
- color: $controlsText;
118
- line-height: 18px;
119
- }
120
- .DrawerLayoutButton:active {
121
- color: grey;
122
- }
123
-
124
- .BRmobileShare {
125
- div.share-title { font-weight: bold; font-size: $brFontSizeLarger; line-height: 1.5; }
126
- div.share-social { margin: 10px 0 20px 0; }
127
- p { font-weight: bold; }
128
- fieldset { padding: 0; border: 0; margin-bottom: 30px; }
129
- fieldset label { display: block; }
130
- fieldset input[type=text] { width: 95%; }
131
- button.share-finished { display: none; }
132
- div.share-embed { border: 1px solid #ccc; padding: 0 10px; }
133
- .open-to-this-page { display: block; margin: 10px 0; }
134
- }
135
-
136
- .BRmobileHamburgerWrapper { display: none; }
137
- .BRmobileMenu { display: none; }
138
- .BRtoolbar.responsive {display: none;}
139
-
140
- /* Mobile Only */
141
- @media (max-width: $brBreakPointMobile) {
142
- .BRbodyMobileNavEnabled,
143
- .BRbodyMobileNavEnabledFullscreen.BRfullscreenActive {
144
- .BRtoolbar.responsive {
145
- display: block;
146
- height: 40px;
147
- box-sizing: border-box;
148
- width: 100%;
149
- color: $controlsText;
150
- background: $controlsBG;
151
-
152
- .BRtoolbarbuttons { display: none; }
153
- .BRmobileHamburgerWrapper { display: block; }
154
- .BRmobileMenu { display: block; }
155
- }
156
- }
157
-
158
- }
159
-
160
- .BRcheckbox-label-filters {
161
- position: relative;
162
- bottom: 2px;
163
- }
164
-
165
- /* Desktop Only */
166
- @media (min-width: ($brBreakPointMobile + 1)) {
167
- .BRtoolbar.responsive { display: block; }
168
- }
169
-
170
- li.BRtable-contents-el {
171
- line-height: 150%;
172
- padding: 10px 10px 10px 20px;
173
- overflow: hidden;
174
- color: $controlsText;
175
-
176
- &.chapter-clickable {
177
- font-weight: normal;
178
- }
179
-
180
- &.current-chapter {
181
- background-color: lightblue;
182
- }
183
- //resetting mmenu styling for span inside .table-contents-el
184
- > span {
185
- display: inline;
186
- padding: 0;
187
- white-space: normal;
188
- }
189
-
190
- .BRTOCElementPage {
191
- font-size: 0.85em;
192
- opacity: .8;
193
- }
194
- }
@@ -1,288 +0,0 @@
1
- /* global BookReader */
2
- /**
3
- * Adds mobile navigation at responsive breakpoint
4
- */
5
-
6
- import * as utils from '../BookReader/utils.js';
7
- import 'jquery.mmenu/dist/js/jquery.mmenu.min.js';
8
- import 'jquery.mmenu/dist/addons/navbars/jquery.mmenu.navbars.min.js';
9
-
10
- //contains all filters and labels for checkboxs
11
- const FILTERLIST = [
12
- {
13
- filter: "grayscale(100%)",
14
- label: "Grayscale"
15
- },
16
- {
17
- filter: "brightness(120%)",
18
- label: "High brightness"
19
- },
20
- {
21
- filter: "invert(100%)",
22
- label: "Inverted (dark mode)"
23
- },
24
- {
25
- filter: "contrast(120%)",
26
- label: "High contrast"
27
- },
28
- ];
29
-
30
- jQuery.extend(BookReader.defaultOptions, {
31
- enableMobileNav: true,
32
- mobileNavTitle: 'Internet Archive',
33
- mobileNavFullscreenOnly: false,
34
- });
35
-
36
- BookReader.prototype.setup = (function(super_) {
37
- return function (options) {
38
- super_.call(this, options);
39
-
40
- this.enableMobileNav = options.enableMobileNav;
41
- this.mobileNavTitle = options.mobileNavTitle;
42
- this.mobileNavFullscreenOnly = options.mobileNavFullscreenOnly;
43
-
44
- this.refs.$mmenu = null;
45
- };
46
- })(BookReader.prototype.setup);
47
-
48
-
49
- // Extend initToolbar
50
- BookReader.prototype.initToolbar = (function (super_) {
51
- return function (mode, ui) {
52
- let $mmenuEl;
53
- if (this.enableMobileNav) {
54
- const $drawerEl = this.buildMobileDrawerElement();
55
- this.refs.$br.append($drawerEl);
56
-
57
- // Render info into mobile info before mmenu
58
- this.buildInfoDiv(this.$('.BRmobileInfo'));
59
- this.buildShareDiv(this.$('.BRmobileShare'));
60
-
61
- $mmenuEl = $drawerEl;
62
- $mmenuEl.mmenu({
63
- navbars: [
64
- { "position": "top" },
65
- ],
66
- navbar: {
67
- add: true,
68
- title: this.mobileNavTitle,
69
- titleLink: 'panel'
70
- },
71
- extensions: [ "panelshadow" ],
72
- }, {
73
- offCanvas: {
74
- wrapPageIfNeeded: false,
75
- zposition: 'next',
76
- pageSelector: this.el,
77
- }
78
- });
79
-
80
- const $BRpageviewField = $mmenuEl.find('.BRpageviewValue');
81
- $mmenuEl.data('mmenu').bind('opened', () => {
82
- // Update "Link to this page view" link
83
- if ($BRpageviewField.length) {
84
- $BRpageviewField.val(window.location.href);
85
- }
86
- });
87
-
88
- //apply filters when checkboxs clicked
89
- $drawerEl.find('.BRcheckbox-filters')
90
- .on("click", () => applyFilters($drawerEl, this));
91
-
92
- // Bind mobile switch buttons
93
- $drawerEl.find('.DrawerLayoutButton.one_page_mode')
94
- .on("click", () => this.switchMode(this.constMode1up));
95
- $drawerEl.find('.DrawerLayoutButton.two_page_mode')
96
- .on("click", () => this.switchMode(this.constMode2up));
97
- $drawerEl.find('.DrawerLayoutButton.thumbnail_mode')
98
- .on("click", () => this.switchMode(this.constModeThumb));
99
-
100
- if (this.mobileNavFullscreenOnly) {
101
- $(document.body).addClass('BRbodyMobileNavEnabledFullscreen');
102
- } else {
103
- $(document.body).addClass('BRbodyMobileNavEnabled');
104
- }
105
-
106
- this.refs.$mmenu = $mmenuEl;
107
-
108
- }
109
-
110
- // Call the parent method at the end, because it binds events to DOM
111
- super_.apply(this, arguments);
112
-
113
-
114
- if (this.enableMobileNav) {
115
- // Need to bind more, console after toolbar is initialized
116
- this.$('.BRmobileHamburger').click(() => {
117
- if ($mmenuEl.data('mmenu').getInstance().vars.opened) {
118
- $mmenuEl.data('mmenu').close();
119
- } else {
120
- $mmenuEl.data('mmenu').open();
121
- this.trigger("mobileNavOpen");
122
- }
123
- });
124
-
125
-
126
- const closeMobileMenu = (e) => {
127
- // Need to close the mobile menu to reset DOM & Style
128
- // driven by menu plugin
129
- const width = $( window ).width();
130
- const mobileMenuIsOpen = $mmenuEl.data('mmenu').getInstance().vars.opened;
131
- // $brBreakPointMobile: 800px;
132
- if (mobileMenuIsOpen && (width >= 800)) {
133
- $mmenuEl.data('mmenu').close ();
134
- }
135
- };
136
-
137
- window.addEventListener('resize', utils.debounce(closeMobileMenu, 900));
138
- }
139
- };
140
- })(BookReader.prototype.initToolbar);
141
-
142
-
143
- BookReader.prototype.buildToolbarElement = (function (super_) {
144
- return function () {
145
- const $el = super_.call(this);
146
- if (this.enableMobileNav) {
147
- const escapedTitle = BookReader.util.escapeHTML(this.bookTitle);
148
- const toolbar = `
149
- <span class="BRmobileHamburgerWrapper">
150
- <button class="BRmobileHamburger"></button>
151
- <span class="BRtoolbarMobileTitle" title="${escapedTitle}">${escapedTitle}</span>
152
- </span>
153
- `;
154
- $el
155
- .addClass('responsive')
156
- .prepend($(toolbar));
157
- }
158
- return $el;
159
- };
160
- })(BookReader.prototype.buildToolbarElement);
161
-
162
- /**
163
- * This method builds the html for the mobile drawer. It can be decorated to
164
- * extend the default drawer.
165
- * @return {jqueryElement}
166
- */
167
- BookReader.prototype.buildMobileDrawerElement = function() {
168
- let experimentalHtml = '';
169
- //builds filters checkbox html
170
- if (this.enableExperimentalControls) {
171
- experimentalHtml = `
172
- <p class="DrawerSettingsTitle">Visual Adjustment</p>
173
- <div class="BRcheckbox-group-filters">
174
- `;
175
- FILTERLIST.forEach( (el, i) => {
176
- const checkboxHtml = `
177
- <input type="checkbox" class="BRcheckbox-filters" id="filter${i}">
178
- <label for="filter${i}" class="BRcheckbox-label-filters">${el.label}</label><br>
179
-
180
- `;
181
- experimentalHtml = experimentalHtml.concat(checkboxHtml);
182
- });
183
- experimentalHtml = experimentalHtml.concat("</div>");
184
- }
185
-
186
-
187
- const settingsSection = `
188
- <span>
189
- <span class="DrawerIconWrapper">
190
- <img class="DrawerIcon" src="${`${this.imagesBaseURL}icon_gear.svg`}" alt="settings-icon"/>
191
- </span>
192
- Settings
193
- </span>
194
- <div class=DrawerSettingsWrapper>
195
- <div class="DrawerSettingsLayoutWrapper">
196
- <button class="DrawerLayoutButton one_page_mode">
197
- <img src="${this.imagesBaseURL}icon_one_page.svg" alt="Single Page"/>
198
- <br>
199
- One Page
200
- </button>
201
- <button class="DrawerLayoutButton two_page_mode TwoPagesButton">
202
- <img src="${this.imagesBaseURL}icon_two_pages.svg" alt="Two Pages"/>
203
- <br>
204
- Two Pages
205
- </button>
206
- <button class="DrawerLayoutButton thumbnail_mode">
207
- <img src="${this.imagesBaseURL}icon_thumbnails.svg" alt="Thumbnails"/>
208
- <br>
209
- Thumbnails
210
- </button>
211
- </div>
212
- <br>
213
- <div class="DrawerSettingsTitle">Zoom</div>
214
- <button class='BRicon zoom_out'></button>
215
- <button class='BRicon zoom_in'></button>
216
- <br style="clear:both"><br><br>
217
- ${experimentalHtml}
218
- </div>
219
- `;
220
- const moreInfo = `
221
- <span>
222
- <span class="DrawerIconWrapper ">
223
- <img class="DrawerIcon" src="${this.imagesBaseURL}icon_info.svg" alt="info-icon"/>
224
- </span>
225
- About This Book
226
- </span>
227
- <div class="BRmobileInfo"></div>
228
- `;
229
- const share = `
230
- <span>
231
- <span class="DrawerIconWrapper">
232
- <img class="DrawerIcon" src="${this.imagesBaseURL}icon_share.svg" alt="info-share"/>
233
- </span>
234
- Share This Book
235
- </span>
236
- <div class="BRmobileShare"></div>
237
- `;
238
- const navMenu = `
239
- <nav id="BRmobileMenu" class="BRmobileMenu">
240
- <ul>
241
- <li class="BRmobileMenu__settings">${settingsSection}</li>
242
- <li class="BRmobileMenu__moreInfoRow">${moreInfo}</li>
243
- <li class="BRmobileMenu__share">${share}</li>
244
- </ul>
245
- </nav>
246
- `;
247
-
248
- const $el = $(navMenu);
249
- return $el;
250
- };
251
-
252
- /**
253
- * Mmenu moves itself out side of the root BookReader element, so we need to
254
- * include it in the scoped $ function.
255
- */
256
- BookReader.prototype.$ = (function (super_) {
257
- return function (arg) {
258
- let $results = super_.call(this, arg);
259
- if (this.refs.$mmenu) {
260
- $results = $results.add(this.refs.$mmenu.find(arg));
261
- }
262
- return $results;
263
- };
264
- })(BookReader.prototype.$);
265
-
266
- /**
267
- * Dynamically creates styles combining different filters for BookReaders imgs
268
- * based on filters checkbox
269
- */
270
- const applyFilters = (drawerEl, br) => {
271
- let filterStr = "";
272
-
273
- $('.BRcheckbox-filters').each(
274
- (i, el) => {
275
- br.refs.$br.removeClass("filter-applied");
276
- if ($(el).is(':checked')) {
277
- br.refs.$br.addClass($(el).attr("filter-applied"));
278
- filterStr = filterStr + FILTERLIST[i].filter;
279
- }
280
- }
281
- );
282
- const filtersSheet = $("#filtersStyle")[0] || document.createElement('style');
283
- filtersSheet.id = "filtersStyle";
284
- filtersSheet.innerHTML = `.BRpagecontainer img {
285
- filter: ${filterStr};
286
- -webkit-filter: ${filterStr};}`;
287
- document.body.appendChild(filtersSheet);
288
- };